Cloud — различия между версиями
Vlegkun (обсуждение | вклад) (→Сообщения в лог) |
Vgolob (обсуждение | вклад) (→parse друзья и подарки) |
||
(не показано 36 промежуточных версий 5 участников) | |||
Строка 11: | Строка 11: | ||
*'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее) | *'''cloud major field''' - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее) | ||
*'''автоприменение''' - Применять лучшие опции автоматически. Если "нет" то нужно подтверждение пользователя. | *'''автоприменение''' - Применять лучшие опции автоматически. Если "нет" то нужно подтверждение пользователя. | ||
+ | *'''esocial''' - объект типа esocial для получения списка друзей. | ||
+ | *'''повторять лоад раз''' - количество повторов parse_load при неуспехе, если не отсутствие интернета. | ||
+ | *'''автолоад''' - автоматически вызывать parse_load при логине в социальной сети. | ||
==parse leaderboards== | ==parse leaderboards== | ||
Строка 17: | Строка 20: | ||
*'''очки''' - Очки для отправки. Валидное целое число! | *'''очки''' - Очки для отправки. Валидное целое число! | ||
*'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон". | *'''таблица''' - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон". | ||
− | *'''шаблон''' - объект типа | + | *'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу |
*'''свое место''' - каунтер в котором будет место игрока | *'''свое место''' - каунтер в котором будет место игрока | ||
*'''свои очки''' - каунтер в котором будут очки игрока | *'''свои очки''' - каунтер в котором будут очки игрока | ||
+ | *'''своя иконка''' - иконка игрока | ||
*'''запрашивать записей''' - сколько записей запросить из таблицы | *'''запрашивать записей''' - сколько записей запросить из таблицы | ||
+ | *'''всегда запрашивать''' - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1) | ||
+ | *'''дефолтное имя''' - если у нас все еще нет имени человека, вместо него будет эта строка | ||
+ | *'''специальная сортировка''' ( special_sort ) - специальная сортировка, по лвлу ( задаём "1" когда открываем лидерборды глобальные/ друзей; ставим "0" в лидерах монстров/локаций) | ||
+ | *'''анимация смены мест''' - анимация смены мест игроком (нет=0, да=1) | ||
− | == | + | *'''периодический лидерборд''' - Периодический лидерборд в parse |
+ | *'''(периодический) таблица''' - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон" | ||
+ | *'''(периодический) таблица предыдущая''' - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон" | ||
+ | *'''(периодический) шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу текущего лидерборда | ||
+ | *'''(периодический) шаблон предыдущий''' - объект типа [[Leaderboardsitem]] для помещения в таблицу предыдущего лидерборда | ||
+ | *'''(периодический) свое место''' - каунтер в котором будет место игрока | ||
+ | *'''(периодический) свои очки''' - каунтер в котором будут очки игрока | ||
+ | *'''(периодический) своя иконка''' - иконка игрока | ||
+ | *'''(периодический) таймер''' - иконка игрока | ||
+ | *'''(периодический) запрашивать записей''' - сколько записей запросить из таблицы | ||
+ | *'''(периодический) анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1) | ||
+ | *'''(периодический) в предыдущую таблицу только себя''' - в предыдущую таблицу только себя (нет=0, да=1) | ||
+ | *'''(периодический) таблица наград''' - объект-таблица, в который сложим шаблоны наград | ||
+ | *'''(периодический) шаблон награды''' - объект типа rewarditem | ||
+ | ==parse голосовалка== | ||
− | [[Файл:+.png]] ''' | + | *'''таблица''' - объект-таблица, в который сложим ответы; |
+ | *'''шаблон''' - объект типа pollitem для помещения в таблицу; | ||
+ | *'''название''' - текстовый объект, куда мы сложим название опроса; | ||
+ | *'''таблица пред.''' - объект-таблица, в который сложим ответы; | ||
+ | *'''шаблон пред.''' - объект типа pollitem для помещения в таблицу; | ||
+ | *'''название пред.''' - текстовый объект, куда мы сложим название опроса; | ||
+ | *'''время''' - объект типа таймер, куда мы сложим оставшееся время опроса; | ||
+ | *'''текст шаринга''' - текст шаринга. | ||
+ | |||
+ | ==parse друзья и подарки== | ||
+ | |||
+ | *'''таблица''' - объект-таблица, в который сложим шаблон [[Leaderboardsitem]]; | ||
+ | *'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу; | ||
+ | *'''добавить приглашаемых''' - "сколько приглашаемых друзей добавить к играющим друзьям; | ||
+ | *'''прятать одаренных''' - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок. !!! если выбрано "да", то параметр опций parse_friends_num учитывает только неодаренных друзей; чтобы узнать общее количество друзей, использовать parse_friends_all | ||
+ | *'''сохранять первых ячеек''' - сколько первых ячеек таблицы сохранять при очистке | ||
+ | |||
+ | ==parse запросы дружбы== | ||
+ | |||
+ | *'''текст запроса дружбы''' - Текстовый айди для исходящего запроса дружбы; | ||
+ | *'''окно''' - Само окно. Должно иметь состояние show; | ||
+ | *'''иконка''' - Портрет приглашающего; | ||
+ | *'''имя''' - Имя приглашающего; | ||
+ | *'''таблица инвайтов''' - таблица, в которую сложим все инвайты; | ||
+ | *'''шаблон инвайта (inviteitem)''' - Шаблон инвайта для помещения в таблицу. | ||
+ | |||
+ | ==parse окно обгона в таблице лидеров== | ||
+ | |||
+ | *'''кого leaderboardsitem''' - кого leaderboardsitem | ||
+ | *'''кто leaderboardsitem''' - кто leaderboardsitem | ||
+ | *'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз. | ||
+ | |||
+ | ==parse окно обгона для периодических лидербордов== | ||
+ | |||
+ | *'''кого leaderboardsitem''' - кого leaderboardsitem | ||
+ | *'''кто leaderboardsitem''' - кто leaderboardsitem | ||
+ | *'''машина''' - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз. | ||
+ | |||
+ | ==Приглашение в мультиплеер== | ||
+ | *'''multiplayer''' - объект мультиплеера | ||
+ | *'''информация''' - информация о приглашающем, объект типа leaderboardsitem | ||
+ | |||
+ | ==Боты для лидербордов== | ||
+ | *'''конфиг''' - файл с настройками ботов | ||
+ | *'''имена ботов в оффлайне''' - имена ботов, если они генерятся в оффлайне | ||
+ | *'''имена игрока в оффлайне''' - имя игрока в оффлайне | ||
+ | |||
+ | Файл конфига умеет создавать "economicalCycle" (пока только боты для локаций, ModeWorkEconomicalCycle="2" + указываем нужное количество ботов - "bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1"). | ||
+ | |||
+ | =Добавляемые свойства= | ||
+ | |||
+ | ==Обработчики для синхронизации== | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''параметр, синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse. | ||
+ | *'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр | ||
+ | *'''параметр''' - имя параметра в группе, общее для различных приложений | ||
+ | *'''объект''' - объект у которого синхронизируем параметр. | ||
+ | *'''параметр объекта''' - параметр который синхронизируем. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае отсутствия данных на сервере, не требует дополнительных запросов. | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] ''' | + | [[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов. |
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'', показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply'', не синхронизировать - ''parse_isolate''. | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] ''' | + | [[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', необходимо перегрузить лайаут. |
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] ''' | + | [[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - ''parse_apply_server'', не синхронизировать - ''parse_isolate''. |
− | *'''объект''' - объект | + | *'''объект''' - объект, состояние которого меняем. |
− | *'''состояние''' - | + | *'''состояние''' - новое состояние для объекта из предыдущего поля. |
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', необходимо перезагрузить лэйаут. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate'', необходимо вызывать ''parse_save''. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние'''- новое состояние для объекта из предыдущего поля. | ||
+ | |||
− | [[Файл:+.png]] ''' | + | [[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate'', необходимо вызывать ''parse_load''. |
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
− | + | ||
− | + | ||
− | [[Файл:+.png]] ''' | + | [[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик успеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения. |
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем '''ErrorManager'''. | ||
+ | *'''объект''' - объект у которого мы меняем состояние. | ||
+ | *'''состояние''' - Значение нового состояния. | ||
+ | |||
+ | ==Обработчики голосования== | ||
− | [[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' | + | [[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' - обработчик успеха ''parse_poll'' |
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
− | [[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' | + | [[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' - обработчик успеха ''parse_vote'' |
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
− | + | ||
+ | ==Обработчики для лидербордов== | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно загружены лидерборды''' - обработчик успеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', выключаем "крутилку" | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''невозможно загрузить лидерборды из-за objectId''' - обработчик неуспеха ''parse_leaderboards'', ''parse_leaderboards_friends'' и ''parse_leaderboards_friends_param'', которая происходит из-за неуспешного ''parse_load'' (в этом случае ''parse_load'' необходимо повторить) | ||
+ | *'''объект''' - объект, состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''добавляемые лидерборды''' - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д. | ||
+ | *'''id''' - Идентификатор набора интерфейсных элементов, указывать нужно '''default''' для таблицы, в которую помещаются общие лидеры, для остальных не нужно | ||
+ | *'''имя лидербордов''' - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове ''parse_leaderbords_friends_param'' | ||
+ | *'''таблица''' - объект-таблица, в который сложим очки | ||
+ | *'''шаблон''' - объект типа [[Leaderboardsitem]] для помещения в таблицу | ||
+ | *'''свое место''' - каунтер в котором будет место игрока | ||
+ | *'''свои очки''' - каунтер в котором будут очки игрока | ||
+ | *'''своя иконка''' - иконка игрока | ||
+ | *'''кого leaderboardsitem''' - кого leaderboardsitem" hint="кого leaderboardsitem | ||
+ | *'''кто leaderboardsitem''' - кто leaderboardsitem" hint="кто leaderboardsitem | ||
+ | *'''машина''' - собственно машина окна. Должна иметь состояние show | ||
+ | *'''анимация смены мест''' - Анимация смены мест игроком (нет=0, да=1) | ||
+ | |||
+ | ==Обработчики для друзей и подарков== | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно загружены друзья''' - обработчик успеха ''parse_friends'', выключаем "крутилку" | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''отправлен запрос дружбы''' - обработчик успеха ''parse_friend_request_lb'', ''parse_friend_request_public'', ''parse_friend_request_param'', показываем информационное окно | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''отправлен подарок''' - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | ==Обработчики для временных лидербордов (соревнований)== | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''загружена информация о всех лидербордах - соревнования НЕ сменились''' - обработчик успеха ''parse_all_leaderboards'', вызываем ''parse_leaderboards_temporary'' и ''parse_leaderboards_temporary_prev'' при условии, что находимся не в окне соревнований | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''игрок потенциально попал в лидерборды прошлого периода''' - обработчик успеха ''parse_all_leaderboards'' - неинформативный, решили не использовать | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''у игрока призовое место в лидербордах прошлого периода и не забрана награда''' - обработчик успеха ''parse_all_leaderboards'', можно повести игрока забрать награду за предыдущий период соревнований | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''завершились лидерборды предыдущего периода''' - обработчик успеха ''parse_leaderboards_temporary'', вызываем ''parse_all_leaderboards'', показываем информационное окно с информацией о том, что идет подсчет результатов | ||
+ | *'''объект''' - объект - состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''невозможно загрузить лидерборды из-за levelId''' - обработчик неуспеха ''parse_leaderboards_temporary'', которая происходит из-за неуспеха ''parse_all_leaderboards'' (в этом случае ''parse_all_leaderboards'' желательно повторить) | ||
+ | *'''объект''' - объект, состояние которого меняем, | ||
+ | *'''состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''индикатор награды за временные лидерборды''' - визуализация награды за временные лидерборды | ||
+ | *'''res1''' - счетчик - награда за лидерство в res1, | ||
+ | *'''res2''' - счетчик - награда за лидерство в res2, | ||
+ | *'''item''' - иконка предмета - награды за лидерство, | ||
+ | *'''item num''' - счетчик предмета - награды за лидерство. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''лидеры предыдущего этапа временных лидербордов''' - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал) | ||
+ | *'''leaderboardsitem''' - объект типа [[Leaderboardsitem]]. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''периодические лидерборды''' - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики | ||
+ | *'''имя''' - Периодический лидерборд в parse (название таблицы) | ||
+ | *'''min''' - Минимальный уровень экономики | ||
+ | *'''max''' - Максимальный уровень экономики | ||
+ | |||
+ | ==Общие обработчики== | ||
+ | |||
+ | |||
[[Файл:+.png]] '''запрос в парсе успешно выполнен (любой)''' - обработчик успеха любого запроса. | [[Файл:+.png]] '''запрос в парсе успешно выполнен (любой)''' - обработчик успеха любого запроса. | ||
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
− | + | ||
− | [[Файл:+.png]] ''' | + | ==Обработчики для мультиплеера== |
+ | |||
+ | [[Файл:+.png]] '''приглашение в мультиплеер''' - когда мы получили приглашение поиграть. | ||
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
− | + | [[Файл:+.png]] '''подтверждение приглашения в мультиплеер''' - когда приняли наше приглашение поиграть. | |
− | [[Файл:+.png]] ''' | ||
*'''объект''' - объект, состояние которого меняем. | *'''объект''' - объект, состояние которого меняем. | ||
*'''состояние''' - новое состояние для объекта из предыдущего поля. | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | =Особенности использования= | ||
+ | |||
+ | Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове ''parse_load''. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались). | ||
+ | |||
+ | =Состояния= | ||
− | + | *'''0 - local_device_synchronization''' - синхронизация параметров между приложениями одного устройства; | |
− | *''' | + | |
− | *''' | + | *'''1 - parse_resolve''' - ресолвим конфликт и ждем подтверждения; |
+ | |||
+ | *'''2 - parse_idle''' - состояние простоя, означает, что мы не ждем ответа ни на один запрос; | ||
+ | |||
+ | *'''3 - parse_load''' - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ; | ||
+ | |||
+ | *'''4 - parse_save''' - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save); | ||
+ | |||
+ | *'''5 - parse_leaderboards''' - загрузить лидерборды из парса и сложить в соответствующую таблицу; | ||
+ | |||
+ | *'''6 - parse_leaderboards_friends''' - загрузить лидерборды из парса и сложить в соответствующую таблицу; | ||
+ | |||
+ | *'''7 - parse_submit''' - заслать очки в парс взяв очки из поля score и уровень из поля level; | ||
+ | |||
+ | *'''8 - parse_apply''' - применить скачанные опции; | ||
+ | |||
+ | *'''9 - parse_get_public_lb''' - скопировать паблик данные кликнутого юзера из лидербордов в доступную область; | ||
+ | |||
+ | *'''10 - parse_poll''' - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов; | ||
+ | |||
+ | *'''11 - parse_poll_prev''' - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2; | ||
+ | |||
+ | *'''12 - parse_vote''' - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?; | ||
+ | |||
+ | *'''13 - parse_share_poll''' - зашарить результаты текущего опроса; | ||
+ | |||
+ | *'''14 - parse_forced_save''' - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save); | ||
+ | |||
+ | *'''15 - parse_apply_server''' - применить опции и отправить ресолв; | ||
+ | |||
+ | *'''16 - parse_clear_notifications''' - отписаться от уведомлений; | ||
+ | |||
+ | *'''17 - parse_add_notification''' - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса); | ||
+ | |||
+ | *'''18 - parse_time''' - запросить время; | ||
+ | |||
+ | *'''19 - parse_friends''' - заполнить таблицу всех друзей (новые подарки); | ||
+ | |||
+ | *'''20 - parse_isolate''' - отказаться от слияния аккаунтов; | ||
+ | |||
+ | *'''21 - parse_un_isolate''' - отменить изоляцию; | ||
+ | |||
+ | *'''22 - parse_cancel_apply''' - отменить синхронизацию и разрешить сейвы; | ||
+ | *'''23 - scroll_friends_to_lb''' - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов; | ||
− | + | *'''24 - '''номер зарезервирован | |
− | *''' | ||
− | |||
+ | *'''25 - '''номер зарезервирован | ||
− | + | *'''26 - '''номер зарезервирован | |
− | *''' | ||
− | |||
− | |||
− | |||
− | + | *'''27 - parse_flush_notifications''' - принудительно зафлушить нотификейшены, если мы этого не делали ранее; | |
− | + | *'''28 - parse_all_leaderboards''' - получение информации по всем лидербордам, возможное обнуление текущих очков. | |
− | |||
− | |||
− | |||
− | + | *'''29 - parse_submit_temporary''' - сабмит очков в temporary лидерборд; | |
− | *''' | + | *'''30 - parse_leaderboards_temporary''' - получение таблицы temporary лидерборда; |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *'''31 - parse_leaderboards_temporary_prev''' - получение таблицы результатов предыдущего периода в temporary лидерборде; | |
− | + | *'''32 - parse_leaderboards_claim''' - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде; | |
− | |||
+ | *'''33 - parse_leaderboards_animation''' - старт анимации перемещения ячеек таблицы в temporary лидерборде; | ||
− | + | *'''34 - parse_friend_request_param''' - приглашение дружить, в param указать object_id; | |
− | |||
− | + | *'''35 - parse_friend_request_lb''' - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов; | |
− | *''' | + | *'''36 - parse_friend_confirm''' - подтверждение дружбы из окна ''parse запросы дружбы''; |
− | *''' | + | *'''37 - parse_friend_cancel''' - отмена дружбы из окна ''parse запросы дружбы''; |
− | *''' | + | *'''38 - parse_friend_confirm_table''' - подтверждение дружбы из таблицы инвайтов ''parse запросы дружбы''; |
− | *''' | + | *'''39 - parse_friend_cancel_table''' - отмена дружбы из таблицы инвайтов ''parse запросы дружбы''; |
− | *''' | + | *'''40 - parse_friend_request_public''' - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок); |
− | |||
− | |||
− | *''' | + | *'''41 - parse_friend_delete_public''' - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр ''selected_public.cloud_is_friend'' у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок); |
− | *''' | + | *'''42 - parse_friend_check_requests''' - проверить входящие запросы (инвайты, подарки...); |
− | *''' | + | *'''43 - parse_leaderboards_friends_param''' - показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.; |
− | *''' | + | *'''44 - parse_get_public_fr''' - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область; |
− | *''' | + | *'''45 - parse_scroll_temporary_on_me''' - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан); |
− | *''' | + | *'''46 - parse_bots_info''' - получить информацию о ботах отдельно от периодических лидербордов. |
− | *''' | + | *'''47 - get_country''' - получить страну |
− | *''' | + | *'''48 - parse_scroll_default_on_me''' - промотать таблицу default на меня |
− | *''' | + | *'''49 - parse_info''' - получить инфо о пользователе взяв objectId из param |
− | *''' | + | *'''50 - parse_invitable''' - заполнить таблицу приглашаемых друзей |
− | + | =Сообщения в лог= | |
− | + | Объект пишет в опции строки: | |
+ | I/GCloud GCloud::state() state val = 2 state = 3 | ||
− | |||
− | + | Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект. | |
− | |||
− | |||
− | |||
==Коды ошибок:== | ==Коды ошибок:== | ||
+ | |||
*'''6''' - опрос закончился; | *'''6''' - опрос закончился; | ||
*'''7''' - ошибка версионности; | *'''7''' - ошибка версионности; | ||
Строка 180: | Строка 405: | ||
В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003 | В прочих случаях код ошибки будет '''2000 + номер состояния''', т.е. для лоада, например ошибка будет 2000 + 3 = 2003 | ||
+ | Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек): | ||
+ | '''4000 + номер состояния''', т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья) | ||
+ | |||
+ | Для обработки ошибок использовать [[Errormanager|ErrorManager]]. | ||
[[Category:Options|*]] | [[Category:Options|*]] |
Текущая версия на 14:39, 23 мая 2018
Объект необходим для синхронизации приложения с облаком.
Содержание
Параметры объекта Cloud
parse general
- app - Код приложения из parse
- key - Ключ приложения из parse
- имя игры - Наше внутреннее имя игры в parse
- имя игрока - Имя игрока. Заполнить до любых вызовов состояний
- cloud major field - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)
- автоприменение - Применять лучшие опции автоматически. Если "нет" то нужно подтверждение пользователя.
- esocial - объект типа esocial для получения списка друзей.
- повторять лоад раз - количество повторов parse_load при неуспехе, если не отсутствие интернета.
- автолоад - автоматически вызывать parse_load при логине в социальной сети.
parse leaderboards
- лидерборд - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!
- очки - Очки для отправки. Валидное целое число!
- таблица - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон".
- шаблон - объект типа Leaderboardsitem для помещения в таблицу
- свое место - каунтер в котором будет место игрока
- свои очки - каунтер в котором будут очки игрока
- своя иконка - иконка игрока
- запрашивать записей - сколько записей запросить из таблицы
- всегда запрашивать - запрашивать лидерборды даже если есть кешированные данные (нет=0, да=1)
- дефолтное имя - если у нас все еще нет имени человека, вместо него будет эта строка
- специальная сортировка ( special_sort ) - специальная сортировка, по лвлу ( задаём "1" когда открываем лидерборды глобальные/ друзей; ставим "0" в лидерах монстров/локаций)
- анимация смены мест - анимация смены мест игроком (нет=0, да=1)
- периодический лидерборд - Периодический лидерборд в parse
- (периодический) таблица - объект-таблица, в который сложим очки за текущий период. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон"
- (периодический) таблица предыдущая - объект-таблица, в который сложим очки предыдущего периода. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон"
- (периодический) шаблон - объект типа Leaderboardsitem для помещения в таблицу текущего лидерборда
- (периодический) шаблон предыдущий - объект типа Leaderboardsitem для помещения в таблицу предыдущего лидерборда
- (периодический) свое место - каунтер в котором будет место игрока
- (периодический) свои очки - каунтер в котором будут очки игрока
- (периодический) своя иконка - иконка игрока
- (периодический) таймер - иконка игрока
- (периодический) запрашивать записей - сколько записей запросить из таблицы
- (периодический) анимация смены мест - Анимация смены мест игроком (нет=0, да=1)
- (периодический) в предыдущую таблицу только себя - в предыдущую таблицу только себя (нет=0, да=1)
- (периодический) таблица наград - объект-таблица, в который сложим шаблоны наград
- (периодический) шаблон награды - объект типа rewarditem
parse голосовалка
- таблица - объект-таблица, в который сложим ответы;
- шаблон - объект типа pollitem для помещения в таблицу;
- название - текстовый объект, куда мы сложим название опроса;
- таблица пред. - объект-таблица, в который сложим ответы;
- шаблон пред. - объект типа pollitem для помещения в таблицу;
- название пред. - текстовый объект, куда мы сложим название опроса;
- время - объект типа таймер, куда мы сложим оставшееся время опроса;
- текст шаринга - текст шаринга.
parse друзья и подарки
- таблица - объект-таблица, в который сложим шаблон Leaderboardsitem;
- шаблон - объект типа Leaderboardsitem для помещения в таблицу;
- добавить приглашаемых - "сколько приглашаемых друзей добавить к играющим друзьям;
- прятать одаренных - нет - в таблице все друзья; да - в таблице скрыты те, кому дарили подарок. !!! если выбрано "да", то параметр опций parse_friends_num учитывает только неодаренных друзей; чтобы узнать общее количество друзей, использовать parse_friends_all
- сохранять первых ячеек - сколько первых ячеек таблицы сохранять при очистке
parse запросы дружбы
- текст запроса дружбы - Текстовый айди для исходящего запроса дружбы;
- окно - Само окно. Должно иметь состояние show;
- иконка - Портрет приглашающего;
- имя - Имя приглашающего;
- таблица инвайтов - таблица, в которую сложим все инвайты;
- шаблон инвайта (inviteitem) - Шаблон инвайта для помещения в таблицу.
parse окно обгона в таблице лидеров
- кого leaderboardsitem - кого leaderboardsitem
- кто leaderboardsitem - кто leaderboardsitem
- машина - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.
parse окно обгона для периодических лидербордов
- кого leaderboardsitem - кого leaderboardsitem
- кто leaderboardsitem - кто leaderboardsitem
- машина - собственно машина окна (или просто обработчик обгона). Должна иметь состояния show_up и show_down, соответственно при обгоне вверх и вниз.
Приглашение в мультиплеер
- multiplayer - объект мультиплеера
- информация - информация о приглашающем, объект типа leaderboardsitem
Боты для лидербордов
- конфиг - файл с настройками ботов
- имена ботов в оффлайне - имена ботов, если они генерятся в оффлайне
- имена игрока в оффлайне - имя игрока в оффлайне
Файл конфига умеет создавать "economicalCycle" (пока только боты для локаций, ModeWorkEconomicalCycle="2" + указываем нужное количество ботов - "bot_loc=k_sc0=1.077#k_scMax=0.71#name=bot1").
Добавляемые свойства
Обработчики для синхронизации
параметр, синхронизируемый параметр между приложениями устройства - позволяет синхронизировать конкретный параметр между разными приложениями через parse.
- группа - имя группы, общее для различных приложений, которые синхронизируют данный параметр
- параметр - имя параметра в группе, общее для различных приложений
- объект - объект у которого синхронизируем параметр.
- параметр объекта - параметр который синхронизируем.
нечего загружать из cloud: изменить состояние объекта - обработчик успеха parse_load в случае отсутствия данных на сервере, не требует дополнительных запросов.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
в cloud опции хуже, не применям их: изменить состояние объекта - обработчик успеха parse_load в случае, когда данные на сервере хуже, чем на текущем устройстве, не требует дополнительных запросов.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
подтверждение применения данных из cloud: изменить состояние объекта - обработчик успеха parse_load в случае наличия данных на сервере с таким же device_id, показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - parse_apply, не синхронизировать - parse_isolate.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
применены данные из cloud: изменить состояние объекта - обработчик успеха parse_apply, необходимо перегрузить лайаут.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта - обработчик успеха parse_load в случае наличия двух комплектов данных на сервере (например, по facebook_id), показываем игроку окно с предложением синхронизироваться. В окне 2 кнопки: синхронизировать - parse_apply_server, не синхронизировать - parse_isolate.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проведен серверный resolve - обработчик успеха parse_apply_server, необходимо перезагрузить лэйаут.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проведена изоляция - обработчик успеха parse_isolate, необходимо вызывать parse_save.
- объект - объект, состояние которого меняем.
- состояние- новое состояние для объекта из предыдущего поля.
успешно проведена разизоляция - обработчик успеха parse_un_isolate, необходимо вызывать parse_load.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
ошибка, нужно обновить приложение - обработчик успеха parse_load, когда версия текущего приложения ниже, чем версия опциях на сервере, показываем окно с кнопкой, ведущей на стор для обновления приложения.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
ошибка загрузки данных из cloud: изменить состояние объекта - сейчас не применяется, т.к. используем ErrorManager.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
Обработчики голосования
голосование загружено: изменить состояние объекта - обработчик успеха parse_poll
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проголосовали: изменить состояние объекта - обработчик успеха parse_vote
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
Обработчики для лидербордов
успешно загружены лидерборды - обработчик успеха parse_leaderboards, parse_leaderboards_friends и parse_leaderboards_friends_param, выключаем "крутилку"
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
невозможно загрузить лидерборды из-за objectId - обработчик неуспеха parse_leaderboards, parse_leaderboards_friends и parse_leaderboards_friends_param, которая происходит из-за неуспешного parse_load (в этом случае parse_load необходимо повторить)
- объект - объект, состояние которого меняем,
- состояние - состояние - значение нового состояния.
добавляемые лидерборды - дополнительная группа настроек визуализации лидербордов, используется для смены таблиц при вызове лидербордов по локациям, монстрам и т.д.
- id - Идентификатор набора интерфейсных элементов, указывать нужно default для таблицы, в которую помещаются общие лидеры, для остальных не нужно
- имя лидербордов - Имя лидербордов, соотв. конфигу. Будет применено, если строка не пустая. Это имя задается в param при вызове parse_leaderbords_friends_param
- таблица - объект-таблица, в который сложим очки
- шаблон - объект типа Leaderboardsitem для помещения в таблицу
- свое место - каунтер в котором будет место игрока
- свои очки - каунтер в котором будут очки игрока
- своя иконка - иконка игрока
- кого leaderboardsitem - кого leaderboardsitem" hint="кого leaderboardsitem
- кто leaderboardsitem - кто leaderboardsitem" hint="кто leaderboardsitem
- машина - собственно машина окна. Должна иметь состояние show
- анимация смены мест - Анимация смены мест игроком (нет=0, да=1)
Обработчики для друзей и подарков
успешно загружены друзья - обработчик успеха parse_friends, выключаем "крутилку"
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
отправлен запрос дружбы - обработчик успеха parse_friend_request_lb, parse_friend_request_public, parse_friend_request_param, показываем информационное окно
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
отправлен подарок - обработчик успеха всех состояний отправки подарков через Cloud, показываем информационное окно
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
Обработчики для временных лидербордов (соревнований)
загружена информация о всех лидербордах - соревнования сменились - обработчик успеха parse_all_leaderboards, вызываем parse_leaderboards_temporary и parse_leaderboards_temporary_prev
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
загружена информация о всех лидербордах - соревнования НЕ сменились - обработчик успеха parse_all_leaderboards, вызываем parse_leaderboards_temporary и parse_leaderboards_temporary_prev при условии, что находимся не в окне соревнований
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
игрок потенциально попал в лидерборды прошлого периода - обработчик успеха parse_all_leaderboards - неинформативный, решили не использовать
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
у игрока призовое место в лидербордах прошлого периода и не забрана награда - обработчик успеха parse_all_leaderboards, можно повести игрока забрать награду за предыдущий период соревнований
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
завершились лидерборды предыдущего периода - обработчик успеха parse_leaderboards_temporary, вызываем parse_all_leaderboards, показываем информационное окно с информацией о том, что идет подсчет результатов
- объект - объект - состояние которого меняем,
- состояние - состояние - значение нового состояния.
невозможно загрузить лидерборды из-за levelId - обработчик неуспеха parse_leaderboards_temporary, которая происходит из-за неуспеха parse_all_leaderboards (в этом случае parse_all_leaderboards желательно повторить)
- объект - объект, состояние которого меняем,
- состояние - состояние - значение нового состояния.
индикатор награды за временные лидерборды - визуализация награды за временные лидерборды
- res1 - счетчик - награда за лидерство в res1,
- res2 - счетчик - награда за лидерство в res2,
- item - иконка предмета - награды за лидерство,
- item num - счетчик предмета - награды за лидерство.
лидеры предыдущего этапа временных лидербордов - визуализация лидеров предыдущего этапа временных лидербордов (пъедестал)
- leaderboardsitem - объект типа Leaderboardsitem.
периодические лидерборды - добавляемые периодические лидерборды используются для разделения игроков по группам в соответствии с уровнем опыта из экономики
- имя - Периодический лидерборд в parse (название таблицы)
- min - Минимальный уровень экономики
- max - Максимальный уровень экономики
Общие обработчики
запрос в парсе успешно выполнен (любой) - обработчик успеха любого запроса.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
Обработчики для мультиплеера
приглашение в мультиплеер - когда мы получили приглашение поиграть.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
подтверждение приглашения в мультиплеер - когда приняли наше приглашение поиграть.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
Особенности использования
Для пользователей, которые не логиняться в социальные сети и соответственно не сохраняют в игре свои имя и аватарку, существует система присвоения дефолтных имен и иконок. Это происходит при вызове parse_load. В этом случае человек попадает в таблицы лидербордов (ранее игроки без имени и без иконки отфильтровывались).
Состояния
- 0 - local_device_synchronization - синхронизация параметров между приложениями одного устройства;
- 1 - parse_resolve - ресолвим конфликт и ждем подтверждения;
- 2 - parse_idle - состояние простоя, означает, что мы не ждем ответа ни на один запрос;
- 3 - parse_load - загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;
- 4 - parse_save - сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);
- 5 - parse_leaderboards - загрузить лидерборды из парса и сложить в соответствующую таблицу;
- 6 - parse_leaderboards_friends - загрузить лидерборды из парса и сложить в соответствующую таблицу;
- 7 - parse_submit - заслать очки в парс взяв очки из поля score и уровень из поля level;
- 8 - parse_apply - применить скачанные опции;
- 9 - parse_get_public_lb - скопировать паблик данные кликнутого юзера из лидербордов в доступную область;
- 10 - parse_poll - получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;
- 11 - parse_poll_prev - получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;
- 12 - parse_vote - проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;
- 13 - parse_share_poll - зашарить результаты текущего опроса;
- 14 - parse_forced_save - сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);
- 15 - parse_apply_server - применить опции и отправить ресолв;
- 16 - parse_clear_notifications - отписаться от уведомлений;
- 17 - parse_add_notification - добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);
- 18 - parse_time - запросить время;
- 19 - parse_friends - заполнить таблицу всех друзей (новые подарки);
- 20 - parse_isolate - отказаться от слияния аккаунтов;
- 21 - parse_un_isolate - отменить изоляцию;
- 22 - parse_cancel_apply - отменить синхронизацию и разрешить сейвы;
- 23 - scroll_friends_to_lb - проскролить таблицу друзей на юзера кликнутого в таблице лидербордов;
- 24 - номер зарезервирован
- 25 - номер зарезервирован
- 26 - номер зарезервирован
- 27 - parse_flush_notifications - принудительно зафлушить нотификейшены, если мы этого не делали ранее;
- 28 - parse_all_leaderboards - получение информации по всем лидербордам, возможное обнуление текущих очков.
- 29 - parse_submit_temporary - сабмит очков в temporary лидерборд;
- 30 - parse_leaderboards_temporary - получение таблицы temporary лидерборда;
- 31 - parse_leaderboards_temporary_prev - получение таблицы результатов предыдущего периода в temporary лидерборде;
- 32 - parse_leaderboards_claim - начисление награды по кнопке получения награды в шаблоне лидерборда за предыдущий период в temporary лидерборде;
- 33 - parse_leaderboards_animation - старт анимации перемещения ячеек таблицы в temporary лидерборде;
- 34 - parse_friend_request_param - приглашение дружить, в param указать object_id;
- 35 - parse_friend_request_lb - приглашение дружить по кнопке пригласить в друзья из шаблона лидербордов;
- 36 - parse_friend_confirm - подтверждение дружбы из окна parse запросы дружбы;
- 37 - parse_friend_cancel - отмена дружбы из окна parse запросы дружбы;
- 38 - parse_friend_confirm_table - подтверждение дружбы из таблицы инвайтов parse запросы дружбы;
- 39 - parse_friend_cancel_table - отмена дружбы из таблицы инвайтов parse запросы дружбы;
- 40 - parse_friend_request_public - запрос дружбы из окна Инфо (parse_get_public_lb), проверять параметр selected_public.cloud_is_friend у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);
- 41 - parse_friend_delete_public - запрос на отмену дружбы из окна Инфо (parse_get_public_lb), проверять параметр selected_public.cloud_is_friend у объекта cloud: 0 - я сам, 1 - не друг, 2 - друг (для показа-прятания кнопок);
- 42 - parse_friend_check_requests - проверить входящие запросы (инвайты, подарки...);
- 43 - parse_leaderboards_friends_param - показать лидерборд по друзьям, предварительно изменив контролы для отображения таблицы лидербордов и т.п.;
- 44 - parse_get_public_fr - скопировать паблик данные кликнутого юзера из таблицы парсовых друзей из лидербордов в доступную область;
- 45 - parse_scroll_temporary_on_me - промотка таблицы периодических лидербордов на ячейку с моим результатом до указателя (если он задан);
- 46 - parse_bots_info - получить информацию о ботах отдельно от периодических лидербордов.
- 47 - get_country - получить страну
- 48 - parse_scroll_default_on_me - промотать таблицу default на меня
- 49 - parse_info - получить инфо о пользователе взяв objectId из param
- 50 - parse_invitable - заполнить таблицу приглашаемых друзей
Сообщения в лог
Объект пишет в опции строки: I/GCloud GCloud::state() state val = 2 state = 3
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или станет в очередь или выполниться следующим тиком), state = 3 - это состояние в котором сейчас находиться объект.
Коды ошибок:
- 6 - опрос закончился;
- 7 - ошибка версионности;
- 1000 - отсутсвие интернета.
В прочих случаях код ошибки будет 2000 + номер состояния, т.е. для лоада, например ошибка будет 2000 + 3 = 2003
Дополнительно клауд будет отправлять коды ошибок по таймауту ( превышению времени ответа - сейчас равен 60 сек): 4000 + номер состояния, т.е. для запроса лидербордов, например ошибка будет 4000 + 5 = 4005 ( глобальные) или 4000 + 6 = 4006 (друзья)
Для обработки ошибок использовать ErrorManager.