1 /* 2 Copyright (C) 2017-2018 the Battle for Wesnoth Project https://www.wesnoth.org/ 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY. 10 11 See the COPYING file for more details. 12 */ 13 14 #pragma once 15 16 #include "undo_action.hpp" 17 #include "units/ptr.hpp" 18 19 namespace actions 20 { 21 namespace undo 22 { 23 24 struct auto_shroud_action : undo_action_base { 25 bool active; 26 auto_shroud_actionactions::undo::auto_shroud_action27 explicit auto_shroud_action(bool turned_on) 28 : undo_action_base() 29 , active(turned_on) 30 {} get_typeactions::undo::auto_shroud_action31 virtual const char* get_type() const { return "auto_shroud"; } ~auto_shroud_actionactions::undo::auto_shroud_action32 virtual ~auto_shroud_action() {} 33 34 /// Writes this into the provided config. 35 virtual void write(config & cfg) const; 36 }; 37 38 struct update_shroud_action : undo_action_base { 39 // No additional data. 40 update_shroud_actionactions::undo::update_shroud_action41 update_shroud_action() 42 : undo_action_base() 43 {} get_typeactions::undo::update_shroud_action44 virtual const char* get_type() const { return "update_shroud"; } ~update_shroud_actionactions::undo::update_shroud_action45 virtual ~update_shroud_action() {} 46 47 /// Writes this into the provided config. 48 virtual void write(config & cfg) const; 49 }; 50 51 } 52 } 53