[Orxonox-commit 6200] r10858 - code/branches/campaignHS15/src/orxonox/controllers

gania at orxonox.net gania at orxonox.net
Wed Nov 25 14:53:58 CET 2015


Author: gania
Date: 2015-11-25 14:53:58 +0100 (Wed, 25 Nov 2015)
New Revision: 10858

Modified:
   code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc
   code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc
   code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc
Log:
should work, didn't compile

Modified: code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	2015-11-25 13:20:01 UTC (rev 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	2015-11-25 13:53:58 UTC (rev 10858)
@@ -52,6 +52,10 @@
         if (this->myFollower_)
         {
             this->myFollower_->takeActionpoints(this->parsedActionpoints_, this->loopActionpoints_, this->bLoop_);
+            if (this->myWingman_)
+            {
+                this->myWingman_->setAction(Action::FIGHTALL);
+            }
         }
         else if (this->myWingman_)
         {

Modified: code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	2015-11-25 13:20:01 UTC (rev 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	2015-11-25 13:53:58 UTC (rev 10858)
@@ -101,23 +101,30 @@
         {
             switch (myDivisionLeader_->getAction())
             {
-                // case Action::FLY:
-                // {
-                //     // Vector3 targetRelativePosition = getFormationPosition();
-                //     // Quaternion orient = 
-                //     //     this->myDivisionLeader_->getControllableEntity()->getWorldOrientation();
-                //     // Vector3 targetAbsolutePosition = 
-                //     //     ((this->myDivisionLeader_->getControllableEntity()->getWorldPosition()) + 
-                //     //         (orient* (targetRelativePosition)));
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
-                // case Action::FIGHT:
-                // {
-
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
+                case Action::FIGHT:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
+                case Action::FIGHTALL:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
+                case Action::ATTACK:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
                 default:
                 {
                     ControllableEntity* myEntity = this->getControllableEntity();
@@ -150,6 +157,13 @@
                     }
                 }
             }
+            if (this->hasTarget())
+            {
+                //----choose where to go----
+                this->maneuver();
+                //----fire if you can----
+                this->bShooting_ = this->canFire();                
+            }
         }
      
     }
@@ -209,7 +223,7 @@
             {
 
             }
-            this->setAction (Action::FIGHT, orxonox_cast<ControllableEntity*>(target));
+            this->setTarget (orxonox_cast<ControllableEntity*>(target));
         }
         else
         {

Modified: code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	2015-11-25 13:20:01 UTC (rev 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	2015-11-25 13:53:58 UTC (rev 10858)
@@ -97,23 +97,30 @@
         {
             switch (this->myLeader_->getAction())
             {
-                // case Action::FLY:
-                // {
-                //     // Vector3 targetRelativePosition = getFormationPosition();
-                //     // Quaternion orient = 
-                //     //     this->myDivisionLeader_->getControllableEntity()->getWorldOrientation();
-                //     // Vector3 targetAbsolutePosition = 
-                //     //     ((this->myDivisionLeader_->getControllableEntity()->getWorldPosition()) + 
-                //     //         (orient* (targetRelativePosition)));
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
-                // case Action::FIGHT:
-                // {
-
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
+                case Action::FIGHT:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
+                case Action::FIGHTALL:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
+                case Action::ATTACK:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
                 default:
                 {
                     ControllableEntity* myEntity = this->getControllableEntity();
@@ -146,6 +153,13 @@
                     }
                 }
             }
+            if (this->hasTarget())
+            {
+                //----choose where to go----
+                this->maneuver();
+                //----fire if you can----
+                this->bShooting_ = this->canFire();                
+            }
         }
         
     }




More information about the Orxonox-commit mailing list