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

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

Версия 12: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

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