#99 updating/sending builds
This commit is contained in:
@@ -86,41 +86,52 @@ function iocontrol.record_builds(builds)
|
||||
log.error("number of provided unit builds does not match expected number of units")
|
||||
return false
|
||||
else
|
||||
-- note: if not all units and RTUs are connected, some will be nil
|
||||
for i = 1, #builds do
|
||||
local unit = io.units[i] ---@type ioctl_entry
|
||||
local build = builds[i]
|
||||
|
||||
-- reactor build
|
||||
unit.reactor_data.mek_struct = build.reactor
|
||||
for key, val in pairs(unit.reactor_data.mek_struct) do
|
||||
unit.reactor_ps.publish(key, val)
|
||||
if type(build.reactor) == "table" then
|
||||
unit.reactor_data.mek_struct = build.reactor
|
||||
for key, val in pairs(unit.reactor_data.mek_struct) do
|
||||
unit.reactor_ps.publish(key, val)
|
||||
end
|
||||
|
||||
if unit.reactor_data.mek_struct.length ~= 0 and unit.reactor_data.mek_struct.width ~= 0 then
|
||||
unit.reactor_ps.publish("size", { unit.reactor_data.mek_struct.length, unit.reactor_data.mek_struct.width })
|
||||
end
|
||||
end
|
||||
|
||||
-- boiler builds
|
||||
for id, boiler in pairs(build.boilers) do
|
||||
unit.boiler_data_tbl[id] = {
|
||||
formed = boiler[2], ---@type boolean|nil
|
||||
build = boiler[1] ---@type table
|
||||
}
|
||||
if type(build.boilers) == "table" then
|
||||
for id, boiler in pairs(build.boilers) do
|
||||
unit.boiler_data_tbl[id] = {
|
||||
formed = boiler[2], ---@type boolean|nil
|
||||
build = boiler[1] ---@type table
|
||||
}
|
||||
|
||||
unit.boiler_ps_tbl[id].publish("formed", boiler[2])
|
||||
unit.boiler_ps_tbl[id].publish("formed", boiler[2])
|
||||
|
||||
for key, val in pairs(unit.boiler_data_tbl[id].build) do
|
||||
unit.boiler_ps_tbl[id].publish(key, val)
|
||||
for key, val in pairs(unit.boiler_data_tbl[id].build) do
|
||||
unit.boiler_ps_tbl[id].publish(key, val)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- turbine builds
|
||||
for id, turbine in pairs(build.turbines) do
|
||||
unit.turbine_data_tbl[id] = {
|
||||
formed = turbine[2], ---@type boolean|nil
|
||||
build = turbine[1] ---@type table
|
||||
}
|
||||
if type(build.turbines) == "table" then
|
||||
for id, turbine in pairs(build.turbines) do
|
||||
unit.turbine_data_tbl[id] = {
|
||||
formed = turbine[2], ---@type boolean|nil
|
||||
build = turbine[1] ---@type table
|
||||
}
|
||||
|
||||
unit.turbine_ps_tbl[id].publish("formed", turbine[2])
|
||||
unit.turbine_ps_tbl[id].publish("formed", turbine[2])
|
||||
|
||||
for key, val in pairs(unit.turbine_data_tbl[id].build) do
|
||||
unit.turbine_ps_tbl[id].publish(key, val)
|
||||
for key, val in pairs(unit.turbine_data_tbl[id].build) do
|
||||
unit.turbine_ps_tbl[id].publish(key, val)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,7 +16,7 @@ local config = require("coordinator.config")
|
||||
local coordinator = require("coordinator.coordinator")
|
||||
local renderer = require("coordinator.renderer")
|
||||
|
||||
local COORDINATOR_VERSION = "alpha-v0.4.15"
|
||||
local COORDINATOR_VERSION = "alpha-v0.5.0"
|
||||
|
||||
local print = util.print
|
||||
local println = util.println
|
||||
|
||||
@@ -47,9 +47,9 @@ local function init(parent, id)
|
||||
|
||||
-- main stats and core map --
|
||||
|
||||
---@todo need to be checking actual reactor dimensions somehow
|
||||
local core_map = CoreMap{parent=main,x=2,y=3,reactor_l=18,reactor_w=18}
|
||||
r_ps.subscribe("temp", core_map.update)
|
||||
r_ps.subscribe("size", function (s) core_map.resize(s[1], s[2]) end)
|
||||
|
||||
local stat_fg_bg = cpair(colors.black,colors.white)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user