1 /* 2 Copyright (C) 2005 Matthias Braun <matze@braunis.de> 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 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, write to the Free Software 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 #ifndef __GAME_HPP__ 19 #define __GAME_HPP__ 20 21 #include "main.hpp" 22 #include <memory> 23 #include "gui/Button.hpp" 24 25 class Painter; 26 class Sound; 27 class Component; 28 class HelpWindow; 29 30 class Game 31 { 32 public: 33 Game(); 34 ~Game(); 35 36 MainState run(); 37 void gameButtonClicked( Button* button ); 38 void showHelpWindow( std::string topic ); 39 40 private: 41 std::auto_ptr<Component> gui; 42 43 bool running; 44 MainState quitState; 45 void backToMainMenu(); 46 void testAllHelpFiles(); 47 void quickLoad(); 48 void quickSave(); 49 std::auto_ptr<HelpWindow> helpWindow; 50 }; 51 52 Game* getGame(); 53 54 #endif 55 56