got ltn manager to open the manager

This commit is contained in:
mamoniot
2023-03-03 15:45:23 -05:00
parent a9ac0b4fb0
commit c3b2502b87
14 changed files with 307 additions and 46 deletions

8
.vscode/launch.json vendored
View File

@@ -55,6 +55,12 @@
"debugadapter": true, "debugadapter": true,
"flib": true, "flib": true,
}, },
} },
{
"type": "factoriomod",
"request": "launch",
"name": "Factorio Debug (Modded)",
"modsPath": "~/.factorio/mods-debug/",
},
] ]
} }

View File

@@ -18,7 +18,8 @@
], ],
"Lua.workspace.userThirdParty": [ "Lua.workspace.userThirdParty": [
"/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd", "/home/mami/.config/Code/User/workspaceStorage/fdae937c5189f993d370b36f3104188f/justarandomgeek.factoriomod-debug/sumneko-3rd",
"/home/mami/.config/Code/User/workspaceStorage/95c2a8450056100ba3db30ac2a468857/justarandomgeek.factoriomod-debug/sumneko-3rd" "/home/mami/.config/Code/User/workspaceStorage/95c2a8450056100ba3db30ac2a468857/justarandomgeek.factoriomod-debug/sumneko-3rd",
"/home/mami/.config/Code/User/workspaceStorage/4e7db8f77e7d31cf7af01a542e707dfb/justarandomgeek.factoriomod-debug/sumneko-3rd"
], ],
"Lua.diagnostics.globals": [ "Lua.diagnostics.globals": [
"__DebugAdapter", "__DebugAdapter",
@@ -39,5 +40,5 @@
"Lua.diagnostics.disable": [ "Lua.diagnostics.disable": [
"lowercase-global" "lowercase-global"
], ],
"Lua.workspace.checkThirdParty": true "Lua.workspace.checkThirdParty": false
} }

152
cybersyn/constants.lua Normal file
View File

@@ -0,0 +1,152 @@
local constants = {}
constants.colors = {
caption = {
str = "255, 230, 192",
tbl = { 255, 230, 192 },
},
green = {
str = "69, 255, 69",
tbl = { 69, 255, 69 },
},
info = {
str = "128, 206, 240",
tbl = { 128, 206, 240 },
},
red = {
str = "255, 69, 69",
tbl = { 255, 69, 69 },
},
station_circle = {
str = "255, 50, 50, 190",
tbl = { 255, 50, 50, 190 },
},
yellow = {
str = "255, 240, 69",
tbl = { 255, 240, 69 },
},
white = {
str = "255, 255, 255",
tbl = { 255, 255, 255 },
},
}
-- dictionary locale identifier -> dictionary of hardcoded GUI sizes
constants.gui = {
en = {
trains = {
train_id = 90,
status = 378,
composition = 200,
depot = 149,
shipment = 36 * 6,
shipment_columns = 6,
},
stations = {
name = 238,
status = 53,
network_id = 84,
provided_requested = 36 * 6,
provided_requested_columns = 6,
shipments = 36 * 5,
shipments_columns = 5,
control_signals = 36 * 7,
control_signals_columns = 7,
},
depots = {
name = 200,
network_id = 84,
status = 200,
trains = 200,
},
history = {
train_id = 60,
route = 357,
depot = 160,
network_id = 84,
runtime = 68,
finished = 68,
shipment = (36 * 6),
shipment_checkbox_stretchy = true,
},
alerts = {
time = 68,
train_id = 60,
route = 326,
network_id = 84,
type = 230,
type_checkbox_stretchy = true,
contents = 36 * 6,
},
},
}
constants.gui_content_frame_height = 744
constants.gui_inventory_table_height = 40 * 18
constants.gui_translations = {
delivering_to = { "gui.ltnm-delivering-to" },
fetching_from = { "gui.ltnm-fetching-from" },
loading_at = { "gui.ltnm-loading-at" },
not_available = { "gui.ltnm-not-available" },
parked_at_depot_with_residue = { "gui.ltnm-parked-at-depot-with-residue" },
parked_at_depot = { "gui.ltnm-parked-at-depot" },
returning_to_depot = { "gui.ltnm-returning-to-depot" },
unloading_at = { "gui.ltnm-unloading-at" },
}
constants.input_sanitizers = {
["%%"] = "%%%%",
["%("] = "%%(",
["%)"] = "%%)",
["%.^[%*]"] = "%%.",
["%+"] = "%%+",
["%-"] = "%%-",
["^[%.]%*"] = "%%*",
["%?"] = "%%?",
["%["] = "%%[",
["%]"] = "%%]",
["%^"] = "%%^",
["%$"] = "%%$",
}
constants.ltn_control_signals = {
["ltn-depot"] = true,
["ltn-depot-priority"] = true,
-- excluded because it's shown as a separate column
-- ["ltn-network-id"] = true,
["ltn-min-train-length"] = true,
["ltn-max-train-length"] = true,
["ltn-max-trains"] = true,
["ltn-provider-threshold"] = true,
["ltn-provider-stack-threshold"] = true,
["ltn-provider-priority"] = true,
["ltn-locked-slots"] = true,
["ltn-requester-threshold"] = true,
["ltn-requester-stack-threshold"] = true,
["ltn-requester-priority"] = true,
["ltn-disable-warnings"] = true,
}
constants.ltn_event_names = {
on_stops_updated = true,
on_dispatcher_updated = true,
-- on_delivery_pickup_complete = true,
on_delivery_completed = true,
on_delivery_failed = true,
-- on_dispatcher_no_train_found = true,
on_provider_missing_cargo = true,
on_provider_unscheduled_cargo = true,
on_requester_remaining_cargo = true,
on_requester_unscheduled_cargo = true,
}
if script then
constants.open_station_gui_tooltip = {
"",
{ "gui.ltnm-open-station-gui" },
remote.interfaces["ltn-combinator"] and { "", "\n", { "gui.ltnm-open-ltn-combinator-gui" } } or nil,
}
end
return constants

