Removed manager window from being recreated every open and close and added remote interface to manually rebuild it for people who have already run the migration that initializes it

This commit is contained in:
Will Berry
2023-03-09 13:45:43 -05:00
parent 7aeab43598
commit 5342e80183
2 changed files with 16 additions and 2 deletions

View File

@@ -211,8 +211,6 @@ end
--- @param refs table<string, LuaGuiElement>
function manager.handle.manager_close(player, player_data, refs)
util.close_manager_window(player, player_data, refs)
player_data.refs.manager_window.destroy()
player_data.refs = manager.create(player)
end
--- @param player LuaPlayer

View File

@@ -243,6 +243,22 @@ function interface.update_stop_from_rail(rail, forbidden_entity, force_update)
update_stop_from_rail(global, rail, forbidden_entity, force_update)
end
function interface.rebuild_manager_windows()
local manager = require("scripts.gui.manager")
local manager_data = global.manager
if manager_data then
---@param v PlayerData
for i, v in pairs(manager_data.players) do
v.refs.manager_window.destroy()
player = game.get_player(i)
if player ~= nil then
v.refs = manager.create(player)
end
end
end
end
------------------------------------------------------------------
--[[unsafe API]]
------------------------------------------------------------------