diff options
author | chai <chaifix@163.com> | 2020-02-11 11:29:07 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-02-11 11:29:07 +0800 |
commit | 160e1299ef3d95f8e8c48706d7f61dd3dc6c6b60 (patch) | |
tree | abe5ae5242d9cc6caf6edf103e662c44e978fca0 /src/libjin/game/application.cpp | |
parent | e095043485d1d298571af6d9eca7f0db9009ea7a (diff) |
Diffstat (limited to 'src/libjin/game/application.cpp')
-rw-r--r-- | src/libjin/game/application.cpp | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/src/libjin/game/application.cpp b/src/libjin/game/application.cpp index c198336..ee9d4c0 100644 --- a/src/libjin/game/application.cpp +++ b/src/libjin/game/application.cpp @@ -18,65 +18,65 @@ using namespace JinEngine::Math; namespace JinEngine { - namespace Game - { + namespace Game + { - Application::Application() :_running(true) {}; + Application::Application() :_running(true) {}; - /* default game loop */ - void Application::run() - { - if (_onLoad != nullptr) - _onLoad(); - Window* wnd = Window::get(); - const int FPS = wnd ? wnd->getFPS() : 60; - const int MS_PER_UPDATE = 1000.0f / FPS; - _running = true; - Event e; - int current = getMilliSecond(); - int previous = current; - int dt = 0; - while (_running) - { - while (JinEngine::Input::pollEvent(&e)) - { - if (_onEvent != nullptr) - _onEvent(&e); - if (!_running) - goto quitloop; - } - previous = current; - current = getMilliSecond(); - dt = current - previous; - if (_onUpdate != nullptr) - _onUpdate(dt); - glClear(GL_COLOR_BUFFER_BIT); - if (_onDraw != nullptr) - _onDraw(); - wnd->present(); - sleep(16); - } - quitloop:; - } + /* default game loop */ + void Application::run() + { + if (_onLoad != nullptr) + _onLoad(); + Window* wnd = Window::get(); + const int FPS = wnd ? wnd->getFPS() : 60; + const int MS_PER_UPDATE = 1000.0f / FPS; + _running = true; + Event e; + int current = getMilliSecond(); + int previous = current; + int dt = 0; + while (_running) + { + while (JinEngine::Input::pollEvent(&e)) + { + if (_onEvent != nullptr) + _onEvent(&e); + if (!_running) + goto quitloop; + } + previous = current; + current = getMilliSecond(); + dt = current - previous; + if (_onUpdate != nullptr) + _onUpdate(dt); + glClear(GL_COLOR_BUFFER_BIT); + if (_onDraw != nullptr) + _onDraw(); + wnd->present(); + sleep(16); + } + quitloop:; + } - bool Application::startSystem(const SettingBase* setting) - { - if (setting == nullptr) - return false; - Application::Setting* s = (Application::Setting*) setting; - _onEvent = s->eventHandler; - _onUpdate = s->updater; - _onDraw = s->drawer; - _onLoad = s->loader; - return true; - } + bool Application::startSystem(const SettingBase* setting) + { + if (setting == nullptr) + return false; + Application::Setting* s = (Application::Setting*) setting; + _onEvent = s->eventHandler; + _onUpdate = s->updater; + _onDraw = s->drawer; + _onLoad = s->loader; + return true; + } - void Application::quitSystem() - { - SDL_Quit(); - } + void Application::quitSystem() + { + SDL_Quit(); + } - } // namespace Core + } // namespace Core } // namespace JinEngine #endif // jin_game
\ No newline at end of file |