Комната Salet

Класс SaletRoom - это основной класс комнат Salet.

2.0 Также см. класс Контейнер, который наследует Комната.

visited

Количество раз, которое игрок посетил эту комнату. У новых комнат, конечно, равно 0.

name

ID комнаты. По этому уникальному ID движок может найти эту комнату. Обязательное свойство.

title

Название комнаты. Используется при генерации списка путей ("вы можете пройти в: …") и, возможно, при управлении историей браузера (зависит от браузера). Нужно, если вы используете свойство ways.

canView

Флаг, который показывает, будет ли комната отображаться в автогенерируемом списке вариантов выбора. По умолчанию true.

canChoose

Флаг, который показывает, будет ли текст optionText комнаты преобразовываться в ссылку в автогенерируемом списке вариантов выбора. По умолчанию true.

priority

Приоритет; используется для сортировки вариантов выбора до того, как они будут отфильтрованы по maxChoices. Сортировка идёт по убыванию, поэтому комната с наибольшим приоритетом останется в списке.

displayOrder

Порядок; используется для сортировки вариантов выбора после того, как они отфильтрованы по maxChoices.

canSave

Флаг, который показывает, может ли игрок сохраниться в этой комнате. Если salet.autosave включён, то этот же флаг определяет, будет ли игра автоматически сохраняться в этой комнате. По умолчанию true.

ways

Массив ID комнат, в которые можно выйти из этой комнаты. Связи односторонние, т.е. если выйти куда-то из этой комнаты, то вы не обязательно сможете вернуться тем же путём. По этому массиву игра автоматически делает список связанных комнат, который показывается отдельным блоком. Используйте функции link и bilink, чтобы управлять связями.

choices

Перечисление тегов или комнат, по которому генерируется автоматический список вариантов выбора. Теги задаются в формате #тег; Salet уже ищет все комнаты, где в массиве tags есть тег. Комнаты задаются по ID без префиксов.

Пример: choices = '#капуста'

maxChoices

Если это свойство задано, то оно ограничивает длину автоматического списка вариантов выбора.

То есть, если maxChoices = 4, то в автосписке этой комнаты будет не больше четырёх вариантов.

tags

Массив тегов, которые ассоциированы с этой комнатой, см. choices. Теги перечисляются без дополнительных модификаторов, т.е. не #тег, а тег

Пример: tags = ['жуть', 'ответ', 'капуста']

optionText

Текст ссылки, которая выводится в автоматическом списке вариантов выбора. Ссылка ведёт на эту комнату. Текст обрабатывается Markdown и может быть любым HTML.

(если функция) Аргумент: имя текущей комнаты

dsc

Описание комнаты. Выводится каждый раз при входе в комнату.

extendSection

Флаг, который показывает, нужно ли продолжать предыдущую секцию при входе в комнату. Если false, то переход будет незаметным в транскрипте игры. По умолчанию true.

clear

Флаг, который показывает, нужно ли очищать экран при входе в эту комнату. По умолчанию true.

writers

Объект, который хранит обработчики ссылок вида _writer_*, _replacer_*, _inserter_*.

Ссылка вида _writer_<id> вызывает функцию writers.<id>, вывод которой записывается в конец транскрипта.

Ссылка вида _replacer_<id> вызывает функцию writers.<id>, которая заменяют текст транскрипта в блоке #<id> на свой вывод.

Ссылка вида _inserter_<id> вызывает функцию writers.<id>, вывод которых записывается в блок транскрипта #<id> (не в конце текста).

unitDelimiter

Строка, которая разделяет описания элементов при выводе. По умолчанию - одиночный пробел.

canExit

Функция вызывается каждый раз, когда игрок покидает комнату.

Если она возвращает false, то выход из комнаты считается запрещённым, и игрока тут же возвращают обратно. При этом переход в новую комнату заканчивается и происходит форсированный переход в старую комнату из новой.

По умолчанию возвращает true. Может быть булевым значением, а не функцией.

Аргумент: ID комнаты, в которую вышел игрок

entering

Системная функция, которая обрабатывает вход в комнату.

Аргумент 1: ID комнаты, из которой вышел игрок

Аргумент 2: флаг форсированного входа; если true, то canExit не проверяется. По умолчанию false

act

Системная функция, обработчик всех ссылок в этой комнате.

Аргумент: цель ссылки.

register

Системная функция, регистрирует комнату в списке комнат Salet.

Связывает эту комнату с указанной, добавляя связь в массив ways.

Аргумент: ID (name) комнаты.

Связывает эту комнату с указанной и указанную с этой, устанавливая двустороннюю связь. См. ways

Аргумент: ID (name) комнаты.

beforeChoices

Вызывается перед выводом вариантов выбора в указанной комнате.

Возвращённое значение выводится в текст игры в формате Markdown.

afterChoices

Вызывается перед выводом вариантов выбора в указанной комнате.

Возвращённое значение выводится в текст игры в формате Markdown.

  • ru/api/room.txt
  • Последние изменения: 2017/11/09 15:18
  • Alexander Yakovlev