Changeset 10020
- Timestamp:
- Apr 3, 2014, 3:59:48 PM (11 years ago)
- Location:
- code/branches/ScriptableController/src/orxonox/controllers
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h
r10012 r10020 1 /* 2 * ORXONOX - the hottest 3D action shooter ever to exist 3 * > www.orxonox.net < 4 * 5 * 6 * License notice: 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License 10 * as published by the Free Software Foundation; either version 2 11 * of the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 * 22 * Author: 23 * Fabian 'x3n' Landau 24 * Co-authors: 25 * ... 26 * 27 */ 28 1 29 #ifndef _ControllerDirector_H__ 2 30 #define _ControllerDirector_H__ 3 31 4 5 32 #include "OrxonoxPrereqs.h" 6 #include " core/BaseObject.h"7 #include "core/ class/Super.h"33 #include "ArtificialController.h" 34 #include "core/EventIncludes.h" 8 35 9 36 10 37 namespace orxonox 11 38 { 39 class _OrxonoxExport ControllerDirector : public ArtificialController 40 { 41 public: 42 ControllerDirector(Context* context); 43 virtual ~ControllerDirector() { } 44 45 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 46 bool party(bool bTriggered, BaseObject* trigger); 47 void tick(float dt); 48 void takeControl(Controller * controller, BaseObject * trigger); 49 bool preparationToTakeControl(BaseObject * trigger); 50 void setNewController(Controller * controller); 51 52 53 private: 54 55 PlayerInfo* player_; 56 57 ControllableEntity* entity_; 58 59 PlayerTrigger * pTrigger_; 12 60 13 14 class _OrxonoxExport ControllerDirector : public BaseObject15 {16 public:17 ControllerDirector(Context* context);18 virtual ~ControllerDirector();19 61 20 };62 }; 21 63 } 22 #endif 64 65 #endif /* _ControllerDirector_H__ */ -
code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc
r10014 r10020 34 34 RegisterClass(ScriptController); 35 35 36 ScriptController::ScriptController(Context* context ) : ArtificialController(context)36 ScriptController::ScriptController(Context* context, ControllableEntity CE) : ArtificialController(context) 37 37 { 38 38 RegisterObject(ScriptController); 39 set_controlled(CE); 39 40 } 40 41 41 bool ScriptController::execute(bool bTriggered, BaseObject* trigger)42 void set_luasrc(string lsrc) 42 43 { 43 orxout(verbose)<<"hello universe"<<endl; 44 return true; 44 this->luasrc=lsrc; 45 45 } 46 46 47 47 void set_controlled(&ControllableEntity toControl) 48 { 49 this->controlled=toControl; 50 } 51 48 52 void ScriptController::XMLPort(Element& xmlelement, XMLPort::Mode mode) 49 53 { 50 XMLPort EventSink(ScriptController, BaseObject, "execute", execute, xmlelement, mode);54 XMLPort(ScriptController, BaseObject, "lsrc", set_luasrc, xmlelement, mode); 51 55 52 56 } 53 57 58 void ScriptController::moveToPosition(const Vector3& target) 59 { 60 61 62 } 63 /* TO DO 64 in the constuctor: make accessible functions such as moveToPosition.. in LUA 65 ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/ 66 67 //function to execute the luafile 54 68 55 69 -
code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h
r10014 r10020 40 40 { 41 41 public: 42 ScriptController(Context* context );42 ScriptController(Context* context, ControllableEntity CE); 43 43 virtual ~ScriptController() { } 44 44 45 45 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 46 bool execute(bool bTriggered, BaseObject* trigger); 46 47 48 void set_luasrc(string); 47 49 50 void set_controlled(&ControllableEntity); 51 52 void moveToPosition(const Vector3& target); 53 54 /* TO DO 55 - in the constuctor: make accessible functions such as moveToPoint.. in LUA 56 ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/ 57 58 59 60 61 //function to execute the luafile 48 62 49 63 private: 64 string luasrc; // name of the LUA-sourcefile that shall be executed->see XMLPort-function 65 66 ControllableEntity* controlled; //entity controlled by this SC 50 67 51 68
Note: See TracChangeset
for help on using the changeset viewer.