The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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_type *attack=nullptr, const attack_type *secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), unit *defender=nullptr)
 Play a pre-fight animation First unit is the attacker, second unit the defender. More...
 
void unit_sheath_weapon (const map_location &loc, unit *u=nullptr, const attack_type *attack=nullptr, const attack_type *secondary_attack=nullptr, const map_location &defender_loc=map_location::null_location(), unit *defender=nullptr)
 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_type *attack=nullptr, const attack_type *secondary_attack=nullptr, const map_location &winner_loc=map_location::null_location(), unit *winner=nullptr)
 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_type *secondary_attack, int swing, std::string hit_text, int drain_amount, std::string att_text, const std::vector< std::string > *extra_hit_sounds=nullptr)
 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...
 
void wml_animation_internal (unit_animator &animator, const vconfig &cfg, const map_location &default_location=map_location::null_location())
 
void wml_animation (const vconfig &cfg, const map_location &default_location=map_location::null_location())
 Parse a standard WML for animations and play the corresponding animation. More...
 

Detailed Description

Contains a number of free functions which display units.

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

Function Documentation

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.

Definition at line 486 of file udisplay.cpp.

References unit_display::unit_mover::finish(), 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(), actions::undo::move_action::redo(), ai::simulated_move(), actions::undo::move_action::undo(), and game_events::WML_HANDLER_FUNCTION().

void unit_display::reset_helpers ( const unit attacker,
const unit defender 
)
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_type secondary_attack,
int  swing,
std::string  hit_text,
int  drain_amount,
std::string  att_text,
const std::vector< std::string > *  extra_hit_sounds = nullptr 
)
void unit_display::unit_die ( const map_location loc,
unit u,
const attack_type attack = nullptr,
const attack_type secondary_attack = nullptr,
const map_location winner_loc = map_location::null_location(),
unit winner = nullptr 
)
void unit_display::unit_draw_weapon ( const map_location loc,
unit attacker,
const attack_type attack,
const attack_type secondary_attack,
const map_location defender_loc,
unit defender 
)
void unit_display::unit_healing ( unit healed,
const std::vector< unit * > &  healers,
int  healing,
const std::string extra_text 
)
void unit_display::unit_recruited ( const map_location loc,
const map_location leader_loc 
)
void unit_display::unit_sheath_weapon ( const map_location primary_loc,
unit primary_unit,
const attack_type primary_attack,
const attack_type secondary_attack,
const map_location secondary_loc,
unit secondary_unit 
)
void unit_display::wml_animation ( const vconfig cfg,
const map_location default_location = map_location::null_location() 
)

Parse a standard WML for animations and play the corresponding animation.

Returns once animation is played.

This is used for the animate_unit action, but can easily be generalized if other wml-described animations are needed.

Definition at line 771 of file udisplay.cpp.

References CVideo::faked(), resources::screen, unit_animator::set_all_standing(), unit_animator::start_animations(), CVideo::update_locked(), display::video(), unit_animator::wait_for_end(), and wml_animation_internal().

Referenced by game_lua_kernel::intf_animate_unit().

void unit_display::wml_animation_internal ( unit_animator animator,
const vconfig cfg,
const map_location default_location = map_location::null_location() 
)