40 virtual std::ostream&
print(std::ostream&
s)
const;
44 virtual void execute(
bool& success,
bool& complete);
82 return std::static_pointer_cast<recruit>(action::shared_from_this());
A config object defines a single node in a WML file, with access to child nodes.
Holds a temporary unit that can be drawn on the map without being placed in the unit_map.
Container associating units to locations.
Abstract base class for all the whiteboard planned actions.
std::size_t team_index() const
Returns the index of the team that owns this action.
virtual bool places_new_unit() const
Returns true for recall and recruit actions.
virtual fake_unit_ptr get_fake_unit()
virtual error check_validity() const
Check the validity of the action.
virtual unit_ptr get_unit() const
virtual map_location get_numbering_hex() const
virtual void do_hide()
Called by the non-virtual hide() and show(), respectively.
std::shared_ptr< recruit > shared_from_this()
virtual std::ostream & print(std::ostream &s) const
virtual void draw_hex(const map_location &hex)
Gets called by display when drawing a hex, to allow actions to draw to the screen.
map_location const get_recruit_hex() const
virtual config to_config() const
Constructs and returns a config object representing this object.
map_location recruit_hex_
virtual void execute(bool &success, bool &complete)
Output parameters: success: Whether or not to continue an execute-all after this execution complete: ...
recruit(std::size_t team_index, bool hidden, const std::string &unit_name, const map_location &recruit_hex)
virtual void apply_temp_modifier(unit_map &unit_map)
Applies temporarily the result of this action to the specified unit map.
unit_ptr create_corresponding_unit()
virtual void remove_temp_modifier(unit_map &unit_map)
Removes the result of this action from the specified unit map.
virtual void accept(visitor &v)
virtual void redraw()
Redrawing function, called each time the action situation might have changed.
Abstract base class for all the visitors (cf GoF Visitor Design Pattern) the whiteboard uses.
std::shared_ptr< recruit > recruit_ptr
std::ostream & operator<<(std::ostream &s, action_ptr action)
std::shared_ptr< recruit const > recruit_const_ptr
std::shared_ptr< unit > unit_ptr
static config unit_name(const unit *u)
Encapsulates the map of the game.
static map_location::direction s