mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2026-08-13 00:45:11 +09:00
Fix gui element registration and iter removal
The top, left and relative element tables are keyed by the define, but the duplicate registration assert looked up `define.name`, so it never fired. GuiIter.remove_element indexed `registered_scopes` by player index instead of the scope elements it had just fetched, so it removed nothing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user