Store
InApp покупки в игре позволяют продавать отдельные бонусы, паки и т.п.
Задание InApp идентификаторов
Для их подключения необходимо:
- поместить на глобальное окно (например, там, где находятся options) объект store. Для этого, на сцену этого окна перетаскивается любая картинка и у неё меняется тип объекта на store.
- в настройках свойств этого объекта нажимаем правую кнопку мыши и добавляем раздел "in-app покупка", кликая на который, в окне помечаем галочку у "внутренний id покупки" и "id покупки для iOS".
- В первом поле "id покупки" записываем текстовый идентификатор инапа. Это может быть любая строка, уникальная для каждого инапа. Если в строке встречаются точки, то информация о покупках будет сохранятся в поддиректориях опций. Эта строка будет использоваться в игре объектами для выяснения того, была ли уже проведена покупка или нет.
- Во втором поле "iOS id покупки" записывается идентификатор этого инапа на Apple Store. Аналогично можно добавить инап для Android.
- Далее таким же образом добавляется следующий инап.
В результате окно настроек объекта выглядит примерно таким образом:
Использование InApp идентификаторов
Если из игры необходимо инициировать процесс покупки, в результате нажатия на кнопку, этой кнопки добавляется раздел "совершить in-app покупку" (как обычно, правой кнопкой мыши). В нем отмечаются галочками поля:
- внутренний id покупки - тот же, что и "id покупки" в объекте store
- объект - слушатель успеха
- состояние успеха
- объект - слушатель неудачи
- состояние неудачи
После нажатия на эту кнопку произойдет обращение к магазину. В этот момент поверх экрана игры будет рисоваться клип прогресса, определяемый в options (такой же, как и при переходах между экранами).
Если игрок произвел покупку, объект, заданный в поле "объект (успех)" будет переведен в состояние "состояние (успех)" (третье поле). В этом объекте (обычно машина состояний) может быть активированы некоторые действий (например, спрятаны замочки, блокирующие продаваемый бонус). Одновременно с этим, в раздел опций, соответствующий полю "внутренний id покупки" будет записана 1 (покупка совершена). Это поле может в дальнейшем вычитываться различными игровыми объектами.
Если покупка не была совершена (нет интернета, игрок не стал её делать и т.п.) спустя некоторое время "объект (провал)" будет переведен в "состояние (провал)". В этом объекте можно, например, открыть окно, сообщающее, что покупка не может быть произведена и инап не активирован.