Dailybonus — различия между версиями
Vefimov (обсуждение | вклад) |
Sadovoy (обсуждение | вклад) (→Состояния) |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
− | Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса. Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени. | + | {{TOC right}} |
− | + | Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса.[[Файл:Db1.png|thumb|left]] Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени. | |
− | |||
=='''Основные параметры'''== | =='''Основные параметры'''== | ||
Имеет основные параметры [[Object|объекта]], но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет. | Имеет основные параметры [[Object|объекта]], но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет. | ||
+ | *''таблица'' '''(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 о том что награда за текущий день получена, при этом объект из "день | + | *'''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
Данный объект предназначен для управления механизмом ежедневного бонуса за вход в игру. Позволяет задавать произвольное количество ежедневных наград, а также обработать событие прерывания цепочки ежедневного бонуса.
Управляет таблицей ежедневного бонуса и анимацией ее ячеек. Подсчет текущей даты производится автоматически, на основании системного времени.
Основные параметры
Имеет основные параметры объекта, но практического применения они не имеют, так как объект предназначен только для управления и графического отображения не имеет.
- таблица (table) - Таблица в которую будем складывать ячейки с наградами; обязательное поле.
Добавляемые параметры
день - Описывает награду за этот день (номер дня = порядковому номеру свойства "день" в списке объекта).
- объект для таблицы - Объект, который представляет графическое отображение награды, должен иметь 4 состояния: missed, got, current, future.
- объект - Объект которому будет указано состояние из следующего поля; данный объект подразумевается как обработчик события наступления соответствующего дня.
- состояние - Состояние в которое переводится объект из предыдущего поля.
день пропущен - Свойство для указания обработчика разрыва цепочки ежедневного бонуса.
- объект - Объект, состояние которого нужно изменить.
- состояние - Новое состояние объекта.
Состояния
- 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'ом автоматически.
Пример
S:\!MOBILE\!!!EditorGames\Wiki_sample
Daily_bonus.zip