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