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