Менеджер игрока
Обзор
Менеджер управляет состоянием игрока и его синхронизацией с сервером. После инициализации SDK запускается процесс синхронизации игрока с сервером. По завершении будет вызвано событие ready
.
Свойства менеджера игрока FREE:
- JavaScript
- Unity
// Игрок авторизован
gp.player.isLoggedIn;
// Игрок использует один из способов входа (кука, авторизация, секретный код)
gp.player.hasAnyCredentials;
// Промис ожидания игрока
gp.player.ready;
// Игрок авторизован
GP_Player.IsLoggedIn();
// Игрок использует один из способов входа (кука, авторизация, секретный код)
GP_Player.HasAnyCredentials();
Инициализация игрока проходит автоматически, вы можете дождаться готовности:
- JavaScript
- Unity
await gp.player.ready;
// Игрок готов
// Игрок готов
gp.player.on('ready', () => {});
Инициализация в Unity происходит до начала игры
Синхронизация
+1 RequestПосле изменений в игроке их можно отправить на сервер и сохранить локально на устройстве. Рекомендуется синхронизировать игрока после завершения уровня и получения наград, а также сразу после важного действия, например покупки предмета.
- JavaScript
- Unity
// Синхронизовать, возвращает промис
gp.player.sync();
// Перезаписать персонажа на сервере (локальный в приоритете)
gp.player.sync({ override: true });
// Игрок синхронизирован (success === true)
gp.player.on('sync', (success) => {});
// Синхронизовать игрока
GP_Player.Sync();
// Перезаписать персонажа на сервере (локальный в приоритете)
GP_Player.Sync(true);
Ограничение на сохраняемые данные: не более 1 МБ
на игрока.
Загрузка
+1 RequestВы можете принудительно загрузить игрока с сервера
(перезаписав локального).
- JavaScript
- Unity
// Загрузить, возвращает промис
gp.player.load();
// Игрок загружен (success === true)
gp.player.on('load', (success) => {});
// Загрузить игрока
GP_Player.Load();
Вход
FREEПоказать оверлей с возможностями входа. Сейчас это платформенный вход, если поддерживается, и вход по секретному коду.
- JavaScript
- Unity
// Войти, возвращает промис
gp.player.login();
// Игрок вошел (success === true)
gp.player.on('login', (success) => {});
//Показать оверлей входа
GP_Player.Login();
Получение полей
+1 RequestЧто такое поля игрока смотрите в разделе cостояние игрока. Получить поля игрока можно следующим методом:
- JavaScript
- Unity
// Получить список полей, возвращает промис
gp.player.fetchFields();
// Поля получены (success === true)
gp.player.on('fetchFields', (success) => {});
// Получить список полей
private Fetch() => GP_Player.FetchFields(OnFetchFields);
// Поля получены
private OnFetchFields(List<PlayerFetchFieldsData> data){
}
Уведомление о других окнах
+1 RequestЕсли игрок откроет другое окно с игрой одновременно с другими открытыми окнами игры - все другие окна получат event:connect
. Вы можете подписаться на него следующим образом:
- JavaScript
- Unity
// срабатывает, когда игрок открывает другое окно с игрой
gp.on('event:connect', () => {});
//Подписка на событие
private void OnEnable()
{
GP_Player.OnConnect += OnConnect;
}
//Отписка от события
private void OnDisable()
{
GP_Player.OnConnect -= OnConnect;
}
//Обработка события
private void OnConnect()
{
Debug.Log("Connect");
}
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!