mirror of
https://github.com/Xevion/project-cybersyn.git
synced 2025-12-10 02:08:11 -06:00
got ltn manager to open the manager
This commit is contained in:
8
.vscode/launch.json
vendored
8
.vscode/launch.json
vendored
@@ -55,6 +55,12 @@
|
|||||||
"debugadapter": true,
|
"debugadapter": true,
|
||||||
"flib": true,
|
"flib": true,
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"type": "factoriomod",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Factorio Debug (Modded)",
|
||||||
|
"modsPath": "~/.factorio/mods-debug/",
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@@ -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
152
cybersyn/constants.lua
Normal 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
|
||||||
@@ -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,
|
||||||
|
|||||||
BIN
cybersyn/graphics/gui/frame-action-icons.png
Normal file
BIN
cybersyn/graphics/gui/frame-action-icons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
BIN
cybersyn/graphics/shortcut/ltn-manager-shortcut.png
Normal file
BIN
cybersyn/graphics/shortcut/ltn-manager-shortcut.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user