Repository URL to install this package:
Version:
2025.3.14 ▾
|
/*
* Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
#if UNITY_2017_1_OR_NEWER
using UnityEngine.Events;
using UnityEngine.Networking;
#if GS2_ENABLE_UNITASK
using Cysharp.Threading.Tasks;
#endif
#else
using System.Web;
using System.Net.Http;
using System.Threading.Tasks;
#endif
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Gs2Matchmaking.Request;
using Gs2.Gs2Matchmaking.Result;
using Gs2.Util.LitJson;
namespace Gs2.Gs2Matchmaking
{
public class Gs2MatchmakingRestClient : AbstractGs2Client
{
#if UNITY_2017_1_OR_NEWER
private readonly CertificateHandler _certificateHandler;
#endif
public static string Endpoint = "matchmaking";
protected Gs2RestSession Gs2RestSession => (Gs2RestSession) Gs2Session;
public Gs2MatchmakingRestClient(Gs2RestSession Gs2RestSession) : base(Gs2RestSession)
{
}
#if UNITY_2017_1_OR_NEWER
public Gs2MatchmakingRestClient(Gs2RestSession gs2RestSession, CertificateHandler certificateHandler) : base(gs2RestSession)
{
_certificateHandler = certificateHandler;
}
#endif
public class DescribeNamespacesTask : Gs2RestSessionTask<DescribeNamespacesRequest, DescribeNamespacesResult>
{
public DescribeNamespacesTask(IGs2Session session, RestSessionRequestFactory factory, DescribeNamespacesRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeNamespacesRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeNamespaces(
Request.DescribeNamespacesRequest request,
UnityAction<AsyncResult<Result.DescribeNamespacesResult>> callback
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeNamespacesResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeNamespacesResult> DescribeNamespacesFuture(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
AsyncResult<Result.DescribeNamespacesResult> result = null;
await DescribeNamespaces(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeNamespacesTask DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateNamespaceTask : Gs2RestSessionTask<CreateNamespaceRequest, CreateNamespaceResult>
{
public CreateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, CreateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.EnableRating != null)
{
jsonWriter.WritePropertyName("enableRating");
jsonWriter.Write(request.EnableRating.ToString());
}
if (request.EnableDisconnectDetection != null)
{
jsonWriter.WritePropertyName("enableDisconnectDetection");
jsonWriter.Write(request.EnableDisconnectDetection);
}
if (request.DisconnectDetectionTimeoutSeconds != null)
{
jsonWriter.WritePropertyName("disconnectDetectionTimeoutSeconds");
jsonWriter.Write(request.DisconnectDetectionTimeoutSeconds.ToString());
}
if (request.CreateGatheringTriggerType != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerType");
jsonWriter.Write(request.CreateGatheringTriggerType);
}
if (request.CreateGatheringTriggerRealtimeNamespaceId != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerRealtimeNamespaceId");
jsonWriter.Write(request.CreateGatheringTriggerRealtimeNamespaceId);
}
if (request.CreateGatheringTriggerScriptId != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerScriptId");
jsonWriter.Write(request.CreateGatheringTriggerScriptId);
}
if (request.CompleteMatchmakingTriggerType != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerType");
jsonWriter.Write(request.CompleteMatchmakingTriggerType);
}
if (request.CompleteMatchmakingTriggerRealtimeNamespaceId != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerRealtimeNamespaceId");
jsonWriter.Write(request.CompleteMatchmakingTriggerRealtimeNamespaceId);
}
if (request.CompleteMatchmakingTriggerScriptId != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerScriptId");
jsonWriter.Write(request.CompleteMatchmakingTriggerScriptId);
}
if (request.EnableCollaborateSeasonRating != null)
{
jsonWriter.WritePropertyName("enableCollaborateSeasonRating");
jsonWriter.Write(request.EnableCollaborateSeasonRating);
}
if (request.CollaborateSeasonRatingNamespaceId != null)
{
jsonWriter.WritePropertyName("collaborateSeasonRatingNamespaceId");
jsonWriter.Write(request.CollaborateSeasonRatingNamespaceId);
}
if (request.CollaborateSeasonRatingTtl != null)
{
jsonWriter.WritePropertyName("collaborateSeasonRatingTtl");
jsonWriter.Write(request.CollaborateSeasonRatingTtl.ToString());
}
if (request.ChangeRatingScript != null)
{
jsonWriter.WritePropertyName("changeRatingScript");
request.ChangeRatingScript.WriteJson(jsonWriter);
}
if (request.JoinNotification != null)
{
jsonWriter.WritePropertyName("joinNotification");
request.JoinNotification.WriteJson(jsonWriter);
}
if (request.LeaveNotification != null)
{
jsonWriter.WritePropertyName("leaveNotification");
request.LeaveNotification.WriteJson(jsonWriter);
}
if (request.CompleteNotification != null)
{
jsonWriter.WritePropertyName("completeNotification");
request.CompleteNotification.WriteJson(jsonWriter);
}
if (request.ChangeRatingNotification != null)
{
jsonWriter.WritePropertyName("changeRatingNotification");
request.ChangeRatingNotification.WriteJson(jsonWriter);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateNamespace(
Request.CreateNamespaceRequest request,
UnityAction<AsyncResult<Result.CreateNamespaceResult>> callback
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.CreateNamespaceResult> CreateNamespaceFuture(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
AsyncResult<Result.CreateNamespaceResult> result = null;
await CreateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateNamespaceTask CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceStatusTask : Gs2RestSessionTask<GetNamespaceStatusRequest, GetNamespaceStatusResult>
{
public GetNamespaceStatusTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceStatusRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceStatusRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/status";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespaceStatus(
Request.GetNamespaceStatusRequest request,
UnityAction<AsyncResult<Result.GetNamespaceStatusResult>> callback
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceStatusResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceStatusResult> GetNamespaceStatusFuture(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
AsyncResult<Result.GetNamespaceStatusResult> result = null;
await GetNamespaceStatus(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceStatusTask GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceTask : Gs2RestSessionTask<GetNamespaceRequest, GetNamespaceResult>
{
public GetNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespace(
Request.GetNamespaceRequest request,
UnityAction<AsyncResult<Result.GetNamespaceResult>> callback
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceResult> GetNamespaceFuture(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
AsyncResult<Result.GetNamespaceResult> result = null;
await GetNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceTask GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateNamespaceTask : Gs2RestSessionTask<UpdateNamespaceRequest, UpdateNamespaceResult>
{
public UpdateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, UpdateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.EnableRating != null)
{
jsonWriter.WritePropertyName("enableRating");
jsonWriter.Write(request.EnableRating.ToString());
}
if (request.EnableDisconnectDetection != null)
{
jsonWriter.WritePropertyName("enableDisconnectDetection");
jsonWriter.Write(request.EnableDisconnectDetection);
}
if (request.DisconnectDetectionTimeoutSeconds != null)
{
jsonWriter.WritePropertyName("disconnectDetectionTimeoutSeconds");
jsonWriter.Write(request.DisconnectDetectionTimeoutSeconds.ToString());
}
if (request.CreateGatheringTriggerType != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerType");
jsonWriter.Write(request.CreateGatheringTriggerType);
}
if (request.CreateGatheringTriggerRealtimeNamespaceId != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerRealtimeNamespaceId");
jsonWriter.Write(request.CreateGatheringTriggerRealtimeNamespaceId);
}
if (request.CreateGatheringTriggerScriptId != null)
{
jsonWriter.WritePropertyName("createGatheringTriggerScriptId");
jsonWriter.Write(request.CreateGatheringTriggerScriptId);
}
if (request.CompleteMatchmakingTriggerType != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerType");
jsonWriter.Write(request.CompleteMatchmakingTriggerType);
}
if (request.CompleteMatchmakingTriggerRealtimeNamespaceId != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerRealtimeNamespaceId");
jsonWriter.Write(request.CompleteMatchmakingTriggerRealtimeNamespaceId);
}
if (request.CompleteMatchmakingTriggerScriptId != null)
{
jsonWriter.WritePropertyName("completeMatchmakingTriggerScriptId");
jsonWriter.Write(request.CompleteMatchmakingTriggerScriptId);
}
if (request.EnableCollaborateSeasonRating != null)
{
jsonWriter.WritePropertyName("enableCollaborateSeasonRating");
jsonWriter.Write(request.EnableCollaborateSeasonRating);
}
if (request.CollaborateSeasonRatingNamespaceId != null)
{
jsonWriter.WritePropertyName("collaborateSeasonRatingNamespaceId");
jsonWriter.Write(request.CollaborateSeasonRatingNamespaceId);
}
if (request.CollaborateSeasonRatingTtl != null)
{
jsonWriter.WritePropertyName("collaborateSeasonRatingTtl");
jsonWriter.Write(request.CollaborateSeasonRatingTtl.ToString());
}
if (request.ChangeRatingScript != null)
{
jsonWriter.WritePropertyName("changeRatingScript");
request.ChangeRatingScript.WriteJson(jsonWriter);
}
if (request.JoinNotification != null)
{
jsonWriter.WritePropertyName("joinNotification");
request.JoinNotification.WriteJson(jsonWriter);
}
if (request.LeaveNotification != null)
{
jsonWriter.WritePropertyName("leaveNotification");
request.LeaveNotification.WriteJson(jsonWriter);
}
if (request.CompleteNotification != null)
{
jsonWriter.WritePropertyName("completeNotification");
request.CompleteNotification.WriteJson(jsonWriter);
}
if (request.ChangeRatingNotification != null)
{
jsonWriter.WritePropertyName("changeRatingNotification");
request.ChangeRatingNotification.WriteJson(jsonWriter);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateNamespace(
Request.UpdateNamespaceRequest request,
UnityAction<AsyncResult<Result.UpdateNamespaceResult>> callback
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateNamespaceResult> UpdateNamespaceFuture(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
AsyncResult<Result.UpdateNamespaceResult> result = null;
await UpdateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateNamespaceTask UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteNamespaceTask : Gs2RestSessionTask<DeleteNamespaceRequest, DeleteNamespaceResult>
{
public DeleteNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, DeleteNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteNamespace(
Request.DeleteNamespaceRequest request,
UnityAction<AsyncResult<Result.DeleteNamespaceResult>> callback
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteNamespaceResult> DeleteNamespaceFuture(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
AsyncResult<Result.DeleteNamespaceResult> result = null;
await DeleteNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteNamespaceTask DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DumpUserDataByUserIdTask : Gs2RestSessionTask<DumpUserDataByUserIdRequest, DumpUserDataByUserIdResult>
{
public DumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DumpUserDataByUserId(
Request.DumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.DumpUserDataByUserIdResult>> callback
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdFuture(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.DumpUserDataByUserIdResult> result = null;
await DumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DumpUserDataByUserIdTask DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckDumpUserDataByUserIdTask : Gs2RestSessionTask<CheckDumpUserDataByUserIdRequest, CheckDumpUserDataByUserIdResult>
{
public CheckDumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckDumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckDumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckDumpUserDataByUserId(
Request.CheckDumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckDumpUserDataByUserIdResult>> callback
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckDumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdFuture(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckDumpUserDataByUserIdResult> result = null;
await CheckDumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckDumpUserDataByUserIdTask CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CleanUserDataByUserIdTask : Gs2RestSessionTask<CleanUserDataByUserIdRequest, CleanUserDataByUserIdResult>
{
public CleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CleanUserDataByUserId(
Request.CleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CleanUserDataByUserIdResult>> callback
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdFuture(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CleanUserDataByUserIdResult> result = null;
await CleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CleanUserDataByUserIdTask CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckCleanUserDataByUserIdTask : Gs2RestSessionTask<CheckCleanUserDataByUserIdRequest, CheckCleanUserDataByUserIdResult>
{
public CheckCleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckCleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckCleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckCleanUserDataByUserId(
Request.CheckCleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckCleanUserDataByUserIdResult>> callback
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckCleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdFuture(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckCleanUserDataByUserIdResult> result = null;
await CheckCleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckCleanUserDataByUserIdTask CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PrepareImportUserDataByUserIdTask : Gs2RestSessionTask<PrepareImportUserDataByUserIdRequest, PrepareImportUserDataByUserIdResult>
{
public PrepareImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, PrepareImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PrepareImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/prepare";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator PrepareImportUserDataByUserId(
Request.PrepareImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.PrepareImportUserDataByUserIdResult>> callback
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PrepareImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdFuture(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.PrepareImportUserDataByUserIdResult> result = null;
await PrepareImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PrepareImportUserDataByUserIdTask PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ImportUserDataByUserIdTask : Gs2RestSessionTask<ImportUserDataByUserIdRequest, ImportUserDataByUserIdResult>
{
public ImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, ImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.UploadToken != null)
{
jsonWriter.WritePropertyName("uploadToken");
jsonWriter.Write(request.UploadToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ImportUserDataByUserId(
Request.ImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.ImportUserDataByUserIdResult>> callback
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdFuture(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.ImportUserDataByUserIdResult> result = null;
await ImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ImportUserDataByUserIdTask ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckImportUserDataByUserIdTask : Gs2RestSessionTask<CheckImportUserDataByUserIdRequest, CheckImportUserDataByUserIdResult>
{
public CheckImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/{uploadToken}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{uploadToken}", !string.IsNullOrEmpty(request.UploadToken) ? request.UploadToken.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckImportUserDataByUserId(
Request.CheckImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckImportUserDataByUserIdResult>> callback
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdFuture(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckImportUserDataByUserIdResult> result = null;
await CheckImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckImportUserDataByUserIdTask CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeGatheringsTask : Gs2RestSessionTask<DescribeGatheringsRequest, DescribeGatheringsResult>
{
public DescribeGatheringsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeGatheringsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeGatheringsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeGatherings(
Request.DescribeGatheringsRequest request,
UnityAction<AsyncResult<Result.DescribeGatheringsResult>> callback
)
{
var task = new DescribeGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeGatheringsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeGatheringsResult> DescribeGatheringsFuture(
Request.DescribeGatheringsRequest request
)
{
return new DescribeGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeGatheringsResult> DescribeGatheringsAsync(
Request.DescribeGatheringsRequest request
)
{
AsyncResult<Result.DescribeGatheringsResult> result = null;
await DescribeGatherings(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeGatheringsTask DescribeGatheringsAsync(
Request.DescribeGatheringsRequest request
)
{
return new DescribeGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeGatheringsResult> DescribeGatheringsAsync(
Request.DescribeGatheringsRequest request
)
{
var task = new DescribeGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateGatheringTask : Gs2RestSessionTask<CreateGatheringRequest, CreateGatheringResult>
{
public CreateGatheringTask(IGs2Session session, RestSessionRequestFactory factory, CreateGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Player != null)
{
jsonWriter.WritePropertyName("player");
request.Player.WriteJson(jsonWriter);
}
if (request.AttributeRanges != null)
{
jsonWriter.WritePropertyName("attributeRanges");
jsonWriter.WriteArrayStart();
foreach(var item in request.AttributeRanges)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.CapacityOfRoles != null)
{
jsonWriter.WritePropertyName("capacityOfRoles");
jsonWriter.WriteArrayStart();
foreach(var item in request.CapacityOfRoles)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.AllowUserIds != null)
{
jsonWriter.WritePropertyName("allowUserIds");
jsonWriter.WriteArrayStart();
foreach(var item in request.AllowUserIds)
{
jsonWriter.Write(item);
}
jsonWriter.WriteArrayEnd();
}
if (request.ExpiresAt != null)
{
jsonWriter.WritePropertyName("expiresAt");
jsonWriter.Write(request.ExpiresAt.ToString());
}
if (request.ExpiresAtTimeSpan != null)
{
jsonWriter.WritePropertyName("expiresAtTimeSpan");
request.ExpiresAtTimeSpan.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateGathering(
Request.CreateGatheringRequest request,
UnityAction<AsyncResult<Result.CreateGatheringResult>> callback
)
{
var task = new CreateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.CreateGatheringResult> CreateGatheringFuture(
Request.CreateGatheringRequest request
)
{
return new CreateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateGatheringResult> CreateGatheringAsync(
Request.CreateGatheringRequest request
)
{
AsyncResult<Result.CreateGatheringResult> result = null;
await CreateGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateGatheringTask CreateGatheringAsync(
Request.CreateGatheringRequest request
)
{
return new CreateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateGatheringResult> CreateGatheringAsync(
Request.CreateGatheringRequest request
)
{
var task = new CreateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateGatheringByUserIdTask : Gs2RestSessionTask<CreateGatheringByUserIdRequest, CreateGatheringByUserIdResult>
{
public CreateGatheringByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CreateGatheringByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateGatheringByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/user/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Player != null)
{
jsonWriter.WritePropertyName("player");
request.Player.WriteJson(jsonWriter);
}
if (request.AttributeRanges != null)
{
jsonWriter.WritePropertyName("attributeRanges");
jsonWriter.WriteArrayStart();
foreach(var item in request.AttributeRanges)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.CapacityOfRoles != null)
{
jsonWriter.WritePropertyName("capacityOfRoles");
jsonWriter.WriteArrayStart();
foreach(var item in request.CapacityOfRoles)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.AllowUserIds != null)
{
jsonWriter.WritePropertyName("allowUserIds");
jsonWriter.WriteArrayStart();
foreach(var item in request.AllowUserIds)
{
jsonWriter.Write(item);
}
jsonWriter.WriteArrayEnd();
}
if (request.ExpiresAt != null)
{
jsonWriter.WritePropertyName("expiresAt");
jsonWriter.Write(request.ExpiresAt.ToString());
}
if (request.ExpiresAtTimeSpan != null)
{
jsonWriter.WritePropertyName("expiresAtTimeSpan");
request.ExpiresAtTimeSpan.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateGatheringByUserId(
Request.CreateGatheringByUserIdRequest request,
UnityAction<AsyncResult<Result.CreateGatheringByUserIdResult>> callback
)
{
var task = new CreateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateGatheringByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CreateGatheringByUserIdResult> CreateGatheringByUserIdFuture(
Request.CreateGatheringByUserIdRequest request
)
{
return new CreateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateGatheringByUserIdResult> CreateGatheringByUserIdAsync(
Request.CreateGatheringByUserIdRequest request
)
{
AsyncResult<Result.CreateGatheringByUserIdResult> result = null;
await CreateGatheringByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateGatheringByUserIdTask CreateGatheringByUserIdAsync(
Request.CreateGatheringByUserIdRequest request
)
{
return new CreateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateGatheringByUserIdResult> CreateGatheringByUserIdAsync(
Request.CreateGatheringByUserIdRequest request
)
{
var task = new CreateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateGatheringTask : Gs2RestSessionTask<UpdateGatheringRequest, UpdateGatheringResult>
{
public UpdateGatheringTask(IGs2Session session, RestSessionRequestFactory factory, UpdateGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.AttributeRanges != null)
{
jsonWriter.WritePropertyName("attributeRanges");
jsonWriter.WriteArrayStart();
foreach(var item in request.AttributeRanges)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateGathering(
Request.UpdateGatheringRequest request,
UnityAction<AsyncResult<Result.UpdateGatheringResult>> callback
)
{
var task = new UpdateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateGatheringResult> UpdateGatheringFuture(
Request.UpdateGatheringRequest request
)
{
return new UpdateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateGatheringResult> UpdateGatheringAsync(
Request.UpdateGatheringRequest request
)
{
AsyncResult<Result.UpdateGatheringResult> result = null;
await UpdateGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateGatheringTask UpdateGatheringAsync(
Request.UpdateGatheringRequest request
)
{
return new UpdateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateGatheringResult> UpdateGatheringAsync(
Request.UpdateGatheringRequest request
)
{
var task = new UpdateGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateGatheringByUserIdTask : Gs2RestSessionTask<UpdateGatheringByUserIdRequest, UpdateGatheringByUserIdResult>
{
public UpdateGatheringByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, UpdateGatheringByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateGatheringByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.AttributeRanges != null)
{
jsonWriter.WritePropertyName("attributeRanges");
jsonWriter.WriteArrayStart();
foreach(var item in request.AttributeRanges)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateGatheringByUserId(
Request.UpdateGatheringByUserIdRequest request,
UnityAction<AsyncResult<Result.UpdateGatheringByUserIdResult>> callback
)
{
var task = new UpdateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateGatheringByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateGatheringByUserIdResult> UpdateGatheringByUserIdFuture(
Request.UpdateGatheringByUserIdRequest request
)
{
return new UpdateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateGatheringByUserIdResult> UpdateGatheringByUserIdAsync(
Request.UpdateGatheringByUserIdRequest request
)
{
AsyncResult<Result.UpdateGatheringByUserIdResult> result = null;
await UpdateGatheringByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateGatheringByUserIdTask UpdateGatheringByUserIdAsync(
Request.UpdateGatheringByUserIdRequest request
)
{
return new UpdateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateGatheringByUserIdResult> UpdateGatheringByUserIdAsync(
Request.UpdateGatheringByUserIdRequest request
)
{
var task = new UpdateGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoMatchmakingByPlayerTask : Gs2RestSessionTask<DoMatchmakingByPlayerRequest, DoMatchmakingByPlayerResult>
{
public DoMatchmakingByPlayerTask(IGs2Session session, RestSessionRequestFactory factory, DoMatchmakingByPlayerRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoMatchmakingByPlayerRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/player/do";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Player != null)
{
jsonWriter.WritePropertyName("player");
request.Player.WriteJson(jsonWriter);
}
if (request.MatchmakingContextToken != null)
{
jsonWriter.WritePropertyName("matchmakingContextToken");
jsonWriter.Write(request.MatchmakingContextToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoMatchmakingByPlayer(
Request.DoMatchmakingByPlayerRequest request,
UnityAction<AsyncResult<Result.DoMatchmakingByPlayerResult>> callback
)
{
var task = new DoMatchmakingByPlayerTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoMatchmakingByPlayerResult>(task.Result, task.Error));
}
public IFuture<Result.DoMatchmakingByPlayerResult> DoMatchmakingByPlayerFuture(
Request.DoMatchmakingByPlayerRequest request
)
{
return new DoMatchmakingByPlayerTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoMatchmakingByPlayerResult> DoMatchmakingByPlayerAsync(
Request.DoMatchmakingByPlayerRequest request
)
{
AsyncResult<Result.DoMatchmakingByPlayerResult> result = null;
await DoMatchmakingByPlayer(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoMatchmakingByPlayerTask DoMatchmakingByPlayerAsync(
Request.DoMatchmakingByPlayerRequest request
)
{
return new DoMatchmakingByPlayerTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoMatchmakingByPlayerResult> DoMatchmakingByPlayerAsync(
Request.DoMatchmakingByPlayerRequest request
)
{
var task = new DoMatchmakingByPlayerTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoMatchmakingTask : Gs2RestSessionTask<DoMatchmakingRequest, DoMatchmakingResult>
{
public DoMatchmakingTask(IGs2Session session, RestSessionRequestFactory factory, DoMatchmakingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoMatchmakingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/do";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Player != null)
{
jsonWriter.WritePropertyName("player");
request.Player.WriteJson(jsonWriter);
}
if (request.MatchmakingContextToken != null)
{
jsonWriter.WritePropertyName("matchmakingContextToken");
jsonWriter.Write(request.MatchmakingContextToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoMatchmaking(
Request.DoMatchmakingRequest request,
UnityAction<AsyncResult<Result.DoMatchmakingResult>> callback
)
{
var task = new DoMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoMatchmakingResult>(task.Result, task.Error));
}
public IFuture<Result.DoMatchmakingResult> DoMatchmakingFuture(
Request.DoMatchmakingRequest request
)
{
return new DoMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoMatchmakingResult> DoMatchmakingAsync(
Request.DoMatchmakingRequest request
)
{
AsyncResult<Result.DoMatchmakingResult> result = null;
await DoMatchmaking(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoMatchmakingTask DoMatchmakingAsync(
Request.DoMatchmakingRequest request
)
{
return new DoMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoMatchmakingResult> DoMatchmakingAsync(
Request.DoMatchmakingRequest request
)
{
var task = new DoMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoMatchmakingByUserIdTask : Gs2RestSessionTask<DoMatchmakingByUserIdRequest, DoMatchmakingByUserIdResult>
{
public DoMatchmakingByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DoMatchmakingByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoMatchmakingByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/gathering/do";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Player != null)
{
jsonWriter.WritePropertyName("player");
request.Player.WriteJson(jsonWriter);
}
if (request.MatchmakingContextToken != null)
{
jsonWriter.WritePropertyName("matchmakingContextToken");
jsonWriter.Write(request.MatchmakingContextToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoMatchmakingByUserId(
Request.DoMatchmakingByUserIdRequest request,
UnityAction<AsyncResult<Result.DoMatchmakingByUserIdResult>> callback
)
{
var task = new DoMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoMatchmakingByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DoMatchmakingByUserIdResult> DoMatchmakingByUserIdFuture(
Request.DoMatchmakingByUserIdRequest request
)
{
return new DoMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoMatchmakingByUserIdResult> DoMatchmakingByUserIdAsync(
Request.DoMatchmakingByUserIdRequest request
)
{
AsyncResult<Result.DoMatchmakingByUserIdResult> result = null;
await DoMatchmakingByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoMatchmakingByUserIdTask DoMatchmakingByUserIdAsync(
Request.DoMatchmakingByUserIdRequest request
)
{
return new DoMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoMatchmakingByUserIdResult> DoMatchmakingByUserIdAsync(
Request.DoMatchmakingByUserIdRequest request
)
{
var task = new DoMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PingTask : Gs2RestSessionTask<PingRequest, PingResult>
{
public PingTask(IGs2Session session, RestSessionRequestFactory factory, PingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/ping";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator Ping(
Request.PingRequest request,
UnityAction<AsyncResult<Result.PingResult>> callback
)
{
var task = new PingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PingResult>(task.Result, task.Error));
}
public IFuture<Result.PingResult> PingFuture(
Request.PingRequest request
)
{
return new PingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PingResult> PingAsync(
Request.PingRequest request
)
{
AsyncResult<Result.PingResult> result = null;
await Ping(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PingTask PingAsync(
Request.PingRequest request
)
{
return new PingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PingResult> PingAsync(
Request.PingRequest request
)
{
var task = new PingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PingByUserIdTask : Gs2RestSessionTask<PingByUserIdRequest, PingByUserIdResult>
{
public PingByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, PingByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PingByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/{userId}/ping";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator PingByUserId(
Request.PingByUserIdRequest request,
UnityAction<AsyncResult<Result.PingByUserIdResult>> callback
)
{
var task = new PingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PingByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.PingByUserIdResult> PingByUserIdFuture(
Request.PingByUserIdRequest request
)
{
return new PingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PingByUserIdResult> PingByUserIdAsync(
Request.PingByUserIdRequest request
)
{
AsyncResult<Result.PingByUserIdResult> result = null;
await PingByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PingByUserIdTask PingByUserIdAsync(
Request.PingByUserIdRequest request
)
{
return new PingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PingByUserIdResult> PingByUserIdAsync(
Request.PingByUserIdRequest request
)
{
var task = new PingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetGatheringTask : Gs2RestSessionTask<GetGatheringRequest, GetGatheringResult>
{
public GetGatheringTask(IGs2Session session, RestSessionRequestFactory factory, GetGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetGathering(
Request.GetGatheringRequest request,
UnityAction<AsyncResult<Result.GetGatheringResult>> callback
)
{
var task = new GetGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.GetGatheringResult> GetGatheringFuture(
Request.GetGatheringRequest request
)
{
return new GetGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetGatheringResult> GetGatheringAsync(
Request.GetGatheringRequest request
)
{
AsyncResult<Result.GetGatheringResult> result = null;
await GetGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetGatheringTask GetGatheringAsync(
Request.GetGatheringRequest request
)
{
return new GetGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetGatheringResult> GetGatheringAsync(
Request.GetGatheringRequest request
)
{
var task = new GetGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CancelMatchmakingTask : Gs2RestSessionTask<CancelMatchmakingRequest, CancelMatchmakingResult>
{
public CancelMatchmakingTask(IGs2Session session, RestSessionRequestFactory factory, CancelMatchmakingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CancelMatchmakingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/me";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CancelMatchmaking(
Request.CancelMatchmakingRequest request,
UnityAction<AsyncResult<Result.CancelMatchmakingResult>> callback
)
{
var task = new CancelMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CancelMatchmakingResult>(task.Result, task.Error));
}
public IFuture<Result.CancelMatchmakingResult> CancelMatchmakingFuture(
Request.CancelMatchmakingRequest request
)
{
return new CancelMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CancelMatchmakingResult> CancelMatchmakingAsync(
Request.CancelMatchmakingRequest request
)
{
AsyncResult<Result.CancelMatchmakingResult> result = null;
await CancelMatchmaking(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CancelMatchmakingTask CancelMatchmakingAsync(
Request.CancelMatchmakingRequest request
)
{
return new CancelMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CancelMatchmakingResult> CancelMatchmakingAsync(
Request.CancelMatchmakingRequest request
)
{
var task = new CancelMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CancelMatchmakingByUserIdTask : Gs2RestSessionTask<CancelMatchmakingByUserIdRequest, CancelMatchmakingByUserIdResult>
{
public CancelMatchmakingByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CancelMatchmakingByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CancelMatchmakingByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CancelMatchmakingByUserId(
Request.CancelMatchmakingByUserIdRequest request,
UnityAction<AsyncResult<Result.CancelMatchmakingByUserIdResult>> callback
)
{
var task = new CancelMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CancelMatchmakingByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CancelMatchmakingByUserIdResult> CancelMatchmakingByUserIdFuture(
Request.CancelMatchmakingByUserIdRequest request
)
{
return new CancelMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CancelMatchmakingByUserIdResult> CancelMatchmakingByUserIdAsync(
Request.CancelMatchmakingByUserIdRequest request
)
{
AsyncResult<Result.CancelMatchmakingByUserIdResult> result = null;
await CancelMatchmakingByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CancelMatchmakingByUserIdTask CancelMatchmakingByUserIdAsync(
Request.CancelMatchmakingByUserIdRequest request
)
{
return new CancelMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CancelMatchmakingByUserIdResult> CancelMatchmakingByUserIdAsync(
Request.CancelMatchmakingByUserIdRequest request
)
{
var task = new CancelMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class EarlyCompleteTask : Gs2RestSessionTask<EarlyCompleteRequest, EarlyCompleteResult>
{
public EarlyCompleteTask(IGs2Session session, RestSessionRequestFactory factory, EarlyCompleteRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(EarlyCompleteRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/me/early";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator EarlyComplete(
Request.EarlyCompleteRequest request,
UnityAction<AsyncResult<Result.EarlyCompleteResult>> callback
)
{
var task = new EarlyCompleteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.EarlyCompleteResult>(task.Result, task.Error));
}
public IFuture<Result.EarlyCompleteResult> EarlyCompleteFuture(
Request.EarlyCompleteRequest request
)
{
return new EarlyCompleteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.EarlyCompleteResult> EarlyCompleteAsync(
Request.EarlyCompleteRequest request
)
{
AsyncResult<Result.EarlyCompleteResult> result = null;
await EarlyComplete(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public EarlyCompleteTask EarlyCompleteAsync(
Request.EarlyCompleteRequest request
)
{
return new EarlyCompleteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.EarlyCompleteResult> EarlyCompleteAsync(
Request.EarlyCompleteRequest request
)
{
var task = new EarlyCompleteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class EarlyCompleteByUserIdTask : Gs2RestSessionTask<EarlyCompleteByUserIdRequest, EarlyCompleteByUserIdResult>
{
public EarlyCompleteByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, EarlyCompleteByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(EarlyCompleteByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}/user/{userId}/early";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator EarlyCompleteByUserId(
Request.EarlyCompleteByUserIdRequest request,
UnityAction<AsyncResult<Result.EarlyCompleteByUserIdResult>> callback
)
{
var task = new EarlyCompleteByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.EarlyCompleteByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.EarlyCompleteByUserIdResult> EarlyCompleteByUserIdFuture(
Request.EarlyCompleteByUserIdRequest request
)
{
return new EarlyCompleteByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.EarlyCompleteByUserIdResult> EarlyCompleteByUserIdAsync(
Request.EarlyCompleteByUserIdRequest request
)
{
AsyncResult<Result.EarlyCompleteByUserIdResult> result = null;
await EarlyCompleteByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public EarlyCompleteByUserIdTask EarlyCompleteByUserIdAsync(
Request.EarlyCompleteByUserIdRequest request
)
{
return new EarlyCompleteByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.EarlyCompleteByUserIdResult> EarlyCompleteByUserIdAsync(
Request.EarlyCompleteByUserIdRequest request
)
{
var task = new EarlyCompleteByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteGatheringTask : Gs2RestSessionTask<DeleteGatheringRequest, DeleteGatheringResult>
{
public DeleteGatheringTask(IGs2Session session, RestSessionRequestFactory factory, DeleteGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/gathering/{gatheringName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteGathering(
Request.DeleteGatheringRequest request,
UnityAction<AsyncResult<Result.DeleteGatheringResult>> callback
)
{
var task = new DeleteGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteGatheringResult> DeleteGatheringFuture(
Request.DeleteGatheringRequest request
)
{
return new DeleteGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteGatheringResult> DeleteGatheringAsync(
Request.DeleteGatheringRequest request
)
{
AsyncResult<Result.DeleteGatheringResult> result = null;
await DeleteGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteGatheringTask DeleteGatheringAsync(
Request.DeleteGatheringRequest request
)
{
return new DeleteGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteGatheringResult> DeleteGatheringAsync(
Request.DeleteGatheringRequest request
)
{
var task = new DeleteGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeRatingModelMastersTask : Gs2RestSessionTask<DescribeRatingModelMastersRequest, DescribeRatingModelMastersResult>
{
public DescribeRatingModelMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeRatingModelMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeRatingModelMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/rating";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeRatingModelMasters(
Request.DescribeRatingModelMastersRequest request,
UnityAction<AsyncResult<Result.DescribeRatingModelMastersResult>> callback
)
{
var task = new DescribeRatingModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeRatingModelMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeRatingModelMastersResult> DescribeRatingModelMastersFuture(
Request.DescribeRatingModelMastersRequest request
)
{
return new DescribeRatingModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeRatingModelMastersResult> DescribeRatingModelMastersAsync(
Request.DescribeRatingModelMastersRequest request
)
{
AsyncResult<Result.DescribeRatingModelMastersResult> result = null;
await DescribeRatingModelMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeRatingModelMastersTask DescribeRatingModelMastersAsync(
Request.DescribeRatingModelMastersRequest request
)
{
return new DescribeRatingModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeRatingModelMastersResult> DescribeRatingModelMastersAsync(
Request.DescribeRatingModelMastersRequest request
)
{
var task = new DescribeRatingModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateRatingModelMasterTask : Gs2RestSessionTask<CreateRatingModelMasterRequest, CreateRatingModelMasterResult>
{
public CreateRatingModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateRatingModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateRatingModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/rating";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.InitialValue != null)
{
jsonWriter.WritePropertyName("initialValue");
jsonWriter.Write(request.InitialValue.ToString());
}
if (request.Volatility != null)
{
jsonWriter.WritePropertyName("volatility");
jsonWriter.Write(request.Volatility.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateRatingModelMaster(
Request.CreateRatingModelMasterRequest request,
UnityAction<AsyncResult<Result.CreateRatingModelMasterResult>> callback
)
{
var task = new CreateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateRatingModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateRatingModelMasterResult> CreateRatingModelMasterFuture(
Request.CreateRatingModelMasterRequest request
)
{
return new CreateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateRatingModelMasterResult> CreateRatingModelMasterAsync(
Request.CreateRatingModelMasterRequest request
)
{
AsyncResult<Result.CreateRatingModelMasterResult> result = null;
await CreateRatingModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateRatingModelMasterTask CreateRatingModelMasterAsync(
Request.CreateRatingModelMasterRequest request
)
{
return new CreateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateRatingModelMasterResult> CreateRatingModelMasterAsync(
Request.CreateRatingModelMasterRequest request
)
{
var task = new CreateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetRatingModelMasterTask : Gs2RestSessionTask<GetRatingModelMasterRequest, GetRatingModelMasterResult>
{
public GetRatingModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetRatingModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetRatingModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetRatingModelMaster(
Request.GetRatingModelMasterRequest request,
UnityAction<AsyncResult<Result.GetRatingModelMasterResult>> callback
)
{
var task = new GetRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetRatingModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetRatingModelMasterResult> GetRatingModelMasterFuture(
Request.GetRatingModelMasterRequest request
)
{
return new GetRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetRatingModelMasterResult> GetRatingModelMasterAsync(
Request.GetRatingModelMasterRequest request
)
{
AsyncResult<Result.GetRatingModelMasterResult> result = null;
await GetRatingModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetRatingModelMasterTask GetRatingModelMasterAsync(
Request.GetRatingModelMasterRequest request
)
{
return new GetRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetRatingModelMasterResult> GetRatingModelMasterAsync(
Request.GetRatingModelMasterRequest request
)
{
var task = new GetRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateRatingModelMasterTask : Gs2RestSessionTask<UpdateRatingModelMasterRequest, UpdateRatingModelMasterResult>
{
public UpdateRatingModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateRatingModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateRatingModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.InitialValue != null)
{
jsonWriter.WritePropertyName("initialValue");
jsonWriter.Write(request.InitialValue.ToString());
}
if (request.Volatility != null)
{
jsonWriter.WritePropertyName("volatility");
jsonWriter.Write(request.Volatility.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateRatingModelMaster(
Request.UpdateRatingModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateRatingModelMasterResult>> callback
)
{
var task = new UpdateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateRatingModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateRatingModelMasterResult> UpdateRatingModelMasterFuture(
Request.UpdateRatingModelMasterRequest request
)
{
return new UpdateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateRatingModelMasterResult> UpdateRatingModelMasterAsync(
Request.UpdateRatingModelMasterRequest request
)
{
AsyncResult<Result.UpdateRatingModelMasterResult> result = null;
await UpdateRatingModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateRatingModelMasterTask UpdateRatingModelMasterAsync(
Request.UpdateRatingModelMasterRequest request
)
{
return new UpdateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateRatingModelMasterResult> UpdateRatingModelMasterAsync(
Request.UpdateRatingModelMasterRequest request
)
{
var task = new UpdateRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteRatingModelMasterTask : Gs2RestSessionTask<DeleteRatingModelMasterRequest, DeleteRatingModelMasterResult>
{
public DeleteRatingModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteRatingModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteRatingModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteRatingModelMaster(
Request.DeleteRatingModelMasterRequest request,
UnityAction<AsyncResult<Result.DeleteRatingModelMasterResult>> callback
)
{
var task = new DeleteRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteRatingModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteRatingModelMasterResult> DeleteRatingModelMasterFuture(
Request.DeleteRatingModelMasterRequest request
)
{
return new DeleteRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteRatingModelMasterResult> DeleteRatingModelMasterAsync(
Request.DeleteRatingModelMasterRequest request
)
{
AsyncResult<Result.DeleteRatingModelMasterResult> result = null;
await DeleteRatingModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteRatingModelMasterTask DeleteRatingModelMasterAsync(
Request.DeleteRatingModelMasterRequest request
)
{
return new DeleteRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteRatingModelMasterResult> DeleteRatingModelMasterAsync(
Request.DeleteRatingModelMasterRequest request
)
{
var task = new DeleteRatingModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeRatingModelsTask : Gs2RestSessionTask<DescribeRatingModelsRequest, DescribeRatingModelsResult>
{
public DescribeRatingModelsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeRatingModelsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeRatingModelsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/rating";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeRatingModels(
Request.DescribeRatingModelsRequest request,
UnityAction<AsyncResult<Result.DescribeRatingModelsResult>> callback
)
{
var task = new DescribeRatingModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeRatingModelsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeRatingModelsResult> DescribeRatingModelsFuture(
Request.DescribeRatingModelsRequest request
)
{
return new DescribeRatingModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeRatingModelsResult> DescribeRatingModelsAsync(
Request.DescribeRatingModelsRequest request
)
{
AsyncResult<Result.DescribeRatingModelsResult> result = null;
await DescribeRatingModels(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeRatingModelsTask DescribeRatingModelsAsync(
Request.DescribeRatingModelsRequest request
)
{
return new DescribeRatingModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeRatingModelsResult> DescribeRatingModelsAsync(
Request.DescribeRatingModelsRequest request
)
{
var task = new DescribeRatingModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetRatingModelTask : Gs2RestSessionTask<GetRatingModelRequest, GetRatingModelResult>
{
public GetRatingModelTask(IGs2Session session, RestSessionRequestFactory factory, GetRatingModelRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetRatingModelRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetRatingModel(
Request.GetRatingModelRequest request,
UnityAction<AsyncResult<Result.GetRatingModelResult>> callback
)
{
var task = new GetRatingModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetRatingModelResult>(task.Result, task.Error));
}
public IFuture<Result.GetRatingModelResult> GetRatingModelFuture(
Request.GetRatingModelRequest request
)
{
return new GetRatingModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetRatingModelResult> GetRatingModelAsync(
Request.GetRatingModelRequest request
)
{
AsyncResult<Result.GetRatingModelResult> result = null;
await GetRatingModel(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetRatingModelTask GetRatingModelAsync(
Request.GetRatingModelRequest request
)
{
return new GetRatingModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetRatingModelResult> GetRatingModelAsync(
Request.GetRatingModelRequest request
)
{
var task = new GetRatingModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ExportMasterTask : Gs2RestSessionTask<ExportMasterRequest, ExportMasterResult>
{
public ExportMasterTask(IGs2Session session, RestSessionRequestFactory factory, ExportMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ExportMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/export";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ExportMaster(
Request.ExportMasterRequest request,
UnityAction<AsyncResult<Result.ExportMasterResult>> callback
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ExportMasterResult>(task.Result, task.Error));
}
public IFuture<Result.ExportMasterResult> ExportMasterFuture(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
AsyncResult<Result.ExportMasterResult> result = null;
await ExportMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ExportMasterTask ExportMasterAsync(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetCurrentModelMasterTask : Gs2RestSessionTask<GetCurrentModelMasterRequest, GetCurrentModelMasterResult>
{
public GetCurrentModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetCurrentModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCurrentModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetCurrentModelMaster(
Request.GetCurrentModelMasterRequest request,
UnityAction<AsyncResult<Result.GetCurrentModelMasterResult>> callback
)
{
var task = new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCurrentModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetCurrentModelMasterResult> GetCurrentModelMasterFuture(
Request.GetCurrentModelMasterRequest request
)
{
return new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCurrentModelMasterResult> GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
AsyncResult<Result.GetCurrentModelMasterResult> result = null;
await GetCurrentModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCurrentModelMasterTask GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
return new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCurrentModelMasterResult> GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
var task = new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentModelMasterTask : Gs2RestSessionTask<UpdateCurrentModelMasterRequest, UpdateCurrentModelMasterResult>
{
public UpdateCurrentModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Settings != null)
{
jsonWriter.WritePropertyName("settings");
jsonWriter.Write(request.Settings);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentModelMaster(
Request.UpdateCurrentModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentModelMasterResult>> callback
)
{
var task = new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterFuture(
Request.UpdateCurrentModelMasterRequest request
)
{
return new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
AsyncResult<Result.UpdateCurrentModelMasterResult> result = null;
await UpdateCurrentModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentModelMasterTask UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
return new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
var task = new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentModelMasterFromGitHubTask : Gs2RestSessionTask<UpdateCurrentModelMasterFromGitHubRequest, UpdateCurrentModelMasterFromGitHubResult>
{
public UpdateCurrentModelMasterFromGitHubTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentModelMasterFromGitHubRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentModelMasterFromGitHubRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/from_git_hub";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CheckoutSetting != null)
{
jsonWriter.WritePropertyName("checkoutSetting");
request.CheckoutSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentModelMasterFromGitHub(
Request.UpdateCurrentModelMasterFromGitHubRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult>> callback
)
{
var task = new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubFuture(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
return new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult> result = null;
await UpdateCurrentModelMasterFromGitHub(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentModelMasterFromGitHubTask UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
return new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
var task = new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeSeasonModelsTask : Gs2RestSessionTask<DescribeSeasonModelsRequest, DescribeSeasonModelsResult>
{
public DescribeSeasonModelsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeSeasonModelsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeSeasonModelsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeSeasonModels(
Request.DescribeSeasonModelsRequest request,
UnityAction<AsyncResult<Result.DescribeSeasonModelsResult>> callback
)
{
var task = new DescribeSeasonModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeSeasonModelsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeSeasonModelsResult> DescribeSeasonModelsFuture(
Request.DescribeSeasonModelsRequest request
)
{
return new DescribeSeasonModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeSeasonModelsResult> DescribeSeasonModelsAsync(
Request.DescribeSeasonModelsRequest request
)
{
AsyncResult<Result.DescribeSeasonModelsResult> result = null;
await DescribeSeasonModels(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeSeasonModelsTask DescribeSeasonModelsAsync(
Request.DescribeSeasonModelsRequest request
)
{
return new DescribeSeasonModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeSeasonModelsResult> DescribeSeasonModelsAsync(
Request.DescribeSeasonModelsRequest request
)
{
var task = new DescribeSeasonModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetSeasonModelTask : Gs2RestSessionTask<GetSeasonModelRequest, GetSeasonModelResult>
{
public GetSeasonModelTask(IGs2Session session, RestSessionRequestFactory factory, GetSeasonModelRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetSeasonModelRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetSeasonModel(
Request.GetSeasonModelRequest request,
UnityAction<AsyncResult<Result.GetSeasonModelResult>> callback
)
{
var task = new GetSeasonModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetSeasonModelResult>(task.Result, task.Error));
}
public IFuture<Result.GetSeasonModelResult> GetSeasonModelFuture(
Request.GetSeasonModelRequest request
)
{
return new GetSeasonModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetSeasonModelResult> GetSeasonModelAsync(
Request.GetSeasonModelRequest request
)
{
AsyncResult<Result.GetSeasonModelResult> result = null;
await GetSeasonModel(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetSeasonModelTask GetSeasonModelAsync(
Request.GetSeasonModelRequest request
)
{
return new GetSeasonModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetSeasonModelResult> GetSeasonModelAsync(
Request.GetSeasonModelRequest request
)
{
var task = new GetSeasonModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeSeasonModelMastersTask : Gs2RestSessionTask<DescribeSeasonModelMastersRequest, DescribeSeasonModelMastersResult>
{
public DescribeSeasonModelMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeSeasonModelMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeSeasonModelMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/season";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeSeasonModelMasters(
Request.DescribeSeasonModelMastersRequest request,
UnityAction<AsyncResult<Result.DescribeSeasonModelMastersResult>> callback
)
{
var task = new DescribeSeasonModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeSeasonModelMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeSeasonModelMastersResult> DescribeSeasonModelMastersFuture(
Request.DescribeSeasonModelMastersRequest request
)
{
return new DescribeSeasonModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeSeasonModelMastersResult> DescribeSeasonModelMastersAsync(
Request.DescribeSeasonModelMastersRequest request
)
{
AsyncResult<Result.DescribeSeasonModelMastersResult> result = null;
await DescribeSeasonModelMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeSeasonModelMastersTask DescribeSeasonModelMastersAsync(
Request.DescribeSeasonModelMastersRequest request
)
{
return new DescribeSeasonModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeSeasonModelMastersResult> DescribeSeasonModelMastersAsync(
Request.DescribeSeasonModelMastersRequest request
)
{
var task = new DescribeSeasonModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateSeasonModelMasterTask : Gs2RestSessionTask<CreateSeasonModelMasterRequest, CreateSeasonModelMasterResult>
{
public CreateSeasonModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateSeasonModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateSeasonModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/season";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.MaximumParticipants != null)
{
jsonWriter.WritePropertyName("maximumParticipants");
jsonWriter.Write(request.MaximumParticipants.ToString());
}
if (request.ExperienceModelId != null)
{
jsonWriter.WritePropertyName("experienceModelId");
jsonWriter.Write(request.ExperienceModelId);
}
if (request.ChallengePeriodEventId != null)
{
jsonWriter.WritePropertyName("challengePeriodEventId");
jsonWriter.Write(request.ChallengePeriodEventId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateSeasonModelMaster(
Request.CreateSeasonModelMasterRequest request,
UnityAction<AsyncResult<Result.CreateSeasonModelMasterResult>> callback
)
{
var task = new CreateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateSeasonModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateSeasonModelMasterResult> CreateSeasonModelMasterFuture(
Request.CreateSeasonModelMasterRequest request
)
{
return new CreateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateSeasonModelMasterResult> CreateSeasonModelMasterAsync(
Request.CreateSeasonModelMasterRequest request
)
{
AsyncResult<Result.CreateSeasonModelMasterResult> result = null;
await CreateSeasonModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateSeasonModelMasterTask CreateSeasonModelMasterAsync(
Request.CreateSeasonModelMasterRequest request
)
{
return new CreateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateSeasonModelMasterResult> CreateSeasonModelMasterAsync(
Request.CreateSeasonModelMasterRequest request
)
{
var task = new CreateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetSeasonModelMasterTask : Gs2RestSessionTask<GetSeasonModelMasterRequest, GetSeasonModelMasterResult>
{
public GetSeasonModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetSeasonModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetSeasonModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/season/{seasonName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetSeasonModelMaster(
Request.GetSeasonModelMasterRequest request,
UnityAction<AsyncResult<Result.GetSeasonModelMasterResult>> callback
)
{
var task = new GetSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetSeasonModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetSeasonModelMasterResult> GetSeasonModelMasterFuture(
Request.GetSeasonModelMasterRequest request
)
{
return new GetSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetSeasonModelMasterResult> GetSeasonModelMasterAsync(
Request.GetSeasonModelMasterRequest request
)
{
AsyncResult<Result.GetSeasonModelMasterResult> result = null;
await GetSeasonModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetSeasonModelMasterTask GetSeasonModelMasterAsync(
Request.GetSeasonModelMasterRequest request
)
{
return new GetSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetSeasonModelMasterResult> GetSeasonModelMasterAsync(
Request.GetSeasonModelMasterRequest request
)
{
var task = new GetSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateSeasonModelMasterTask : Gs2RestSessionTask<UpdateSeasonModelMasterRequest, UpdateSeasonModelMasterResult>
{
public UpdateSeasonModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateSeasonModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateSeasonModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/season/{seasonName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.MaximumParticipants != null)
{
jsonWriter.WritePropertyName("maximumParticipants");
jsonWriter.Write(request.MaximumParticipants.ToString());
}
if (request.ExperienceModelId != null)
{
jsonWriter.WritePropertyName("experienceModelId");
jsonWriter.Write(request.ExperienceModelId);
}
if (request.ChallengePeriodEventId != null)
{
jsonWriter.WritePropertyName("challengePeriodEventId");
jsonWriter.Write(request.ChallengePeriodEventId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateSeasonModelMaster(
Request.UpdateSeasonModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateSeasonModelMasterResult>> callback
)
{
var task = new UpdateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateSeasonModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateSeasonModelMasterResult> UpdateSeasonModelMasterFuture(
Request.UpdateSeasonModelMasterRequest request
)
{
return new UpdateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateSeasonModelMasterResult> UpdateSeasonModelMasterAsync(
Request.UpdateSeasonModelMasterRequest request
)
{
AsyncResult<Result.UpdateSeasonModelMasterResult> result = null;
await UpdateSeasonModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateSeasonModelMasterTask UpdateSeasonModelMasterAsync(
Request.UpdateSeasonModelMasterRequest request
)
{
return new UpdateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateSeasonModelMasterResult> UpdateSeasonModelMasterAsync(
Request.UpdateSeasonModelMasterRequest request
)
{
var task = new UpdateSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteSeasonModelMasterTask : Gs2RestSessionTask<DeleteSeasonModelMasterRequest, DeleteSeasonModelMasterResult>
{
public DeleteSeasonModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteSeasonModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteSeasonModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/season/{seasonName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteSeasonModelMaster(
Request.DeleteSeasonModelMasterRequest request,
UnityAction<AsyncResult<Result.DeleteSeasonModelMasterResult>> callback
)
{
var task = new DeleteSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteSeasonModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteSeasonModelMasterResult> DeleteSeasonModelMasterFuture(
Request.DeleteSeasonModelMasterRequest request
)
{
return new DeleteSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteSeasonModelMasterResult> DeleteSeasonModelMasterAsync(
Request.DeleteSeasonModelMasterRequest request
)
{
AsyncResult<Result.DeleteSeasonModelMasterResult> result = null;
await DeleteSeasonModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteSeasonModelMasterTask DeleteSeasonModelMasterAsync(
Request.DeleteSeasonModelMasterRequest request
)
{
return new DeleteSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteSeasonModelMasterResult> DeleteSeasonModelMasterAsync(
Request.DeleteSeasonModelMasterRequest request
)
{
var task = new DeleteSeasonModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeSeasonGatheringsTask : Gs2RestSessionTask<DescribeSeasonGatheringsRequest, DescribeSeasonGatheringsResult>
{
public DescribeSeasonGatheringsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeSeasonGatheringsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeSeasonGatheringsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/gathering";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
url = url.Replace("{tier}",request.Tier != null ? request.Tier.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeSeasonGatherings(
Request.DescribeSeasonGatheringsRequest request,
UnityAction<AsyncResult<Result.DescribeSeasonGatheringsResult>> callback
)
{
var task = new DescribeSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeSeasonGatheringsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeSeasonGatheringsResult> DescribeSeasonGatheringsFuture(
Request.DescribeSeasonGatheringsRequest request
)
{
return new DescribeSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeSeasonGatheringsResult> DescribeSeasonGatheringsAsync(
Request.DescribeSeasonGatheringsRequest request
)
{
AsyncResult<Result.DescribeSeasonGatheringsResult> result = null;
await DescribeSeasonGatherings(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeSeasonGatheringsTask DescribeSeasonGatheringsAsync(
Request.DescribeSeasonGatheringsRequest request
)
{
return new DescribeSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeSeasonGatheringsResult> DescribeSeasonGatheringsAsync(
Request.DescribeSeasonGatheringsRequest request
)
{
var task = new DescribeSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeMatchmakingSeasonGatheringsTask : Gs2RestSessionTask<DescribeMatchmakingSeasonGatheringsRequest, DescribeMatchmakingSeasonGatheringsResult>
{
public DescribeMatchmakingSeasonGatheringsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeMatchmakingSeasonGatheringsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeMatchmakingSeasonGatheringsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/gathering/matchmaking";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.Tier != null) {
sessionRequest.AddQueryString("tier", $"{request.Tier}");
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeMatchmakingSeasonGatherings(
Request.DescribeMatchmakingSeasonGatheringsRequest request,
UnityAction<AsyncResult<Result.DescribeMatchmakingSeasonGatheringsResult>> callback
)
{
var task = new DescribeMatchmakingSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeMatchmakingSeasonGatheringsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeMatchmakingSeasonGatheringsResult> DescribeMatchmakingSeasonGatheringsFuture(
Request.DescribeMatchmakingSeasonGatheringsRequest request
)
{
return new DescribeMatchmakingSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeMatchmakingSeasonGatheringsResult> DescribeMatchmakingSeasonGatheringsAsync(
Request.DescribeMatchmakingSeasonGatheringsRequest request
)
{
AsyncResult<Result.DescribeMatchmakingSeasonGatheringsResult> result = null;
await DescribeMatchmakingSeasonGatherings(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeMatchmakingSeasonGatheringsTask DescribeMatchmakingSeasonGatheringsAsync(
Request.DescribeMatchmakingSeasonGatheringsRequest request
)
{
return new DescribeMatchmakingSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeMatchmakingSeasonGatheringsResult> DescribeMatchmakingSeasonGatheringsAsync(
Request.DescribeMatchmakingSeasonGatheringsRequest request
)
{
var task = new DescribeMatchmakingSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoSeasonMatchmakingTask : Gs2RestSessionTask<DoSeasonMatchmakingRequest, DoSeasonMatchmakingResult>
{
public DoSeasonMatchmakingTask(IGs2Session session, RestSessionRequestFactory factory, DoSeasonMatchmakingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoSeasonMatchmakingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/season/{seasonName}/gathering/do";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.MatchmakingContextToken != null)
{
jsonWriter.WritePropertyName("matchmakingContextToken");
jsonWriter.Write(request.MatchmakingContextToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoSeasonMatchmaking(
Request.DoSeasonMatchmakingRequest request,
UnityAction<AsyncResult<Result.DoSeasonMatchmakingResult>> callback
)
{
var task = new DoSeasonMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoSeasonMatchmakingResult>(task.Result, task.Error));
}
public IFuture<Result.DoSeasonMatchmakingResult> DoSeasonMatchmakingFuture(
Request.DoSeasonMatchmakingRequest request
)
{
return new DoSeasonMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoSeasonMatchmakingResult> DoSeasonMatchmakingAsync(
Request.DoSeasonMatchmakingRequest request
)
{
AsyncResult<Result.DoSeasonMatchmakingResult> result = null;
await DoSeasonMatchmaking(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoSeasonMatchmakingTask DoSeasonMatchmakingAsync(
Request.DoSeasonMatchmakingRequest request
)
{
return new DoSeasonMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoSeasonMatchmakingResult> DoSeasonMatchmakingAsync(
Request.DoSeasonMatchmakingRequest request
)
{
var task = new DoSeasonMatchmakingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoSeasonMatchmakingByUserIdTask : Gs2RestSessionTask<DoSeasonMatchmakingByUserIdRequest, DoSeasonMatchmakingByUserIdResult>
{
public DoSeasonMatchmakingByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DoSeasonMatchmakingByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoSeasonMatchmakingByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/season/{seasonName}/gathering/do";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.MatchmakingContextToken != null)
{
jsonWriter.WritePropertyName("matchmakingContextToken");
jsonWriter.Write(request.MatchmakingContextToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoSeasonMatchmakingByUserId(
Request.DoSeasonMatchmakingByUserIdRequest request,
UnityAction<AsyncResult<Result.DoSeasonMatchmakingByUserIdResult>> callback
)
{
var task = new DoSeasonMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoSeasonMatchmakingByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DoSeasonMatchmakingByUserIdResult> DoSeasonMatchmakingByUserIdFuture(
Request.DoSeasonMatchmakingByUserIdRequest request
)
{
return new DoSeasonMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoSeasonMatchmakingByUserIdResult> DoSeasonMatchmakingByUserIdAsync(
Request.DoSeasonMatchmakingByUserIdRequest request
)
{
AsyncResult<Result.DoSeasonMatchmakingByUserIdResult> result = null;
await DoSeasonMatchmakingByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoSeasonMatchmakingByUserIdTask DoSeasonMatchmakingByUserIdAsync(
Request.DoSeasonMatchmakingByUserIdRequest request
)
{
return new DoSeasonMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoSeasonMatchmakingByUserIdResult> DoSeasonMatchmakingByUserIdAsync(
Request.DoSeasonMatchmakingByUserIdRequest request
)
{
var task = new DoSeasonMatchmakingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetSeasonGatheringTask : Gs2RestSessionTask<GetSeasonGatheringRequest, GetSeasonGatheringResult>
{
public GetSeasonGatheringTask(IGs2Session session, RestSessionRequestFactory factory, GetSeasonGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetSeasonGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/{tier}/gathering/{seasonGatheringName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
url = url.Replace("{tier}",request.Tier != null ? request.Tier.ToString() : "null");
url = url.Replace("{seasonGatheringName}", !string.IsNullOrEmpty(request.SeasonGatheringName) ? request.SeasonGatheringName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetSeasonGathering(
Request.GetSeasonGatheringRequest request,
UnityAction<AsyncResult<Result.GetSeasonGatheringResult>> callback
)
{
var task = new GetSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetSeasonGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.GetSeasonGatheringResult> GetSeasonGatheringFuture(
Request.GetSeasonGatheringRequest request
)
{
return new GetSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetSeasonGatheringResult> GetSeasonGatheringAsync(
Request.GetSeasonGatheringRequest request
)
{
AsyncResult<Result.GetSeasonGatheringResult> result = null;
await GetSeasonGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetSeasonGatheringTask GetSeasonGatheringAsync(
Request.GetSeasonGatheringRequest request
)
{
return new GetSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetSeasonGatheringResult> GetSeasonGatheringAsync(
Request.GetSeasonGatheringRequest request
)
{
var task = new GetSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyIncludeParticipantTask : Gs2RestSessionTask<VerifyIncludeParticipantRequest, VerifyIncludeParticipantResult>
{
public VerifyIncludeParticipantTask(IGs2Session session, RestSessionRequestFactory factory, VerifyIncludeParticipantRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyIncludeParticipantRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/{tier}/gathering/{seasonGatheringName}/participant/me/verify";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
url = url.Replace("{tier}",request.Tier != null ? request.Tier.ToString() : "null");
url = url.Replace("{seasonGatheringName}", !string.IsNullOrEmpty(request.SeasonGatheringName) ? request.SeasonGatheringName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.VerifyType != null)
{
jsonWriter.WritePropertyName("verifyType");
jsonWriter.Write(request.VerifyType);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyIncludeParticipant(
Request.VerifyIncludeParticipantRequest request,
UnityAction<AsyncResult<Result.VerifyIncludeParticipantResult>> callback
)
{
var task = new VerifyIncludeParticipantTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyIncludeParticipantResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyIncludeParticipantResult> VerifyIncludeParticipantFuture(
Request.VerifyIncludeParticipantRequest request
)
{
return new VerifyIncludeParticipantTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyIncludeParticipantResult> VerifyIncludeParticipantAsync(
Request.VerifyIncludeParticipantRequest request
)
{
AsyncResult<Result.VerifyIncludeParticipantResult> result = null;
await VerifyIncludeParticipant(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyIncludeParticipantTask VerifyIncludeParticipantAsync(
Request.VerifyIncludeParticipantRequest request
)
{
return new VerifyIncludeParticipantTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyIncludeParticipantResult> VerifyIncludeParticipantAsync(
Request.VerifyIncludeParticipantRequest request
)
{
var task = new VerifyIncludeParticipantTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyIncludeParticipantByUserIdTask : Gs2RestSessionTask<VerifyIncludeParticipantByUserIdRequest, VerifyIncludeParticipantByUserIdResult>
{
public VerifyIncludeParticipantByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, VerifyIncludeParticipantByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyIncludeParticipantByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/{tier}/gathering/{seasonGatheringName}/participant/{userId}/verify";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
url = url.Replace("{tier}",request.Tier != null ? request.Tier.ToString() : "null");
url = url.Replace("{seasonGatheringName}", !string.IsNullOrEmpty(request.SeasonGatheringName) ? request.SeasonGatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.VerifyType != null)
{
jsonWriter.WritePropertyName("verifyType");
jsonWriter.Write(request.VerifyType);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyIncludeParticipantByUserId(
Request.VerifyIncludeParticipantByUserIdRequest request,
UnityAction<AsyncResult<Result.VerifyIncludeParticipantByUserIdResult>> callback
)
{
var task = new VerifyIncludeParticipantByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyIncludeParticipantByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyIncludeParticipantByUserIdResult> VerifyIncludeParticipantByUserIdFuture(
Request.VerifyIncludeParticipantByUserIdRequest request
)
{
return new VerifyIncludeParticipantByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyIncludeParticipantByUserIdResult> VerifyIncludeParticipantByUserIdAsync(
Request.VerifyIncludeParticipantByUserIdRequest request
)
{
AsyncResult<Result.VerifyIncludeParticipantByUserIdResult> result = null;
await VerifyIncludeParticipantByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyIncludeParticipantByUserIdTask VerifyIncludeParticipantByUserIdAsync(
Request.VerifyIncludeParticipantByUserIdRequest request
)
{
return new VerifyIncludeParticipantByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyIncludeParticipantByUserIdResult> VerifyIncludeParticipantByUserIdAsync(
Request.VerifyIncludeParticipantByUserIdRequest request
)
{
var task = new VerifyIncludeParticipantByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteSeasonGatheringTask : Gs2RestSessionTask<DeleteSeasonGatheringRequest, DeleteSeasonGatheringResult>
{
public DeleteSeasonGatheringTask(IGs2Session session, RestSessionRequestFactory factory, DeleteSeasonGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteSeasonGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/season/{seasonName}/{season}/{tier}/gathering/{seasonGatheringName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
url = url.Replace("{tier}",request.Tier != null ? request.Tier.ToString() : "null");
url = url.Replace("{seasonGatheringName}", !string.IsNullOrEmpty(request.SeasonGatheringName) ? request.SeasonGatheringName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteSeasonGathering(
Request.DeleteSeasonGatheringRequest request,
UnityAction<AsyncResult<Result.DeleteSeasonGatheringResult>> callback
)
{
var task = new DeleteSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteSeasonGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteSeasonGatheringResult> DeleteSeasonGatheringFuture(
Request.DeleteSeasonGatheringRequest request
)
{
return new DeleteSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteSeasonGatheringResult> DeleteSeasonGatheringAsync(
Request.DeleteSeasonGatheringRequest request
)
{
AsyncResult<Result.DeleteSeasonGatheringResult> result = null;
await DeleteSeasonGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteSeasonGatheringTask DeleteSeasonGatheringAsync(
Request.DeleteSeasonGatheringRequest request
)
{
return new DeleteSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteSeasonGatheringResult> DeleteSeasonGatheringAsync(
Request.DeleteSeasonGatheringRequest request
)
{
var task = new DeleteSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyIncludeParticipantByStampTaskTask : Gs2RestSessionTask<VerifyIncludeParticipantByStampTaskRequest, VerifyIncludeParticipantByStampTaskResult>
{
public VerifyIncludeParticipantByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, VerifyIncludeParticipantByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyIncludeParticipantByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/season/gathering/participant/verify";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampTask != null)
{
jsonWriter.WritePropertyName("stampTask");
jsonWriter.Write(request.StampTask);
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyIncludeParticipantByStampTask(
Request.VerifyIncludeParticipantByStampTaskRequest request,
UnityAction<AsyncResult<Result.VerifyIncludeParticipantByStampTaskResult>> callback
)
{
var task = new VerifyIncludeParticipantByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyIncludeParticipantByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyIncludeParticipantByStampTaskResult> VerifyIncludeParticipantByStampTaskFuture(
Request.VerifyIncludeParticipantByStampTaskRequest request
)
{
return new VerifyIncludeParticipantByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyIncludeParticipantByStampTaskResult> VerifyIncludeParticipantByStampTaskAsync(
Request.VerifyIncludeParticipantByStampTaskRequest request
)
{
AsyncResult<Result.VerifyIncludeParticipantByStampTaskResult> result = null;
await VerifyIncludeParticipantByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyIncludeParticipantByStampTaskTask VerifyIncludeParticipantByStampTaskAsync(
Request.VerifyIncludeParticipantByStampTaskRequest request
)
{
return new VerifyIncludeParticipantByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyIncludeParticipantByStampTaskResult> VerifyIncludeParticipantByStampTaskAsync(
Request.VerifyIncludeParticipantByStampTaskRequest request
)
{
var task = new VerifyIncludeParticipantByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeJoinedSeasonGatheringsTask : Gs2RestSessionTask<DescribeJoinedSeasonGatheringsRequest, DescribeJoinedSeasonGatheringsResult>
{
public DescribeJoinedSeasonGatheringsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeJoinedSeasonGatheringsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeJoinedSeasonGatheringsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/season/{seasonName}/gathering/join";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeJoinedSeasonGatherings(
Request.DescribeJoinedSeasonGatheringsRequest request,
UnityAction<AsyncResult<Result.DescribeJoinedSeasonGatheringsResult>> callback
)
{
var task = new DescribeJoinedSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeJoinedSeasonGatheringsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeJoinedSeasonGatheringsResult> DescribeJoinedSeasonGatheringsFuture(
Request.DescribeJoinedSeasonGatheringsRequest request
)
{
return new DescribeJoinedSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeJoinedSeasonGatheringsResult> DescribeJoinedSeasonGatheringsAsync(
Request.DescribeJoinedSeasonGatheringsRequest request
)
{
AsyncResult<Result.DescribeJoinedSeasonGatheringsResult> result = null;
await DescribeJoinedSeasonGatherings(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeJoinedSeasonGatheringsTask DescribeJoinedSeasonGatheringsAsync(
Request.DescribeJoinedSeasonGatheringsRequest request
)
{
return new DescribeJoinedSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeJoinedSeasonGatheringsResult> DescribeJoinedSeasonGatheringsAsync(
Request.DescribeJoinedSeasonGatheringsRequest request
)
{
var task = new DescribeJoinedSeasonGatheringsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeJoinedSeasonGatheringsByUserIdTask : Gs2RestSessionTask<DescribeJoinedSeasonGatheringsByUserIdRequest, DescribeJoinedSeasonGatheringsByUserIdResult>
{
public DescribeJoinedSeasonGatheringsByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribeJoinedSeasonGatheringsByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeJoinedSeasonGatheringsByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/season/{seasonName}/gathering/join";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeJoinedSeasonGatheringsByUserId(
Request.DescribeJoinedSeasonGatheringsByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribeJoinedSeasonGatheringsByUserIdResult>> callback
)
{
var task = new DescribeJoinedSeasonGatheringsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeJoinedSeasonGatheringsByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeJoinedSeasonGatheringsByUserIdResult> DescribeJoinedSeasonGatheringsByUserIdFuture(
Request.DescribeJoinedSeasonGatheringsByUserIdRequest request
)
{
return new DescribeJoinedSeasonGatheringsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeJoinedSeasonGatheringsByUserIdResult> DescribeJoinedSeasonGatheringsByUserIdAsync(
Request.DescribeJoinedSeasonGatheringsByUserIdRequest request
)
{
AsyncResult<Result.DescribeJoinedSeasonGatheringsByUserIdResult> result = null;
await DescribeJoinedSeasonGatheringsByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeJoinedSeasonGatheringsByUserIdTask DescribeJoinedSeasonGatheringsByUserIdAsync(
Request.DescribeJoinedSeasonGatheringsByUserIdRequest request
)
{
return new DescribeJoinedSeasonGatheringsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeJoinedSeasonGatheringsByUserIdResult> DescribeJoinedSeasonGatheringsByUserIdAsync(
Request.DescribeJoinedSeasonGatheringsByUserIdRequest request
)
{
var task = new DescribeJoinedSeasonGatheringsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetJoinedSeasonGatheringTask : Gs2RestSessionTask<GetJoinedSeasonGatheringRequest, GetJoinedSeasonGatheringResult>
{
public GetJoinedSeasonGatheringTask(IGs2Session session, RestSessionRequestFactory factory, GetJoinedSeasonGatheringRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetJoinedSeasonGatheringRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/season/{seasonName}/gathering/join/{season}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetJoinedSeasonGathering(
Request.GetJoinedSeasonGatheringRequest request,
UnityAction<AsyncResult<Result.GetJoinedSeasonGatheringResult>> callback
)
{
var task = new GetJoinedSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetJoinedSeasonGatheringResult>(task.Result, task.Error));
}
public IFuture<Result.GetJoinedSeasonGatheringResult> GetJoinedSeasonGatheringFuture(
Request.GetJoinedSeasonGatheringRequest request
)
{
return new GetJoinedSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetJoinedSeasonGatheringResult> GetJoinedSeasonGatheringAsync(
Request.GetJoinedSeasonGatheringRequest request
)
{
AsyncResult<Result.GetJoinedSeasonGatheringResult> result = null;
await GetJoinedSeasonGathering(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetJoinedSeasonGatheringTask GetJoinedSeasonGatheringAsync(
Request.GetJoinedSeasonGatheringRequest request
)
{
return new GetJoinedSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetJoinedSeasonGatheringResult> GetJoinedSeasonGatheringAsync(
Request.GetJoinedSeasonGatheringRequest request
)
{
var task = new GetJoinedSeasonGatheringTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetJoinedSeasonGatheringByUserIdTask : Gs2RestSessionTask<GetJoinedSeasonGatheringByUserIdRequest, GetJoinedSeasonGatheringByUserIdResult>
{
public GetJoinedSeasonGatheringByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetJoinedSeasonGatheringByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetJoinedSeasonGatheringByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/season/{seasonName}/gathering/join/{season}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{seasonName}", !string.IsNullOrEmpty(request.SeasonName) ? request.SeasonName.ToString() : "null");
url = url.Replace("{season}",request.Season != null ? request.Season.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetJoinedSeasonGatheringByUserId(
Request.GetJoinedSeasonGatheringByUserIdRequest request,
UnityAction<AsyncResult<Result.GetJoinedSeasonGatheringByUserIdResult>> callback
)
{
var task = new GetJoinedSeasonGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetJoinedSeasonGatheringByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetJoinedSeasonGatheringByUserIdResult> GetJoinedSeasonGatheringByUserIdFuture(
Request.GetJoinedSeasonGatheringByUserIdRequest request
)
{
return new GetJoinedSeasonGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetJoinedSeasonGatheringByUserIdResult> GetJoinedSeasonGatheringByUserIdAsync(
Request.GetJoinedSeasonGatheringByUserIdRequest request
)
{
AsyncResult<Result.GetJoinedSeasonGatheringByUserIdResult> result = null;
await GetJoinedSeasonGatheringByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetJoinedSeasonGatheringByUserIdTask GetJoinedSeasonGatheringByUserIdAsync(
Request.GetJoinedSeasonGatheringByUserIdRequest request
)
{
return new GetJoinedSeasonGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetJoinedSeasonGatheringByUserIdResult> GetJoinedSeasonGatheringByUserIdAsync(
Request.GetJoinedSeasonGatheringByUserIdRequest request
)
{
var task = new GetJoinedSeasonGatheringByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeRatingsTask : Gs2RestSessionTask<DescribeRatingsRequest, DescribeRatingsResult>
{
public DescribeRatingsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeRatingsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeRatingsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/rating";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeRatings(
Request.DescribeRatingsRequest request,
UnityAction<AsyncResult<Result.DescribeRatingsResult>> callback
)
{
var task = new DescribeRatingsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeRatingsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeRatingsResult> DescribeRatingsFuture(
Request.DescribeRatingsRequest request
)
{
return new DescribeRatingsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeRatingsResult> DescribeRatingsAsync(
Request.DescribeRatingsRequest request
)
{
AsyncResult<Result.DescribeRatingsResult> result = null;
await DescribeRatings(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeRatingsTask DescribeRatingsAsync(
Request.DescribeRatingsRequest request
)
{
return new DescribeRatingsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeRatingsResult> DescribeRatingsAsync(
Request.DescribeRatingsRequest request
)
{
var task = new DescribeRatingsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeRatingsByUserIdTask : Gs2RestSessionTask<DescribeRatingsByUserIdRequest, DescribeRatingsByUserIdResult>
{
public DescribeRatingsByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribeRatingsByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeRatingsByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/rating";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeRatingsByUserId(
Request.DescribeRatingsByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribeRatingsByUserIdResult>> callback
)
{
var task = new DescribeRatingsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeRatingsByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeRatingsByUserIdResult> DescribeRatingsByUserIdFuture(
Request.DescribeRatingsByUserIdRequest request
)
{
return new DescribeRatingsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeRatingsByUserIdResult> DescribeRatingsByUserIdAsync(
Request.DescribeRatingsByUserIdRequest request
)
{
AsyncResult<Result.DescribeRatingsByUserIdResult> result = null;
await DescribeRatingsByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeRatingsByUserIdTask DescribeRatingsByUserIdAsync(
Request.DescribeRatingsByUserIdRequest request
)
{
return new DescribeRatingsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeRatingsByUserIdResult> DescribeRatingsByUserIdAsync(
Request.DescribeRatingsByUserIdRequest request
)
{
var task = new DescribeRatingsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetRatingTask : Gs2RestSessionTask<GetRatingRequest, GetRatingResult>
{
public GetRatingTask(IGs2Session session, RestSessionRequestFactory factory, GetRatingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetRatingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetRating(
Request.GetRatingRequest request,
UnityAction<AsyncResult<Result.GetRatingResult>> callback
)
{
var task = new GetRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetRatingResult>(task.Result, task.Error));
}
public IFuture<Result.GetRatingResult> GetRatingFuture(
Request.GetRatingRequest request
)
{
return new GetRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetRatingResult> GetRatingAsync(
Request.GetRatingRequest request
)
{
AsyncResult<Result.GetRatingResult> result = null;
await GetRating(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetRatingTask GetRatingAsync(
Request.GetRatingRequest request
)
{
return new GetRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetRatingResult> GetRatingAsync(
Request.GetRatingRequest request
)
{
var task = new GetRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetRatingByUserIdTask : Gs2RestSessionTask<GetRatingByUserIdRequest, GetRatingByUserIdResult>
{
public GetRatingByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetRatingByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetRatingByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetRatingByUserId(
Request.GetRatingByUserIdRequest request,
UnityAction<AsyncResult<Result.GetRatingByUserIdResult>> callback
)
{
var task = new GetRatingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetRatingByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetRatingByUserIdResult> GetRatingByUserIdFuture(
Request.GetRatingByUserIdRequest request
)
{
return new GetRatingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetRatingByUserIdResult> GetRatingByUserIdAsync(
Request.GetRatingByUserIdRequest request
)
{
AsyncResult<Result.GetRatingByUserIdResult> result = null;
await GetRatingByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetRatingByUserIdTask GetRatingByUserIdAsync(
Request.GetRatingByUserIdRequest request
)
{
return new GetRatingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetRatingByUserIdResult> GetRatingByUserIdAsync(
Request.GetRatingByUserIdRequest request
)
{
var task = new GetRatingByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PutResultTask : Gs2RestSessionTask<PutResultRequest, PutResultResult>
{
public PutResultTask(IGs2Session session, RestSessionRequestFactory factory, PutResultRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PutResultRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/rating/{ratingName}/vote";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.GameResults != null)
{
jsonWriter.WritePropertyName("gameResults");
jsonWriter.WriteArrayStart();
foreach(var item in request.GameResults)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator PutResult(
Request.PutResultRequest request,
UnityAction<AsyncResult<Result.PutResultResult>> callback
)
{
var task = new PutResultTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PutResultResult>(task.Result, task.Error));
}
public IFuture<Result.PutResultResult> PutResultFuture(
Request.PutResultRequest request
)
{
return new PutResultTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PutResultResult> PutResultAsync(
Request.PutResultRequest request
)
{
AsyncResult<Result.PutResultResult> result = null;
await PutResult(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PutResultTask PutResultAsync(
Request.PutResultRequest request
)
{
return new PutResultTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PutResultResult> PutResultAsync(
Request.PutResultRequest request
)
{
var task = new PutResultTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteRatingTask : Gs2RestSessionTask<DeleteRatingRequest, DeleteRatingResult>
{
public DeleteRatingTask(IGs2Session session, RestSessionRequestFactory factory, DeleteRatingRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteRatingRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/rating/{ratingName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteRating(
Request.DeleteRatingRequest request,
UnityAction<AsyncResult<Result.DeleteRatingResult>> callback
)
{
var task = new DeleteRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteRatingResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteRatingResult> DeleteRatingFuture(
Request.DeleteRatingRequest request
)
{
return new DeleteRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteRatingResult> DeleteRatingAsync(
Request.DeleteRatingRequest request
)
{
AsyncResult<Result.DeleteRatingResult> result = null;
await DeleteRating(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteRatingTask DeleteRatingAsync(
Request.DeleteRatingRequest request
)
{
return new DeleteRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteRatingResult> DeleteRatingAsync(
Request.DeleteRatingRequest request
)
{
var task = new DeleteRatingTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetBallotTask : Gs2RestSessionTask<GetBallotRequest, GetBallotResult>
{
public GetBallotTask(IGs2Session session, RestSessionRequestFactory factory, GetBallotRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetBallotRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/vote/{ratingName}/{gatheringName}/ballot";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.NumberOfPlayer != null)
{
jsonWriter.WritePropertyName("numberOfPlayer");
jsonWriter.Write(request.NumberOfPlayer.ToString());
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetBallot(
Request.GetBallotRequest request,
UnityAction<AsyncResult<Result.GetBallotResult>> callback
)
{
var task = new GetBallotTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetBallotResult>(task.Result, task.Error));
}
public IFuture<Result.GetBallotResult> GetBallotFuture(
Request.GetBallotRequest request
)
{
return new GetBallotTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetBallotResult> GetBallotAsync(
Request.GetBallotRequest request
)
{
AsyncResult<Result.GetBallotResult> result = null;
await GetBallot(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetBallotTask GetBallotAsync(
Request.GetBallotRequest request
)
{
return new GetBallotTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetBallotResult> GetBallotAsync(
Request.GetBallotRequest request
)
{
var task = new GetBallotTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetBallotByUserIdTask : Gs2RestSessionTask<GetBallotByUserIdRequest, GetBallotByUserIdResult>
{
public GetBallotByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetBallotByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetBallotByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/vote/{ratingName}/{gatheringName}/ballot";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.NumberOfPlayer != null)
{
jsonWriter.WritePropertyName("numberOfPlayer");
jsonWriter.Write(request.NumberOfPlayer.ToString());
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetBallotByUserId(
Request.GetBallotByUserIdRequest request,
UnityAction<AsyncResult<Result.GetBallotByUserIdResult>> callback
)
{
var task = new GetBallotByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetBallotByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetBallotByUserIdResult> GetBallotByUserIdFuture(
Request.GetBallotByUserIdRequest request
)
{
return new GetBallotByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetBallotByUserIdResult> GetBallotByUserIdAsync(
Request.GetBallotByUserIdRequest request
)
{
AsyncResult<Result.GetBallotByUserIdResult> result = null;
await GetBallotByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetBallotByUserIdTask GetBallotByUserIdAsync(
Request.GetBallotByUserIdRequest request
)
{
return new GetBallotByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetBallotByUserIdResult> GetBallotByUserIdAsync(
Request.GetBallotByUserIdRequest request
)
{
var task = new GetBallotByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VoteTask : Gs2RestSessionTask<VoteRequest, VoteResult>
{
public VoteTask(IGs2Session session, RestSessionRequestFactory factory, VoteRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VoteRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/action/vote";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.BallotBody != null)
{
jsonWriter.WritePropertyName("ballotBody");
jsonWriter.Write(request.BallotBody);
}
if (request.BallotSignature != null)
{
jsonWriter.WritePropertyName("ballotSignature");
jsonWriter.Write(request.BallotSignature);
}
if (request.GameResults != null)
{
jsonWriter.WritePropertyName("gameResults");
jsonWriter.WriteArrayStart();
foreach(var item in request.GameResults)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator Vote(
Request.VoteRequest request,
UnityAction<AsyncResult<Result.VoteResult>> callback
)
{
var task = new VoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VoteResult>(task.Result, task.Error));
}
public IFuture<Result.VoteResult> VoteFuture(
Request.VoteRequest request
)
{
return new VoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VoteResult> VoteAsync(
Request.VoteRequest request
)
{
AsyncResult<Result.VoteResult> result = null;
await Vote(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VoteTask VoteAsync(
Request.VoteRequest request
)
{
return new VoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VoteResult> VoteAsync(
Request.VoteRequest request
)
{
var task = new VoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VoteMultipleTask : Gs2RestSessionTask<VoteMultipleRequest, VoteMultipleResult>
{
public VoteMultipleTask(IGs2Session session, RestSessionRequestFactory factory, VoteMultipleRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VoteMultipleRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/action/vote/multiple";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.SignedBallots != null)
{
jsonWriter.WritePropertyName("signedBallots");
jsonWriter.WriteArrayStart();
foreach(var item in request.SignedBallots)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.GameResults != null)
{
jsonWriter.WritePropertyName("gameResults");
jsonWriter.WriteArrayStart();
foreach(var item in request.GameResults)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VoteMultiple(
Request.VoteMultipleRequest request,
UnityAction<AsyncResult<Result.VoteMultipleResult>> callback
)
{
var task = new VoteMultipleTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VoteMultipleResult>(task.Result, task.Error));
}
public IFuture<Result.VoteMultipleResult> VoteMultipleFuture(
Request.VoteMultipleRequest request
)
{
return new VoteMultipleTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VoteMultipleResult> VoteMultipleAsync(
Request.VoteMultipleRequest request
)
{
AsyncResult<Result.VoteMultipleResult> result = null;
await VoteMultiple(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VoteMultipleTask VoteMultipleAsync(
Request.VoteMultipleRequest request
)
{
return new VoteMultipleTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VoteMultipleResult> VoteMultipleAsync(
Request.VoteMultipleRequest request
)
{
var task = new VoteMultipleTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CommitVoteTask : Gs2RestSessionTask<CommitVoteRequest, CommitVoteResult>
{
public CommitVoteTask(IGs2Session session, RestSessionRequestFactory factory, CommitVoteRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CommitVoteRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "matchmaking")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/vote/{ratingName}/{gatheringName}/action/vote/commit";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{ratingName}", !string.IsNullOrEmpty(request.RatingName) ? request.RatingName.ToString() : "null");
url = url.Replace("{gatheringName}", !string.IsNullOrEmpty(request.GatheringName) ? request.GatheringName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CommitVote(
Request.CommitVoteRequest request,
UnityAction<AsyncResult<Result.CommitVoteResult>> callback
)
{
var task = new CommitVoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CommitVoteResult>(task.Result, task.Error));
}
public IFuture<Result.CommitVoteResult> CommitVoteFuture(
Request.CommitVoteRequest request
)
{
return new CommitVoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CommitVoteResult> CommitVoteAsync(
Request.CommitVoteRequest request
)
{
AsyncResult<Result.CommitVoteResult> result = null;
await CommitVote(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CommitVoteTask CommitVoteAsync(
Request.CommitVoteRequest request
)
{
return new CommitVoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CommitVoteResult> CommitVoteAsync(
Request.CommitVoteRequest request
)
{
var task = new CommitVoteTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
}
}