GuideAPI

GuideAPI

GuideAPI – мод-библиотека, предоставляющая большие возможности для создания игровых документаций.
ModAPI.addAPICallback("GuideAPI", function(api) {
    const GuideAPI = api.GuideAPI;
    const GuideHelper = api.GuideHelper;
    const PageControllers = api.PageControllers;

    IDRegistry.genItemID("testGuide");
    Item.createItem("testGuide", "Test Guide", {
        name: "stick"
    });

    GuideAPI.registerGuide("guideTest", {
        item: ItemID.testGuide,
        debug: false,
        textures: {
            background: "your_texture",
            nextLink: "your_texture",
            preLink: "your_texture",
            close: "your_texture",
        },
        pages: {
            "default": {
                nextLink: "test",
                left: {
                    controller: PageControllers.BASIC_PAGE,
                    elements: []
                },

                right: {
                    controller: PageControllers.BASIC_PAGE,
                    elements: []
                }
            }
        }
    });
});

Регистрация происходит через метод GuideAPI.registerGuide(unique, params), где unique – уникальный идентификатор, params – объект с параметрами.
Параметры:

  • Объект textures задаёт текстуры для интерфейса. Если не объявлен, будет использоваться стандартное оформление
    • background – текстура заднего фона
    • nextLink– текстура для кнопки “вперёд”
    • preLink – текстура для кнопки “назад”
    • сlose – текстура для кнопки закрытия интерфейса
  • Объект item задаёт ид предмета, при клике которым происходит открытие интерфейса. Является необязательным параметром
  • Если debug объявлен и равен true, у интерфейса вызывается метод setDebugEnabled(true)
  • Объект pages содержит страницы. Каждая имеет правую(right) и левую(left) секции, для которых задаются контроллеры(controller). Любую из них можно пропустить. nextLink содержит идентификатор страницы, на которую происходит переход при нажатии кнопки “вперёд”, preLinkпри нажатии кнопки “назад”. При открытии интерфейса происходит загрузка страницы с идентификатором default.
 

Контроллеры

Контроллер – функция, указанная под идентификатором controller в объекте секции. GuideAPI предоставляет стандартные контроллеры, находящиеся в объекте PageControllers, которые позволяют решить большинство задач.

BASIC_PAGE

Контроллер BASIC_PAGE позволяет создавать простые страницы с текстом.
{
    controller: PageControllers.BASIC_PAGE,
    elements: [
        {text: "I'm simple text!" },
        { text: "I'm big text!", size: 20 },
        { text: "I'm red text!", color: android.graphics.Color.RED },
        { text: "I'm underlined bold text!", underline: true, bold: true },
        { text: "I'm link. Click me, please!", color: android.graphics.Color.BLUE, link: "page2" }
    ]
}

Объект elements доступен для использования во всех стандартных контроллерах. Он содержит массив строк, каждая из которых отображается на новой строке. Если текст не влезает в границы секции, он будет перенесён.
Параметры текста:

  • size – размер шрифта
  • color – цвет текста(android.graphics.Color.RED, android.graphics.Color.BLUE и тд)
  • underline – подчёркнутый ли текст
  • bold – жирный ли текст
  • link – идентификатор страница, на которую будет осуществлён переход при клике на текст

ITEM_PAGE

ITEM_GRID_PAGE

OTO_RECIPE_PAGE

GRID_3x3_PAGE

Создание собственных контроллеров