The Battle for Wesnoth  1.19.7+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, const 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 const_attack_ptr &attack=nullptr, const const_attack_ptr &secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), const 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, const unit_ptr &u=unit_ptr(), const const_attack_ptr &attack=nullptr, const const_attack_ptr &secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), const 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 const_attack_ptr &attack=nullptr, const const_attack_ptr &secondary_attack=nullptr, const map_location &winner_loc=map_location::null_location(), const 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 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,
const 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 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 const_attack_ptr attack = nullptr,
const const_attack_ptr secondary_attack = nullptr,
const map_location winner_loc = map_location::null_location(),
const unit_ptr winner = unit_ptr() 
)

◆ unit_draw_weapon()

void unit_display::unit_draw_weapon ( const map_location loc,
unit attacker,
const const_attack_ptr attack,
const const_attack_ptr secondary_attack,
const map_location defender_loc,
const 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,
const unit_ptr primary_unit,
const const_attack_ptr primary_attack,
const const_attack_ptr secondary_attack,
const map_location secondary_loc,
const 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().