[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