MFD
MFD - это многофункциональный дисплей, который содержит в себе кнопки.
Структуры
ButtonData
Эта структура содержит всю информацию о кнопке.
Поля
- id [ integer ] ID кнопки.
- state [ integer ] Состояние кнопки. 1 - нажата, 2 - удерживается, 3 - отпущена.
- bool [ boolean ] True, если кнопка нажата, false, если не нажата.
- holdDuration [ integer ] Длительность удержания в тиках.
- holdTimeout [ integer ] Через сколько тиков состояние кнопки сменится на 2.
Функции
getMFDs
sc.getMFDs()
Получает все подключенные к компьютеру MFD.
Возвращает:
- [ MFD[] ] Таблица всех подключенных MFD.
getButtonState
MFD.getButtonState( id )
Получает информацию о кнопке по её ID.
Аргументы:
- id [ integer ] ID кнопки.
Возвращает:
- [ ButtonData ] Таблица с данными о кнопке.
getAllPressedButtons
Получает список всех нажатых кнопок на MFD и информацию о них.
MFD.getAllPressedButtons()
Возвращает:
- [ ButtonData[] ] Таблица нажатых кнопок и их данные.
getButtonsAmount
MFD.getButtonsAmount()
Получает количество кнопок на MFD.
Возвращает:
- [ integer ] Количество кнопок.
setHoldTimeout
setHoldTimeout( id, ticks )
Устанавливает holdTimeout для определённой/всех кнопок.
Аргументы:
- id [ number ] ID кнопки (-1 для всех кнопок).
- ticks [ number ] Количество тиков.
Пример
MyScript.lua
-- Получаем MFD компонент
local MFD = sc.getMFDs()[1]
function onLoad()
-- Ставим holdTimeout 15 тиков для всех кнопок
MFD.setHoldTimeout(-1, 15)
end
function onUpdate()
-- Получаем данные о первой кнопке
local button = MFD.getButtonState(1)
print(button)
end