View File

@@ -8,6 +8,8 @@ require('prototypes.entity')
require('prototypes.signal') require('prototypes.signal')
require('prototypes.misc') require('prototypes.misc')
require('prototypes.gui-style')
data:extend({ data:extend({
combinator_entity, combinator_entity,
combinator_out_entity, combinator_out_entity,

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,6 +1,6 @@
{ {
"name": "cybersyn", "name": "cybersyn",
"version": "1.2.13", "version": "1.2.14",
"title": "Project Cybersyn", "title": "Project Cybersyn",
"author": "Mami", "author": "Mami",
"factorio_version": "1.1", "factorio_version": "1.1",

View File

@@ -1,6 +1,38 @@
local constants = require("constants") local constants = require("constants")
local util = require("prototypes.util")
local data_util = require("__flib__.data-util")
local util = {}
for key, value in pairs(require("__core__.lualib.util")) do
util[key] = value
end
util.paths = {
nav_icons = "__cybersyn__/graphics/gui/frame-action-icons.png",
shortcut_icons = "__cybersyn__/graphics/shortcut/ltn-manager-shortcut.png",
}
util.empty_checkmark = {
filename = data_util.empty_image,
priority = "very-low",
width = 1,
height = 1,
frame_count = 1,
scale = 8,
}
data:extend({
data_util.build_sprite("ltnm_pin_black", { 0, 32 }, util.paths.nav_icons, 32),
data_util.build_sprite("ltnm_pin_white", { 32, 32 }, util.paths.nav_icons, 32),
data_util.build_sprite("ltnm_refresh_black", { 0, 0 }, util.paths.nav_icons, 32),
data_util.build_sprite("ltnm_refresh_white", { 32, 0 }, util.paths.nav_icons, 32),
})
local styles = data.raw["gui-style"]["default"] local styles = data.raw["gui-style"]["default"]
@@ -327,3 +359,31 @@ styles.ltnm_tabbed_pane = {
bottom_padding = 8, bottom_padding = 8,
}, },
} }
data:extend({
-- custom inputs
--{
-- type = "custom-input",
-- name = "ltnm-toggle-gui",
-- key_sequence = "CONTROL + T",
--},
--{
-- type = "custom-input",
-- name = "ltnm-linked-focus-search",
-- key_sequence = "",
-- linked_game_control = "focus-search",
--},
-- shortcuts
{
type = "shortcut",
name = "ltnm-toggle-gui",
icon = data_util.build_sprite(nil, { 0, 0 }, util.paths.shortcut_icons, 32, 2),
disabled_icon = data_util.build_sprite(nil, { 48, 0 }, util.paths.shortcut_icons, 32, 2),
small_icon = data_util.build_sprite(nil, { 0, 32 }, util.paths.shortcut_icons, 24, 2),
disabled_small_icon = data_util.build_sprite(nil, { 36, 32 }, util.paths.shortcut_icons, 24, 2),
toggleable = true,
action = "lua",
--associated_control_input = "ltnm-toggle-gui",
technology_to_unlock = "cybersyn-train-network",
},
})

View File

@@ -183,12 +183,12 @@ end
function register_gui_actions() function register_gui_actions()
flib_gui.add_handlers({ flib_gui.add_handlers({
["close"] = handle_close, ["comb_close"] = handle_close,
["drop_down"] = handle_drop_down, ["comb_drop_down"] = handle_drop_down,
["pr_switch"] = handle_pr_switch, ["comb_pr_switch"] = handle_pr_switch,
["network"] = handle_network, ["comb_network"] = handle_network,
["setting"] = handle_setting, ["comb_setting"] = handle_setting,
["setting_flip"] = handle_setting_flip, ["comb_setting_flip"] = handle_setting_flip,
}) })
flib_gui.handle_events() flib_gui.handle_events()
script.on_event(defines.events.on_gui_opened, on_gui_opened) script.on_event(defines.events.on_gui_opened, on_gui_opened)

View File

@@ -4,9 +4,11 @@ local mod_gui = require("__core__.lualib.mod-gui")
local manager = require("scripts.gui.manager") local manager = require("scripts.gui.manager")
--- @class Manager --- @class Manager
--- @field players table<int, PlayerData>
--- @field item_order table<string, int> --- @field item_order table<string, int>
--- @class PlayerData --- @class PlayerData
--- @field is_manager_open boolean
--- @field refs {[string]: LuaGuiElement}? --- @field refs {[string]: LuaGuiElement}?
--- @field search_query string? --- @field search_query string?
--- @field search_network_name string? --- @field search_network_name string?
@@ -33,8 +35,8 @@ local function top_left_button_update(player, player_data)
name = "top_left_button", name = "top_left_button",
style = "mis_mod_gui_button_green", style = "mis_mod_gui_button_green",
sprite = "mis_configure_white", sprite = "mis_configure_white",
tooltip = { "", "\n", { "mis-config-gui.configure-tooltip" } }, tooltip = { "", "\n", { "cybersyn.gui.configure-tooltip" } },
handler = manager.handle.toggle, handler = manager.handle.manager_toggle,
}) })
end end
end end
@@ -45,7 +47,7 @@ local manager_gui = {}
function manager_gui.on_lua_shortcut(e) function manager_gui.on_lua_shortcut(e)
if e.prototype_name == "ltnm-toggle-gui" then if e.prototype_name == "ltnm-toggle-gui" then
manager.wrapper(e, manager.handle.toggle) manager.wrapper(e, manager.handle.manager_toggle)
end end
end end
@@ -61,14 +63,14 @@ function manager_gui.on_player_created(e)
pinning = false, pinning = false,
refs = manager.create(player), refs = manager.create(player),
} }
global.manager_data.players[e.player_index] = player_data global.manager.players[e.player_index] = player_data
manager.update(global, player, player_data) manager.update(global, player, player_data)
top_left_button_update(player, player_data) --top_left_button_update(player, player_data)
end end
function manager_gui.on_player_removed(e) function manager_gui.on_player_removed(e)
global.manager_data.players[e.player_index] = nil global.manager.players[e.player_index] = nil
end end
--script.on_event(defines.events.on_player_joined_game, function(e) --script.on_event(defines.events.on_player_joined_game, function(e)
@@ -83,7 +85,7 @@ function manager_gui.on_runtime_mod_setting_changed(e)
local player = game.get_player(e.player_index) local player = game.get_player(e.player_index)
if not player then return end if not player then return end
local player_data = global.manager_data.players[e.player_index] local player_data = global.manager.players[e.player_index]
player_data.disable_top_left_button = player.mod_settings["cybersyn-disable-top-left-button"].value player_data.disable_top_left_button = player.mod_settings["cybersyn-disable-top-left-button"].value
top_left_button_update(player, player_data) top_left_button_update(player, player_data)
end end
@@ -121,12 +123,14 @@ local function init_items(manager)
end end
function manager.on_migration() function manager_gui.on_migration()
init_items(global.manager) init_items(global.manager)
end end
function manager.on_init() function manager_gui.on_init()
global.manager = {} global.manager = {
players = {},
}
init_items(global.manager) init_items(global.manager)
end end
--gui.handle_events() --gui.handle_events()

View File

@@ -28,13 +28,13 @@ function manager.create(player)
type = "frame", type = "frame",
direction = "vertical", direction = "vertical",
visible = false, visible = false,
handler = manager.handle.close, handler = manager.handle.manager_close,
children = { children = {
{ {
name = "manager_titlebar", name = "manager_titlebar",
type = "flow", type = "flow",
style = "flib_titlebar_flow", style = "flib_titlebar_flow",
handler = manager.handle.titlebar_click, handler = manager.handle.manager_titlebar_click,
children = { children = {
{ type = "label", style = "frame_title", caption = { "mod-name.LtnManager" }, ignored_by_interaction = true }, { type = "label", style = "frame_title", caption = { "mod-name.LtnManager" }, ignored_by_interaction = true },
{ type = "empty-widget", style = "flib_titlebar_drag_handle", ignored_by_interaction = true }, { type = "empty-widget", style = "flib_titlebar_drag_handle", ignored_by_interaction = true },
@@ -47,9 +47,9 @@ function manager.create(player)
tooltip = { "gui.ltnm-dispatcher-disabled-description" }, tooltip = { "gui.ltnm-dispatcher-disabled-description" },
visible = not settings.global["cybersyn-enable-planner"].value, visible = not settings.global["cybersyn-enable-planner"].value,
}, },
templates.frame_action_button("manager_pin_button", "ltnm_pin", { "gui.ltnm-keep-open" }, manager.handle.pin),--on_gui_clicked templates.frame_action_button("manager_pin_button", "ltnm_pin", { "gui.ltnm-keep-open" }, manager.handle.manager_pin),--on_gui_clicked
templates.frame_action_button("manager_refresh_button", "ltnm_refresh", { "gui.ltnm-refresh-tooltip" }, manager.handle.refresh_click),--on_gui_clicked templates.frame_action_button("manager_refresh_button", "ltnm_refresh", { "gui.ltnm-refresh-tooltip" }, manager.handle.manager_refresh_click),--on_gui_clicked
templates.frame_action_button(nil, "utility/close", { "gui.close-instruction" }, manager.handle.close),--on_gui_clicked templates.frame_action_button(nil, "utility/close", { "gui.close-instruction" }, manager.handle.manager_close),--on_gui_clicked
}, },
}, },
{ {
@@ -66,7 +66,7 @@ function manager.create(player)
name = "manager_text_search_field", name = "manager_text_search_field",
type = "textfield", type = "textfield",
clear_and_focus_on_right_click = true, clear_and_focus_on_right_click = true,
handler = manager.handle.update_text_search, --on_gui_text_changed handler = manager.handle.manager_update_text_search, --on_gui_text_changed
}, },
{ type = "empty-widget", style = "flib_horizontal_pusher" }, { type = "empty-widget", style = "flib_horizontal_pusher" },
{ type = "label", style = "caption_label", caption = { "gui.ltnm-network-id-label" } }, { type = "label", style = "caption_label", caption = { "gui.ltnm-network-id-label" } },
@@ -78,13 +78,13 @@ function manager.create(player)
allow_negative = true, allow_negative = true,
clear_and_focus_on_right_click = true, clear_and_focus_on_right_click = true,
text = "-1", text = "-1",
handler = manager.handle.update_network_mask, --on_gui_text_changed handler = manager.handle.manager_update_network_mask, --on_gui_text_changed
}, },
{ type = "label", style = "caption_label", caption = { "gui.ltnm-surface-label" } }, { type = "label", style = "caption_label", caption = { "gui.ltnm-surface-label" } },
{ {
name = "manager_surface_dropdown", name = "manager_surface_dropdown",
type = "drop-down", type = "drop-down",
handler = manager.handle.update_surface, --on_gui_selection_state_changed handler = manager.handle.manager_update_surface, --on_gui_selection_state_changed
}, },
}, },
}, },
@@ -111,8 +111,8 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
function manager.update(map_data, player, player_data) function manager.update(map_data, player, player_data)
local tab = trains_tab.build(map_data, player_data) --local tab = trains_tab.build(map_data, player_data)
gui.add(_, tab, player_data.refs) --gui.add(_, tab, player_data.refs)
end end
@@ -123,7 +123,7 @@ manager.handle = {}
function manager.wrapper(e, handler) function manager.wrapper(e, handler)
local player = game.get_player(e.player_index) local player = game.get_player(e.player_index)
if not player then return end if not player then return end
local player_data = global.manager_data.players[e.player_index] local player_data = global.manager.players[e.player_index]
handler(player, player_data, player_data.refs, e) handler(player, player_data, player_data.refs, e)
end end
@@ -143,7 +143,7 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.open(player, player_data, refs) function manager.handle.manager_open(player, player_data, refs)
refs.manager_window.bring_to_front() refs.manager_window.bring_to_front()
refs.manager_window.visible = true refs.manager_window.visible = true
player_data.visible = true player_data.visible = true
@@ -152,6 +152,7 @@ function manager.handle.open(player, player_data, refs)
player.opened = refs.manager_window player.opened = refs.manager_window
end end
player_data.is_manager_open = true
player.set_shortcut_toggled("ltnm-toggle-gui", true) player.set_shortcut_toggled("ltnm-toggle-gui", true)
end end
@@ -159,7 +160,7 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.close(player, player_data, refs) function manager.handle.manager_close(player, player_data, refs)
if player_data.pinning then if player_data.pinning then
return return
end end
@@ -171,27 +172,32 @@ function manager.handle.close(player, player_data, refs)
player.opened = nil player.opened = nil
end end
player_data.is_manager_open = false
player.set_shortcut_toggled("ltnm-toggle-gui", false) player.set_shortcut_toggled("ltnm-toggle-gui", false)
end end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.toggle(player, player_data, refs) function manager.handle.manager_toggle(player, player_data, refs)
if player_data.is_manager_open then
manager.handle.manager_close(player, player_data, refs)
else
manager.handle.manager_open(player, player_data, refs)
end
end end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.recenter(player, player_data, refs) function manager.handle.manager_recenter(player, player_data, refs)
refs.window.force_auto_center() refs.window.force_auto_center()
end end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.toggle_auto_refresh(player, player_data, refs) function manager.handle.manager_toggle_auto_refresh(player, player_data, refs)
player_data.auto_refresh = not player_data.auto_refresh player_data.auto_refresh = not player_data.auto_refresh
toggle_fab(refs.manager_refresh_button, "ltnm_refresh", player_data.auto_refresh) toggle_fab(refs.manager_refresh_button, "ltnm_refresh", player_data.auto_refresh)
end end
@@ -199,7 +205,7 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.toggle_pinned(player, player_data, refs) function manager.handle.manager_toggle_pinned(player, player_data, refs)
player_data.pinned = not player_data.pinned player_data.pinned = not player_data.pinned
toggle_fab(refs.manager_pin_button, "ltnm_pin", player_data.pinned) toggle_fab(refs.manager_pin_button, "ltnm_pin", player_data.pinned)
end end
@@ -208,7 +214,7 @@ end
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
--- @param e GuiEventData --- @param e GuiEventData
function manager.handle.update_text_search(player, player_data, refs, e) function manager.handle.manager_update_text_search(player, player_data, refs, e)
local query = e.text local query = e.text
-- Input sanitization -- Input sanitization
for pattern, replacement in pairs(constants.input_sanitizers) do for pattern, replacement in pairs(constants.input_sanitizers) do
@@ -221,7 +227,7 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.update_network_name(player, player_data, refs) function manager.handle.manager_update_network_name(player, player_data, refs)
local signal = refs.manager_network_name.elem_value local signal = refs.manager_network_name.elem_value
if signal then if signal then
player_data.search_network_name = signal.name player_data.search_network_name = signal.name
@@ -232,13 +238,13 @@ end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.update_network_mask(player, player_data, refs) function manager.handle.manager_update_network_mask(player, player_data, refs)
player_data.search_network_mask = tonumber(refs.manager_network_mask_field.text) or -1 player_data.search_network_mask = tonumber(refs.manager_network_mask_field.text) or -1
end end
--- @param player LuaPlayer --- @param player LuaPlayer
--- @param player_data PlayerData --- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement> --- @param refs table<string, LuaGuiElement>
function manager.handle.update_surface(player, player_data, refs) function manager.handle.manager_update_surface(player, player_data, refs)
local i = refs.manager_surface_dropdown.selected_index local i = refs.manager_surface_dropdown.selected_index
player_data.search_surface_idx = i--TODO: fix this player_data.search_surface_idx = i--TODO: fix this
end end

