Перейти к содержимому

BlackBurn

Пользователи
  • Публикации

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

166 просмотров профиля
  1. Пробую с помощью библиотеки сделать программу для отображения состояния моих реакторов. Не могу понять как перерисовывать содержимое экрана. У меня при включении программы оно отображает состояние реакторов на момент запуска программы, а потом, если выключить или включить реакторы, то на экране изменений нет. Как можно перерисовывать экран при изменении переменной color? local com = require("component") local GUI = require("GUI") local g = com.gpu; local p = com.proxy; local mainContainer = GUI.fullScreenContainer() local clr_main = 0x000FF local buffer = require("doubleBuffering") while true do local adresses ={ [1] = com.get("872"), [2] = com.get("9bd"), [3] = com.get("03b"), [4] = com.get("69a"), [5] = com.get("a27"), [6] = com.get("8ef"), [7] = com.get("844"), [8] = com.get("4ad"), [9] = com.get("dbb"), [10] = com.get("550"), [11] = com.get("43f"), [12] = com.get("ba6"), [13] = com.get("d7b"), [14] = com.get("bcf"), [15] = com.get("a93"), [16] = com.get("f92"), [17] = com.get("2db"), [18] = com.get("6cd") } mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, mainContainer.height, 0x2D2D2D, 0.4))local layout = mainContainer:addChild(GUI.layout(1, 1, mainContainer.width, mainContainer.height, 7, 10)) -- local function GetComponentsReactors(adressesComponents) local proxys = {} for i = 1, #adressesComponents do proxys[i] = p(adressesComponents[i]) end return proxys end local reactors = GetComponentsReactors(adresses) for i = 1, #reactors do if reactors[i].producesEnergy() then color = true end end local color = color and 0x008000 or 0xFF0000 --Разметка layout:setCellPosition(1, 1, layout:addChild(GUI.text(1, 1, clr_main, "№"))) layout:setCellPosition(2, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №1"))) layout:setCellPosition(3, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №2"))) layout:setCellPosition(4, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №3"))) layout:setCellPosition(5, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №4"))) layout:setCellPosition(6, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №5"))) layout:setCellPosition(7, 1, layout:addChild(GUI.text(1, 1, clr_main, "Блок №6"))) --Group #1 layout:setCellPosition(2, 2, layout:addChild(GUI.text(1, 1, color, "Реактор 1"))) layout:setCellPosition(2, 3, layout:addChild(GUI.text(1, 1, color, "Реактор 2"))) layout:setCellPosition(2, 4, layout:addChild(GUI.text(1, 1, color, "Реактор 3"))) layout:setCellPosition(2, 5, layout:addChild(GUI.text(1, 1, color, "Реактор 4"))) layout:setCellPosition(2, 6, layout:addChild(GUI.text(1, 1, color, "Реактор 5"))) layout:setCellPosition(2, 7, layout:addChild(GUI.text(1, 1, color, "Реактор 6"))) layout:setCellPosition(2, 8, layout:addChild(GUI.text(1, 1, color, "Реактор 7"))) layout:setCellPosition(2, 9, layout:addChild(GUI.text(1, 1, color, "Реактор 8"))) layout:setCellPosition(2, 10, layout:addChild(GUI.text(1, 1, color, "Реактор 9"))) --Group #2 layout:setCellPosition(3, 2, layout:addChild(GUI.text(1, 1, color, "Реактор 1"))) layout:setCellPosition(3, 3, layout:addChild(GUI.text(1, 1, color, "Реактор 2"))) layout:setCellPosition(3, 4, layout:addChild(GUI.text(1, 1, color, "Реактор 3"))) layout:setCellPosition(3, 5, layout:addChild(GUI.text(1, 1, color, "Реактор 4"))) layout:setCellPosition(3, 6, layout:addChild(GUI.text(1, 1, color, "Реактор 5"))) layout:setCellPosition(3, 7, layout:addChild(GUI.text(1, 1, color, "Реактор 6"))) layout:setCellPosition(3, 8, layout:addChild(GUI.text(1, 1, color, "Реактор 7"))) layout:setCellPosition(3, 9, layout:addChild(GUI.text(1, 1, color, "Реактор 8"))) layout:setCellPosition(3, 10, layout:addChild(GUI.text(1, 1, color, "Реактор 9"))) ------------------------------------------------------------------------------ mainContainer:drawOnScreen(true) mainContainer:startEventHandling() end
×
×
  • Создать...