[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