Editor mouse action class. More...
#include <mouse_action_village.hpp>
Public Member Functions | |
mouse_action_village (const CKey &key, empty_palette &palette) | |
std::unique_ptr< editor_action > | click_left (editor_display &, int, int) override |
No action. More... | |
std::unique_ptr< editor_action > | up_left (editor_display &disp, int x, int y) override |
If clicked on a village hex field, assigns the ownership of it to the current side. More... | |
std::unique_ptr< editor_action > | click_right (editor_display &, int, int) override |
No action. More... | |
std::unique_ptr< editor_action > | up_right (editor_display &disp, int x, int y) override |
If clicked on a village hex field, unassigns it's ownership. More... | |
virtual void | set_mouse_overlay (editor_display &disp) override |
Set the mouse overlay for this action. More... | |
Public Member Functions inherited from editor::mouse_action | |
mouse_action (common_palette &palette, const CKey &key) | |
virtual | ~mouse_action () |
virtual bool | has_context_menu () const |
virtual void | move (editor_display &disp, const map_location &hex) |
Mouse move (not a drag). More... | |
void | update_brush_highlights (editor_display &disp, const map_location &hex) |
Unconditionally update the brush highlights for the current tool when hex is the center location. More... | |
virtual std::set< map_location > | affected_hexes (editor_display &disp, const map_location &hex) |
Locations that would be affected by a click, used by move to update highlights. More... | |
virtual std::unique_ptr< editor_action > | drag_left (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Drag operation. More... | |
virtual std::unique_ptr< editor_action > | drag_right (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Drag operation. More... | |
virtual std::unique_ptr< editor_action > | drag_end_left (editor_display &disp, int x, int y) |
The end of dragging. More... | |
virtual std::unique_ptr< editor_action > | drag_end_right (editor_display &disp, int x, int y) |
virtual std::unique_ptr< editor_action > | key_event (editor_display &disp, const SDL_Event &e) |
Function called by the controller on a key event for the current mouse action. More... | |
void | set_toolbar_button (const theme::menu *value) |
Helper variable setter - pointer to a toolbar menu/button used for highlighting the current action. More... | |
const theme::menu * | toolbar_button () const |
Getter for the (possibly nullptr) associated menu/button. More... | |
common_palette & | get_palette () |
Getter for the associated palette. More... | |
virtual bool | supports_brushes () const |
Whether we need the brush bar, is used to grey it out. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from editor::mouse_action | |
bool | has_alt_modifier () const |
bool | has_shift_modifier () const |
bool | has_ctrl_modifier () const |
void | set_terrain_mouse_overlay (editor_display &disp, const t_translation::terrain_code &fg, const t_translation::terrain_code &bg) |
Helper function for derived classes that need a active-terrain mouse overlay. More... | |
Protected Attributes inherited from editor::mouse_action | |
map_location | previous_move_hex_ |
The hex previously used in move operations. More... | |
const CKey & | key_ |
Key presses, used for modifiers (alt, shift) in some operations. More... | |
Editor mouse action class.
Called by the editor tool to assign village ownership to defined sides.
Definition at line 28 of file mouse_action_village.hpp.
|
inline |
Definition at line 31 of file mouse_action_village.hpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Set the mouse overlay for this action.
Defaults to an empty overlay.
Reimplemented from editor::mouse_action.
Definition at line 41 of file mouse_action_village.cpp.
References image::get_texture(), and editor::editor_display::set_mouseover_hex_overlay().
|
overridevirtual |
If clicked on a village hex field, assigns the ownership of it to the current side.
Reimplemented from editor::mouse_action.
Definition at line 23 of file mouse_action_village.cpp.
References editor::editor_display::get_map(), display::hex_clicked_on(), gamemap::is_village(), gamemap_base::on_board(), and display::playing_team_index().
|
overridevirtual |
If clicked on a village hex field, unassigns it's ownership.
Reimplemented from editor::mouse_action.
Definition at line 32 of file mouse_action_village.cpp.
References editor::editor_display::get_map(), display::hex_clicked_on(), gamemap::is_village(), and gamemap_base::on_board().