- Timestamp:
- May 15, 2014, 5:10:55 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/turretFS14/src/modules/objects/controllers/TeamTargetProxy.cc
r10049 r10060 28 28 29 29 #include "TeamTargetProxy.h" 30 #include "worldentities/ControllableEntity.h" 30 31 #include "worldentities/pawns/Pawn.h" 31 32 32 33 34 33 namespace orxonox 34 { 35 RegisterClass(TeamTargetProxy); 35 36 36 TeamTargetProxy::TeamTargetProxy(Context* context) : FormationController(context) 37 /** 38 @brief 39 Sets default values for all variables. 40 41 @param context 42 The context 43 */ 44 TeamTargetProxy::TeamTargetProxy(Context* context) : FormationController(context) 37 45 { 38 46 RegisterObject(TeamTargetProxy); … … 41 49 } 42 50 51 /** 52 @brief 53 Destructor. Nothing to see here. 54 */ 43 55 TeamTargetProxy::~TeamTargetProxy() 44 56 { 45 57 } 46 58 59 /** 60 @brief 61 Copies the team and the target from the parent. 62 63 That's all there is. 64 */ 47 65 void TeamTargetProxy::tick(float dt) 48 66 { … … 51 69 52 70 ControllableEntity* parent = orxonox_cast<ControllableEntity*> (this->getControllableEntity()->getParent()); 53 54 71 72 if(this->getTeam() != -1 && !this->once_ && parent) 73 { 74 orxout(internal_warning) << "TeamTargetProxy: Team already set, may result in undesired behaviour. Will get overridden by the parent's team." << endl; 75 } 76 77 if(!this->once_) 78 this->once_ = true; 79 80 //Teams aren't set immediately, after creation, so we have to check every tick... 81 if(parent) 82 { 83 Controller* parentcontroller = parent->getController(); 84 if(parentcontroller) 85 { 86 this->setTeam(parentcontroller->getTeam()); 87 } 88 else 89 { 90 this->setTeam(parent->getTeam()); 91 } 92 this->getControllableEntity()->setTeam(parent->getTeam()); 93 } 55 94 56 95 if(parent) 57 96 { 58 59 if(!this->once_)60 {61 //Set the same team62 if(parent)63 {64 Controller* parentcontroller = parent->getController();65 if(parentcontroller)66 {67 this->setTeam(parentcontroller->getTeam());68 }69 else70 {71 this->setTeam(parent->getTeam());72 }73 this->getControllableEntity()->setTeam(parent->getTeam());74 }75 this->once_ = true;76 }77 78 97 Pawn* parenttarget = orxonox_cast<Pawn*>(parent->getTarget()); 79 98 if(parenttarget) … … 83 102 } 84 103 } 85 86 104 } 87 105 }
Note: See TracChangeset
for help on using the changeset viewer.