arzmobfrontend.lua © ospxdev | Скачать
Модуль предназначен для взаимодействия с Arizona Mobile java-интерфейсами, включая отправку данных, обработку сообщений, и регистрацию событий.
Содержание
Функции
mod.sendInterfaceState(interfaceid, state)
Отправляет состояние интерфейса.
- Параметры:
interfaceid(number): ID интерфейса.state(boolean): Состояние (true/false).
mod.sendFrontendClick(interfaceid, id, subid, data)
Отправляет данные о нажатии на элемент интерфейса.
- Параметры:
interfaceid(number): ID интерфейса.id(number): ID элемента.subid(number): Дополнительный ID элемента.data(string): Дополнительные данные.
mod.sendInteraction()
Отправляет предопределенное взаимодействие (жестко закодированные параметры).
mod.onFrontendMessage(interfaceid, subid, data)
Обрабатывает полученные сообщения от фронтенда (заглушка для переопределения).
- Параметры:
interfaceid(number): ID интерфейса.subid(number): Подидентификатор сообщения.data(string): Полученные данные.
mod.onToggleInterface(interfaceid, state)
Обрабатывает изменения состояния интерфейса (заглушка для переопределения).
- Параметры:
interfaceid(number): ID интерфейса.Регистрирует обработчик для интерфейса с ID 8. Middleware преобразует входящие данные в JSON. При получении сообщения с subid = 15, логирует текст (json.text) и заголовок (json.title) взаимодействия.state(boolean): Состояние (включено/выключено).
mod.onlyJsonMiddleware(interfaceid, subid, data)
Middleware для декодирования JSON строк.
- Параметры:
interfaceid(number): ID интерфейса.subid(number): Подидентификатор сообщения.data(string): Данные в формате строки.
- Возвращает: Декодированный JSON или
falseпри ошибке.
Middleware
Middleware - это функции, которые обрабатывают данные перед тем, как они попадут в обработчики событий. Они позволяют преобразовывать данные, выполнять валидацию, или даже прерывать обработку. Middleware функции принимают interfaceid, subid и data в качестве аргументов и должны возвращать модифицированные данные или false для остановки обработки.
mod.on(id)
Создает цепочку событий для указанного интерфейса.
- Параметры:
id(number): ID интерфейса.
- Возвращает: Объект цепочки событий.
Методы цепочек событий
chain:msg_middleware(cb)
Добавляет middleware для frontend_message в цепочку.
- Параметры:
cb(function): Функция middleware, принимающаяinterfaceid,subid,data.
- Возвращает: Саму цепочку.
chain:frontend_message(cb, subid)
Регистрирует колбэк для обработки сообщений фронтенда.
- Параметры:
cb(function): Колбэк, принимающийinterfaceid,subid,data.subid(number | nil): Опциональный подидентификатор.
- Возвращает: Саму цепочку.
chain:toggle(cb)
Регистрирует колбэк для обработки событий переключения интерфейса.
- Параметры:
cb(function): Колбэк, принимающийinterfaceid,state.
- Возвращает: Саму цепочку.
Пример
Регистрирует обработчик для интерфейса с ID 8 (HUD). Middleware преобразует входящие данные в JSON. При получении сообщения с subid = 15(взаимодействие), логирует текст (json.text) и заголовок (json.title) взаимодействия.
Может быть использовано для кастомной кнопки взаимодействия, как реализован ActionButton.