Contains a number of free functions which display units. More...
Classes | |
class | unit_mover |
A class to encapsulate the steps of drawing a unit's move. More... | |
Functions | |
void | move_unit (const std::vector< map_location > &path, unit_ptr u, bool animate, map_location::direction dir, bool force_scroll) |
Display a unit moving along a given path. More... | |
void | reset_helpers (const unit *attacker, const unit *defender) |
void | unit_draw_weapon (const map_location &loc, unit &u, const_attack_ptr attack=nullptr, const_attack_ptr secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), unit_ptr defender=unit_ptr()) |
Play a pre-fight animation First unit is the attacker, second unit the defender. More... | |
void | unit_sheath_weapon (const map_location &loc, unit_ptr u=unit_ptr(), const_attack_ptr attack=nullptr, const_attack_ptr secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), unit_ptr defender=unit_ptr()) |
Play a post-fight animation Both unit can be set to null, only valid units will play their animation. More... | |
void | unit_die (const map_location &loc, unit &u, const_attack_ptr attack=nullptr, const_attack_ptr secondary_attack=nullptr, const map_location &winner_loc=map_location::null_location(), unit_ptr winner=unit_ptr()) |
Show a unit fading out. More... | |
void | unit_attack (display *disp, game_board &board, const map_location &a, const map_location &b, int damage, const attack_type &attack, const_attack_ptr secondary_attack, int swing, const std::string &hit_text, int drain_amount, const std::string &att_text, const std::vector< std::string > *extra_hit_sounds=nullptr, bool attacking=true) |
Make the unit on tile 'a' attack the unit on tile 'b'. More... | |
void | unit_recruited (const map_location &loc, const map_location &leader_loc) |
void | unit_healing (unit &healed, const std::vector< unit * > &healers, int healing, const std::string &extra_text="") |
This will use a poisoning anim if healing<0. More... | |
Contains a number of free functions which display units.
performing various on-screen actions - moving, attacking, and dying.
void unit_display::move_unit | ( | const std::vector< map_location > & | path, |
unit_ptr | u, | ||
bool | animate, | ||
map_location::direction | dir, | ||
bool | force_scroll | ||
) |
Display a unit moving along a given path.
path | The path to traverse. |
u | The unit to show being moved. Its facing will be updated, but not its position. |
animate | If set to false, only side-effects of move are applied (correct unit facing, path hexes redrawing). |
dir | Unit will be set facing this direction after move. If nothing passed, direction will be set based on path. |
force_scroll |
Definition at line 505 of file udisplay.cpp.
References unit_display::unit_mover::finish(), game_config::path, unit_display::unit_mover::proceed_to(), and unit_display::unit_mover::start().
Referenced by wb::manager::create_temp_move(), game_lua_kernel::intf_teleport(), wb::move::move(), ai::simulated_move(), actions::undo::move_action::undo(), and game_events::WML_HANDLER_FUNCTION().
Definition at line 770 of file udisplay.cpp.
References unit_ability_list::append(), unit::checking_tags(), display::context(), unit_map::end(), unit_map::find(), unit::get_abilities(), display::get_singleton(), and display_context::units().
Referenced by unit_attack(), unit_die(), and unit_sheath_weapon().
void unit_display::unit_attack | ( | display * | disp, |
game_board & | board, | ||
const map_location & | a, | ||
const map_location & | b, | ||
int | damage, | ||
const attack_type & | attack, | ||
const_attack_ptr | secondary_attack, | ||
int | swing, | ||
const std::string & | hit_text, | ||
int | drain_amount, | ||
const std::string & | att_text, | ||
const std::vector< std::string > * | extra_hit_sounds = nullptr , |
||
bool | attacking = true |
||
) |
Make the unit on tile 'a' attack the unit on tile 'b'.
The 'damage' will be subtracted from the unit's hitpoints, and a die effect will be displayed if the unit dies.
Definition at line 595 of file udisplay.cpp.
References unit_animator::add_animation(), unit_ability_list::append(), b, unit::checking_tags(), unit_map::find(), game_board::find_unit(), display::fogged(), prefs::get(), unit::get_abilities_weapons(), unit_animator::get_animation_time(), unit_animator::get_animation_time_potential(), unit_animator::get_end_time(), map_location::get_relative_dir(), unit_map::iterator_base< iter_types >::get_shared_ptr(), unit_animator::has_animation(), unit::hitpoints(), log_scope, map_location::null_location(), display::ONSCREEN, sound::play_sound(), reset_helpers(), display::scroll_to_tiles(), display::select_hex(), unit::set_facing(), prefs::show_combat(), attack_type::specials_context(), unit_animator::start_animations(), unit::take_hit(), game_board::units(), unit_map::iterator_base< iter_types >::valid(), unit_animator::wait_for_end(), unit_animator::wait_until(), and unit_animator::would_end().
void unit_display::unit_die | ( | const map_location & | loc, |
unit & | u, | ||
const_attack_ptr | attack = nullptr , |
||
const_attack_ptr | secondary_attack = nullptr , |
||
const map_location & | winner_loc = map_location::null_location() , |
||
unit_ptr | winner = unit_ptr() |
||
) |
Show a unit fading out.
Note: this only shows the effect, it doesn't actually kill the unit.
Definition at line 569 of file udisplay.cpp.
References unit_animator::add_animation(), display::fogged(), prefs::get(), display::get_singleton(), events::mouse_handler::get_singleton(), reset_helpers(), prefs::show_combat(), unit_animator::start_animations(), and unit_animator::wait_for_end().
Referenced by SYNCED_COMMAND_HANDLER_FUNCTION().
void unit_display::unit_draw_weapon | ( | const map_location & | loc, |
unit & | attacker, | ||
const_attack_ptr | attack, | ||
const_attack_ptr | secondary_attack, | ||
const map_location & | defender_loc, | ||
unit_ptr | defender | ||
) |
Play a pre-fight animation First unit is the attacker, second unit the defender.
Definition at line 519 of file udisplay.cpp.
References unit_animator::add_animation(), display::fogged(), prefs::get(), map_location::get_relative_dir(), display::get_singleton(), unit::set_facing(), prefs::show_combat(), unit_animator::start_animations(), and unit_animator::wait_for_end().
void unit_display::unit_healing | ( | unit & | healed, |
const std::vector< unit * > & | healers, | ||
int | healing, | ||
const std::string & | extra_text | ||
) |
This will use a poisoning anim if healing<0.
Definition at line 847 of file udisplay.cpp.
References unit_animator::add_animation(), game_display::display_unit_hex(), display::fogged(), unit::get_location(), game_display::get_singleton(), h, map_location::null_location(), display::ONSCREEN, display::scroll_to_tile(), unit_animator::set_all_standing(), unit_animator::start_animations(), and unit_animator::wait_for_end().
void unit_display::unit_recruited | ( | const map_location & | loc, |
const map_location & | leader_loc | ||
) |
Definition at line 799 of file udisplay.cpp.
References unit_animator::add_animation(), display::context(), unit_map::end(), unit_map::find(), display::fogged(), map_location::get_relative_dir(), unit_map::iterator_base< iter_types >::get_shared_ptr(), game_display::get_singleton(), game_display::invalidate_unit(), display::mouseover_hex(), ON_SCOPE_EXIT, display::ONSCREEN, display::scroll_to_tile(), display::scroll_to_tiles(), unit_animator::set_all_standing(), unit_animator::start_animations(), display_context::units(), display::viewing_team(), and unit_animator::wait_for_end().
Referenced by actions::place_recruit(), unit_creator::post_create(), and SYNCED_COMMAND_HANDLER_FUNCTION().
void unit_display::unit_sheath_weapon | ( | const map_location & | primary_loc, |
unit_ptr | primary_unit, | ||
const_attack_ptr | primary_attack, | ||
const_attack_ptr | secondary_attack, | ||
const map_location & | secondary_loc, | ||
unit_ptr | secondary_unit | ||
) |
Play a post-fight animation Both unit can be set to null, only valid units will play their animation.
Definition at line 539 of file udisplay.cpp.
References unit_animator::add_animation(), display::fogged(), prefs::get(), display::get_singleton(), reset_helpers(), prefs::show_combat(), unit_animator::start_animations(), and unit_animator::wait_for_end().