Builder

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

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

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

  • economics - объект типа economics. Нужен для взаимодействия с балансом и предметами.
  • builderitem - шаблон здания. Описание тут. Если шаблон указан в этом поле, то он является общим для всех клонируемых объектов зданий. Если какие-либо из зданий мы хотим сделать уникальными, то для них шаблон указывается в builder setup.

Окно подтверждения апгрейда

Окно, которое открывается когда мы хотим построить или улучшить здание. Содержит общую информацию о локации, а также необходимые предметы для улучшения.

  • иконка до - иконка здания до улучшения\постройки
  • иконка после - иконка здания после улучшения\постройки
  • название - ссылка на текстовый объект названия здания. Берется из текстового id здания (sense0), который указан в builder setup
  • описание - ссылка на текстовый объект описания здания. Берется из текстового id здания (sense1), который указан в builder setup
  • уровень до - ссылка на счетчик, в который складывается значение уровня здания до улучшения. Т.к. уровня начинаются с 0, то для непостроенного здания в этот счетчик попадет значение -1
  • уровень после - ссылка на счетчик, в который складывается значение уровня здания после улучшения
  • время улучшения - ссылка на таймер, в который складывается время необходимое на улучшение. Таймер не запускается, а просто служит в качестве форматного контейнера для времени
  • опыт за улучшение - ссылка на счетчик, в который сложится разовый опыт за улучшение\постройку здания
  • цена за все - ссылка на счетчик, в который сложится общая цена со скидкой на необходимые компоненты(предметы) для улучшения\постройки здания
  • кнопка купить все - ссылка на кнопку, по нажатию на которую покупаются все недостающие предметы. Кнопка должна передать состояние \\TODO
  • кнопка улучшить - ссылка на кнопку, которая должна передать билдеру состояние 'upgrade', предварительно записав в 'param' id здания
  • таблица - ссылка на таблицу, в которую сложатся все шаблоны предметов, необходимых для постройки\апгрейда здания
  • обычная постройка res1 - ссылка на счетчик, в который кладется стоимость апгрейда здания в res1
  • buildercomponent - ссылка на объект шаблона компонента для постройки здания
  • само окно - окно улучшения\постройки здания. Должно иметь состояние show

builder setup

builder setup
builder setup

В этом разделе содержатся настройки для каждого здания. Условно это окно можно разделить на 3 блока:

  1. строение и настройки для строения
  2. уровень улучшения и настройки уровня улучшения
  3. предмет для постройки и настройки предмета, а также дополнительные условия для апгрейда

Строение добавляется по нажатию на кнопку Add1 (Удаляется Delete1).

Строение

  • id - текстовый id, уникальный идентификатор строения
  • builderitem - в случае, если нужно использовать уникальный вид строения, то сюда помещается ссылка на шаблон здания builderitem
  • parent - в случае, если это здание использует общий для всех шаблон builderitem, то сюда помещается обект, в который после клонирования вложится этот шаблон. Этот объект необходим для размещения зданий на карте
  • иконка(непостроенного) - ссылка на resID графики непостроенного здания. Т.е. его внешний вид до первого апгрейда
  • иконка(строительства) - ссылка на resID графики процесса строительства\апгрейда

Уровень улучшения

  • иконка - ссылка на resID графики здания на этом уровне
  • время постройки - время в секундах, необходимое для улучшения на этот уровень с предыдущего
  • время прибыли - время генерации прибыли в секундах
  • постройка res1 - стоимость обычной постройки в res1
  • мгновенная постройка res1 - стоимость мгновенного завершения строительства в res1
  • мгновенная постройка res2 - стоимость мгновенного завершения строительства в res2
  • опыт - опыт, даваемый разово за улучшение
  • прибыль монеты - постоянно генерируемая прибыль зданием на этом уровне в res1
  • прибыль кристаллы - постоянно генерируемая прибыль зданием на этом уровне в res2

Предмет для постройки для апгрейда

  • id - текстовый id предмета, необходимого для улучшения на этот уровень
  • num - количество предметов из поля выше

Дополнительное условие для апгрейда

  • поле в опциях - название поля в опциях (автоматически ищет в текущем пользователе)
  • значение - значение указанного выше поля в опциях необходимое для улучшения на этот уровень

Состояния

  • update - вызывается для актуализации состояния зданий. Есть смысл делать при заходе на карту
  • buy_component - вызывается из шаблона компонента buildercomponent, по нажатию на соответствующую кнопку шаблона
  • upgrade_wnd - вызывается из шаблона builderitem, предварительно записав в param id здания. Открывает окно улучшения здания
  • upgrade_instantly - вызывается из шаблона builderitem, предварительно записав в param id здания. Мгновенно завершает строительство

Пример

Файл:Builder test.zip