[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