BWAPI
|
00001 #pragma once 00002 #include "../LowLevelAction.h" 00003 00004 namespace layer1 00005 { 00006 class BuildAction : public LowLevelAction 00007 { 00008 public: 00009 BuildAction(IBehaviorState& state) 00010 : LowLevelAction(state) 00011 { 00012 } 00013 virtual std::string getDescription() const 00014 { 00015 return "Build "; 00016 } 00017 void setDestination(BWAPI::TilePosition destination) 00018 { 00019 if(!destination.isValid()) 00020 m_destination = destination.makeValid(); 00021 else 00022 m_destination = destination; 00023 } 00024 void setUnitType(BWAPI::UnitType unitType) 00025 { 00026 m_unitType = unitType; 00027 } 00028 virtual bool execute(BWAPI::Unit* unit) const 00029 { 00030 return unit->build(m_destination,m_unitType); 00031 } 00032 protected: 00033 BWAPI::TilePosition m_destination; 00034 BWAPI::UnitType m_unitType; 00035 }; 00036 }