My Project
Public Member Functions | Public Attributes | List of all members
sc2::ActionImp Class Reference
Inheritance diagram for sc2::ActionImp:
sc2::ActionInterface

Public Member Functions

 ActionImp (ProtoInterface &proto)
 
GameStateProtocol::RequestAction * GetRequestAction ()
 
void UnitCommand (uint64_t unit_tag, uint32_t ability) override
 
void UnitCommand (const Unit &unit, uint32_t ability) override
 
void UnitCommand (uint64_t unit_tag, uint32_t ability, const Point2D &point) override
 
void UnitCommand (const Unit &unit, uint32_t ability, const Point2D &point) override
 
void UnitCommand (uint64_t unit_tag, uint32_t ability, uint64_t target_tag) override
 
void UnitCommand (const Unit &unit, uint32_t ability, uint64_t target_tag) override
 
void SendUnitCommands () override
 
- Public Member Functions inherited from sc2::ActionInterface
void UnitCommand (uint64_t unit_tag, ABILITY_TYPE ability)
 
void UnitCommand (const Unit &unit, ABILITY_TYPE ability)
 
void UnitCommand (uint64_t unit_tag, ABILITY_TYPE ability, const Point2D &point)
 
void UnitCommand (const Unit &unit, ABILITY_TYPE ability, const Point2D &point)
 
void UnitCommand (uint64_t unit_tag, ABILITY_TYPE ability, uint64_t target_tag)
 
void UnitCommand (const Unit &unit, ABILITY_TYPE ability, uint64_t target_tag)
 

Public Attributes

ProtoInterfaceproto_
 
GameRequestPtr request_actions_
 

Member Function Documentation

◆ SendUnitCommands()

void sc2::ActionImp::SendUnitCommands ( )
overridevirtual

This function sends out all batched unit commands. You DO NOT need to call this function in non real time simulations since it is automatically called when stepping the simulation forward. You only need to call this function in a real time simulation. For example, if you wanted to move 20 marines to some position on the map you'd want to batch all of those unit commands and send them at once.

Implements sc2::ActionInterface.

◆ UnitCommand() [1/6]

void sc2::ActionImp::UnitCommand ( uint64_t  unit_tag,
uint32_t  ability 
)
overridevirtual

Batches a UnitCommand that will be dispatched when SendUnitCommands() is called. UnitCommand has many overloaded functions, you can call it with most combinations of Unit types (the Unit object or tag), ability types (the enum or uint32_t) and targets (a 2D position or tag).

Parameters
unit_tagThe unique id that represents the unit.
abilityThe unique id that represents the ability, see ABILITY_TYPE for ids.
See also
ABILITY_TYPE Unit Point2D SendUnitCommands()

Implements sc2::ActionInterface.

◆ UnitCommand() [2/6]

void sc2::ActionImp::UnitCommand ( const Unit unit,
uint32_t  ability 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements sc2::ActionInterface.

◆ UnitCommand() [3/6]

void sc2::ActionImp::UnitCommand ( uint64_t  unit_tag,
uint32_t  ability,
const Point2D point 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements sc2::ActionInterface.

◆ UnitCommand() [4/6]

void sc2::ActionImp::UnitCommand ( const Unit unit,
uint32_t  ability,
const Point2D point 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements sc2::ActionInterface.

◆ UnitCommand() [5/6]

void sc2::ActionImp::UnitCommand ( uint64_t  unit_tag,
uint32_t  ability,
uint64_t  target_tag 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements sc2::ActionInterface.

◆ UnitCommand() [6/6]

void sc2::ActionImp::UnitCommand ( const Unit unit,
uint32_t  ability,
uint64_t  target_tag 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements sc2::ActionInterface.


The documentation for this class was generated from the following file: