BWAPI
Skynet/Skynet/ResourceManager.h
Go to the documentation of this file.
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;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines