From 598cfeb95b3b523beefbce9952f28bdb7f44d302 Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Thu, 14 Jan 2021 21:11:27 -0300 Subject: [PATCH] Adding types to `machine.lua` Fixing `powerWidget.getMiddleString` bug --- Programs/monitor-system/api/gui/widget.lua | 6 ++-- .../data/datasource/machine.lua | 30 +++++++++++++++++++ .../data/datasource/machines.lua | 27 ----------------- 3 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 Programs/monitor-system/data/datasource/machine.lua delete mode 100644 Programs/monitor-system/data/datasource/machines.lua diff --git a/Programs/monitor-system/api/gui/widget.lua b/Programs/monitor-system/api/gui/widget.lua index 0ff8cd6..a9bda49 100644 --- a/Programs/monitor-system/api/gui/widget.lua +++ b/Programs/monitor-system/api/gui/widget.lua @@ -251,16 +251,16 @@ end function widget.createPowerWidget(address) local getPowerStatus = require("domain.energy.get-energy-status-usecase") local function update(self) - for key, value in pairs(getPowerStatus(address, "power")) do + for key, value in pairs(getPowerStatus(address, self.name)) do self[key] = value end end local function getMiddleString(self) - local time = self.timeToFull or self.timeToEmpty .. " s" + local time = self.timeToFull or self.timeToEmpty or 0 return (self.dProgress > 0 and "+" or "") .. self.dProgress .. - " EU/s. " .. (self.dProgress > 0 and " Full in: " or "Empty in: ") .. Utility.splitNumber(time) + " EU/s. " .. (self.dProgress >= 0 and " Full in: " or "Empty in: ") .. Utility.splitNumber(time) .. " s" end local powerWidget = { diff --git a/Programs/monitor-system/data/datasource/machine.lua b/Programs/monitor-system/data/datasource/machine.lua new file mode 100644 index 0000000..4d0668c --- /dev/null +++ b/Programs/monitor-system/data/datasource/machine.lua @@ -0,0 +1,30 @@ +-- Import section +local mock = require("data.mock.mock-energy-provider") +EnergyProvider = require("data.datasource.energy-provider") +Inherits = require("utils.inherits") +-- + +local machine = Inherits(EnergyProvider) +local machines = {} +machine.types = { + energy = "energy", + multiblock = "multiblock", + singleblock = "singleblock" +} + +function machine.getMachine(address, name, type) + if machines[address] then + return machines[address] + else + local mach = {} + if type == machine.types.energy then + print(machine.name) + elseif type == machine.types.multiblock then + end + mach = machine:new(address, name) + machines[address] = mach + return mach + end +end + +return machine diff --git a/Programs/monitor-system/data/datasource/machines.lua b/Programs/monitor-system/data/datasource/machines.lua deleted file mode 100644 index c83fcf9..0000000 --- a/Programs/monitor-system/data/datasource/machines.lua +++ /dev/null @@ -1,27 +0,0 @@ --- Import section -local mock = require("data.mock.mock-energy-provider") -EnergyProvider = require("data.datasource.energy-provider") -Inherits = require("utils.inherits") --- - -local machine = - Inherits( - EnergyProvider, - { - mock = mock, - name = "Generic Machine" - } -) -local machines = {} - -function machine.getMachine(address, name) - if machines[address] then - return machines[address] - else - local mach = machine:new(address, name) - machines[address] = mach - return mach - end -end - -return machine