The Battle for Wesnoth  1.19.5+dev
Classes | Functions
unit_display Namespace Reference

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...
 

Detailed Description

Contains a number of free functions which display units.

performing various on-screen actions - moving, attacking, and dying.

Function Documentation

◆ move_unit()

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.

Parameters
pathThe path to traverse.
uThe unit to show being moved. Its facing will be updated, but not its position.
animateIf set to false, only side-effects of move are applied (correct unit facing, path hexes redrawing).
dirUnit 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().

◆ reset_helpers()

void unit_display::reset_helpers ( const unit attacker,
const unit defender 
)

◆ unit_attack()

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 
)

◆ unit_die()

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() 
)

◆ unit_draw_weapon()

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 
)

◆ unit_healing()

void unit_display::unit_healing ( unit healed,
const std::vector< unit * > &  healers,
int  healing,
const std::string &  extra_text 
)

◆ unit_recruited()

void unit_display::unit_recruited ( const map_location loc,
const map_location leader_loc 
)

◆ unit_sheath_weapon()

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().