Esempio n. 1
0
        public void Register(string username, string email, string password, OnLoginSuccess onSuccess, OnLoginFailure onFailure)
        {
            var request = new RegisterPlayFabUserRequest
            {
                Username = username,
                Email    = email,
                Password = password,
                InfoRequestParameters = new GetPlayerCombinedInfoRequestParams
                {
                    GetUserAccountInfo = true
                }
            };

            PlayFabClientAPI.RegisterPlayFabUser(request,
                                                 result =>
            {
                player.Name = result.Username;
                player.Id   = result.PlayFabId;

                mode = GameSessionMode.Online;
                onSuccess.Invoke(player);
            },
                                                 error =>
            {
                onFailure.Invoke(error.GenerateErrorReport());
            });
        }
Esempio n. 2
0
        /// <summary>
        /// Completes synchronously, cannot fail
        /// </summary>
        public void LoginOffline(OnLoginSuccess onSuccess)
        {
            player = new PlayerInfo
            {
                Name = "Peasant",
                Id   = "N/A"
            };

            mode = GameSessionMode.Offline;
            onSuccess.Invoke(player);
        }
Esempio n. 3
0
        public void LoginGuest(OnLoginSuccess onSuccess, OnLoginFailure onFailure)
        {
#if UNITY_ANDROID
            var request = new LoginWithAndroidDeviceIDRequest {
                CreateAccount         = true,
                InfoRequestParameters = new GetPlayerCombinedInfoRequestParams {
                    GetUserAccountInfo = true
                }
            };

            PlayFabClientAPI.LoginWithAndroidDeviceID(request,
                                                      result =>
            {
                player.Username = "******" + result.PlayFabId;
                player.UserId   = result.PlayFabId;

                mode = GameSessionMode.Guest;
                onSuccess.Invoke(player);
            },
                                                      error =>
            {
                onFailure.Invoke(error.GenerateErrorReport());
            });
#elif UNITY_IOS
            var request = new LoginWithIOSDeviceIDRequest {
                CreateAccount         = true,
                InfoRequestParameters = new GetPlayerCombinedInfoRequestParams {
                    GetUserAccountInfo = true
                }
            };

            PlayFabClientAPI.LoginWithIOSDeviceID(request,
                                                  result =>
            {
                player.Username = "******" + result.PlayFabId;
                player.UserId   = result.PlayFabId;

                mode = GameSessionMode.Guest;
                onSuccess.Invoke(player);
            },
                                                  error =>
            {
                onFailure.Invoke(error.GenerateErrorReport());
            });
#else
            string guestID = PlayerPrefs.GetString("GuestID");
            if (string.IsNullOrWhiteSpace(guestID))
            {
                guestID = "";
                for (var i = 0; i < 16; i++)
                {
                    guestID += ((char)('A' + UnityEngine.Random.Range(0, 26))).ToString();
                }
                PlayerPrefs.SetString("GuestID", guestID);
            }

            var request = new LoginWithCustomIDRequest
            {
                CreateAccount         = true,
                CustomId              = guestID,
                InfoRequestParameters = new GetPlayerCombinedInfoRequestParams
                {
                    GetUserAccountInfo = true
                }
            };

            PlayFabClientAPI.LoginWithCustomID(request,
                                               result =>
            {
                player.Name = "Guest_PC_" + result.PlayFabId;
                player.Id   = result.PlayFabId;

                mode = GameSessionMode.Guest;
                onSuccess.Invoke(player);
            },
                                               error =>
            {
                onFailure.Invoke(error.GenerateErrorReport());
            });
#endif
        }