BWAPI
|
00001 #pragma once 00002 #include <Arbitrator.h> 00003 #include <BWAPI.h> 00004 #include <BuildingPlacer.h> 00005 class TechManager : public Arbitrator::Controller<BWAPI::Unit*,double> 00006 { 00007 public: 00008 TechManager(Arbitrator::Arbitrator<BWAPI::Unit*,double>* arbitrator); 00009 void setBuildingPlacer(BuildingPlacer* placer); 00010 00011 virtual void onOffer(std::set<BWAPI::Unit*> units); 00012 virtual void onRevoke(BWAPI::Unit* unit, double bid); 00013 virtual void update(); 00014 virtual std::string getName() const; 00015 void onRemoveUnit(BWAPI::Unit* unit); 00016 bool research(BWAPI::TechType type); 00017 bool planned(BWAPI::TechType type) const; 00018 Arbitrator::Arbitrator<BWAPI::Unit*,double>* arbitrator; 00019 BuildingPlacer* placer; 00020 std::map<BWAPI::UnitType,std::list<BWAPI::TechType> > researchQueues; 00021 std::map<BWAPI::Unit*,BWAPI::TechType> researchingUnits; 00022 std::set<BWAPI::TechType> plannedTech; 00023 int lastFrameCheck; 00024 };