Показать исходный текстИстория страницыСсылки сюдаНаверх Поделиться через Поделиться через... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit TeamsНедавние измененияОтправить по эл.почтеПечатьПостоянная ссылка × Содержание Ядро Salet Свойства CoffeeScript character game_id game_version autosave autoload verbs rnd time startTime current interactive linkStack progress view start rooms timers Методы CoffeeScript init enter afterEnter beforeAction afterAction exit getSituationIdChoices getCurrentRoom getSaveId goTo processClick processLink processOneLink goBack doTransitionTo eraseSave getRoomsTagged saveGame loadGame getSave beginGame here isVisited addTimer dropTimer resetTimer checkTimer Ядро Salet Класс Salet; единственный экземпляр этого класса автоматически доступен как window.salet. Свойства CoffeeScript character Экземпляр класса Character, персонаж игры. Все свойства в этом классе, которые могут быть сериализованы (т.е. не функции), попадают в сохранение. game_id Уникальное ID игры, произвольная строка. Отвечает за слот сохранения. Вы должны переопределить это свойство в своей игре, или вы будете делить сохранения с другими играми (что сломает все игры) game_version Версия игры, произвольная строка. Также отвечает за слот сохранения (каждой версии - отдельный слот). autosave Флаг автосохранения. Если true, то Salet будет сохранять игру при входе в каждую комнату, в которой не выставлено canSave = false. По умолчанию true. autoload Флаг автозагрузки. Если true, то Salet будет автоматически загружать сохранённую игру при загрузке страницы. Если вы выставляете это в false, то предполагается что у вас есть свой интерфейс для загрузки игры, также см. loadGame. verbs 2.0 Список доступных глаголов. Формат: ID - текст, например: "examine": "Examine" Salet входит в режим глаголов, есть массив salet.verbs не пуст, а в текущей комнате нет доступных вариантов выбора. rnd Экземпляр класса Random. time Время в секундах, которое прошло с момента начала игры. Дробное число. startTime Дата в секундах, когда началась игра. Дробное число, считается как Unix time. current ID текущей комнаты, в которой находится игрок. interactive Флаг, который показывает, в каком режиме находится Salet. Если true, то идёт игра; если false, то идёт загрузка игры (неинтерактивный режим). linkStack Системный объект; стек ссылок, которые ещё не разобраны. progress Системный объект; данные сохранения, которые будут сохранены. Содержит зерно ГСЧ seed, последовательность пройденных ссылок sequence, последовательность посещённых комнат path и время сохранения saveTime. view Системный объект; экземпляр класса SaletView start ID начальной комнаты, по умолчанию start rooms Системный объект; хранит все комнаты игры. timers Системное свойство, которое хранит все таймеры игры. Методы CoffeeScript init Функция, которая вызывается при начале игры. Её удобно переопределить в игре, чтобы выставить начальное состояние. (Это также можно делать в обработчиках входа enter начальной комнаты) enter Функция, которая вызывается каждый раз при входе в какую-либо комнату перед тем, как вызывается обработчик enter новой комнаты. Аргумент 1: ID старой комнаты Аргумент 2: ID новой комнаты afterEnter Функция, которая вызывается каждый раз при входе в какую-либо комнату после того, как вход произошёл и текст уже выведен. Аргумент 1: ID старой комнаты Аргумент 2: ID новой комнаты beforeAction Функция, которая вызывается каждый раз перед выполнением какого-либо действия в комнате. Если она возвращает true, то действие считается поглощённым, и обработчик действия в комнате не вызывается. Аргумент 1: ID комнаты Аргумент 2: ID действия afterAction Функция, которая вызывается каждый раз после выполнения какого-либо действия в комнате. Аргумент 1: ID комнаты Аргумент 2: ID действия exit Функция, которая вызывается каждый раз при выходе из какой-либо комнаты перед тем, как вызывается обработчик exit старой комнаты. Аргумент 1: ID старой комнаты Аргумент 2: ID новой комнаты getSituationIdChoices Системная функция, которая собирает список комнат по указанному тегу и фильтрует его по размеру. Вызывается при создании автосписков неявного выбора. Аргумент 1: тег для фильтра Аргумент 2: максимальная длина списка на выходе getCurrentRoom Возвращает комнату, в которой находится игрок. getSaveId Возвращает ID сохранения. goTo Перемещает игрока в другую комнату. Синоним для processClick. Аргумент: ID комнаты processClick Системная функция; обработчик одной ссылки. Вызывается как реакция на клик извне. Сохраняет время клика и добавляет шаг в историю (которую можно отматывать и которая используется при загрузке сейвов). Аргумент 1: адрес ссылки processLink Системная функция; обработчик ссылок. Следующий шаг после processClick. Добавляет ссылку в стек выполнения, вызывает на каждой ссылке стека processOneLink, мотает экран до нового текста. Аргумент 1: адрес ссылки processOneLink Системная функция; обработчик одной ссылки. Ровно выполнение перехода, ничего лишнего. Аргумент 1: адрес ссылки goBack Возврат на N комнат назад. Это не отмена, а именно движение назад по истории. N = 1 — это текущая комната. Аргумент: количество комнат для отмотки, по умолчанию 2 doTransitionTo Системная функция; перемещение между комнатами. Аргумент 1: ID новой комнаты Аргумент 2: флаг форсированного перемешения (передаётся обработчикам), по умолчанию false eraseSave Показывает предупреждение "вы точно хотите очистить сохранение?". Если пользователь соглашается, то очищает сохранение. Аргумент: флаг форсированной очистки (не показывает предупреждение), по умолчанию false getRoomsTagged Возвращает массив комнат с указанным тегом. Аргумент: тег для поиска saveGame Сохранение игры. loadGame Загрузка игры из данных сохранения. Аргумент: данные сохранения getSave Функция, которая возвращает данные сохранения. beginGame СИстемная функция; инициализирует Salet и начинает игру. Выполняет функцию init, загружает игру если найдено сохранение и выставлен флаг autoload. here Синоним для getCurrentRoom isVisited Возвращает true, если игрок уже посетил указанную комнату. Аргумент: ID комнаты addTimer Функция добавляет таймер в игру. Таймер - это текст или функция, которая выполнится через несколько ходов. Ход - это каждый клик мышкой (действие в игре). Таймер может быть повторяемым (выполняется каждый ход номер step) или одноразовым (удаляется после первого срабатывания). Аргумент 1: имя таймера. Обязательный. Аргумент 2: действие таймера. Обязательный. Может быть строкой или функцией. Возвращаемое значение функции дописывается в главное окно игры. Аргумент 3: флаг повторения. По умолчанию false. Аргумент 4: количество ходов. По умолчанию 1. dropTimer Функция необратимо удаляет указанный таймер. Аргумент: имя таймера resetTimer Функция сбрасывает указанный таймер. Аргумент: имя таймера checkTimer Системная функция, проверяет и вызывает все установленные таймеры. Вызывается после каждого клика в игре. api ru/api/core.txt Последнее изменение: 2021/01/24 10:42 — 127.0.0.1