Dailybonus

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса.

Db1.png

Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени.

Основные параметры

Имеет основные параметры объекта, но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет.

  • таблица (table) - Таблица в которую будем складывать ячейки с наградами; обязательное поле.


Добавляемые параметры

Db2.png

+.png день - Описывает награду за этот день (номер дня = порядковому номеру свойства "день" в списке объекта).

  • объект для таблицы - Объект, который представляет графическое отображение награды, должен иметь 4 состояния: missed, got, current, future.
  • объект - Объект которому будет указано состояние из следующего поля; данный объект подразумевается как обработчик события наступления соответствующего дня.
  • состояние - Состояние в которое переводится объект из предыдущего поля.

+.png день пропущен - Свойство для указания обработчика разрыва цепочки ежедневного бонуса.

  • объект - Объект, состояние которого нужно изменить.
  • состояние - Новое состояние объекта.

Состояния

  • check - при вызове данного состояния проверяется текущая дата и при необходимости запускается обработчик из свойства "день" / "день пропущен".
  • ok - уведомление dailybonus о том что награда за текущий день получена, при этом объект из "день - объект" изменяет свое состояние с current на got. Отправляем после окончания анимации, и объект из "день - объект" - переводиться в указанное состояние.
  • yes - если была прервана цепочка дейлибонуса, при вызове этого состояния она будет восстановлена.
  • no - если была прервана цепочка дейлибонуса, при вызове этого состояния цепочка будет начата с начала.

Вычитаемые параметры

  • current_day - номер обрабатываемого дня (пропущенного / текущего); нумерация начинается с 0, соответствует порядку указания свойств "день" в dailybonus; также сохраняется в объект Options, в текущий профиль, по ключу dailybonus(id_объекта_dailybonus).ld.
  • all_missed_days - количество пропущенных дней.
  • missed_days - устаревший параметр, сейчас всегда = 1.

Для изменения номера дня записанного в параметре dailybonus(id_объекта_dailybonus).ld, также нужно установить в параметре dailybonus(id_объекта_dailybonus).lt значение = (текущая_дата - сутки(86900)) в секундах. Это нужно делать до инициализации объекта dailybonus.

Объект для таблицы

Для каждого дня, указанного в dailybonus нужно иметь отдельный объект для ячейки в таблице, которая отображает награды. Этот объект нужно указать в поле "объект для таблицы" соответствующего свойства "день".

Данный объект реализует настройку анимации ячейки в таблице, в зависимости от статуса дня, которому соответствует данная ячейка. У него должны быть обязательные состояния:

  • missed - в данном состоянии объект будет, если день которому он соответствует, был пропущен;
  • got - в данном состоянии объект будет если награда за день уже получена;
  • current - данный день - текущий, награда еще не получена (dailybonus не передавали состояния ok);
  • future - отображение ячейки, если ее день еще не настал.

Данные состояния вызываются dailybonus'ом автоматически.

Db3.png

Пример

S:\!MOBILE\!!!EditorGames\Wiki_sample

Daily_bonus.zip