1 // SuperTux - Sector scripting 2 // Copyright (C) 2020 Tobias Markus <tobbi.bugs@gmail.com> 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 3 of the License, or 7 // (at your option) any later version. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program. If not, see <http://www.gnu.org/licenses/>. 16 17 #ifndef HEADER_SUPERTUX_SCRIPTING_BADGUY_HPP 18 #define HEADER_SUPERTUX_SCRIPTING_BADGUY_HPP 19 20 #ifndef SCRIPTING_API 21 #include <string> 22 23 #include "scripting/game_object.hpp" 24 25 class BadGuy; 26 #endif 27 28 namespace scripting { 29 30 class BadGuy 31 #ifndef SCRIPTING_API 32 : virtual public GameObject<::BadGuy> 33 #endif 34 { 35 #ifndef SCRIPTING_API 36 public: 37 using GameObject::GameObject; 38 39 private: 40 BadGuy(const BadGuy&) = delete; 41 BadGuy& operator=(const BadGuy&) = delete; 42 #endif 43 44 public: 45 void kill(); 46 void ignite(); 47 void set_action(const std::string& action, int loops); 48 void set_sprite(const std::string& sprite); 49 }; 50 51 } // namespace scripting 52 53 #endif 54 55 /* EOF */ 56