00001 #ifndef ARMY_H 00002 #define ARMY_H 00003 00004 #include "Agent.h" 00005 #include "AIagent.h" 00006 00015 00016 class Agent; 00017 class AIagent; 00018 00019 00020 class Army 00021 { 00022 public: 00023 //---------------------------------------------------------------------------------------------------------------------- 00026 //---------------------------------------------------------------------------------------------------------------------- 00027 Army(int _armyID); 00028 //---------------------------------------------------------------------------------------------------------------------- 00030 //---------------------------------------------------------------------------------------------------------------------- 00031 ~Army(); 00032 //---------------------------------------------------------------------------------------------------------------------- 00035 //---------------------------------------------------------------------------------------------------------------------- 00036 void inline addScout(AIagent* _scout){m_scout = _scout;} 00037 //---------------------------------------------------------------------------------------------------------------------- 00040 //---------------------------------------------------------------------------------------------------------------------- 00041 void addAgentToArmy(AIagent* _agent); 00042 //---------------------------------------------------------------------------------------------------------------------- 00045 //---------------------------------------------------------------------------------------------------------------------- 00046 void addArmy(std::list <AIagent* > _aiagents); 00047 //---------------------------------------------------------------------------------------------------------------------- 00049 //---------------------------------------------------------------------------------------------------------------------- 00050 AIagent* getScout(){return m_scout;} 00051 //---------------------------------------------------------------------------------------------------------------------- 00053 //---------------------------------------------------------------------------------------------------------------------- 00054 std::list <AIagent* > getArmyAgents(){return m_aiagents;} 00055 //---------------------------------------------------------------------------------------------------------------------- 00058 //---------------------------------------------------------------------------------------------------------------------- 00059 void sendMessage(const std::string _message); 00060 //---------------------------------------------------------------------------------------------------------------------- 00063 //---------------------------------------------------------------------------------------------------------------------- 00064 void setTargetPosForArmy(const ngl::Vec3 _pos); 00065 00066 private: 00067 //---------------------------------------------------------------------------------------------------------------------- 00069 //---------------------------------------------------------------------------------------------------------------------- 00070 int m_ID; 00071 //---------------------------------------------------------------------------------------------------------------------- 00073 //---------------------------------------------------------------------------------------------------------------------- 00074 std::list <AIagent* > m_aiagents; 00075 //---------------------------------------------------------------------------------------------------------------------- 00077 //---------------------------------------------------------------------------------------------------------------------- 00078 AIagent* m_scout; 00079 }; 00080 00081 #endif // ARMY_H