diff --git a/druid/base/static_grid.lua b/druid/base/static_grid.lua index 3056e9d..b7547d7 100644 --- a/druid/base/static_grid.lua +++ b/druid/base/static_grid.lua @@ -236,8 +236,7 @@ function M:remove(index, is_shift_nodes) self.border = vmath.vector4(0) update_border_offset(self, self:get_pos(1)) for i, _ in pairs(self.nodes) do - local pos = self:get_pos(i) - update_border_offset(self, pos) + update_border_offset(self, self:get_pos(i)) end update_pos(self) @@ -302,6 +301,8 @@ function M.clear(self) self.border.w = 0 self.border.z = 0 + update_border_offset(self, self:get_pos(1)) + self.nodes = {} _update_indexes(self) end diff --git a/example/page/grid_page.lua b/example/page/grid_page.lua index 7459879..216b7ed 100644 --- a/example/page/grid_page.lua +++ b/example/page/grid_page.lua @@ -16,7 +16,7 @@ local function remove_node(self, button) end -local function add_node(self) +local function add_node(self, index) local prefab = gui.get_node("grid_nodes_prefab") local cloned = gui.clone_tree(prefab) gui.set_enabled(cloned["grid_nodes_prefab"], true) @@ -26,7 +26,7 @@ local function add_node(self) end) table.insert(self.grid_node_buttons, button) - self.grid_nodes:add(cloned["grid_nodes_prefab"]) + self.grid_nodes:add(cloned["grid_nodes_prefab"], index) end @@ -54,7 +54,7 @@ function M.setup_page(self) gui.set_enabled(gui.get_node("grid_nodes_prefab"), false) for i = 1, 15 do - add_node(self) + add_node(self, i) end self.druid:new_button("button_add/button", add_node)