Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Комната Salet ====== Класс ''SaletRoom'' - это основной класс комнат Salet. <wrap em>2.0</wrap> Также см. класс [[ru:api:container|Контейнер]], который наследует Комната. ===== Свойства CoffeeScript ===== ==== visited ==== Количество раз, которое игрок посетил эту комнату. У новых комнат, конечно, равно ''0''. ==== name ==== ID комнаты. По этому **уникальному** ID движок может найти эту комнату. Обязательное свойство. ==== title ==== Название комнаты. Используется при генерации списка путей ("вы можете пройти в: …") и, возможно, при управлении историей браузера (зависит от браузера). Нужно, если вы используете свойство ''ways''. ==== canView ==== Флаг, который показывает, будет ли комната отображаться в автогенерируемом списке вариантов выбора. По умолчанию ''true''. ==== canChoose ==== Флаг, который показывает, будет ли текст ''[[#optionText|optionText]]'' комнаты преобразовываться в ссылку в автогенерируемом списке вариантов выбора. По умолчанию ''true''. ==== priority ==== Приоритет; используется для сортировки вариантов выбора **до** того, как они будут отфильтрованы по ''[[#maxChoices]]''. Сортировка идёт по убыванию, поэтому комната с наибольшим приоритетом останется в списке. ==== displayOrder ==== Порядок; используется для сортировки вариантов выбора **после** того, как они отфильтрованы по ''[[#maxChoices]]''. ==== canSave ==== Флаг, который показывает, может ли игрок сохраниться в этой комнате. Если ''[[ru:api:salet#autosave|salet.autosave]]'' включён, то этот же флаг определяет, будет ли игра автоматически сохраняться в этой комнате. По умолчанию ''true''. ==== ways ==== Массив ID комнат, в которые можно выйти из этой комнаты. Связи односторонние, т.е. если выйти куда-то из этой комнаты, то вы не обязательно сможете вернуться тем же путём. По этому массиву игра автоматически делает список связанных комнат, который показывается отдельным блоком. Используйте функции ''[[#link|link]]'' и ''[[#bilink|bilink]]'', чтобы управлять связями. ==== choices ==== Перечисление тегов или комнат, по которому генерируется автоматический список вариантов выбора. Теги задаются в формате ''#тег''; Salet уже ищет все комнаты, где в массиве ''[[#tags|tags]]'' есть ''тег''. Комнаты задаются по ID без префиксов. **Пример:** ''choices = '#капуста' '' ==== maxChoices ==== Если это свойство задано, то оно ограничивает длину автоматического списка вариантов выбора. То есть, если ''maxChoices = 4'', то в автосписке этой комнаты будет не больше четырёх вариантов. ==== tags ==== Массив тегов, которые ассоциированы с этой комнатой, см. ''[[#choices|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|canExit]]'' не проверяется. По умолчанию ''false'' ==== act ==== Системная функция, обработчик всех ссылок в этой комнате. **Аргумент:** цель ссылки. ==== register ==== Системная функция, регистрирует комнату в списке комнат Salet. ==== link ==== Связывает эту комнату с указанной, добавляя связь в массив ''[[#ways|ways]]''. **Аргумент:** ID (''[[#name|name]]'') комнаты. ==== bilink ==== Связывает эту комнату с указанной и указанную с этой, устанавливая двустороннюю связь. См. ''[[#ways|ways]]'' **Аргумент:** ID (''[[#name|name]]'') комнаты. ==== beforeChoices ==== Вызывается перед выводом вариантов выбора в указанной комнате. Возвращённое значение выводится в текст игры в формате Markdown. ==== afterChoices ==== Вызывается перед выводом вариантов выбора в указанной комнате. Возвращённое значение выводится в текст игры в формате Markdown. {{tag>api}} ru/api/room.txt Последнее изменение: 2021/01/24 10:42 — 127.0.0.1