BWAPI
|
00001 #pragma once 00002 00003 #include "Interface.h" 00004 00005 #include "Singleton.h" 00006 #include "GatherTask.h" 00007 #include "Base.h" 00008 #include "TaskPump.h" 00009 00010 class ResourceManagerClass 00011 { 00012 public: 00013 ResourceManagerClass(); 00014 00015 void update(); 00016 00017 void onDestroy(Unit unit); 00018 00019 bool isSaturated() { return mSaturated; } 00020 bool requiresRefineries() { return mGasLevel == 8; } 00021 int getGasLevel() { return mGasLevel; } 00022 00023 private: 00024 std::map<Unit, Base> mResourceToBase; 00025 std::map<Base, std::map<Unit, GatherTaskPointer>> mResourceTasks; 00026 std::set<Base> mMyActiveBases; 00027 00028 TaskPump mTaskPump; 00029 00030 bool mSaturated; 00031 int mGasLevel; 00032 int mTimeAllowGasChange; 00033 }; 00034 00035 typedef Singleton<ResourceManagerClass> ResourceManager;