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

mkronig at orxonox.net mkronig at orxonox.net
Thu Apr 10 13:15:58 CEST 2014


Author: mkronig
Date: 2014-04-10 13:15:58 +0200 (Thu, 10 Apr 2014)
New Revision: 10024

Modified:
   code/branches/ScriptableController/data/levels/levelTry.oxw
   code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc
   code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h
Log:
changes on controllerDirector project

Modified: code/branches/ScriptableController/data/levels/levelTry.oxw
===================================================================
--- code/branches/ScriptableController/data/levels/levelTry.oxw	2014-04-09 19:50:45 UTC (rev 10023)
+++ code/branches/ScriptableController/data/levels/levelTry.oxw	2014-04-10 11:15:58 UTC (rev 10024)
@@ -111,7 +111,7 @@
 
 
 <!-- Object, which orxouts the message "hello Universe!". EVENT NOT WORKING  -->
-    <ScriptController_00 position="0,0,0">
+    <ControllerDirector position="0,0,0">
         <events>
             <party>
                 <EventListener event="dockMe" />
@@ -119,7 +119,7 @@
 
         </events>
 
-    </ScriptController_00>
+    </ControllerDirector>
 
 
 <!-- FPS Player as destination of the dock -->

Modified: code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc	2014-04-09 19:50:45 UTC (rev 10023)
+++ code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.cc	2014-04-10 11:15:58 UTC (rev 10024)
@@ -1,26 +1,32 @@
 /*
-First try of a scriptController. Target: An event occurs in the levelTry.oxw file, which is "heard" by an object of the type of this class. It then SHOULD (because it is not working) execute the party function.
+First try of a ControllerDirector. Target: An event occurs in the levelTry.oxw file, which is "heard" by an object of the type of this class. It then SHOULD (because it is not working) execute the party function.
  */
 
-#include "ScriptController.h"
+#include "ControllerDirector.h"
 #include "core/CoreIncludes.h"
 
+//#include "network/NetworkFunction.h"
+
+#include "infos/HumanPlayer.h"
+#include "interfaces/PlayerTrigger.h"
+#include "worldentities/pawns/Pawn.h"
+
 namespace orxonox
 {
-    RegisterClass(ScriptController);
+    RegisterClass(ControllerDirector);
 
-    ScriptController::ScriptController(Context* context) : ArtificialController(context)
+    ControllerDirector::ControllerDirector(Context* context) : ArtificialController(context)
     {
 	//Working
-        RegisterObject(ScriptController);
+        RegisterObject(ControllerDirector);
         orxout()<<"hello universe constructor"<< endl;
 
-	this->player_=NULL;
-	this->entity_=NULL;
-	this->pTrigger_=NULL;
+	   this->player_=NULL;
+	   this->entity_=NULL;
+	   this->pTrigger_=NULL;
     }
 
-    bool ScriptController::party(bool bTriggered, BaseObject* trigger)
+    bool ControllerDirector::party(bool bTriggered, BaseObject* trigger)
        {
 	   //XMLPortEventSink seems not to execute the party function
            orxout()<<"hello universe party"<< endl;
@@ -28,19 +34,27 @@
        }
 
 
-    void ScriptController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    void ControllerDirector::XMLPort(Element& xmlelement, XMLPort::Mode mode)
     {
-        SUPER(ScriptController, XMLPort, xmlelement, mode);
+        SUPER(ControllerDirector, XMLPort, xmlelement, mode);
 
 	
-    	XMLPortEventSink(ScriptController, BaseObject, "party", party, xmlelement, mode);
-	// Working
         orxout()<<"hello universe xmlport"<< endl;
     }
 
-    void ScriptController::tick(float dt)
+    void ControllerDirector::XMLEventPort(Element& xmlelement, XMLPort::Mode mode)
     {
+        SUPER(ControllerDirector, XMLEventPort, xmlelement, mode);
 
+        XMLPortEventSink(ControllerDirector, BaseObject, "party", party, 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)
@@ -49,34 +63,34 @@
 
         
 
-        SUPER(ScriptController, tick, dt);
+        SUPER(ControllerDirector, tick, dt);
     }
 
-    void ScriptController::takeControl(Controller * controller, BaseObject * trigger) {
+    */
 
-	preparationToTakeControl(trigger);
-	setNewController(controller);
+    void ControllerDirector::takeControl(Controller * controller, BaseObject * trigger) {
 
-    }
+        preparationToTakeControl(trigger);
+        setNewController(controller);
 
+    } 
+
 	
-    bool ScriptController::preparationToTakeControl(BaseObject * trigger) {
+    bool ControllerDirector::preparationToTakeControl(BaseObject * trigger) {
 
-	this->pTrigger_ = orxonox_cast<PlayerTrigger*>(trigger);
+	    this->pTrigger_ = orxonox_cast<PlayerTrigger*>(trigger);
         this->player_ = NULL;
 
+        orxout() << "Preparation to take Control!" << endl; 
         // Check whether it is a player trigger and extract pawn from it
-        if(pTrigger != NULL)
+        if(this->pTrigger_ != NULL)
         {
-            if(!pTrigger->isForPlayer()) {  // The PlayerTrigger is not exclusively for Pawns which means we cannot extract one.
-                orxout(verbose, context::docking) << "Docking:execute PlayerTrigger was not triggered by a player.." << endl;
-                return false;
-            }
-            player_ = pTrigger->getTriggeringPlayer();  //Get the object which triggered the event.
+            
+            player_ = this->pTrigger_->getTriggeringPlayer();  //Get the object which triggered the event.
         }
         else
         {
-            orxout(verbose, context::docking) << "Docking::execute Not a player trigger, can't extract pawn from it.." << endl;
+            orxout() << "ControllerDirector::preparationToTakeControl Not a player trigger, can't extract pawn from it.." << endl;
             return false;
         }
 
@@ -84,25 +98,26 @@
 	this->entity_ = this->player_->getControllableEntity();
 	assert(this->entity_);
 
+    return true;
+
     }
 
-    void ScriptController::setNewController(Controller * controller) {
+    void ControllerDirector::setNewController(Controller * controller) {
 
 
-            orxout(verbose) << "New Controller is going to be set!" << endl;
+        orxout() << "New Controller is going to be set!" << endl;
 
-            this->entity_->setDestroyWhenPlayerLeft(false);
-            this->player_->pauseControl();
-            this->entity_->setController(controller);
-            this->setControllableEntity(this->entity_);
+        this->entity_->setDestroyWhenPlayerLeft(false);
+        this->player_->pauseControl();
+        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.
 
@@ -133,4 +148,3 @@
 
 
 
-}

Modified: code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h	2014-04-09 19:50:45 UTC (rev 10023)
+++ code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h	2014-04-10 11:15:58 UTC (rev 10024)
@@ -44,17 +44,21 @@
 
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             bool party(bool bTriggered, BaseObject* trigger);
-	    void tick(float dt);
+	    virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+	
+	
+	
 	    void takeControl(Controller * controller, BaseObject * trigger);
 	    bool preparationToTakeControl(BaseObject * trigger);
 	    void setNewController(Controller * controller);
+	
 
 
         private:
 	   
 	   PlayerInfo* player_;
 
-           ControllableEntity* entity_; 
+      	   ControllableEntity* entity_; 
 
 	   PlayerTrigger * pTrigger_;
 	




More information about the Orxonox-commit mailing list