BWAPI
SnippyHolloW-BroodwarBotQ-f01ab56/src/MacroProject.h
Go to the documentation of this file.
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 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines