generated ui nodes indexing

This commit is contained in:
MihailRis
2024-04-03 19:29:53 +03:00
parent e57b0eca15
commit 1a4c70d21a
6 changed files with 50 additions and 58 deletions
+17
View File
@@ -1,5 +1,6 @@
#include "UINode.h"
#include "containers.h"
#include "../../core/Batch2D.h"
using gui::UINode;
@@ -256,3 +257,19 @@ void UINode::setGravity(Gravity gravity) {
reposition();
}
}
void UINode::getIndices(
std::shared_ptr<UINode> node,
std::unordered_map<std::string, std::shared_ptr<UINode>>& map
) {
const std::string& id = node->getId();
if (!id.empty()) {
map[id] = node;
}
auto container = std::dynamic_pointer_cast<gui::Container>(node);
if (container) {
for (auto subnode : container->getNodes()) {
getIndices(subnode, map);
}
}
}