Dailybonus — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Состояния)
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса. Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени.
+
{{TOC right}}
 
+
Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса.[[Файл:Db1.png|thumb|left]] Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени.
[[Файл:Db1.png|thumb|left]]
 
  
 
=='''Основные параметры'''==
 
=='''Основные параметры'''==
 
Имеет основные параметры [[Object|объекта]], но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет.
 
Имеет основные параметры [[Object|объекта]], но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет.
 +
*''таблица'' '''(table)''' - [[Table|Таблица]] в которую будем складывать ячейки с наградами; обязательное поле.
  
*''таблица'' '''(table)''' - Таблица в которую будем складывать ячейки с наградами; обязательное поле
 
  
 
=='''Добавляемые параметры'''==
 
=='''Добавляемые параметры'''==
 
 
[[Файл:Db2.png|thumb|right]]
 
[[Файл:Db2.png|thumb|right]]
 
 
[[Файл:+.png]] '''день''' - Описывает награду за этот день (номер дня = порядковому номеру свойства "день" в списке объекта).
 
[[Файл:+.png]] '''день''' - Описывает награду за этот день (номер дня = порядковому номеру свойства "день" в списке объекта).
*'''объект для таблицы''' - Объект, который представляет графическое отображение награды, должен иметь 4 состояния missed, got, current, future.
+
*'''объект для таблицы''' - Объект, который представляет графическое отображение награды, должен иметь 4 состояния: missed, got, current, future.
*'''объект''' - Объект которому будет указано состояние из следующего поля; в данном объект подразумевается как обработчик события.
+
*'''объект''' - Объект которому будет указано состояние из следующего поля; данный объект подразумевается как обработчик события наступления соответствующего дня.
*'''состояние''' - Состояние в которое переводится объект из предыдущего поля, когда данный день получает статус текущего.
+
*'''состояние''' - Состояние в которое переводится объект из предыдущего поля.
  
 
[[Файл:+.png]] '''день пропущен''' - Свойство для указания обработчика разрыва цепочки ежедневного бонуса.
 
[[Файл:+.png]] '''день пропущен''' - Свойство для указания обработчика разрыва цепочки ежедневного бонуса.
Строка 21: Строка 18:
 
*'''состояние''' - Новое состояние объекта.
 
*'''состояние''' - Новое состояние объекта.
 
=='''Состояния'''==
 
=='''Состояния'''==
*'''check''' - при вызове данного состояния проверяется текущая дата и при необходимости запускается обработчика из свойства "день"/"день пропущен".
+
*'''check''' - при вызове данного состояния проверяется текущая дата и при необходимости запускается обработчик из свойства "день" / "день пропущен".
*'''ok''' - уведомление dailybonus о том что награда за текущий день получена, при этом объект из "день" - "объект" изменяет свое состояние из current в got.
+
*'''ok''' - уведомление dailybonus о том что награда за текущий день получена, при этом объект из "день - объект" изменяет свое состояние с current на got.  Отправляем после окончания анимации, и объект из "день - объект" - переводиться в указанное состояние.
*'''yes''' - если была прервана цепочка бонуса, при вызове этого состояния она будет восстановлена.
+
*'''yes''' - если была прервана цепочка дейлибонуса, при вызове этого состояния она будет восстановлена.
*'''no''' - если была прервана цепочка бонуса, при вызове этого состояния цепочка будет начата с начала.
+
*'''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 нужно иметь отдельный объект для ячейки в таблице. Этот объект нужно указать в поле "объект для таблицы" соответствующего свойства "день". Данный объект реализует настройку анимации ячейки в таблице, в зависимости от статуса дня, которому соответствует данная ячейка. У этого должны быть обязательные состояния:
+
Для каждого дня, указанного в dailybonus нужно иметь отдельный объект для ячейки в таблице, которая отображает награды. Этот объект нужно указать в поле "объект для таблицы" соответствующего свойства "день".
 +
 
 +
Данный объект реализует настройку анимации ячейки в таблице, в зависимости от статуса дня, которому соответствует данная ячейка. У него должны быть обязательные состояния:
 
* missed - в данном состоянии объект будет, если день которому он соответствует, был пропущен;
 
* missed - в данном состоянии объект будет, если день которому он соответствует, был пропущен;
 
* got - в данном состоянии объект будет если награда за день уже получена;
 
* got - в данном состоянии объект будет если награда за день уже получена;

Текущая версия на 13:52, 21 января 2016

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

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