/// <summary> /// Applies to join a group /// </summary> public async Task <PlayFabResult <ApplyToGroupResponse> > ApplyToGroupAsync(ApplyToGroupRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { var requestSettings = apiSettings ?? PlayFabSettings.staticSettings; if ((request?.AuthenticationContext?.EntityToken ?? authenticationContext.EntityToken) == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/Group/ApplyToGroup", request, "X-EntityToken", authenticationContext.EntityToken, extraHeaders, requestSettings); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <ApplyToGroupResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <ApplyToGroupResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <ApplyToGroupResponse> { Result = result, CustomData = customData }); }
/// <summary> /// Applies to join a group /// </summary> public static void ApplyToGroup(ApplyToGroupRequest request, Action <ApplyToGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/Group/ApplyToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context); }
public void ApplyToGroup(string groupId, EntityKey entityKey) { // A player-controlled entity applies to join an existing group (of which they are not already a member) var request = new ApplyToGroupRequest { Group = EntityKeyMaker(groupId), Entity = entityKey }; PlayFabGroupsAPI.ApplyToGroup(request, OnApply, OnSharedError); }
/// <summary> /// Applies to join a group /// </summary> public void ApplyToGroup(ApplyToGroupRequest request, Action <ApplyToGroupResponse> 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("/Group/ApplyToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this); }
/// <summary> /// Applies to join a group /// </summary> /// <param name="AutoAcceptOutstandingInvite">Optional, default true. Automatically accept an outstanding invitation if one exists instead of creating an application (Optional)</param> /// <param name="Entity">The entity to perform this action on. (Optional)</param> /// <param name="Group">The identifier of the group (Required)</param> public static Task <ApplyToGroupResponse> ApplyToGroup(EntityKey Group, bool?AutoAcceptOutstandingInvite = default, EntityKey Entity = default, PlayFabAuthenticationContext customAuthContext = null, object customData = null, Dictionary <string, string> extraHeaders = null) { ApplyToGroupRequest request = new ApplyToGroupRequest() { Group = Group, AutoAcceptOutstandingInvite = AutoAcceptOutstandingInvite, Entity = Entity, }; var context = GetContext(customAuthContext); return(PlayFabHttp.MakeApiCallAsync <ApplyToGroupResponse>("/Group/ApplyToGroup", request, AuthType.EntityToken, customData, extraHeaders, context)); }
/// <summary> /// Applies to join a group /// </summary> public static void ApplyToGroup(ApplyToGroupRequest request, Action <ApplyToGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/Group/ApplyToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders); }