diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-11-30 11:31:45 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-11-30 11:31:45 -0500 |
| commit | 6e498a3781f5ccbbaa6cf5e407cf67722624760f (patch) | |
| tree | 8a4e95e4d962b3102d8d348a0f292f8ef8ee30df /src/game.cpp | |
| parent | 9830bc2425385de6e666251fa9df6318605c639c (diff) | |
prefer explicit callback system over events
Diffstat (limited to 'src/game.cpp')
| -rw-r--r-- | src/game.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/game.cpp b/src/game.cpp index 511003a..72228bf 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -439,7 +439,7 @@ const uint64_t consoleBufferCount = 30; const uint64_t consoleLineLength = 128; char consoleBuffer[consoleBufferCount][consoleLineLength]; long consoleBufferIndex = 0; -void RecordImGuiConsole() { +void Game_RecordImGui() { static bool scrollToBottom = true; if (!ImGui::Begin("Console", &pkeSettings.editorSettings.isShowingConsole)) { ImGui::End(); @@ -484,13 +484,15 @@ void Game_Tick(double delta) { PkeInput_Tick(delta); // TODO invoke external ticks here - Event_Dispatch<TickEvent, double>("GAME_TICK", delta); + if (pkeGameCallbacks.OnTick) { + pkeGameCallbacks.OnTick(delta); + } EntityType_Tick_Late(delta); ECS_Tick_Late(delta); } -void Game_Main(PKEWindowProperties *windowProps) { +void Game_Main(PKEWindowProperties windowProps) { fprintf(stdout, "Game_Main Entering\n"); try { AM_Init(); @@ -500,7 +502,9 @@ void Game_Main(PKEWindowProperties *windowProps) { CreateWindow(windowProps); PkeInput_Init(); EntityType_Init(); - Event_Dispatch<EventHandler>("GAME_INIT"); + if (pkeGameCallbacks.OnInit) { + pkeGameCallbacks.OnInit(); + } GameTimePoint lastTimePoint = pkeSettings.steadyClock.now(); double deltaTillNextRender = pkeSettings.deltaPerFrame; @@ -589,7 +593,9 @@ void Game_Main(PKEWindowProperties *windowProps) { #ifndef NDEBUG Pke_DebugPrint(); #endif - Event_Dispatch<EventHandler>("GAME_TEARDOWN"); + if (pkeGameCallbacks.OnTeardown) { + pkeGameCallbacks.OnTeardown(); + } Game_Teardown(); Event_Teardown(); EntityType_Teardown(); @@ -609,7 +615,9 @@ void Game_Init() { for (long i = 0; i < consoleBufferCount; ++i) { memset(consoleBuffer[i], '\0', consoleLineLength); } - Event_RegisterCallback("RenderImGui", RecordImGuiConsole); + if (!pkeGameCallbacks.OnImGuiRender) { + pkeGameCallbacks.OnImGuiRender = Game_RecordImGui; + } } void Game_Teardown() { } |
