BWAPI
SnippyHolloW-BroodwarBotQ-f01ab56/src/Macro/UnitCompositionProducer.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "Macro/MacroManager/TaskStreamObserver.h"
00003 #include "Macro/MacroManager/TaskStream.h"
00004 #include <BWAPI.h>
00005 class UnitCompositionProducer : public TaskStreamObserver
00006 {
00007   public:
00008     UnitCompositionProducer(BWAPI::UnitType workerType);
00009     virtual void attached(TaskStream* ts);
00010     virtual void detached(TaskStream* ts);
00011     void update();
00012     void setUnitWeight(BWAPI::UnitType t, double weight);
00013     BWAPI::UnitType getNextUnitType(BWAPI::Unit* worker);
00014   private:
00015     std::set<TaskStream*> streams;
00016     BWAPI::UnitType workerType;
00017     std::map<BWAPI::UnitType, double> unitCompositionWeights;
00018     std::map<BWAPI::UnitType, int> actualUnitCounts;
00019     std::map<BWAPI::UnitType, double> desiredUnitCounts;
00020 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines