Как сохранить данные функции?
У меня есть функция, которая создаёт progressbar:
function progressbar(value, x, y, text, update)
if update == 0 then
local border1 = glassesTerminal.addBox2D();
border1.setSize(100, 1)
border1.addTranslation(x, y-1, 0)
border1.addColor(0, 0, 0, 1)
border1.addColor(0, 0, 0, 1)
local border2 = glassesTerminal.addBox2D();
border2.setSize(100, 1)
border2.addTranslation(x, y+15, 0)
border2.addColor(0, 0, 0, 1)
border2.addColor(0, 0, 0, 1)
local border3 = glassesTerminal.addBox2D();
border3.setSize(1, 15)
border3.addTranslation(x-1, y, 0)
border3.addColor(0, 0, 0, 1)
border3.addColor(0, 0, 0, 1)
local border4 = glassesTerminal.addBox2D();
border4.setSize(1, 15)
border4.addTranslation(x+100, y, 0)
border4.addColor(0, 0, 0, 1)
border4.addColor(0, 0, 0, 1)
local bar = glassesTerminal.addBox2D();
bar.setSize(value, 15)
bar.addTranslation(x, y, 0)
if value >= 90 then
bar.addColor(1, 0, 0, 0.5)
bar.addColor(1, 0, 0, 0.5)
else
bar.addColor(0, 1, 0, 0.5)
bar.addColor(0, 1, 0, 0.5)
end
local text_p = glassesTerminal.addText2D()
text_p.setText(text)
text_p.setFont("")
text_p.setFontSize(8)
text_p.addTranslation(x+5, y+2.5, 0)
end
if update == 1 then
text_p.setText(text)
bar.setSize(value, 15)
if value >= 90 then
bar.addColor(1, 0, 0, 0.5)
bar.addColor(1, 0, 0, 0.5)
else
bar.addColor(0, 1, 0, 0.5)
bar.addColor(0, 1, 0, 0.5)
end
end
end
local p_energy = progressbar(value_energy, 15, 25, energy_reactor, 0)
local p_heat = progressbar(value_heat, 15, 50, heat_reactor, 0)
while i < 1 do
os.sleep(1)
p_energy = progressbar(value_energy, 15, 25, energy_reactor, 1)
p_heat = progressbar(value_heat, 15, 50, heat_reactor, 1)
end
Если использовать один progressbar, то всё работает. Но если создать два progressbar'a, то новые значения объявляются только на втором progressbar'e в цикле. Без цикла вроде всё нормально работает.
Почему так происходит?
Использую следующие моды:
OpenComputers - https://github.com/MightyPirates/OpenComputers
OpenGlasses2 - https://github.com/StarChasers/OCGlasses/wiki
P.S: Оказывается, что при создании второго progressbar'a, данные первого перезаписываются и удаляются.