BWAPI
|
00001 #ifndef AGENTPOOL_H 00002 #define AGENTPOOL_H 00003 #include <map> 00004 #include <iostream> 00005 #include <fstream> 00006 #include "AgentBase.h" 00007 #include <BWAPI.h> 00008 #include "SquadPool.h" 00009 #include "Arbitrator.h" 00010 #include "InformationManagerAgent.h" 00011 #include "ScoutManagerAgent.h" 00012 00013 using namespace BWAPI; 00014 00015 00016 class ExecutionCommanderAgent; 00017 class SquadReccomender; 00018 00019 class AgentPool { 00020 public: 00021 AgentPool(); 00022 ~AgentPool(); 00023 void AgentPool::writeDebugMessage(char message[]); 00024 void AgentPool::writeDebugMessage(std::string message); 00025 void AgentPool::writeDebugMessage(int message); 00026 void AgentPool::writeDebugMessage(float message); 00027 void AgentPool::writeDebugMessage(std::string message, std::string target); 00028 void AgentPool::writeDebugMessage(std::vector<GoalDescriptor*> messages, std::string target); 00029 void AgentPool::writeDebugMessage(int message, std::string target); 00030 00031 AgentBase* AgentPool::getAgent(std::string name); 00032 Unit* AgentPool::getCurrentPrimaryBase(); 00033 void AgentPool::setCurrentPrimaryBase(Unit* mb); 00034 SquadReccomender* getSquadReccomender(); 00035 SquadPool* AgentPool::getSquads(); 00036 void AgentPool::updateAgentDrives(); 00037 Arbitrator* AgentPool::getArbitrator(); 00038 void AgentPool::registerGoal(GoalDescriptor* g); 00039 GoalDescriptor* AgentPool::getRegisteredGoal(int id); 00040 00041 bool launched; 00042 std::ofstream output; 00043 00044 private: 00045 std::map<std::string, AgentBase*> pool; 00046 void AgentPool::setUpDebugFile(); 00047 std::map<int, GoalDescriptor*> goalMonitor; 00048 00049 00050 SquadPool* squads; 00051 Unit* primaryBase; 00052 bool baseFound; 00053 bool alternatingFrame; 00054 bool barracks; 00055 Arbitrator* arbitrator; 00056 ExecutionCommanderAgent* executor; 00057 SquadReccomender* sqr; 00058 }; 00059 #endif