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