aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/core
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-07-23 18:57:50 +0800
committerchai <chaifix@163.com>2018-07-23 18:57:50 +0800
commit128b6dd3e3a803e475ec03493ee26e6b20d7e42b (patch)
tree2dece2011db239c7ebee2786c9978e5636ea4947 /src/libjin/core
parenta4c51a4ac6dc263c3ea2cd49afbd3fbad9ccea17 (diff)
update
Signed-off-by: chai <chaifix@163.com>
Diffstat (limited to 'src/libjin/core')
-rw-r--r--src/libjin/core/game.cpp2
-rw-r--r--src/libjin/core/game.h17
2 files changed, 7 insertions, 12 deletions
diff --git a/src/libjin/core/game.cpp b/src/libjin/core/game.cpp
index 1c47d87..5c2e69b 100644
--- a/src/libjin/core/game.cpp
+++ b/src/libjin/core/game.cpp
@@ -5,8 +5,6 @@ namespace jin
namespace core
{
- Game* Game::g_game = 0;
-
Game::Game() :run(true) {};
}
diff --git a/src/libjin/core/game.h b/src/libjin/core/game.h
index cd99b42..e155607 100644
--- a/src/libjin/core/game.h
+++ b/src/libjin/core/game.h
@@ -3,13 +3,14 @@
#include <SDL2/SDL.h>
+#include "../common/singleton.h"
#include "../utils/macros.h"
namespace jin
{
namespace core
{
- class Game
+ class Game : public Singleton<Game>
{
public:
@@ -18,14 +19,9 @@ namespace core
};
- static inline Game* get()
- {
- return g_game ? g_game : (g_game = new Game());
- }
-
inline void quit() // quit game loop
{
- CallOnce(_quit());
+ CALLONCE(_quit());
}
inline bool running()
@@ -35,14 +31,15 @@ namespace core
inline void exit() // exit game
{
- CallOnce(_exit());
+ CALLONCE(_exit());
}
private:
Game();
-
- static Game* g_game;
+ ~Game() {};
+
+ SINGLETON(Game);
bool run;