Ядро Salet

Класс Salet; единственный экземпляр этого класса автоматически доступен как window.salet.

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

Системное свойство, которое хранит все таймеры игры.

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: адрес ссылки

Системная функция; обработчик ссылок.

Следующий шаг после processClick. Добавляет ссылку в стек выполнения, вызывает на каждой ссылке стека processOneLink, мотает экран до нового текста.

Аргумент 1: адрес ссылки

Системная функция; обработчик одной ссылки.

Ровно выполнение перехода, ничего лишнего.

Аргумент 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

Системная функция, проверяет и вызывает все установленные таймеры.

Вызывается после каждого клика в игре.

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