maybe if the engine was the master of layers

This commit is contained in:
Ben
2021-09-27 14:53:37 +01:00
parent 0a4bf9f3e8
commit 1b494f45e0
6 changed files with 12 additions and 9 deletions

View File

@@ -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 );
}

View File

@@ -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 );

View File

@@ -28,10 +28,6 @@ void EventListener::DeRegisterAsSink( std::string system )
}
void EventListener::UpdateLayer( int layer )
{
}
EventDispatcher::EventDispatcher()

View File

@@ -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;

View File

@@ -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

View File

@@ -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;
}