Orxonox  0.0.5 Codename: Arcturus
GameMode.h
Go to the documentation of this file.
1 /*
2  * ORXONOX - the hottest 3D action shooter ever to exist
3  * > www.orxonox.net <
4  *
5  *
6  * License notice:
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  *
22  * Author:
23  * Reto Grieder
24  * Co-authors:
25  * ...
26  *
27  */
28 
35 #ifndef _GameMode_H__
36 #define _GameMode_H__
37 
38 #include "CorePrereqs.h"
39 
40 // tolua_begin
41 namespace orxonox
42 {
45  {
46 // tolua_end
47  friend class Core;
48 
49  public:
50 // tolua_begin
51  static bool showsGraphics() { return bShowsGraphics_s; }
52  static bool playsSound() { return bPlaysSound_s; }
53  static bool isServer() { return bIsServer_s; }
54  static bool isClient() { return bIsClient_s; }
55  static bool isStandalone() { return bIsStandalone_s; }
56  static bool isMaster() { return bIsMaster_s; }
57 // tolua_end
58 
59  static void setPlaysSound (bool val) { bPlaysSound_s = val; }
60  static void setIsServer (bool val) { bIsServer_s = val; updateIsMaster(); }
61  static void setIsClient (bool val) { bIsClient_s = val; updateIsMaster(); }
62  static void setIsStandalone (bool val) { bIsStandalone_s = val; updateIsMaster(); }
63 
64  private:
65  // static class, no instances allowed:
66  GameMode() = delete;
67  GameMode(const GameMode&) = delete;
68  GameMode& operator=(const GameMode&) = delete;
69  ~GameMode() = delete;
70 
72  static void updateIsMaster()
73  {
74  bIsMaster_s = (bIsServer_s || bIsStandalone_s);
75  }
76 
77  static bool bShowsGraphics_s;
78  static bool bPlaysSound_s;
79  static bool bIsServer_s;
80  static bool bIsClient_s;
81  static bool bIsStandalone_s;
82  static bool bIsMaster_s;
83  }; // tolua_export
84 } // tolua_export
85 
86 #endif /* _GameMode_H__ */
static bool bIsClient_s
global variable that tells whether this is a client (online)
Definition: GameMode.h:80
static bool bIsServer_s
global variable that tells whether this is a server (online)
Definition: GameMode.h:79
static bool playsSound()
Returns true if the game is able to play sounds.
Definition: GameMode.h:52
Helper class, stores and returns the current mode of the game.
Definition: GameMode.h:44
Shared library macros, enums, constants and forward declarations for the core library ...
static bool showsGraphics()
Returns true if the game shows graphics, false if it is in text-console mode.
Definition: GameMode.h:51
static void setPlaysSound(bool val)
Defines if the game can play sounds.
Definition: GameMode.h:59
static bool isServer()
Returns true if we&#39;re currently a server (online)
Definition: GameMode.h:53
static void updateIsMaster()
Checks if we&#39;re in control of the game (either standalone or server).
Definition: GameMode.h:72
The Core class is a singleton used to configure the program basics.
Definition: Core.h:60
static bool bIsStandalone_s
global variable that tells whether the game is running in standalone mode (offline) ...
Definition: GameMode.h:81
static bool isStandalone()
Returns true if we&#39;re in standalone mode (offline)
Definition: GameMode.h:55
static void setIsClient(bool val)
Defines if the program is in client mode (online)
Definition: GameMode.h:61
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
#define _CoreExport
Definition: CorePrereqs.h:61
static bool bPlaysSound_s
global variable that tells whether to sound works
Definition: GameMode.h:78
static bool isClient()
Returns true if we&#39;re currently a client (online)
Definition: GameMode.h:54
static bool bShowsGraphics_s
global variable that tells whether to show graphics
Definition: GameMode.h:77
static bool isMaster()
Returns true if we&#39;re in control of the game (either standalone or server)
Definition: GameMode.h:56
static void setIsStandalone(bool val)
Defines if the program is in standalone mode (offline)
Definition: GameMode.h:62
static bool bIsMaster_s
global variable that tells whether we&#39;re in control of the game (standalone or server) ...
Definition: GameMode.h:82
static void setIsServer(bool val)
Defines if the program is in server mode (online)
Definition: GameMode.h:60