GuideAPI — различия между версиями

м
м
Строка 46: Строка 46:
 
*Объект '''pages''' содержит страницы. Каждая имеет правую'''''(right)''''' и левую'''''(left)''''' секции, для которых задаются контроллеры'''''(controller)'''''. Любую из них можно пропустить. '''''nextLink'''''содержит идентификатор страницы, на которую происходит переход при нажатии кнопки “вперёд”, '''''preLink'''''при нажатии кнопки “назад”. При открытии интерфейса происходит загрузка страницы с идентификатором '''''default'''''.  
 
*Объект '''pages''' содержит страницы. Каждая имеет правую'''''(right)''''' и левую'''''(left)''''' секции, для которых задаются контроллеры'''''(controller)'''''. Любую из них можно пропустить. '''''nextLink'''''содержит идентификатор страницы, на которую происходит переход при нажатии кнопки “вперёд”, '''''preLink'''''при нажатии кнопки “назад”. При открытии интерфейса происходит загрузка страницы с идентификатором '''''default'''''.  
  
 +
<div class="mw-parser-output">
 
== Контроллеры ==
 
== Контроллеры ==
</div> </div>
+
 
 +
'''Контроллер '''– функция, указанная под идентификатором '''''controller'''''в объекте секции. GuideAPI предоставляет стандартные контроллеры, находящиеся в объекте ''PageControllers'', которые позволяют решить большинство задач.
 +
 
 +
=== BASIC_PAGE ===
 +
 
 +
== ITEM_PAGE ==
 +
 
 +
=== ITEM_GRID_PAGE ===
 +
 
 +
=== OTO_RECIPE_PAGE ===
 +
 
 +
=== GRID_3x3_PAGE ===
 +
 
 +
=== Создание собственных контроллеров ===
 +
</div>

Версия 12:05, 22 июня 2019

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

ITEM_PAGE

ITEM_GRID_PAGE

OTO_RECIPE_PAGE

GRID_3x3_PAGE

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