#include <recall.hpp>
Public Member Functions | |
recall (size_t team_index, bool hidden, const unit &unit, const map_location &recall_hex) | |
recall (config const &, bool hidden) | |
virtual | ~recall () |
virtual std::ostream & | print (std::ostream &s) const |
virtual void | accept (visitor &v) |
virtual void | execute (bool &success, bool &complete) |
Output parameters: success: Whether or not to continue an execute-all after this execution complete: Whether or not to delete this action after execution. More... | |
virtual error | check_validity () const |
Check the validity of the action. More... | |
virtual void | apply_temp_modifier (unit_map &unit_map) |
Applies temporarily the result of this action to the specified unit map. More... | |
virtual void | remove_temp_modifier (unit_map &unit_map) |
Removes the result of this action from the specified unit map. More... | |
virtual void | draw_hex (const map_location &hex) |
Gets called by display when drawing a hex, to allow actions to draw to the screen. More... | |
virtual void | redraw () |
Redrawing function, called each time the action situation might have changed. More... | |
virtual map_location | get_numbering_hex () const |
Indicates whether this hex is the preferred hex to draw the numbering for this action. More... | |
virtual unit_ptr | get_unit () const |
virtual fake_unit_ptr | get_fake_unit () |
map_location const | get_recall_hex () const |
virtual config | to_config () const |
Public Member Functions inherited from wb::action | |
action (size_t team_index, bool hidden) | |
action (config const &, bool hidden) | |
virtual | ~action () |
void | hide () |
Sets whether or not the action should be drawn on the screen. More... | |
void | show () |
bool | hidden () const |
bool | is_numbering_hex (const map_location &hex) const |
Indicates whether this hex is the preferred hex to draw the numbering for this action. More... | |
size_t | get_unit_id () const |
Returns the id of the unit targeted by this action. More... | |
size_t | team_index () const |
Returns the index of the team that owns this action. More... | |
int | side_number () const |
Returns the number of the side that owns this action, i.e. More... | |
bool | valid () |
Returns whether this action is valid or not. More... | |
Protected Member Functions | |
boost::shared_ptr< recall > | shared_from_this () |
Private Member Functions | |
void | init () |
virtual void | do_hide () |
Called by the non-virtual hide() and show(), respectively. More... | |
virtual void | do_show () |
Private Attributes | |
unit_ptr | temp_unit_ |
map_location | recall_hex_ |
fake_unit_ptr | fake_unit_ |
Additional Inherited Members | |
Public Types inherited from wb::action | |
enum | error { OK, INVALID_LOCATION, NO_UNIT, UNIT_CHANGED, LOCATION_OCCUPIED, TOO_FAR, NO_TARGET, NO_ATTACK_LEFT, NOT_AN_ENEMY, UNIT_UNAVAILABLE, NOT_ENOUGH_GOLD, NO_LEADER } |
Possible errors. More... | |
Static Public Member Functions inherited from wb::action | |
static action_ptr | from_config (config const &, bool hidden) |
Constructs an object of a subclass of wb::action using a config. More... | |
Definition at line 28 of file recall.hpp.
wb::recall::recall | ( | size_t | team_index, |
bool | hidden, | ||
const unit & | unit, | ||
const map_location & | recall_hex | ||
) |
Definition at line 59 of file recall.cpp.
References init().
wb::recall::recall | ( | config const & | cfg, |
bool | hidden | ||
) |
Definition at line 68 of file recall.cpp.
References schema_validation::at(), fake_unit_, init(), actions::recall_unit(), fake_unit_ptr::reset(), wb::action::team_index(), resources::teams, and temp_unit_.
|
virtual |
Definition at line 105 of file recall.cpp.
Implements wb::action.
Definition at line 109 of file recall.cpp.
References shared_from_this(), and wb::visitor::visit().
Applies temporarily the result of this action to the specified unit map.
Implements wb::action.
Definition at line 139 of file recall.cpp.
References DBG_WB, unit_map::insert(), display::invalidate_game_status(), recall_hex_, resources::screen, wb::action::team_index(), resources::teams, temp_unit_, and wb::action::valid().
|
virtual |
Check the validity of the action.
OK | if there isn't any error (the action can be executed.) |
Implements wb::action.
Definition at line 203 of file recall.cpp.
References gui2::event::find(), wb::find_recruiter(), get_recall_hex(), wb::action::LOCATION_OCCUPIED, wb::action::NO_LEADER, wb::action::NOT_ENOUGH_GOLD, wb::action::OK, recall_hex_, wb::action::team_index(), resources::teams, temp_unit_, wb::action::UNIT_UNAVAILABLE, and resources::units.
|
privatevirtual |
Called by the non-virtual hide() and show(), respectively.
Reimplemented from wb::action.
Definition at line 242 of file recall.cpp.
References fake_unit_.
|
privatevirtual |
|
virtual |
Gets called by display when drawing a hex, to allow actions to draw to the screen.
Implements wb::action.
Definition at line 175 of file recall.cpp.
References display::draw_text_in_hex(), gui::font_size, get_unit(), display::LAYER_ACTIONS_NUMBERING, recall_hex_, resources::screen, wb::action::team_index(), resources::teams, statistics::un_recall_unit_cost(), and utils::unicode_minus.
|
virtual |
Output parameters: success: Whether or not to continue an execute-all after this execution complete: Whether or not to delete this action after execution.
Implements wb::action.
Definition at line 114 of file recall.cpp.
References fake_unit_, replay_helper::get_recall(), team::get_side_actions(), synced_context::ignore_error_function(), map_location::null_location(), team::recall_cost(), recall_hex_, synced_context::run_and_throw(), wb::action::team_index(), resources::teams, temp_unit_, and wb::action::valid().
|
inlinevirtual |
Implements wb::action.
Definition at line 67 of file recall.hpp.
References fake_unit_.
|
inlinevirtual |
Indicates whether this hex is the preferred hex to draw the numbering for this action.
Implements wb::action.
Definition at line 62 of file recall.hpp.
References recall_hex_.
|
inline |
|
inlinevirtual |
Implements wb::action.
Definition at line 65 of file recall.hpp.
References temp_unit_.
Referenced by draw_hex().
|
private |
Definition at line 93 of file recall.cpp.
References fake_unit_, resources::fake_units, fake_unit_ptr::place_on_fake_unit_manager(), recall_hex_, and temp_unit_.
Referenced by recall().
|
virtual |
Implements wb::action.
Definition at line 53 of file recall.cpp.
References fake_unit_, and recall_hex_.
|
virtual |
Redrawing function, called each time the action situation might have changed.
Reimplemented from wb::action.
Definition at line 198 of file recall.cpp.
References display::invalidate(), recall_hex_, and resources::screen.
Removes the result of this action from the specified unit map.
Implements wb::action.
Definition at line 166 of file recall.cpp.
References unit_map::extract(), recall_hex_, wb::action::team_index(), resources::teams, and temp_unit_.
|
inlineprotected |
Definition at line 75 of file recall.hpp.
Referenced by accept().
|
virtual |
Reimplemented from wb::action.
Definition at line 226 of file recall.cpp.
References config::add_child(), recall_hex_, temp_unit_, wb::action::to_config(), map_location::x, and map_location::y.
|
private |
Definition at line 87 of file recall.hpp.
Referenced by do_hide(), do_show(), execute(), get_fake_unit(), init(), print(), and recall().
|
private |
Definition at line 86 of file recall.hpp.
Referenced by apply_temp_modifier(), check_validity(), draw_hex(), execute(), get_numbering_hex(), get_recall_hex(), init(), print(), redraw(), remove_temp_modifier(), and to_config().
|
private |
Definition at line 85 of file recall.hpp.
Referenced by apply_temp_modifier(), check_validity(), execute(), get_unit(), init(), recall(), remove_temp_modifier(), and to_config().