Etasktemplate

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

Данный объект представляет собой темплейт задач, которые будут помещены в таблицу для шаблонов (tabletemplate) таскорганайзера.

Etasktemplate .png
Etasktemplate complete.png

Параметры

  • taskorganizer - Объект типа taskorganizer, который использует темплейт;
  • eanalysis - Объект типа eanalysis;
  • название - Текстовый объект куда будет занесено название задачи, берется из поля word текстового id задачи;
  • описание - Текстовый объект куда будет занесено описание задачи, берется из поля sentence1 текстового id задача для активной задачи и sentence2 - для выполненной;
  • описание подзадачи - Текстовый объект куда будет занесен текст из поля описания в первой подзадаче типа предмет данной задачи
  • название локации - Название локации для генерируемых тасков (для обычных - невидимо);
  • иконка - Иконка задания (ico1);
  • иконка 2 - Вторая иконка задания, для активной задачи ресурс ico2, для выполненной ico3;
  • машина состояния - Машина, которая получит одно из состояний таска (new, active, completed)
  • выполнено - Счетчик, куда будет занесен текущий прогресс;
  • всего - Счетчик, куда будет занесен необходимый прогресс;
  • прогресс - Прогресс (отношение текущего к необходимому);
  • награда ресурс 1 - Счетчик награды ресурс 1;
  • награда ресурс 2 - Счетчик награды ресурс 2;
  • награда опыт - Счетчик награды опыта;
  • кнопка - Кнопка. Отображается для активных задач, для которой текущий прогресс меньше необходимого;
  • кнопка2 - Кнопка. Отображается для активных задач, для которой текущий прогресс равен необходимому;
  • кнопка искать - Кнопка;
  • кнопка экспертиза (не начата) - Кнопка экспертиза (не начата);
  • кнопка экспертиза (в процессе) - Кнопка экспертиза (в процессе);
  • кнопка экспертиза (завершена) - Кнопка экспертиза (завершена);
  • таймер экспертизы - Таймер экспертизы;
  • награда предмет иконка - Иконка награды-предмета;
  • награда количество - Количество предметов в награде;
  • таймер - таймер, в который сложим время на выполнение задачи;
  • штраф репутации - счетчик, в который сложим штраф за проваленное задание;
  • отметка выполненной задачи - Галочка видимая для выполненных задач и невидимая для невыполненных;
  • актуализировать в таймере - Нужно ли объекту повторно актуализировать себя в таймере запомненной задачей (только режим копии). Нет = 0, да = 1.
  • иконка ресурса - Иконка ресурса, отображаемого следующим каунтером. Должна иметь состояния en - энергия, res1, res2, res3.
  • необходимо ресурса - Счетчик, куда будет занесена необходимая для игры в монстра или локацию энергия, деньги для ускорения экспертизы и т.д. См. предыдущее поле.
  • эффект новой задачи - Эффект, который будет склонирован для новой задачи;
  • эффект выполнения ресурс 1 - Эффект, который будет склонирован для выполненной задачи;
  • эффект выполнения ресурс 2 - Эффект, который будет склонирован для выполненной задачи;
  • эффект выполнения опыт - Эффект, который будет склонирован для выполненной задачи;
  • эффект выполнения отметка - Эффект, который будет склонирован для выполненной задачи;
  • эффект выполнения fail - Эффект, который будет склонирован для задачи, у которой кончилось время;
  • эффект выполнения исчезание - Эффект, который будет склонирован для выполненной задачи;
  • поиск для монстра - Действие состояния search для подзадачи монстр.


Связь с объектом типа eanalysis

Кнопка экспертизы может быть в трех состояниях:

  • не начата - в этом случае игроку только предлагается пройти экспертизу. Например, в таком случае ребенком кнопки можно сделать текстовый объект с соответствующей надписью. Например "Анализ".
  • в процессе - экспертиза уже запущена и идет процесс. Тут, например, можно показать таймер с отсчетом времени до конца экспертизы. Его как раз и помещают в Etasktemplate, в поле "таймер экспертизы".
  • выполнена - экспертиза выполнена, отображается соответствующая кнопка. Например, "Читать".

Отметка выполненной задачи

Графический ресурс (например галочка), который отображается, когда задача выполнена. Реализуется в виде машины состояний.

Правила для отметки задачи и эффектов выполнения

  • Каждый эффект начинается с состояния beg и обязан перейти в finish
  • В состоянии beg эффект запускается в координатах ячейки таблицы. В этом же состоянии перебивать координаты нельзя. Поэтому все остальные действия отображения эффекта лучше делать в состоянии beg_.
  • Эффект исчезания таска начнется только после перехода в finish эффекта отметки (например, анимация галочки выполненных тасков)

Дополнительные кнопки

Нажатием правой кнопки мыши на поле объекта Etasktemplate можно добавлять дополнительные кнопки, которые отображаются на специфических задачах. Например "Играть", "Искать", "Получить" (таск cross-promo), "Нравится" (таск оценить приложение).

Номер кнопки соответствует порядковому номеру этой кнопки в объекте Etasktemplate. Нумерация начинается с нуля. Например, в Taskorganizer указана кнопка 1 для автоматически генерируемых задач. Это значит, что эта кнопка должна быть указана в поле "дополнительные кнопки" второй.

Все кнопки, для отдельных задач, указываются в Taskorganizer setup.

Состояния

  • take - должно вызываться кнопкой или кнопкой2, при вызове состояния в объект записываются параметры:
    • clicked_task_id - id таска, на темплейте которого была нажата кнопка или кнопка2;
    • clicked_task_x - координата x центра ячейки, относительно пивота таблицы, в которой была нажата кнопка или кнопка2;
    • clicked_task_y - координата y центра ячейки, относительно пивота таблицы, в которой была нажата кнопка или кнопка2;
  • complete - запускается анимация удаления таска из таблицы. При вызове complete в сам темплейт автоматически записывается параметр "need_effect". В need_effect хранится информация о том, есть ли еще таски, которые выполнены и требуют завершения и воспроизведения должных эффектов.
    • Если need_effect = 1, то такие эффекты еще есть, значит вызываем снова complete.
    • Если need_effect = 0, то тасок больше нет, все завершенные таски последовательно воспроизвели все свои эффекты. Вызываем состояние refresh_templates для таскорганайзера. При вызове refresh_templates таскорганайзеру запускается анимация добавления новых тасков в таблицу, если такие есть.

Реализация таймерных тасков

Таймерные таски - таски, в которых указано время на выполнение.

  • для таймерных тасков указываем время на их выполнения в поле для таймера в Etasktemplate. Таймер будет виден только если время в задаче > 0.
  • в поле "штраф репутации" указываем репутацию, которая отнимется у игрока в случае невыполнения задания. Счетчик будет виден, если поле заполнено в Taskorganizer setup.
  • если в таймтаске требуется подзадача опции (например, выполнить действие три раза), то используем счетчики "всего" и "выполнено" в Etasktemplate.
  • эффект выполнения fail используется в случае невыполнения таймерного таска. Работает так же как "эффект выполнения отметка" полностью. Начинается с состояния beg и обязан перейти в finish. После себя инициирует исчезание, если переведен в finish. Дополнительно этот эффект следует указать в Taskorganizer setup <property name="изменить состояние объекта - таймаут" label="изменить состояние объекта если какая-то задача кончилась таймаутом.">