Cafu Engine
GameInfo.hpp
1 /*
2 =================================================================================
3 This file is part of Cafu, the open-source game engine and graphics engine
4 for multiplayer, cross-platform, real-time 3D action.
5 Copyright (C) 2002-2013 Carsten Fuchs Software.
6 
7 Cafu is free software: you can redistribute it and/or modify it under the terms
8 of the GNU General Public License as published by the Free Software Foundation,
9 either version 3 of the License, or (at your option) any later version.
10 
11 Cafu is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with Cafu. If not, see <http://www.gnu.org/licenses/>.
17 
18 For support and more information about Cafu, visit us at <http://www.cafu.de>.
19 =================================================================================
20 */
21 
22 // The GameInfo.hpp files (one for each game/MOD) are the only files in Cafu where we prefer "#pragma once"
23 // over traditional include guards. With "#pragma once", a new game can be created from another one by simply
24 // copying the related directory; there is no need to bother the user to update the include guard name here.
25 #pragma once
26 
27 // #ifndef CAFU_DEATHMATCH_GAMEINFO_HPP_INCLUDED
28 // #define CAFU_DEATHMATCH_GAMEINFO_HPP_INCLUDED
29 
30 #include "../../GameInfo.hpp"
31 
32 #ifndef GAME_NAME
33 #error Macro GAME_NAME must be defined!
34 #endif
35 
36 
37 namespace GAME_NAME
38 {
39  /// This class provides the "DeathMatch" implementation of the GameInfoI interface.
41  {
42  public:
43 
44  // Implement the methods of the GameInfoI interface.
45  std::string GetName() const;
46  cf::GameSys::GameI* CreateGame() const;
47  };
48 }
49 
50 // #endif
This class provides the "DeathMatch" implementation of the GameInfoI interface.
Definition: GameInfo.hpp:40
The game interface, specified as an ABC so that is can be used without linked (module-local) implemen...
Definition: Game.hpp:49
This interface provides early information about a game.
Definition: GameInfo.hpp:41