Return hack to keep cloned node_ids consistent

This commit is contained in:
Insality 2025-05-13 21:43:05 +03:00
parent 6572da3b14
commit 58f14d0a64
4 changed files with 15 additions and 2 deletions

View File

@ -39,7 +39,7 @@ Open your `game.project` file and add the following lines to the dependencies fi
**[Druid](https://github.com/Insality/druid/)**
```
https://github.com/Insality/druid/archive/refs/tags/1.1.2.zip
https://github.com/Insality/druid/archive/refs/tags/1.1.3.zip
```
**[Defold Event](https://github.com/Insality/defold-event)**

View File

@ -117,7 +117,17 @@ function M:set_nodes(nodes)
nodes = gui.clone_tree(nodes) --[[@as table<hash, node>]]
end
-- When we use gui.clone_tree in inner template (template inside other template)
-- this nodes have no id. We have table: hash(correct_id) : hash("") or hash("_nodeX"
-- It's wrong and we use this hack to fix this
if nodes then
for id, node in pairs(nodes) do
gui.set_id(node, id)
end
end
self._meta.nodes = nodes
return self
end

View File

@ -14,7 +14,7 @@ update_frequency = 60
[project]
title = Druid
version = 1.1.2
version = 1.1.3
publisher = Insality
developer = Maksim Tuprikov
custom_resources = /example/locales

View File

@ -709,3 +709,6 @@ Please support me if you like this project! It will help me keep engaged to upda
#### Druid 1.1.2
- [#310] Add data list matrix example (Grid 4 in row)
- [Data List] Fix for data list element amounts issue
#### Druid 1.1.3
- Fix for node_id of cloned nodes with `gui.clone_tree`