BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA.h> 00004 #include <windows.h> 00005 #include "Defines.h" 00006 #include "Intelligence/Intelligence.h" 00007 #include "Macro/Macro.h" 00008 #include "Micro/Micro.h" 00009 00010 class BattleBroodAI; 00011 extern BattleBroodAI* broodAI; 00012 00013 static bool analyzed; 00014 static bool analysis_just_finished; 00015 static BWTA::Region* home; 00016 static BWTA::Region* enemy_base; 00017 DWORD WINAPI AnalyzeThread(); 00018 00019 class BattleBroodAI : public BWAPI::AIModule 00020 { 00021 public: 00022 bool show_visibility_data; 00023 BWTA::Region* home; 00024 BWTA::Region* enemy_base; 00025 bool analyzed; 00026 std::map<BWAPI::Unit*,BWAPI::UnitType> buildings; 00027 00028 Intelligence* intelligence; 00029 Macro* macro; 00030 Micro* micro; 00031 TimeManager* timeManager; 00032 00033 bool showManagerAssignments; 00034 00035 BattleBroodAI(); 00036 ~BattleBroodAI(); 00037 virtual void onStart(); 00038 virtual void onEnd(bool isWinner); 00039 virtual void onFrame(); 00040 virtual void onSendText(std::string text); 00041 virtual void onReceiveText(BWAPI::Player* player, std::string text); 00042 virtual void onPlayerLeft(BWAPI::Player* player); 00043 virtual void onNukeDetect(BWAPI::Position target); 00044 virtual void onUnitCreate(BWAPI::Unit* unit); 00045 virtual void onUnitDestroy(BWAPI::Unit* unit); 00046 virtual void onUnitMorph(BWAPI::Unit* unit); 00047 virtual void onUnitShow(BWAPI::Unit* unit); 00048 virtual void onUnitHide(BWAPI::Unit* unit); 00049 virtual void onUnitRenegade(BWAPI::Unit* unit); 00050 virtual void onUnitDiscover(BWAPI::Unit* unit); 00051 virtual void onUnitEvade(BWAPI::Unit* unit); 00052 virtual void onSaveGame(std::stringbuf gameName); 00053 00054 //not part of BWAPI::AIModule 00055 void drawStats(); 00056 void showPlayers(); 00057 void showForces(); 00058 };