Esempio n. 1
0
    private void InitUser()
    {
        gsAvailable = GS.Available;
        if (GS.Available)
        {
            Debug.Log("GS Available");
            initialiationState = InitialiationState.Available;
        }
        else
        {
            Debug.Log("GS Unavailable");
        }

        if (GS.Available && initialiationState == InitialiationState.Available)
        {
            initialiationState = InitialiationState.Authenticating;
            gsAuthenticated    = GS.Authenticated;
            if (GS.Authenticated)
            {
                initialiationState = InitialiationState.Authenticated;
                Debug.Log("Authenticated");
                LoadPlayer();
            }
            else
            {
                Debug.Log("Not authenticated");
                if (PlayerPrefs.GetInt("login_type") == (int)LoginType.UsernamePassword)
                {
                    // The user should be logged in with a real account, but isn't. should show an error and prompt to login here.
                    Debug.LogWarning("User should be logged in with user/pass, but isn't authenticated.");
                    initialiationState = InitialiationState.AuthError;
                }
                else
                {
                    gameSparksManager.AuthenticateAnonymous((response) => {
                        if (response.HasErrors)
                        {
                            // TODO: Error screen or something.
                            Debug.Log("Error logging in anonymously");
                            initialiationState = InitialiationState.AuthError;
                        }
                        else
                        {
                            // MMMk we're logged in kinda.
                            initialiationState = InitialiationState.Authenticated;
                            LoadPlayer();
                        }
                    });
                }
            }

            // GS.GameSparksAvailable -= GSAvailableHandler;
        }
    }