Exemplo n.º 1
0
        private static void SignInComplete(XSAPI_RESULT_INFO result, XSAPI_SIGN_IN_RESULT payload, IntPtr context)
        {
            int contextKey = context.ToInt32();

            XsapiCallbackContext <UserImpl, SignInResult> contextObject;

            if (XsapiCallbackContext <UserImpl, SignInResult> .TryRemove(contextKey, out contextObject))
            {
                UserImpl @this = contextObject.Context;
                if (result.errorCode == XSAPI_RESULT.XSAPI_RESULT_OK)
                {
                    @this.UpdatePropertiesFromXboxLiveUserPtr();
                    @this.SignInCompleted(@this, new EventArgs());

                    contextObject.TaskCompletionSource.SetResult(new SignInResult(payload.status));
                }
                else
                {
                    contextObject.TaskCompletionSource.SetException(new XboxException(result));
                }
                contextObject.Dispose();
            }
        }
Exemplo n.º 2
0
        private static void SignInComplete(SignInResult_c result, IntPtr context)
        {
            int contextKey = context.ToInt32();

            XboxLiveCallbackContext <UserImpl, SignInResult> contextObject;

            if (XboxLiveCallbackContext <UserImpl, SignInResult> .TryRemove(contextKey, out contextObject))
            {
                UserImpl @this = contextObject.Context;
                if (result.result.errorCode == 0)
                {
                    @this.UpdatePropertiesFromXboxLiveUser_c();
                    @this.SignInCompleted(@this, new EventArgs());

                    contextObject.TaskCompletionSource.SetResult(new SignInResult(result.payload.status));
                }
                else
                {
                    contextObject.TaskCompletionSource.SetException(new Exception(result.result.errorMessage));
                }

                contextObject.Dispose();
            }
        }