1 // SuperTuxKart - a fun racing game with go-kart 2 // Copyright (C) 2009-2015 Marianne Gagnon 3 // 4 // This program is free software; you can redistribute it and/or 5 // modify it under the terms of the GNU General Public License 6 // as published by the Free Software Foundation; either version 3 7 // of the License, or (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 HEADER_RACE_SETUP_SCREEN_HPP 19 #define HEADER_RACE_SETUP_SCREEN_HPP 20 21 #include "guiengine/screen.hpp" 22 23 namespace GUIEngine { class Widget; } 24 25 /** 26 * \brief Screen with race setup options (difficulty, game mode, etc...) 27 * \ingroup states_screens 28 */ 29 class RaceSetupScreen : public GUIEngine::Screen, public GUIEngine::ScreenSingleton<RaceSetupScreen> 30 { 31 friend class GUIEngine::ScreenSingleton<RaceSetupScreen>; 32 33 RaceSetupScreen(); 34 35 void onGameModeChanged(); 36 37 void assignDifficulty(); 38 39 public: 40 41 /** \brief implement callback from parent class GUIEngine::Screen */ 42 virtual void loadedFromFile() OVERRIDE; 43 44 /** \brief implement callback from parent class GUIEngine::Screen */ 45 virtual void eventCallback(GUIEngine::Widget* widget, const std::string& name, 46 const int playerID) OVERRIDE; 47 48 /** \brief implement callback from parent class GUIEngine::Screen */ 49 virtual void init() OVERRIDE; 50 }; 51 52 #endif 53