View File

@@ -6,7 +6,7 @@ local templates = require("scripts.gui.templates")
local stations_tab = {} local stations_tab = {}
function stations_tab.build(widths) function stations_tab.create(widths)
return { return {
tab = { tab = {
type = "tab", type = "tab",

View File

@@ -1,9 +1,12 @@
--By Mami --By Mami
local manager = require('gui.main')
local ceil = math.ceil local ceil = math.ceil
local table_insert = table.insert local table_insert = table.insert
local table_remove = table.remove local table_remove = table.remove
---@param map_data MapData ---@param map_data MapData
---@param stop LuaEntity ---@param stop LuaEntity
---@param comb LuaEntity ---@param comb LuaEntity
@@ -835,6 +838,7 @@ local function on_settings_changed(event)
script.on_nth_tick(nil) script.on_nth_tick(nil)
end end
end end
manager.on_runtime_mod_setting_changed(event)
interface_raise_on_mod_settings_changed(event) interface_raise_on_mod_settings_changed(event)
end end
@@ -898,6 +902,9 @@ local function main()
script.on_nth_tick(nil) script.on_nth_tick(nil)
end end
local MANAGER_ENABLED = true
script.on_init(function() script.on_init(function()
local setting = settings.global["cybersyn-invert-sign"] local setting = settings.global["cybersyn-invert-sign"]
setting.value = false setting.value = false
@@ -905,13 +912,29 @@ local function main()
mod_settings.invert_sign = false mod_settings.invert_sign = false
init_global() init_global()
setup_se_compat() setup_se_compat()
if MANAGER_ENABLED then
manager.on_init()
end
end) end)
script.on_configuration_changed(on_config_changed)
script.on_configuration_changed(function(e)
on_config_changed(e)
if MANAGER_ENABLED then
manager.on_migration()
end
end)
script.on_load(function() script.on_load(function()
setup_se_compat() setup_se_compat()
end) end)
if MANAGER_ENABLED then
script.on_event(defines.events.on_player_removed, manager.on_player_removed)
script.on_event(defines.events.on_player_created, manager.on_player_created)
script.on_event(defines.events.on_lua_shortcut, manager.on_lua_shortcut)
end
end end

View File

@@ -1,5 +1,6 @@
--By Mami --By Mami
local flib_migration = require("__flib__.migration") local flib_migration = require("__flib__.migration")
local manager_gui = require('gui.main')
local migrations_table = { local migrations_table = {
@@ -292,7 +293,13 @@ local migrations_table = {
is_registered[id] = true is_registered[id] = true
end end
end end
end end,
["1.2.14"] = function()
manager_gui.on_init()
for i, v in pairs(game.players) do
manager_gui.on_player_created({player_index = i})
end
end,
} }
--STATUS_R_TO_D = 5 --STATUS_R_TO_D = 5