VoxelEngine/doc/ru/5.XML-разметка-интерфейса.md

6.6 KiB
Raw Blame History

XML разметка интерфейса

Специфические типы

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.

Общие атрибуты контейнеров

В число контейнеров также входят панели и кнопки.

  • padding - внутренний отступ элемента. Тип: 4D вектор. Порядок: "left,top,right,bottom"
  • scrollable - возможность скроллинга. Работает только у Panel. Тип: логический.

Общие атрибуты панелей

В число панелей также входят кнопки.

  • max-length - максимальная длина, на которую растягивается панель до начала скроллинга (если scrollable = true). Тип: число

Основные элементы

Кнопка button

Внутренний текст - текст кнопки.

  • text-align - выравнивание текста ("left", "center" или "right"). Тип: строка.
  • onclick - lua функция вызываемая при нажатии на кнопку.

Изображение image

  • src - имя изображения в папке textures без указания расширения. Тип: строка. Например gui/error

Изображение 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 инвентаря и индекс слота