[Orxonox-commit 5363] r10026 - in code/branches/ScriptableController: data/levels src/orxonox/controllers

mkronig at orxonox.net mkronig at orxonox.net
Thu Apr 10 15:18:33 CEST 2014


Author: mkronig
Date: 2014-04-10 15:18:32 +0200 (Thu, 10 Apr 2014)
New Revision: 10026

Added:
   code/branches/ScriptableController/data/levels/michaelstestfile.lua
Modified:
   code/branches/ScriptableController/data/levels/levelTry.oxw
   code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc
Log:
Added an initial test for lua execution. Not tested yet.

Modified: code/branches/ScriptableController/data/levels/levelTry.oxw
===================================================================
--- code/branches/ScriptableController/data/levels/levelTry.oxw	2014-04-10 11:19:01 UTC (rev 10025)
+++ code/branches/ScriptableController/data/levels/levelTry.oxw	2014-04-10 13:18:32 UTC (rev 10026)
@@ -70,51 +70,18 @@
       </collisionShapes>
     </StaticEntity>
 
-<!-- Docking  -->
-    <Dock position="2830,20,50" roll=0 yaw=0 >
-        <animations>
-            <MoveToDockingTarget target="destroyer" />
-        </animations>
-        <effects>
-            <DockToShip target="spaceShip" />
-        </effects>
-        <events>
-            <execute>
-                <EventListener event="dockMe" />
-            </execute>
 
-	    <undocking>
-		<EventListener event="undockMe" />
-	    </undocking>
-	
-            <activity>
-                <EventListener event=notGameEnd />
-            </activity>
-        </events>
-        <attached>
-	<!-- Trigger for docking with billboard -->
-
-		<!-- removed -->
-
-	<!-- Trigger for undocking with billboard -->
-	    <!-- <Billboard position="-2630,-19970,150" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=1 /> -->
-	    <DistanceTrigger position="-2630,-19970,150" distance="50" target="Pawn"
-                beaconMode="identify" targetname="bcnDestroyer" name="undockMe"
-            />
-        </attached>
-    </Dock>
-
     <Billboard position="0,0,0" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=100 />
     <DistanceTrigger position="0,0,0" distance="200" target="Pawn"
-      beaconMode="exclude" targetname="bcnDestroyer" name="dockMe"
+      beaconMode="exclude" targetname="bcnDestroyer" name="takeControl"
     />
 
 
-<!-- Object, which orxouts the message "hello Universe!". EVENT NOT WORKING  -->
+<!-- ControllerDirector waits for the event takeControl to attach a new Controller -->
     <ControllerDirector position="0,0,0">
         <events>
             <party>
-                <EventListener event="dockMe" />
+                <EventListener event="takeControl" />
             </party>
 
         </events>

Added: code/branches/ScriptableController/data/levels/michaelstestfile.lua
===================================================================
--- code/branches/ScriptableController/data/levels/michaelstestfile.lua	                        (rev 0)
+++ code/branches/ScriptableController/data/levels/michaelstestfile.lua	2014-04-10 13:18:32 UTC (rev 10026)
@@ -0,0 +1 @@
+orxout("event: theme")

Modified: code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc	2014-04-10 11:19:01 UTC (rev 10025)
+++ code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc	2014-04-10 13:18:32 UTC (rev 10026)
@@ -10,7 +10,9 @@
 #include "infos/HumanPlayer.h"
 #include "interfaces/PlayerTrigger.h"
 #include "worldentities/pawns/Pawn.h"
+#include "LuaState.h"
 
+
 namespace orxonox
 {
     RegisterClass(ControllerDirector);
@@ -26,53 +28,33 @@
 	   this->pTrigger_=NULL;
     }
 
-    bool ControllerDirector::party(bool bTriggered, BaseObject* trigger)
-       {
-	   //XMLPortEventSink seems not to execute the party function
-           orxout()<<"hello universe party"<< endl;
-           return true;
-       }
 
-
     void ControllerDirector::XMLPort(Element& xmlelement, XMLPort::Mode mode)
     {
         SUPER(ControllerDirector, XMLPort, xmlelement, mode);
 
 	
-        orxout()<<"hello universe xmlport"<< endl;
+        orxout()<<"ControllerDriector::XMLPort An instance of ControllerDirector has been created."<< endl;
     }
 
     void ControllerDirector::XMLEventPort(Element& xmlelement, XMLPort::Mode mode)
     {
         SUPER(ControllerDirector, XMLEventPort, xmlelement, mode);
 
-        XMLPortEventSink(ControllerDirector, BaseObject, "party", party, xmlelement, mode);
+        XMLPortEventSink(ControllerDirector, BaseObject, "takeControl", takeControl, xmlelement, mode);
 
     }
 
 
 
-   /* void ControllerDirector::tick(float dt)
-    {
 
-	//Get controllable entity which is attached to this controller in the XML file.
-        ControllableEntity* entity = this->getControllableEntity();
-        if (!entity)
-	    orxout()<<"No controllable entity found"<<endl;
-            return;
-
-        
-
-        SUPER(ControllerDirector, tick, dt);
-    }
-
-    */
-
     void ControllerDirector::takeControl(Controller * controller, BaseObject * trigger) {
 
         preparationToTakeControl(trigger);
         setNewController(controller);
-
+        LuaState test = new Luastate();
+        test.doFile("/tmp/myluahelloworld.lua");
+        
     } 
 
 	
@@ -112,39 +94,14 @@
         this->entity_->setController(controller);
         this->setControllableEntity(this->entity_);
 
+
+
     }
        
     
 
 }
 
-/* Detaillierte Planung
-Director nimmt event auf und hängt dann einen controller (momentan als erstellt zu betrachten) an objekt, welches event ausgelöst hat.
 
 
 
-	Klassenvariablen
-
-		...? brauchts überhaupt?
-
-	Variablen (in Funktionen auftretend):
-
-		Playerinfo * player 		enthält infos über objekt, welches event ausgelöst hat.Relevant für Inputseite des Directors
-
-	Funktion:
-
-		Auf Seite des Inputs des Directors:
-
-			preparationForControlTakeOver(...) 	Vorbereitende Massnahmen um neuen Controller anzuhängen, z.B. player = pTrigger->getTriggeringPlayer();
-								Orientierung an execute Funktion von Dock.cc
-	
-		Auf Outputseite des Directors:
-
-			takeControl(...) 			Orientierung an DockingController.cc
-
-			tick()					Soll von Event ausgelöst werden, wenn z.B. Kamera an Endposition angelangt ist. Danach soll wieder ein
-								menschlicher Spieler die Kontrolle übernehmen (wie? new human controller? Klasse noch angucken!).
-*/
-
-
-




More information about the Orxonox-commit mailing list