BWAPI
quorum/ExampleAIModule/AgentPool.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines