[Orxonox-commit 5357] r10020 - code/branches/ScriptableController/src/orxonox/controllers
samuezu at orxonox.net
samuezu at orxonox.net
Thu Apr 3 15:59:49 CEST 2014
Author: samuezu
Date: 2014-04-03 15:59:48 +0200 (Thu, 03 Apr 2014)
New Revision: 10020
Modified:
code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h
code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc
code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h
Log:
created scriptcontroller header and *.cc file
Modified: code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h 2014-04-03 13:45:50 UTC (rev 10019)
+++ code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h 2014-04-03 13:59:48 UTC (rev 10020)
@@ -1,22 +1,65 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
#ifndef _ControllerDirector_H__
#define _ControllerDirector_H__
-
#include "OrxonoxPrereqs.h"
-#include "core/BaseObject.h"
-#include "core/class/Super.h"
+#include "ArtificialController.h"
+#include "core/EventIncludes.h"
namespace orxonox
{
-
-
- class _OrxonoxExport ControllerDirector : public BaseObject
- {
- public:
+ class _OrxonoxExport ControllerDirector : public ArtificialController
+ {
+ public:
ControllerDirector(Context* context);
- virtual ~ControllerDirector();
+ virtual ~ControllerDirector() { }
-};
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+ bool party(bool bTriggered, BaseObject* trigger);
+ void tick(float dt);
+ void takeControl(Controller * controller, BaseObject * trigger);
+ bool preparationToTakeControl(BaseObject * trigger);
+ void setNewController(Controller * controller);
+
+
+ private:
+
+ PlayerInfo* player_;
+
+ ControllableEntity* entity_;
+
+ PlayerTrigger * pTrigger_;
+
+
+ };
}
-#endif
+
+#endif /* _ControllerDirector_H__ */
Modified: code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc 2014-04-03 13:45:50 UTC (rev 10019)
+++ code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc 2014-04-03 13:59:48 UTC (rev 10020)
@@ -33,25 +33,39 @@
{
RegisterClass(ScriptController);
- ScriptController::ScriptController(Context* context) : ArtificialController(context)
+ ScriptController::ScriptController(Context* context, ControllableEntity CE) : ArtificialController(context)
{
RegisterObject(ScriptController);
+ set_controlled(CE);
}
- bool ScriptController::execute(bool bTriggered, BaseObject* trigger)
+ void set_luasrc(string lsrc)
{
- orxout(verbose)<<"hello universe"<<endl;
- return true;
+ this->luasrc=lsrc;
}
-
+ void set_controlled(&ControllableEntity toControl)
+ {
+ this->controlled=toControl;
+ }
+
void ScriptController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
{
- XMLPortEventSink(ScriptController, BaseObject, "execute", execute, xmlelement, mode);
+ XMLPort(ScriptController, BaseObject, "lsrc", set_luasrc, xmlelement, mode);
}
+ void ScriptController::moveToPosition(const Vector3& target)
+ {
+ }
+ /* TO DO
+ in the constuctor: make accessible functions such as moveToPosition.. in LUA
+ ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/
+ //function to execute the luafile
+
+
+
}
Modified: code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h 2014-04-03 13:45:50 UTC (rev 10019)
+++ code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h 2014-04-03 13:59:48 UTC (rev 10020)
@@ -39,16 +39,33 @@
class _OrxonoxExport ScriptController : public ArtificialController
{
public:
- ScriptController(Context* context);
+ ScriptController(Context* context, ControllableEntity CE);
virtual ~ScriptController() { }
virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
- bool execute(bool bTriggered, BaseObject* trigger);
+
+
+ void set_luasrc(string);
+ void set_controlled(&ControllableEntity);
+ void moveToPosition(const Vector3& target);
+
+ /* TO DO
+ - in the constuctor: make accessible functions such as moveToPoint.. in LUA
+ ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/
+
+
+
+
+ //function to execute the luafile
+
private:
+ string luasrc; // name of the LUA-sourcefile that shall be executed->see XMLPort-function
+ ControllableEntity* controlled; //entity controlled by this SC
+
};
}
More information about the Orxonox-commit
mailing list