added queuing push and pop logic and having fun with c# integration

This commit is contained in:
Erris
2026-01-22 09:33:35 +01:00
parent 14134c7d2f
commit 58ea4554c7
34 changed files with 338 additions and 126 deletions

View File

@@ -21,8 +21,8 @@ bool ControlLayer::SwitchLayer(OpenEngine::KeyPressedEvent& event)
OE_DEBUG("Sandbox2D Layer");
layer = OpenEngine::CreateRef<Sandbox2DLayer>();
app.PushLayer(layer);
app.PopLayer(active_layer);
app.QueueLayerPush(layer);
app.QueueLayerPop(active_layer);
active_layer = layer;
return true;
@@ -30,8 +30,8 @@ bool ControlLayer::SwitchLayer(OpenEngine::KeyPressedEvent& event)
OE_DEBUG("Sandbox Layer");
layer = OpenEngine::CreateRef<SandboxLayer>();
app.PushLayer(layer);
app.PopLayer(active_layer);
app.QueueLayerPush(layer);
app.QueueLayerPop(active_layer);
active_layer = layer;
return true;

View File

@@ -1,8 +1,20 @@
#include <memory>
#include <sandbox2d.hpp>
#include <sandbox.hpp>
#include <control_layer.hpp>
#include <modding.hpp>
#include <open_engine/entry_point.hpp>
Sandbox::Sandbox()
{
PushLayer(new SandboxLayer());
OpenEngine::Ref<Sandbox2DLayer> initial_layer = std::make_shared<Sandbox2DLayer>();
OpenEngine::Ref<ControlLayer> control_layer = std::make_shared<ControlLayer>(initial_layer);
OpenEngine::Ref<Modding> modding_layer = std::make_shared<Modding>();
QueueLayerPush(modding_layer);
QueueLayerPush(control_layer);
QueueLayerPush(initial_layer);
}
Sandbox::~Sandbox()