From d997cd4da661771a56f57f27a54f4ce96d8c9ffd Mon Sep 17 00:00:00 2001 From: maverickdgg Date: Fri, 18 Nov 2022 09:38:31 +0800 Subject: [PATCH] Added canvas ID to UI Component --- SHADE_Engine/src/UI/SHUISystem.cpp | 10 +++++++--- SHADE_Engine/src/UI/SHUISystem.h | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/SHADE_Engine/src/UI/SHUISystem.cpp b/SHADE_Engine/src/UI/SHUISystem.cpp index 3f7559b5..d7dfe3c5 100644 --- a/SHADE_Engine/src/UI/SHUISystem.cpp +++ b/SHADE_Engine/src/UI/SHUISystem.cpp @@ -31,7 +31,7 @@ namespace SHADE auto& children = sceneGraph.GetChildren(canvas.GetEID()); for (auto& child : children) { - RecurssiveUIComponentCheck(child); + RecurssiveUIComponentCheck(child, canvas); } } @@ -53,7 +53,7 @@ namespace SHADE } - void SHUISystem::AddUIComponentRoutine::RecurssiveUIComponentCheck(SHSceneNode* node) noexcept + void SHUISystem::AddUIComponentRoutine::RecurssiveUIComponentCheck(SHSceneNode* node, SHCanvasComponent& canvas) noexcept { if (node == nullptr) return; @@ -62,11 +62,15 @@ namespace SHADE if(SHComponentManager::HasComponent(eid) == false) SHComponentManager::AddComponent(eid); + else + { + SHComponentManager::GetComponent(eid)->canvasID = canvas.GetEID(); + } auto& children = SHSceneManager::GetCurrentSceneGraph().GetChildren(eid); for (auto& child : children) { - RecurssiveUIComponentCheck(child); + RecurssiveUIComponentCheck(child, canvas); } } diff --git a/SHADE_Engine/src/UI/SHUISystem.h b/SHADE_Engine/src/UI/SHUISystem.h index 99891348..3da7efb3 100644 --- a/SHADE_Engine/src/UI/SHUISystem.h +++ b/SHADE_Engine/src/UI/SHUISystem.h @@ -25,7 +25,7 @@ namespace SHADE private: - void RecurssiveUIComponentCheck(SHSceneNode* node) noexcept; + void RecurssiveUIComponentCheck(SHSceneNode* node, SHCanvasComponent& canvas) noexcept; }; friend class AddUIComponentRoutine;