mirror of
https://github.com/S4mpsa/InfOS.git
synced 2025-08-03 09:56:01 -04:00
116 lines
3.2 KiB
Lua
Executable File
116 lines
3.2 KiB
Lua
Executable File
-- Import section
|
|
|
|
GUI = require("api.gui")
|
|
|
|
-- MultiBlock = require("data.datasource.multi-block")
|
|
-- SingleBlock = require("data.datasource.single-block")
|
|
-- EnergyProvider = require("data.datasource.energy-provider")
|
|
|
|
-- local cleanroomAddresses = require("config.addresses.cleanroom")
|
|
local multiBlockAddresses = require("config.addresses.multi-blocks")
|
|
local energyBufferAddresses = require("config.addresses.energy-buffers")
|
|
|
|
-- local protectCleanroomRecipes = require("domain.cleanroom.protect-recipes-usecase")
|
|
-- local getMultiblockStatuses = require("domain.multiblock.get-multiblock-status-usecase")
|
|
-- local getEnergyStatus = require("domain.energy.get-energy-status-usecase")
|
|
-- local listMiners = require("domain.miner.list-miners-usecase")
|
|
-- local getMinersStatuses = require("domain.miner.get-miner-status-usecase")
|
|
|
|
-- local GPU = Component.gpu
|
|
--
|
|
|
|
--[[
|
|
local cleanroomMachines = {}
|
|
for name, address in pairs(cleanroomAddresses) do
|
|
table.insert(cleanroomMachines, SingleBlock:new(address, name))
|
|
end
|
|
|
|
local multiblocks = {}
|
|
for name, address in pairs(multiBlockAddresses) do
|
|
table.insert(multiblocks, MultiBlock:new(address, name))
|
|
end
|
|
|
|
local batteryBuffers = {}
|
|
for name, address in pairs(energyBufferAddresses) do
|
|
table.insert(batteryBuffers, EnergyProvider:new(address, name))
|
|
end
|
|
|
|
local multiblocksStatuses = {}
|
|
|
|
for i = 1, 100 do
|
|
print(i)
|
|
|
|
protectCleanroomRecipes(multiblocks[1], cleanroomMachines)
|
|
multiblocksStatuses = getMultiblockStatuses(multiblocks)
|
|
-- local energyStatus = getEnergyStatus(batteryBuffers[1])
|
|
|
|
local minersList = listMiners()
|
|
local minersStatuses = getMinersStatuses(minersList)
|
|
|
|
os.sleep(0)
|
|
i = i + 1
|
|
end
|
|
|
|
for multiblockName, status in pairs(multiblocksStatuses) do
|
|
print(
|
|
multiblockName .. ":",
|
|
"\n problems: " .. status.problems,
|
|
"\n efficiency: " .. status.efficiencyPercentage,
|
|
"\n probably uses: " .. status.probablyUses
|
|
)
|
|
end
|
|
|
|
require("api.sound.zelda-secret")()
|
|
--]]
|
|
GUI.setup(energyBufferAddresses.batteryBuffer1, multiBlockAddresses)
|
|
|
|
while true do
|
|
GUI.update()
|
|
os.sleep(0)
|
|
end
|
|
|
|
--[[
|
|
Page = require("api.gui")
|
|
Notifications = {}
|
|
local components = {}
|
|
local function getComponents()
|
|
local multiBlockAddresses = require("config.addresses.multi-blocks")
|
|
local energyBufferAddresses = require("config.addresses.energy-buffers")
|
|
|
|
local multiblocks = {}
|
|
for name, address in pairs(multiBlockAddresses) do
|
|
table.insert(multiblocks, MultiBlock:new(address, name))
|
|
end
|
|
|
|
local batteryBuffers = {}
|
|
for name, address in pairs(energyBufferAddresses) do
|
|
table.insert(batteryBuffers, EnergyProvider:new(address, name))
|
|
end
|
|
|
|
return {table.unpack(multiblocks), batteryBuffers}
|
|
end
|
|
|
|
local function setup()
|
|
components = getComponents()
|
|
Page.overview.setup()
|
|
end
|
|
|
|
local function loop()
|
|
while true do
|
|
for index, component in ipairs(components) do
|
|
local updated, notification = component:update()
|
|
if updated then
|
|
Page:draw(component, index)
|
|
end
|
|
if notification then
|
|
table.insert(Notifications, 1, {notification, os.time()})
|
|
end
|
|
end
|
|
Page:render()
|
|
end
|
|
end
|
|
|
|
setup()
|
|
loop()
|
|
--]]
|