Показать исходный текстИстория страницыСсылки сюдаНаверх Поделиться Поделиться... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer RedditНедавние измененияОтправить на эл. почтуПечатьПостоянная ссылка × Содержание Комната Salet Свойства CoffeeScript visited name title canView canChoose priority displayOrder canSave ways choices maxChoices tags optionText dsc extendSection clear writers unitDelimiter Методы CoffeeScript canExit entering act register link bilink beforeChoices afterChoices Комната Salet Класс SaletRoom - это основной класс комнат Salet. 2.0 Также см. класс Контейнер, который наследует Комната. Свойства CoffeeScript 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 Строка, которая разделяет описания элементов при выводе. По умолчанию - одиночный пробел. Методы CoffeeScript canExit Функция вызывается каждый раз, когда игрок покидает комнату. Если она возвращает false, то выход из комнаты считается запрещённым, и игрока тут же возвращают обратно. При этом переход в новую комнату заканчивается и происходит форсированный переход в старую комнату из новой. По умолчанию возвращает true. Может быть булевым значением, а не функцией. Аргумент: ID комнаты, в которую вышел игрок entering Системная функция, которая обрабатывает вход в комнату. Аргумент 1: ID комнаты, из которой вышел игрок Аргумент 2: флаг форсированного входа; если true, то canExit не проверяется. По умолчанию false act Системная функция, обработчик всех ссылок в этой комнате. Аргумент: цель ссылки. register Системная функция, регистрирует комнату в списке комнат Salet. link Связывает эту комнату с указанной, добавляя связь в массив ways. Аргумент: ID (name) комнаты. bilink Связывает эту комнату с указанной и указанную с этой, устанавливая двустороннюю связь. См. ways Аргумент: ID (name) комнаты. beforeChoices Вызывается перед выводом вариантов выбора в указанной комнате. Возвращённое значение выводится в текст игры в формате Markdown. afterChoices Вызывается перед выводом вариантов выбора в указанной комнате. Возвращённое значение выводится в текст игры в формате Markdown. api ru/api/room.txt Последнее изменение: 2021/01/24 10:42(внешнее изменение)