LTML & Builder API


Подключенные Using

Подключенные dll

LTML API (2.0)

 Графические новости LTML 2.0 имеет такой же принцип отображения, как и HTML. Это и есть верстка!

LTML 2.0 работает на лаунчерах, не старше 0.0.1.3 версии.

апи этот используется в NewsLB.xml и в модах, так как там тоже используется компиляция скрипта. Никто не мешает вам в xml писать с апи Builder. При этом важно в настройках выключить проверку обновлений, чтобы файл NewsLB.xml не перезаписывался на новый!


<Control .../> - Компонент Win forms. В нем есть свои атрибуты.

Type="" - Указание типа компонента. Поддерживаются все типы Win forms компонентов.

PosX, PosY - Позиция компонента.

ScaX, ScaY - Размер компонента.

Name="" - Имя компонента.

ID="" - ID компонента. Указывается вручную.

Describe="" - Описание компонента, выводится при наведении курсора мыши на объект.

Text="" - Текст на компоненте, если он поддерживает это.

Parent="(Name)" - Какой компонент будет родителем компонента, в котором этот атрибут указан. Нужно Указать Имя компонента.

AnchorUP,DOWN,LEFT,RIGHT - якоря компонента. Как будет растягиваться компонент при изменении размера формы.

AutoScroll="bool" - Автоскрол компонента, если он поддерживает его.

Поддерживает Panel.

AutoSize"bool" - Автоматический размер объекта. 

BackColor="white" - Цвет компонента. Указать можно только системные цвета.

ForeColor="white" - Цвет шрифта текста у компонента.

Font="Calibri" - Шрифт текста у компонента.

FontSize="14" - Размер шрифта у компонента.

Href0="" Href1="" Href2="" - Ссылка на изображение. Можно использовать на выбор атрибут, несколько атрибутов склеивают текст в одну ссылку. & - не поддерживается xml, поэтому было реализовано такое решение. Вы можете указывать ссылки на изображение, а можно использовать встроенные: 

lightbox, lightboxlogo, lightboxlogoAlpha, lightboxlogoBeta, background1, background2, background3, youtube ,discord, telegram, vk.

URL="" - Ссылка у компонента. Активируется при нажатии на компонент.

Ссылка пишется в текст компонента.

DataTime="" - Если компонент содержит текст, то записывается текущая дата и время. Активируется при написанном атрибуте.

OnClick="action" - Устаревшая фича LTML с версии 1.0, но может быть использована. Она поддерживает три события:

OnClick="destroy" - Уничтожает компонент при нажатии на него.

OnClick="destroyfortime" - Прячет компонент и через 1 секунду показывает его при нажатии на компонент.

OnClick="showform" - Показывает форму Windows, показывает форму, если название формы указано в имени компонента. Не рекомендуем к использованию.

Link="" - используется в компоненте RichTextBox. Переходит по ссылке при нажатии на компонент.

Show="" - при указании атрибута в теге форма показывается сразу.<Control Type="Form" Show="">

LinkTag="" - Переход по ссылке, но ссылка указывается в тег компонента.

Пример: <Control Type="Panel" PosX="5" PosY="5" ScaX="100" ScaY="100" Name="NewPanel" ID="1" Parent="OldPanel" Describe="Я панель" Text="Это панель" OnClick="destroy" BackColor="white" ForeColor="black" Font="Segoy UI" FontSize="12"/>


<News ...></News> - Это шапка-заголовок формы новостей. здесь есть повторяющиеся команды: BackColor, Font, FontSize, BackgroundImage. Но есть команды:

Label="" - Текст заголовка.

MinVersion="0.0.0.9" - Минимальная версия лаунчера, которая поддерживается новостями.

OkVersion="0.0.0.9" - Версия, где терпимо отображаются элементы новостей.

LauncherVersion="0.0.1.3" - Актуальная версия лаунчера.

Есть порядок написания всех этих компонентов. Пример: <News Label="новости" ...><Control Type="Label".../></News>


LTML - Апи, с помощью которого вы можете делать многие вещи с новостным блоком.

Здесь мы выложили справочный материал по этому апи.


Run="" - запуск скрипта по нажатию на компонент, в котором атрибут Run написан.

RunNow="" - запуск скрипта при появлении формы лаунчера.

Эти атрибуты вставляются сюда: <Control Type="Label" RunNow="" или Run="" или вместе>


Используется C# для выполнения кода. Вы можете взаимодействовать с объектами как угодно. Апи не ограничивает вас. (Рекомендуем изучить разработку приложений win forms для более хорошего понимания).


Также важно понимать, что обычные двойные ковычки в xml не работают! поэтому используются: ^. 


LTML:

GetObjectByID(int id) - можно получить объект по указанному id.

GetObjectByIDArray(int id) - можно получить массив объектов с указанным id.

GetObjectByName(string name) - можно получить объект по указанному имени.

GetObjectByNameArray(string name) - можно получить массив объектов по указанному имени.

GetObjectByIDName(int id, string name) - получение объекта по id и имени.

GetObjectByIDNameArray(int id, string name) - получение массива объектов по id и имени.

GetNewsPanel() - получение формы новостей, куда все компоненты помещаются.

GetForm() - получает форму лаунчера.

GetLeftPanel() - получает левую панель, где версии и кнопка "Играть".

Info() - получение информации о LTML.

Version - float переменная, версия LTML.

Builder API

Используется C# для выполнения кода. Вы можете взаимодействовать с объектами как угодно. Апи не ограничивает вас. (Рекомендуем изучить разработку приложений win forms для более хорошего понимания).

Как создавать моды на 2D builder

 При первом запуске игры она сама создает папки в папке с проектом: 2Dbuilder и 2Dbuilder\mods. 

Чтобы создать мод, нужно создать в папке mods папку с названием мода, причем это важно! название папки и является названием мода!

Теперь вы можете в папке мода создать script.cs для создания выполняемого скрипта, но это не все! Вы можете добавлять свои блоки и картинки.

для этого в папке мода создайте еще папку с названием блока.

Теперь в папке с названием блока вы можете создать script.cs, но нас интересует создание текстуры блока. мы должны в папке с блоком создать файл texture.png и сделать блок размером 25x25, чтобы корректно было. Можно ставить и больше размер, но это будет не блок, а картинка. Когда вы создали мод, в котором создали блок, вы можете проверить его, запустив в лаунчере 2д билдер и открыв меню с блоками, то есть инвентарь.