Beispiel #1
0
    public IEnumerator SignInAsync()
    {
        SignInStatus signInStatus;
        TaskYieldInstruction <SignInResult> signInSilentlyTask = this.XboxLiveUser.User.SignInSilentlyAsync().AsCoroutine();

        yield return(signInSilentlyTask);

        signInStatus = signInSilentlyTask.Result.Status;
        if (signInSilentlyTask.Result.Status != SignInStatus.Success)
        {
            TaskYieldInstruction <SignInResult> signInTask = this.XboxLiveUser.User.SignInAsync().AsCoroutine();
            yield return(signInTask);

            signInStatus = signInTask.Result.Status;
        }

        // Throw any exceptions if needed.
        if (signInStatus == SignInStatus.Success)
        {
            XboxLive.Instance.StatsManager.AddLocalUser(this.XboxLiveUser.User);
            XboxLive.Instance.PresenceWriter.AddUser(this.XboxLiveUser.User);
            var addLocalUserTask =
                XboxLive.Instance.SocialManager.AddLocalUser(
                    this.XboxLiveUser.User,
                    SocialManagerExtraDetailLevel.PreferredColor).AsCoroutine();
            yield return(addLocalUserTask);

            if (!addLocalUserTask.Task.IsFaulted)
            {
                yield return(this.LoadProfileInfo());
            }
        }
        this.Refresh();
    }
    public IEnumerator SignInAsync()
    {
        this.User = new XboxLiveUser();

        TaskYieldInstruction <SignInResult> signInTask = this.User.SignInAsync().AsCoroutine();

        yield return(signInTask);

        // Throw any exceptions if needed.
        if (signInTask.Result.Status != SignInStatus.Success)
        {
            throw new Exception("Sign in Failed");
        }

        this.Context = new XboxLiveContext(this.User);
    }
Beispiel #3
0
    public IEnumerator SignInAsync()
    {
        SignInStatus signInStatus = SignInStatus.Success;
        TaskYieldInstruction <SignInResult> signInSilentlyTask = this.XboxLiveUser.User.SignInSilentlyAsync().AsCoroutine();

        yield return(signInSilentlyTask);

        try
        {
            signInStatus = signInSilentlyTask.Result.Status;
        }
        catch (Exception ex)
        {
            if (XboxLiveServicesSettings.Instance.DebugLogsOn)
            {
                Debug.Log("Exception occured: " + ex.Message);
            }
        }

        if (signInStatus != SignInStatus.Success)
        {
            TaskYieldInstruction <SignInResult> signInTask = this.XboxLiveUser.User.SignInAsync().AsCoroutine();
            yield return(signInTask);

            try
            {
                signInStatus = signInTask.Result.Status;
            }
            catch (Exception ex)
            {
                if (XboxLiveServicesSettings.Instance.DebugLogsOn)
                {
                    Debug.Log("Exception occured: " + ex.Message);
                }
            }
        }

        // Throw any exceptions if needed.
        if (signInStatus == SignInStatus.Success)
        {
            XboxLive.Instance.StatsManager.AddLocalUser(this.XboxLiveUser.User);
            XboxLive.Instance.SocialManager.AddLocalUser(this.XboxLiveUser.User, SocialManagerExtraDetailLevel.PreferredColorLevel);
        }

        this.Refresh();
    }
Beispiel #4
0
    public IEnumerator SignInAsync()
    {
        // Disable the sign-in button
        this.signInPanel.GetComponentInChildren <Button>().interactable = false;

        this.User = XboxLiveComponent.Instance.User;
        TaskYieldInstruction <SignInResult> signInTask = this.User.SignInAsync().AsCoroutine();

        yield return(signInTask);

        // Throw any exceptions if needed.
        if (signInTask.Result.Status != SignInStatus.Success)
        {
            throw new Exception("Sign in Failed");
        }

        XboxLive.Instance.SocialManager.AddLocalUser(this.User);
        yield return(XboxLive.Instance.SocialManager.AddLocalUser(this.User, SocialManagerExtraDetailLevel.PreferredColor).AsCoroutine());

        yield return(this.LoadProfileInfo());
    }