Exemple #1
0
        public static void UpdateDisplayName(AbstractLogger logger, IMixWebCallFactory mixWebCallFactory, string displayName, Action <IUpdateDisplayNameResult> callback)
        {
            try
            {
                SetDisplayNameRequest setDisplayNameRequest = new SetDisplayNameRequest();
                setDisplayNameRequest.DisplayName = displayName;
                SetDisplayNameRequest request = setDisplayNameRequest;
                IWebCall <SetDisplayNameRequest, SetDisplayNameResponse> webCall = mixWebCallFactory.DisplaynamePut(request);
                webCall.OnResponse += delegate(object sender, WebCallEventArgs <SetDisplayNameResponse> e)
                {
                    SetDisplayNameResponse response = e.Response;
                    if (ValidateSetDisplayNameResponse(response))
                    {
                        callback(new UpdateDisplayNameResult(success: true));
                    }
                    else
                    {
                        logger.Critical("Failed to validate update display name response!");
                        callback(new UpdateDisplayNameResult(success: false));
                    }
                };
                webCall.OnError += delegate(object sender, WebCallErrorEventArgs e)
                {
                    switch (e.Status)
                    {
                    case "DISPLAYNAME_MODERATION_FAILED":
                        logger.Warning("Failed to update display name due to moderation failure: " + e.Message);
                        callback(new UpdateDisplayNameFailedModerationResult(success: false));
                        break;

                    case "DISPLAYNAME_ASSIGNMENT_FAILED":
                        logger.Warning("Failed to update display name due to assignment failure: " + e.Message);
                        callback(new UpdateDisplayNameExistsResult(success: false));
                        break;

                    default:
                        callback(new UpdateDisplayNameResult(success: false));
                        break;
                    }
                };
                webCall.Execute();
            }
            catch (Exception ex)
            {
                logger.Critical("Unhandled exception: " + ex);
                callback(new UpdateDisplayNameResult(success: false));
            }
        }
        /// <summary>
        /// Update the display name of the entity
        /// </summary>

        public void SetDisplayName(SetDisplayNameRequest request, Action <SetDisplayNameResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null)
        {
            PlayFabHttp.MakeApiCall("/Profile/SetDisplayName", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, false, authenticationContext, ApiSettings);
        }
Exemple #3
0
 public IWebCall <SetDisplayNameRequest, SetDisplayNameResponse> DisplaynamePut(SetDisplayNameRequest request)
 {
     return(CreateWebCall <SetDisplayNameRequest, SetDisplayNameResponse>(HttpMethod.PUT, new Uri(host + "/displayname"), request));
 }
Exemple #4
0
        /// <summary>
        /// Update the display name of the entity
        /// </summary>
        public static async Task <PlayFabResult <SetDisplayNameResponse> > SetDisplayNameAsync(SetDisplayNameRequest request, object customData = null, Dictionary <string, string> extraHeaders = null)
        {
            if ((request?.AuthenticationContext?.EntityToken ?? PlayFabSettings.staticPlayer.EntityToken) == null)
            {
                throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method");
            }

            var httpResult = await PlayFabHttp.DoPost("/Profile/SetDisplayName", request, "X-EntityToken", PlayFabSettings.staticPlayer.EntityToken, extraHeaders);

            if (httpResult is PlayFabError)
            {
                var error = (PlayFabError)httpResult;
                PlayFabSettings.GlobalErrorHandler?.Invoke(error);
                return(new PlayFabResult <SetDisplayNameResponse> {
                    Error = error, CustomData = customData
                });
            }

            var resultRawJson = (string)httpResult;
            var resultData    = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <SetDisplayNameResponse> >(resultRawJson);
            var result        = resultData.data;

            return(new PlayFabResult <SetDisplayNameResponse> {
                Result = result, CustomData = customData
            });
        }