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

м
м
Строка 52: Строка 52:
 
'''Контроллер '''– функция, указанная под идентификатором '''''controller'''''в объекте секции. GuideAPI предоставляет стандартные контроллеры, находящиеся в объекте ''PageControllers'', которые позволяют решить большинство задач.
 
'''Контроллер '''– функция, указанная под идентификатором '''''controller'''''в объекте секции. GuideAPI предоставляет стандартные контроллеры, находящиеся в объекте ''PageControllers'', которые позволяют решить большинство задач.
  
 +
<div class="mw-parser-output">
 
=== BASIC_PAGE ===
 
=== BASIC_PAGE ===
<div class="mw-parser-output">
+
<div class="mw-parser-output">Контроллер ''BASIC_PAGE''&nbsp;позволяет создавать простые страницы с текстом.</div> <div class="mw-parser-output"><syntaxhighlight lang="JavaScript">{
 +
    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" }
 +
    ]
 +
}</syntaxhighlight>
 +
 
 +
Объект '''''elements''''' доступен для использования во всех стандартных контроллерах. Он содержит массив строк, каждая из которых отображается на новой строке. Если текст не влезает в границы секции, он будет перенесён.<br/> Параметры текста:
 +
 
 +
*'''size''' – размер шрифта
 +
*'''color'''&nbsp;– цвет текста(android.graphics.Color.RED, android.graphics.Color.BLUE и тд)
 +
*'''underline''' – подчёркнутый ли текст
 +
*'''bold''' – жирный ли текст
 +
*'''link''' – идентификатор страница, на которую будет осуществлён переход при клике на текст
 +
</div> </div>
 +
 
 
=== ITEM_PAGE ===
 
=== ITEM_PAGE ===
  

Версия 13:11, 22 июня 2019

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

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

</div>