/// <summary> /// Gets multiplayer server session details for a build. /// </summary> public static void GetMultiplayerServerDetails(GetMultiplayerServerDetailsRequest request, Action <GetMultiplayerServerDetailsResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/MultiplayerServer/GetMultiplayerServerDetails", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context); }
/// <summary> /// Retrieves the status of a multiplay server by session ID /// </summary> /// <returns> /// Status of the server /// </returns> public async Task <GetMultiplayerServerDetailsResponse> GetMultiplayerServerStatus(string buildID, string sessionId) { if (IsAuthenticated()) { GetMultiplayerServerDetailsRequest request = new GetMultiplayerServerDetailsRequest { BuildId = buildID, SessionId = sessionId }; var task = PlayFab.PlayFabMultiplayerAPI.GetMultiplayerServerDetailsAsync(request); var resp = await task; bool hasError = CheckForError(resp); if (!hasError) { return(resp.Result); } else { throw new Exception(String.Format("GetMultiplayerServerStatus failed with error: {0}", resp.Error.ErrorMessage)); } } return(null); }
/// <summary> /// Gets multiplayer server session details for a build. /// </summary> public void GetMultiplayerServerDetails(GetMultiplayerServerDetailsRequest request, Action <GetMultiplayerServerDetailsResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext; var callSettings = apiSettings ?? PlayFabSettings.staticSettings; if (!context.IsEntityLoggedIn()) { throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method"); } PlayFabHttp.MakeApiCall("/MultiplayerServer/GetMultiplayerServerDetails", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this); }
/// <summary> /// Gets multiplayer server session details for a build. /// </summary> public static void GetMultiplayerServerDetails(GetMultiplayerServerDetailsRequest request, Action <GetMultiplayerServerDetailsResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/MultiplayerServer/GetMultiplayerServerDetails", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders); }
/// <summary> /// Gets multiplayer server session details for a build. /// </summary> public static async Task <PlayFabResult <GetMultiplayerServerDetailsResponse> > GetMultiplayerServerDetailsAsync(GetMultiplayerServerDetailsRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { if (PlayFabSettings.EntityToken == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/GetMultiplayerServerDetails", request, "X-EntityToken", PlayFabSettings.EntityToken, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <GetMultiplayerServerDetailsResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <GetMultiplayerServerDetailsResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <GetMultiplayerServerDetailsResponse> { Result = result, CustomData = customData }); }