Пример #1
0
        private void AuthIfDeveloper()
        {
            log.Warn("Принудительное выставление флага успеха авторизации");
            const string playerServiceIdKey = "playerId";

            //Прочитать из жесткого диска
            string playerServiceId = PlayerPrefs.GetString(playerServiceIdKey);
            string username        = PlayerPrefs.GetString(UsernameKey);

            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(playerServiceId))
            {
                var usernameMenuController = FindObjectOfType <UsernameMenuController>();
                usernameMenuController.ShowMenu();
                //Создать новый serviceId
                playerServiceId = $"playerServiceId_{new System.Random().Next(1, int.MaxValue)}";
                username        = $"username {new System.Random().Next(1, ushort.MaxValue)}";
                //Сохранить на  диск
                PlayerPrefs.SetString(playerServiceIdKey, playerServiceId);
                PlayerPrefs.SetString(UsernameKey, username);
            }

            //Присвоить serviceId
            lock (lockObj)
            {
                PlayerIdStorage.SetServiceId(playerServiceId);
                PlayerIdStorage.SetUsername(username);
                isAuthorizationCompleted = true;
            }
        }
Пример #2
0
        private static void SetMatchData(BattleRoyaleClientMatchModel matchData)
        {
            MyMatchDataStorage.Instance.SetMatchData(matchData);

            ushort playerTemporaryIdForOneMatch = matchData.PlayerTemporaryId;

            PlayerIdStorage.SetTmpPlayerId(playerTemporaryIdForOneMatch);
        }
Пример #3
0
        private void Start()
        {
#if UNITY_ANDROID
            if (!PlayGamesPlatform.Instance.IsAuthenticated())
            {
                log.Info("Игрок ещё не зашёл в аккаунт");
                StartAuth();
            }
            else
            {
                log.Debug("Игрок уже зашёл в аккаунт");
                isAuthorizationCompleted = true;
                PrintPlayerData();
                PlayerIdStorage.SetServiceId(Social.localUser.id);
            }
#else
            StartAuth();
#endif
        }
Пример #4
0
        public async Task <UsernameValidationResultEnum> TrySetUsernameAsync(string newUsername)
        {
            log.Debug(Thread.CurrentThread.Name);
            UsernameChangingService service = new UsernameChangingService();
            var result = await service.ChangesUsernameAsync(newUsername);

            log.Debug(Thread.CurrentThread.Name);
            if (result == UsernameValidationResultEnum.Ok)
            {
                UnityThread.Execute(() =>
                {
                    log.Debug(Thread.CurrentThread.Name);
                    PlayerPrefs.SetString(UsernameKey, newUsername);
                    PlayerIdStorage.SetUsername(newUsername);
                    var lobbyEcsController = FindObjectOfType <LobbyEcsController>();
                    lobbyEcsController.ReplaceUsername(newUsername);
                });
            }

            return(result);
        }
Пример #5
0
        private void AuthCallback(bool success)
        {
            log.Info($"{nameof(AuthCallback)} {nameof(success)} {success}");
            if (success)
            {
                log.Info("Игрок авторизован");
                PrintPlayerData();
                lock (lockObj)
                {
                    PlayerIdStorage.SetServiceId(Social.localUser.id);
                    PlayerIdStorage.SetUsername(Social.localUser.userName);
                    isAuthorizationCompleted = true;
                }
            }
            else
            {
                log.Error("Auth failed");
#if (UNITY_EDITOR || FORCE_AUTH)
                AuthIfDeveloper();
#endif
            }
        }