BWAPI
SPAR/AIModule/SparAIModule/DecisionMaking/Layer1Reactive/FSM/Actions/MoveAction.h
Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines