Менеджер игрока
Обзор
Менеджер управляет состоянием игрока и его синхронизацией с сервером. После инициализации SDK запускается процесс синхронизации игрока с сервером. По завершении будет вызвано событие ready
.
Свойства менеджера игрока:
// Игрок авторизован
gp.player.isLoggedIn
// Игрок использует один из способов входа (кука, авторизация, секретный код)
gp.player.hasAnyCredentials
// Промис ожидания игрока
gp.player.ready
Инициализация игрока проходит автоматически, вы можете дождаться готовности:
await gp.player.ready;
// Игрок готов
// Игрок готов
gp.player.on('ready', () => {});
Синхронизация
После изменений в игроке их можно отправить на сервер и сохранить локально на устройстве. Рекомендуется синхронизировать игрока после завершения уровня и получения наград, а также сразу после важного действия, например покупки предмета.
// Синхронизовать, возвращает промис
gp.player.sync();
// Перезаписать персонажа на сервере (локальный в приоритете)
gp.player.sync({ override: true });
// Игрок синхронизирован (success === true)
gp.player.on('sync', (success) => {});
Ограничение на сохраняемые данные: не более 1 МБ
на игрока.
Загрузка
Вы можете принудительно загрузить игрока с сервера
(перезаписав локального).
// Загрузить, возвращает промис
gp.player.load();
// Игрок загружен (success === true)
gp.player.on('load', (success) => {});
Вход
Показать оверлей с возможностями входа. Сейчас это платформенный вход, если поддерживается, и вход по секретному коду.
// Войти, возвращает промис
gp.player.login();
// Игрок вошел (success === true)
gp.player.on('login', (success) => {});
Получение полей
Что такое поля игрока смотрите в разделе cостояние игрока. Получить поля игрока можно следующим методом:
// Получить список полей, возвращает промис
gp.player.fetchFields();
// Поля получены (success === true)
gp.player.on('fetchFields', (success) => {});
Уведомление о других окнах
Если игрок откроет другое окно с игрой одновременно с другими открытыми окнами игры - все другие окна получат event:connect
. Вы можете подписаться на него следующим образом:
// срабатывает, когда игрок открывает другое окно с игрой
gp.on('event:connect', () => {})
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!