From f2960ba125436c99ff1d5f72209d449a10bb367e Mon Sep 17 00:00:00 2001 From: chatlanin Date: Thu, 17 Apr 2025 16:50:12 +0300 Subject: [PATCH] add on detach --- example/layers/ui_layer/ui_layer.cpp | 6 ++++++ example/layers/ui_layer_double/ui_layer_double.cpp | 6 ++++++ src/layer/layer.hpp | 1 + src/utils/define.hpp | 1 + 4 files changed, 14 insertions(+) diff --git a/example/layers/ui_layer/ui_layer.cpp b/example/layers/ui_layer/ui_layer.cpp index 555b66d..c09fae5 100755 --- a/example/layers/ui_layer/ui_layer.cpp +++ b/example/layers/ui_layer/ui_layer.cpp @@ -11,6 +11,12 @@ namespace example hack::log()("on_attach"); } + void ui_layer::on_detach() + { + VE::DISCONNECT(this); + hack::log()("on_detach"); + } + void ui_layer::render() { ImGui::SetNextWindowPos(m_pos); diff --git a/example/layers/ui_layer_double/ui_layer_double.cpp b/example/layers/ui_layer_double/ui_layer_double.cpp index b34aec0..37b44d2 100755 --- a/example/layers/ui_layer_double/ui_layer_double.cpp +++ b/example/layers/ui_layer_double/ui_layer_double.cpp @@ -11,6 +11,12 @@ namespace example hack::log()("on_attach"); } + void ui_layer_double::on_detach() + { + VE::DISCONNECT(this); + hack::log()("on_detach"); + } + void ui_layer_double::render() { ImGui::SetNextWindowPos(ImVec2{ 10.f, 10.f }); diff --git a/src/layer/layer.hpp b/src/layer/layer.hpp index 08fd76b..91a49b9 100755 --- a/src/layer/layer.hpp +++ b/src/layer/layer.hpp @@ -16,6 +16,7 @@ namespace VE public: virtual void on_attach() {}; + virtual void on_detach() {}; virtual void render() {}; virtual void update() {}; virtual void on_event(event e) {}; diff --git a/src/utils/define.hpp b/src/utils/define.hpp index 2d07d7b..5547656 100755 --- a/src/utils/define.hpp +++ b/src/utils/define.hpp @@ -6,6 +6,7 @@ #define VE_OVERIDE()\ public:\ void on_attach() override;\ + void on_detach() override;\ void render() override;\ void update() override;\ void on_event(VE::event e) override