BWAPI
trunk/bwapi/BWScriptEmulator/Controller.h
Go to the documentation of this file.
00001 #include <windows.h>
00002 #include <BWAPI.h>
00003 
00004 #define CONTROLLER_SECURE_FINISHED    0x0001
00005 #define CONTROLLER_TOWN_STARTED       0x0002
00006 #define CONTROLLER_DEFAULT_BUILD_OFF  0x0004
00007 #define CONTROLLER_TRANSPORTS_OFF     0x0008
00008 #define CONTROLLER_FARMS_TIMING_OFF   0x0010
00009 #define CONTROLLER_IS_CAMPAIGN        0x0020
00010 #define CONTROLLER_SPREAD_CREEP       0x0080
00011 #define CONTROLLER_REQUEST_DETECTOR   0x0100
00012 #define CONTROLLER_UPGRADES_FINISHED  0x0400
00013 #define CONTROLLER_TARGET_EXPANSION   0x0800
00014 
00015 #define DEFENSE_GROUND_TO_GROUND  0
00016 #define DEFENSE_AIR_TO_GROUND     1
00017 #define DEFENSE_GROUND_TO_AIR     2
00018 #define DEFENSE_AIR_TO_AIR        3
00019 
00020 class AIController
00021 {
00022 public:
00023   AIController();
00024   ~AIController();
00025 
00026   void AttackAdd(int count, BWAPI::UnitType type);
00027   void DefenseClear(int type);
00028   void DefenseBuild(int type, int count, BWAPI::UnitType uType);
00029   void DefenseUse(int type, int count, BWAPI::UnitType uType);
00030 
00031   BYTE  bNukeRate;
00032   BYTE  bAttacks;
00033   DWORD dwLastNukeTime;
00034   WORD  wFlags;
00035   WORD  wPanicBlock;
00036   WORD  wMaxForce;
00037   WORD  wAttackGroup;
00038   WORD  wWaitForType;
00039   BYTE  bDefaultMin;
00040   
00041   DWORD dwLastIndividualUnitUpdateTime;
00042   DWORD dwAttackTime;
00043   
00044   BYTE  bIfDif;
00045   WORD  attackGroups[64];
00046   DWORD defensebuild[4][10];
00047   DWORD defenseuse[4][10];
00048   BYTE  bDefineMax[228];
00049 
00050   RECT  genCmdTarget;
00051 };
00052 
00053 extern AIController *MainController;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines