Destroyed XML разметка интерфейса (markdown)

MihailRis 2024-03-15 12:39:01 +03:00
parent a27c8133e2
commit 86f3a7e109

@ -1,106 +0,0 @@
# Специфические типы
**2D вектор** - пара чисел, разделенная запятой.
Примеры:
- "500,200"
- "0.4,53.01"
- "0,0"
**3D вектор** - три числа, разделенная запятой.
Примеры:
- "60,30,53"
- "0.4,0.1,0.753"
**4D вектор** - четыре числа, разделенная запятой.
Примеры:
- "10,5,10,3"
- "0.1,0.5,0.0,0.0"
**RGBA цвет** - на данный момент доступна только HEX запись.
Примеры:
- "#FF8000" - оранжевый непрозрачный
- "#FFFFFF80" - белый полупрозрачный
- "#000000FF" - черный непрозрачный
# Общие атрибуты элементов
- **id** - идентификатор элемента. Тип: строка.
- **pos** - позиция элемента. Тип: 2D вектор.
- **size** - размер элемента. Тип: 2D вектор.
- **color** - цвет элемента. Тип: RGBA цвет.
- **margin** - внешний отступ элемента. Тип: 4D вектор.
Порядок: *left,top,right,bottom*
- **visible** - видимость элемента. Тип: логический ("true"/"false").
- **position-func** - поставщик позиции элемента (два числа), вызываемый при изменении размера контейнера, в котором находится элемент, либо при добавлении элемента в контейнер. Может быть вызван до вызова on_hud_open.
# Общие атрибуты контейнеров *container*
В число контейнеров также входят панели и кнопки.
- **padding** - внутренний отступ элемента. Тип: 4D вектор.
Порядок: *left,top,right,bottom*
- **scrollable** - возможность скроллинга. Работает только у Panel. Тип: логический.
# Общие атрибуты панелей *panel*
В число панелей также входят кнопки.
- **max-length** - максимальная длина, на которую растягивается панель до начала скроллинга (если scrollable = true). Тип: число
# Основные элементы
## Кнопка *button*
Внутренний текст - текст кнопки.
- **text-align** - выравнивание текста ("left", "center" или "right"). Тип: строка.
- **onclick** - Lua функция вызываемая при нажатии на кнопку.
## Изображение *image*
- **src** - имя изображения в папке textures без указания расширения. Тип: строка. Например *gui/error*
# Текстовое поле *textbox*
Внутренний текст - изначально введенный текст
- **placeholder** - текст подстановки (используется текстовое поле пусто)
- **consumer** - Lua функция-приемник введенного текста. Вызывается только при завершении ввода
## Ползунок *trackbar*
- **min** - минимальное значение. Тип: число. По-умолчанию: 0
- **max** - максимальное значение. Тип: число. По-умолчанию: 1
- **value** - изначальное значение. Тип: число. По-умолчанию: 0
- **step** - размер деления ползунка. Тип: число. По-умолчанию: 1
- **track-width** - ширина указателя (в делениях). Тип: число. По-умолчанию: 1
- **consumer** - Lua функция-приемник установленного значения
- **supplier** - Lua функция-поставщик значения
# Элементы инвентаря
## Инвентарь *inventory*
Элемент является контейнером. На данный момент не имеет специфических атрибутов.
> [!WARNING]
> Расположение инвентарей управляется движком и не может быть изменено свойствами pos, margin и т.д.
## Одиночный слот *slot*
Элемент должен находиться внутри *inventory* элемента, без посредников.
- **index** - индекс слота инвентаря. (Нумерация с 0)
- **item-source** - включает поведение подобное панели контента. Тип: логический
- **sharefunc** - Lua событие вызываемое при использовании ЛКМ + Shift. Передается id инвентаря и индекс слота
- **updatefunc** - Lua событие вызываемое при изменении содержимого слота
- **onrightclick** - Lua событие вызываемое при использовании ПКМ. Передается id инвентаря и индекс слота
## Решетка слотов *slots-grid*
Элемент должен находиться внутри **inventory** элемента, без посредников.
- **start-index** - индекс первого слота. Тип: целое
- **rows** - число рядов (не указывается, если указано cols). Тип: целое
- **cols** - число столбцов (не указывается, если указано rows). Тип: целое
- **count** - общее число слотов (не указывается, если указаны rows и cols). Тип: целое
- **interval** - интервал между слотами. Тип: число.
- **padding** - отступ вокруг решетки слотов. Тип: число. (*атрибут будет удален*)
- **sharefunc** - Lua событие вызываемое при использовании ЛКМ + Shift. Передается id инвентаря и индекс слота
- **updatefunc** - Lua событие вызываемое при изменении содержимого слота
- **onrightclick** - Lua событие вызываемое при использовании ПКМ. Передается id инвентаря и индекс слота