diff --git a/Aeon/Aeon.cpp b/Aeon/Aeon.cpp index 1d29717..8361964 100644 --- a/Aeon/Aeon.cpp +++ b/Aeon/Aeon.cpp @@ -56,6 +56,8 @@ void App::Run() mDisplay.EndFrame(); } + + mDisplay.Destroy(); } const Display& App::GetDisplay() @@ -65,6 +67,8 @@ const Display& App::GetDisplay() void App::PushLayer( GameLayer* layer ) { + + mGameLayers.push_back( layer ); } diff --git a/Aeon/Aeon.hpp b/Aeon/Aeon.hpp index 4f85044..6ace866 100644 --- a/Aeon/Aeon.hpp +++ b/Aeon/Aeon.hpp @@ -23,6 +23,8 @@ public: const Display& GetDisplay(); + // Layers, once assigned, until poped are assumed to + // never change their spot in the layer hierarchy void PushLayer( GameLayer* layer ); void PushTopLayer( GameLayer* layer ); void PushDebugLayer( GameLayer* layer ); diff --git a/Aeon/Core/Events.cpp b/Aeon/Core/Events.cpp index 41fbc7a..479cd82 100644 --- a/Aeon/Core/Events.cpp +++ b/Aeon/Core/Events.cpp @@ -28,10 +28,6 @@ void EventListener::DeRegisterAsSink( std::string system ) } -void EventListener::UpdateLayer( int layer ) -{ - -} EventDispatcher::EventDispatcher() diff --git a/Aeon/Core/Events.hpp b/Aeon/Core/Events.hpp index d63ccd6..1109722 100644 --- a/Aeon/Core/Events.hpp +++ b/Aeon/Core/Events.hpp @@ -82,10 +82,11 @@ public: EventListener(); virtual ~EventListener(); - void RegisterAsSink( std::string system, int layer = 0 ); - void DeRegisterAsSink( std::string system ); + void PushRegisterAsSink( std::string system ); + void PushStickyRegisterAsSink( std::string system ); + void EmplaceRegisterAsSink( std::string system ); - void UpdateLayer( int layer ); + void DeRegisterAsSink( std::string system ); // return true = event handled virtual bool EventRecieved( GenericEvent& e ) = 0; diff --git a/Aeon/ThirdParty/ImGui/imgui.cpp b/Aeon/ThirdParty/ImGui/imgui.cpp index 77c9549..db6639b 100644 --- a/Aeon/ThirdParty/ImGui/imgui.cpp +++ b/Aeon/ThirdParty/ImGui/imgui.cpp @@ -7280,7 +7280,7 @@ static void ImGui::ErrorCheckEndFrameSanityChecks() // We silently accommodate for this case by ignoring/ the case where all io.KeyXXX modifiers were released (aka key_mod_flags == 0), // while still correctly asserting on mid-frame key press events. const ImGuiKeyModFlags key_mod_flags = GetMergedKeyModFlags(); - //IM_ASSERT((key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"); + // IM_ASSERT((key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"); IM_UNUSED(key_mod_flags); // Recover from errors diff --git a/Game/ExampleGame.cpp b/Game/ExampleGame.cpp index 5c7c40f..30cf46a 100644 --- a/Game/ExampleGame.cpp +++ b/Game/ExampleGame.cpp @@ -81,7 +81,7 @@ public: Level* level = new Level; TopLevel* topLevel = new TopLevel; PushLayer( (Aeon::Core::GameLayer*)level ); - PushDebugLayer( (Aeon::Core::GameLayer*)topLevel ); + PushLayer( (Aeon::Core::GameLayer*)topLevel ); Run(); delete level; }