Как я должен иметь дело с добавлением новых дополнительных достижений - PullRequest
0 голосов
/ 27 апреля 2019

Я только сейчас знакомлюсь с тем, как работают достижения в Google Play Games Services. Вот общий пример, который я пытаюсь выяснить, как я буду иметь дело.

У меня есть эти достижения: Убить 5 зомби, убить 15 зомби, 25, 50 и т. Д.

Прямо сейчас я планирую увеличивать каждое достижение, когда зомби убит. Так что убейте 1 зомби и все 4 достижения будут увеличены на 1.

Мой вопрос: когда я добавляю еще одно достижение (например, убить 100 зомби), его инкрементный счетчик начнется с 0. Допустим, я убил 49 зомби, поэтому счетчик «Убить 50 зомби» будет на 49 Как я смогу добавить больше достижений, сохраняя при этом счетчик?

Это нормально для увеличения нескольких достижений одновременно? Другие игры делают это? Как я преодолею это, когда добавлю новые достижения? Я хочу попытаться избежать локального сохранения, поэтому любые предложения о том, как полностью использовать API, будут оценены.

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

1 Ответ

0 голосов
/ 05 мая 2019

ОК, вот мое решение и что я сделал.Насколько я знаю, это лучший вариант, но я могу ошибаться.

Я сделал событие «убить зомби» и связал это событие с различными достижениями.Когда бы ни происходило событие «убить зомби», оно увеличивало бы все достижения «убить зомби».Однако, если бы я добавил еще одно достижение в середине разработки, оно бы начало одно из этих достижений с 0. Я вызывал эти два метода загрузки всякий раз, когда пользователь входил в систему, так как на самом деле нет смысла делать эту промежуточную игру.

Я исправил это, сначала загрузив достижения с помощью AchievementsClient#load, затем добавил прослушиватель при успехе, который затем вызвал EventsClient#load.Если какое-либо достижение, связанное с убийством зомби, было ниже счетчика на указанном событии, оно будет увеличивать его, чтобы соответствовать текущему счетчику событий.

Это хороший вариант, поскольку он работает на всех устройствах и гарантирует, что каждыйдостижение актуально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...