diff --git a/exp_gui/module/control.lua b/exp_gui/module/control.lua index 56cf2dd3..c6f84e3c 100644 --- a/exp_gui/module/control.lua +++ b/exp_gui/module/control.lua @@ -88,7 +88,7 @@ end --- @param define ExpElement --- @param visible Gui.VisibleCallback | boolean | nil function Gui.add_top_element(define, visible) - assert(Gui.top_elements[define.name] == nil, "Element is already added to the top flow") + assert(Gui.top_elements[define] == nil, "Element is already added to the top flow") Gui.top_elements[define] = visible or false end @@ -96,7 +96,7 @@ end --- @param define ExpElement --- @param visible Gui.VisibleCallback | boolean | nil function Gui.add_left_element(define, visible) - assert(Gui.left_elements[define.name] == nil, "Element is already added to the left flow") + assert(Gui.left_elements[define] == nil, "Element is already added to the left flow") Gui.left_elements[define] = visible or false end @@ -105,7 +105,7 @@ end --- @param define ExpElement --- @param visible Gui.VisibleCallback | boolean | nil function Gui.add_relative_element(define, visible) - assert(Gui.relative_elements[define.name] == nil, "Element is already added to the relative flow") + assert(Gui.relative_elements[define] == nil, "Element is already added to the relative flow") Gui.relative_elements[define] = visible or false end diff --git a/exp_gui/module/data.lua b/exp_gui/module/data.lua index d57c8c99..3e92cd14 100644 --- a/exp_gui/module/data.lua +++ b/exp_gui/module/data.lua @@ -90,13 +90,16 @@ function GuiData._metatable.__index(self, key) assert(type(key) == "userdata", "Index type '" .. ExpUtil.get_class_name(key) .. "' given to GuiData. Must be of type userdata.") local object_name = key.object_name --- @diagnostic disable-line assign-type-mismatch if object_name == "LuaGuiElement" then + --- @cast key LuaGuiElement local data = self._raw.element_data local player_elements = data and data[key.player_index] return player_elements and player_elements[key.index] elseif object_name == "LuaPlayer" then + --- @cast key LuaPlayer local data = self._raw.player_data return data and data[key.index] elseif object_name == "LuaForce" then + --- @cast key LuaForce local data = self._raw.force_data return data and data[key.index] else diff --git a/exp_gui/module/iter.lua b/exp_gui/module/iter.lua index 9d8db2ea..ad1d609c 100644 --- a/exp_gui/module/iter.lua +++ b/exp_gui/module/iter.lua @@ -166,7 +166,6 @@ end function GuiIter.get_tracked_elements(scope, filter) local class_name = ExpUtil.get_class_name(filter) if class_name == "nil" then - --- @cast filter nil return GuiIter.all_elements(scope) elseif class_name == "LuaPlayer" then --- @cast filter LuaPlayer @@ -189,7 +188,6 @@ end function GuiIter.get_online_elements(scope, filter) local class_name = ExpUtil.get_class_name(filter) if class_name == "nil" then - --- @cast filter nil return GuiIter.filtered_elements(scope, game.connected_players) elseif class_name == "LuaPlayer" then --- @cast filter LuaPlayer @@ -235,7 +233,7 @@ end function GuiIter.remove_element(scope, player_index, element_index) local scope_elements = registered_scopes[scope] if not scope_elements then return end - local player_elements = registered_scopes[player_index] + local player_elements = scope_elements[player_index] if not player_elements then return end player_elements[element_index] = nil end diff --git a/exp_gui/module/toolbar.lua b/exp_gui/module/toolbar.lua index f22c4cc7..a1f438db 100644 --- a/exp_gui/module/toolbar.lua +++ b/exp_gui/module/toolbar.lua @@ -350,7 +350,7 @@ local function move_toolbar_button(player, item, offset) -- Swap the position in the list local list = assert(item.parent) - local other_item = list.children[new_index] + local other_item = assert(list.children[new_index]) list.swap_children(old_index, new_index) -- Swap the position in the top flow, offset by 1 because of settings button @@ -499,7 +499,8 @@ function Toolbar._create_elements(player) -- Reset the state of the previous last child local children = toolbar_list.children if previous_last_index > 0 then - elements.toolbar_list_item.data[children[previous_last_index]].move_item_down.enabled = true + local previous_last = assert(children[previous_last_index]) + elements.toolbar_list_item.data[previous_last].move_item_down.enabled = true end -- Set the state of the move buttons for the first and last element