Repository URL to install this package:
Version:
2025.4.1 ▾
|
/*
* 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.Gs2Experience.Request;
using Gs2.Gs2Experience.Result;
using Gs2.Util.LitJson;
namespace Gs2.Gs2Experience
{
public class Gs2ExperienceRestClient : AbstractGs2Client
{
#if UNITY_2017_1_OR_NEWER
private readonly CertificateHandler _certificateHandler;
#endif
public static string Endpoint = "experience";
protected Gs2RestSession Gs2RestSession => (Gs2RestSession) Gs2Session;
public Gs2ExperienceRestClient(Gs2RestSession Gs2RestSession) : base(Gs2RestSession)
{
}
#if UNITY_2017_1_OR_NEWER
public Gs2ExperienceRestClient(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}", "experience")
.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}", "experience")
.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.TransactionSetting != null)
{
jsonWriter.WritePropertyName("transactionSetting");
request.TransactionSetting.WriteJson(jsonWriter);
}
if (request.RankCapScriptId != null)
{
jsonWriter.WritePropertyName("rankCapScriptId");
jsonWriter.Write(request.RankCapScriptId);
}
if (request.ChangeExperienceScript != null)
{
jsonWriter.WritePropertyName("changeExperienceScript");
request.ChangeExperienceScript.WriteJson(jsonWriter);
}
if (request.ChangeRankScript != null)
{
jsonWriter.WritePropertyName("changeRankScript");
request.ChangeRankScript.WriteJson(jsonWriter);
}
if (request.ChangeRankCapScript != null)
{
jsonWriter.WritePropertyName("changeRankCapScript");
request.ChangeRankCapScript.WriteJson(jsonWriter);
}
if (request.OverflowExperienceScript != null)
{
jsonWriter.WritePropertyName("overflowExperienceScript");
jsonWriter.Write(request.OverflowExperienceScript);
}
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}", "experience")
.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}", "experience")
.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}", "experience")
.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.TransactionSetting != null)
{
jsonWriter.WritePropertyName("transactionSetting");
request.TransactionSetting.WriteJson(jsonWriter);
}
if (request.RankCapScriptId != null)
{
jsonWriter.WritePropertyName("rankCapScriptId");
jsonWriter.Write(request.RankCapScriptId);
}
if (request.ChangeExperienceScript != null)
{
jsonWriter.WritePropertyName("changeExperienceScript");
request.ChangeExperienceScript.WriteJson(jsonWriter);
}
if (request.ChangeRankScript != null)
{
jsonWriter.WritePropertyName("changeRankScript");
request.ChangeRankScript.WriteJson(jsonWriter);
}
if (request.ChangeRankCapScript != null)
{
jsonWriter.WritePropertyName("changeRankCapScript");
request.ChangeRankCapScript.WriteJson(jsonWriter);
}
if (request.OverflowExperienceScript != null)
{
jsonWriter.WritePropertyName("overflowExperienceScript");
jsonWriter.Write(request.OverflowExperienceScript);
}
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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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 DescribeExperienceModelMastersTask : Gs2RestSessionTask<DescribeExperienceModelMastersRequest, DescribeExperienceModelMastersResult>
{
public DescribeExperienceModelMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeExperienceModelMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeExperienceModelMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model";
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 DescribeExperienceModelMasters(
Request.DescribeExperienceModelMastersRequest request,
UnityAction<AsyncResult<Result.DescribeExperienceModelMastersResult>> callback
)
{
var task = new DescribeExperienceModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeExperienceModelMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeExperienceModelMastersResult> DescribeExperienceModelMastersFuture(
Request.DescribeExperienceModelMastersRequest request
)
{
return new DescribeExperienceModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeExperienceModelMastersResult> DescribeExperienceModelMastersAsync(
Request.DescribeExperienceModelMastersRequest request
)
{
AsyncResult<Result.DescribeExperienceModelMastersResult> result = null;
await DescribeExperienceModelMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeExperienceModelMastersTask DescribeExperienceModelMastersAsync(
Request.DescribeExperienceModelMastersRequest request
)
{
return new DescribeExperienceModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeExperienceModelMastersResult> DescribeExperienceModelMastersAsync(
Request.DescribeExperienceModelMastersRequest request
)
{
var task = new DescribeExperienceModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateExperienceModelMasterTask : Gs2RestSessionTask<CreateExperienceModelMasterRequest, CreateExperienceModelMasterResult>
{
public CreateExperienceModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateExperienceModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateExperienceModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model";
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.DefaultExperience != null)
{
jsonWriter.WritePropertyName("defaultExperience");
jsonWriter.Write(request.DefaultExperience.ToString());
}
if (request.DefaultRankCap != null)
{
jsonWriter.WritePropertyName("defaultRankCap");
jsonWriter.Write(request.DefaultRankCap.ToString());
}
if (request.MaxRankCap != null)
{
jsonWriter.WritePropertyName("maxRankCap");
jsonWriter.Write(request.MaxRankCap.ToString());
}
if (request.RankThresholdName != null)
{
jsonWriter.WritePropertyName("rankThresholdName");
jsonWriter.Write(request.RankThresholdName);
}
if (request.AcquireActionRates != null)
{
jsonWriter.WritePropertyName("acquireActionRates");
jsonWriter.WriteArrayStart();
foreach(var item in request.AcquireActionRates)
{
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 CreateExperienceModelMaster(
Request.CreateExperienceModelMasterRequest request,
UnityAction<AsyncResult<Result.CreateExperienceModelMasterResult>> callback
)
{
var task = new CreateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateExperienceModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateExperienceModelMasterResult> CreateExperienceModelMasterFuture(
Request.CreateExperienceModelMasterRequest request
)
{
return new CreateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateExperienceModelMasterResult> CreateExperienceModelMasterAsync(
Request.CreateExperienceModelMasterRequest request
)
{
AsyncResult<Result.CreateExperienceModelMasterResult> result = null;
await CreateExperienceModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateExperienceModelMasterTask CreateExperienceModelMasterAsync(
Request.CreateExperienceModelMasterRequest request
)
{
return new CreateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateExperienceModelMasterResult> CreateExperienceModelMasterAsync(
Request.CreateExperienceModelMasterRequest request
)
{
var task = new CreateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetExperienceModelMasterTask : Gs2RestSessionTask<GetExperienceModelMasterRequest, GetExperienceModelMasterResult>
{
public GetExperienceModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetExperienceModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetExperienceModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.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 GetExperienceModelMaster(
Request.GetExperienceModelMasterRequest request,
UnityAction<AsyncResult<Result.GetExperienceModelMasterResult>> callback
)
{
var task = new GetExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetExperienceModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetExperienceModelMasterResult> GetExperienceModelMasterFuture(
Request.GetExperienceModelMasterRequest request
)
{
return new GetExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetExperienceModelMasterResult> GetExperienceModelMasterAsync(
Request.GetExperienceModelMasterRequest request
)
{
AsyncResult<Result.GetExperienceModelMasterResult> result = null;
await GetExperienceModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetExperienceModelMasterTask GetExperienceModelMasterAsync(
Request.GetExperienceModelMasterRequest request
)
{
return new GetExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetExperienceModelMasterResult> GetExperienceModelMasterAsync(
Request.GetExperienceModelMasterRequest request
)
{
var task = new GetExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateExperienceModelMasterTask : Gs2RestSessionTask<UpdateExperienceModelMasterRequest, UpdateExperienceModelMasterResult>
{
public UpdateExperienceModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateExperienceModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateExperienceModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.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.DefaultExperience != null)
{
jsonWriter.WritePropertyName("defaultExperience");
jsonWriter.Write(request.DefaultExperience.ToString());
}
if (request.DefaultRankCap != null)
{
jsonWriter.WritePropertyName("defaultRankCap");
jsonWriter.Write(request.DefaultRankCap.ToString());
}
if (request.MaxRankCap != null)
{
jsonWriter.WritePropertyName("maxRankCap");
jsonWriter.Write(request.MaxRankCap.ToString());
}
if (request.RankThresholdName != null)
{
jsonWriter.WritePropertyName("rankThresholdName");
jsonWriter.Write(request.RankThresholdName);
}
if (request.AcquireActionRates != null)
{
jsonWriter.WritePropertyName("acquireActionRates");
jsonWriter.WriteArrayStart();
foreach(var item in request.AcquireActionRates)
{
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 UpdateExperienceModelMaster(
Request.UpdateExperienceModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateExperienceModelMasterResult>> callback
)
{
var task = new UpdateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateExperienceModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateExperienceModelMasterResult> UpdateExperienceModelMasterFuture(
Request.UpdateExperienceModelMasterRequest request
)
{
return new UpdateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateExperienceModelMasterResult> UpdateExperienceModelMasterAsync(
Request.UpdateExperienceModelMasterRequest request
)
{
AsyncResult<Result.UpdateExperienceModelMasterResult> result = null;
await UpdateExperienceModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateExperienceModelMasterTask UpdateExperienceModelMasterAsync(
Request.UpdateExperienceModelMasterRequest request
)
{
return new UpdateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateExperienceModelMasterResult> UpdateExperienceModelMasterAsync(
Request.UpdateExperienceModelMasterRequest request
)
{
var task = new UpdateExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteExperienceModelMasterTask : Gs2RestSessionTask<DeleteExperienceModelMasterRequest, DeleteExperienceModelMasterResult>
{
public DeleteExperienceModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteExperienceModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteExperienceModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.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 DeleteExperienceModelMaster(
Request.DeleteExperienceModelMasterRequest request,
UnityAction<AsyncResult<Result.DeleteExperienceModelMasterResult>> callback
)
{
var task = new DeleteExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteExperienceModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteExperienceModelMasterResult> DeleteExperienceModelMasterFuture(
Request.DeleteExperienceModelMasterRequest request
)
{
return new DeleteExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteExperienceModelMasterResult> DeleteExperienceModelMasterAsync(
Request.DeleteExperienceModelMasterRequest request
)
{
AsyncResult<Result.DeleteExperienceModelMasterResult> result = null;
await DeleteExperienceModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteExperienceModelMasterTask DeleteExperienceModelMasterAsync(
Request.DeleteExperienceModelMasterRequest request
)
{
return new DeleteExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteExperienceModelMasterResult> DeleteExperienceModelMasterAsync(
Request.DeleteExperienceModelMasterRequest request
)
{
var task = new DeleteExperienceModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeExperienceModelsTask : Gs2RestSessionTask<DescribeExperienceModelsRequest, DescribeExperienceModelsResult>
{
public DescribeExperienceModelsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeExperienceModelsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeExperienceModelsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/model";
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 DescribeExperienceModels(
Request.DescribeExperienceModelsRequest request,
UnityAction<AsyncResult<Result.DescribeExperienceModelsResult>> callback
)
{
var task = new DescribeExperienceModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeExperienceModelsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeExperienceModelsResult> DescribeExperienceModelsFuture(
Request.DescribeExperienceModelsRequest request
)
{
return new DescribeExperienceModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeExperienceModelsResult> DescribeExperienceModelsAsync(
Request.DescribeExperienceModelsRequest request
)
{
AsyncResult<Result.DescribeExperienceModelsResult> result = null;
await DescribeExperienceModels(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeExperienceModelsTask DescribeExperienceModelsAsync(
Request.DescribeExperienceModelsRequest request
)
{
return new DescribeExperienceModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeExperienceModelsResult> DescribeExperienceModelsAsync(
Request.DescribeExperienceModelsRequest request
)
{
var task = new DescribeExperienceModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetExperienceModelTask : Gs2RestSessionTask<GetExperienceModelRequest, GetExperienceModelResult>
{
public GetExperienceModelTask(IGs2Session session, RestSessionRequestFactory factory, GetExperienceModelRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetExperienceModelRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/model/{experienceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.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 GetExperienceModel(
Request.GetExperienceModelRequest request,
UnityAction<AsyncResult<Result.GetExperienceModelResult>> callback
)
{
var task = new GetExperienceModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetExperienceModelResult>(task.Result, task.Error));
}
public IFuture<Result.GetExperienceModelResult> GetExperienceModelFuture(
Request.GetExperienceModelRequest request
)
{
return new GetExperienceModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetExperienceModelResult> GetExperienceModelAsync(
Request.GetExperienceModelRequest request
)
{
AsyncResult<Result.GetExperienceModelResult> result = null;
await GetExperienceModel(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetExperienceModelTask GetExperienceModelAsync(
Request.GetExperienceModelRequest request
)
{
return new GetExperienceModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetExperienceModelResult> GetExperienceModelAsync(
Request.GetExperienceModelRequest request
)
{
var task = new GetExperienceModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeThresholdMastersTask : Gs2RestSessionTask<DescribeThresholdMastersRequest, DescribeThresholdMastersResult>
{
public DescribeThresholdMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeThresholdMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeThresholdMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/threshold";
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 DescribeThresholdMasters(
Request.DescribeThresholdMastersRequest request,
UnityAction<AsyncResult<Result.DescribeThresholdMastersResult>> callback
)
{
var task = new DescribeThresholdMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeThresholdMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeThresholdMastersResult> DescribeThresholdMastersFuture(
Request.DescribeThresholdMastersRequest request
)
{
return new DescribeThresholdMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeThresholdMastersResult> DescribeThresholdMastersAsync(
Request.DescribeThresholdMastersRequest request
)
{
AsyncResult<Result.DescribeThresholdMastersResult> result = null;
await DescribeThresholdMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeThresholdMastersTask DescribeThresholdMastersAsync(
Request.DescribeThresholdMastersRequest request
)
{
return new DescribeThresholdMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeThresholdMastersResult> DescribeThresholdMastersAsync(
Request.DescribeThresholdMastersRequest request
)
{
var task = new DescribeThresholdMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateThresholdMasterTask : Gs2RestSessionTask<CreateThresholdMasterRequest, CreateThresholdMasterResult>
{
public CreateThresholdMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateThresholdMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateThresholdMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/threshold";
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.Values != null)
{
jsonWriter.WritePropertyName("values");
jsonWriter.WriteArrayStart();
foreach(var item in request.Values)
{
jsonWriter.Write(item);
}
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 CreateThresholdMaster(
Request.CreateThresholdMasterRequest request,
UnityAction<AsyncResult<Result.CreateThresholdMasterResult>> callback
)
{
var task = new CreateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateThresholdMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateThresholdMasterResult> CreateThresholdMasterFuture(
Request.CreateThresholdMasterRequest request
)
{
return new CreateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateThresholdMasterResult> CreateThresholdMasterAsync(
Request.CreateThresholdMasterRequest request
)
{
AsyncResult<Result.CreateThresholdMasterResult> result = null;
await CreateThresholdMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateThresholdMasterTask CreateThresholdMasterAsync(
Request.CreateThresholdMasterRequest request
)
{
return new CreateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateThresholdMasterResult> CreateThresholdMasterAsync(
Request.CreateThresholdMasterRequest request
)
{
var task = new CreateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetThresholdMasterTask : Gs2RestSessionTask<GetThresholdMasterRequest, GetThresholdMasterResult>
{
public GetThresholdMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetThresholdMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetThresholdMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{thresholdName}", !string.IsNullOrEmpty(request.ThresholdName) ? request.ThresholdName.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 GetThresholdMaster(
Request.GetThresholdMasterRequest request,
UnityAction<AsyncResult<Result.GetThresholdMasterResult>> callback
)
{
var task = new GetThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetThresholdMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetThresholdMasterResult> GetThresholdMasterFuture(
Request.GetThresholdMasterRequest request
)
{
return new GetThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetThresholdMasterResult> GetThresholdMasterAsync(
Request.GetThresholdMasterRequest request
)
{
AsyncResult<Result.GetThresholdMasterResult> result = null;
await GetThresholdMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetThresholdMasterTask GetThresholdMasterAsync(
Request.GetThresholdMasterRequest request
)
{
return new GetThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetThresholdMasterResult> GetThresholdMasterAsync(
Request.GetThresholdMasterRequest request
)
{
var task = new GetThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateThresholdMasterTask : Gs2RestSessionTask<UpdateThresholdMasterRequest, UpdateThresholdMasterResult>
{
public UpdateThresholdMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateThresholdMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateThresholdMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{thresholdName}", !string.IsNullOrEmpty(request.ThresholdName) ? request.ThresholdName.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.Values != null)
{
jsonWriter.WritePropertyName("values");
jsonWriter.WriteArrayStart();
foreach(var item in request.Values)
{
jsonWriter.Write(item);
}
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 UpdateThresholdMaster(
Request.UpdateThresholdMasterRequest request,
UnityAction<AsyncResult<Result.UpdateThresholdMasterResult>> callback
)
{
var task = new UpdateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateThresholdMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateThresholdMasterResult> UpdateThresholdMasterFuture(
Request.UpdateThresholdMasterRequest request
)
{
return new UpdateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateThresholdMasterResult> UpdateThresholdMasterAsync(
Request.UpdateThresholdMasterRequest request
)
{
AsyncResult<Result.UpdateThresholdMasterResult> result = null;
await UpdateThresholdMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateThresholdMasterTask UpdateThresholdMasterAsync(
Request.UpdateThresholdMasterRequest request
)
{
return new UpdateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateThresholdMasterResult> UpdateThresholdMasterAsync(
Request.UpdateThresholdMasterRequest request
)
{
var task = new UpdateThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteThresholdMasterTask : Gs2RestSessionTask<DeleteThresholdMasterRequest, DeleteThresholdMasterResult>
{
public DeleteThresholdMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteThresholdMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteThresholdMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{thresholdName}", !string.IsNullOrEmpty(request.ThresholdName) ? request.ThresholdName.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 DeleteThresholdMaster(
Request.DeleteThresholdMasterRequest request,
UnityAction<AsyncResult<Result.DeleteThresholdMasterResult>> callback
)
{
var task = new DeleteThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteThresholdMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteThresholdMasterResult> DeleteThresholdMasterFuture(
Request.DeleteThresholdMasterRequest request
)
{
return new DeleteThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteThresholdMasterResult> DeleteThresholdMasterAsync(
Request.DeleteThresholdMasterRequest request
)
{
AsyncResult<Result.DeleteThresholdMasterResult> result = null;
await DeleteThresholdMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteThresholdMasterTask DeleteThresholdMasterAsync(
Request.DeleteThresholdMasterRequest request
)
{
return new DeleteThresholdMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteThresholdMasterResult> DeleteThresholdMasterAsync(
Request.DeleteThresholdMasterRequest request
)
{
var task = new DeleteThresholdMasterTask(
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}", "experience")
.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 GetCurrentExperienceMasterTask : Gs2RestSessionTask<GetCurrentExperienceMasterRequest, GetCurrentExperienceMasterResult>
{
public GetCurrentExperienceMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetCurrentExperienceMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCurrentExperienceMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.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 GetCurrentExperienceMaster(
Request.GetCurrentExperienceMasterRequest request,
UnityAction<AsyncResult<Result.GetCurrentExperienceMasterResult>> callback
)
{
var task = new GetCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCurrentExperienceMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetCurrentExperienceMasterResult> GetCurrentExperienceMasterFuture(
Request.GetCurrentExperienceMasterRequest request
)
{
return new GetCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCurrentExperienceMasterResult> GetCurrentExperienceMasterAsync(
Request.GetCurrentExperienceMasterRequest request
)
{
AsyncResult<Result.GetCurrentExperienceMasterResult> result = null;
await GetCurrentExperienceMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCurrentExperienceMasterTask GetCurrentExperienceMasterAsync(
Request.GetCurrentExperienceMasterRequest request
)
{
return new GetCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCurrentExperienceMasterResult> GetCurrentExperienceMasterAsync(
Request.GetCurrentExperienceMasterRequest request
)
{
var task = new GetCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentExperienceMasterTask : Gs2RestSessionTask<UpdateCurrentExperienceMasterRequest, UpdateCurrentExperienceMasterResult>
{
public UpdateCurrentExperienceMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentExperienceMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentExperienceMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.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 UpdateCurrentExperienceMaster(
Request.UpdateCurrentExperienceMasterRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentExperienceMasterResult>> callback
)
{
var task = new UpdateCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentExperienceMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentExperienceMasterResult> UpdateCurrentExperienceMasterFuture(
Request.UpdateCurrentExperienceMasterRequest request
)
{
return new UpdateCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentExperienceMasterResult> UpdateCurrentExperienceMasterAsync(
Request.UpdateCurrentExperienceMasterRequest request
)
{
AsyncResult<Result.UpdateCurrentExperienceMasterResult> result = null;
await UpdateCurrentExperienceMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentExperienceMasterTask UpdateCurrentExperienceMasterAsync(
Request.UpdateCurrentExperienceMasterRequest request
)
{
return new UpdateCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentExperienceMasterResult> UpdateCurrentExperienceMasterAsync(
Request.UpdateCurrentExperienceMasterRequest request
)
{
var task = new UpdateCurrentExperienceMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentExperienceMasterFromGitHubTask : Gs2RestSessionTask<UpdateCurrentExperienceMasterFromGitHubRequest, UpdateCurrentExperienceMasterFromGitHubResult>
{
public UpdateCurrentExperienceMasterFromGitHubTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentExperienceMasterFromGitHubRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentExperienceMasterFromGitHubRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.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 UpdateCurrentExperienceMasterFromGitHub(
Request.UpdateCurrentExperienceMasterFromGitHubRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentExperienceMasterFromGitHubResult>> callback
)
{
var task = new UpdateCurrentExperienceMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentExperienceMasterFromGitHubResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentExperienceMasterFromGitHubResult> UpdateCurrentExperienceMasterFromGitHubFuture(
Request.UpdateCurrentExperienceMasterFromGitHubRequest request
)
{
return new UpdateCurrentExperienceMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentExperienceMasterFromGitHubResult> UpdateCurrentExperienceMasterFromGitHubAsync(
Request.UpdateCurrentExperienceMasterFromGitHubRequest request
)
{
AsyncResult<Result.UpdateCurrentExperienceMasterFromGitHubResult> result = null;
await UpdateCurrentExperienceMasterFromGitHub(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentExperienceMasterFromGitHubTask UpdateCurrentExperienceMasterFromGitHubAsync(
Request.UpdateCurrentExperienceMasterFromGitHubRequest request
)
{
return new UpdateCurrentExperienceMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentExperienceMasterFromGitHubResult> UpdateCurrentExperienceMasterFromGitHubAsync(
Request.UpdateCurrentExperienceMasterFromGitHubRequest request
)
{
var task = new UpdateCurrentExperienceMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeStatusesTask : Gs2RestSessionTask<DescribeStatusesRequest, DescribeStatusesResult>
{
public DescribeStatusesTask(IGs2Session session, RestSessionRequestFactory factory, DescribeStatusesRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeStatusesRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/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.ExperienceName != null) {
sessionRequest.AddQueryString("experienceName", $"{request.ExperienceName}");
}
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 DescribeStatuses(
Request.DescribeStatusesRequest request,
UnityAction<AsyncResult<Result.DescribeStatusesResult>> callback
)
{
var task = new DescribeStatusesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeStatusesResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeStatusesResult> DescribeStatusesFuture(
Request.DescribeStatusesRequest request
)
{
return new DescribeStatusesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeStatusesResult> DescribeStatusesAsync(
Request.DescribeStatusesRequest request
)
{
AsyncResult<Result.DescribeStatusesResult> result = null;
await DescribeStatuses(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeStatusesTask DescribeStatusesAsync(
Request.DescribeStatusesRequest request
)
{
return new DescribeStatusesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeStatusesResult> DescribeStatusesAsync(
Request.DescribeStatusesRequest request
)
{
var task = new DescribeStatusesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeStatusesByUserIdTask : Gs2RestSessionTask<DescribeStatusesByUserIdRequest, DescribeStatusesByUserIdResult>
{
public DescribeStatusesByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribeStatusesByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeStatusesByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status";
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.ExperienceName != null) {
sessionRequest.AddQueryString("experienceName", $"{request.ExperienceName}");
}
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 DescribeStatusesByUserId(
Request.DescribeStatusesByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribeStatusesByUserIdResult>> callback
)
{
var task = new DescribeStatusesByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeStatusesByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeStatusesByUserIdResult> DescribeStatusesByUserIdFuture(
Request.DescribeStatusesByUserIdRequest request
)
{
return new DescribeStatusesByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeStatusesByUserIdResult> DescribeStatusesByUserIdAsync(
Request.DescribeStatusesByUserIdRequest request
)
{
AsyncResult<Result.DescribeStatusesByUserIdResult> result = null;
await DescribeStatusesByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeStatusesByUserIdTask DescribeStatusesByUserIdAsync(
Request.DescribeStatusesByUserIdRequest request
)
{
return new DescribeStatusesByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeStatusesByUserIdResult> DescribeStatusesByUserIdAsync(
Request.DescribeStatusesByUserIdRequest request
)
{
var task = new DescribeStatusesByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetStatusTask : Gs2RestSessionTask<GetStatusRequest, GetStatusResult>
{
public GetStatusTask(IGs2Session session, RestSessionRequestFactory factory, GetStatusRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetStatusRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.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 GetStatus(
Request.GetStatusRequest request,
UnityAction<AsyncResult<Result.GetStatusResult>> callback
)
{
var task = new GetStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetStatusResult>(task.Result, task.Error));
}
public IFuture<Result.GetStatusResult> GetStatusFuture(
Request.GetStatusRequest request
)
{
return new GetStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetStatusResult> GetStatusAsync(
Request.GetStatusRequest request
)
{
AsyncResult<Result.GetStatusResult> result = null;
await GetStatus(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetStatusTask GetStatusAsync(
Request.GetStatusRequest request
)
{
return new GetStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetStatusResult> GetStatusAsync(
Request.GetStatusRequest request
)
{
var task = new GetStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetStatusByUserIdTask : Gs2RestSessionTask<GetStatusByUserIdRequest, GetStatusByUserIdResult>
{
public GetStatusByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetStatusByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetStatusByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.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 GetStatusByUserId(
Request.GetStatusByUserIdRequest request,
UnityAction<AsyncResult<Result.GetStatusByUserIdResult>> callback
)
{
var task = new GetStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetStatusByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetStatusByUserIdResult> GetStatusByUserIdFuture(
Request.GetStatusByUserIdRequest request
)
{
return new GetStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetStatusByUserIdResult> GetStatusByUserIdAsync(
Request.GetStatusByUserIdRequest request
)
{
AsyncResult<Result.GetStatusByUserIdResult> result = null;
await GetStatusByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetStatusByUserIdTask GetStatusByUserIdAsync(
Request.GetStatusByUserIdRequest request
)
{
return new GetStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetStatusByUserIdResult> GetStatusByUserIdAsync(
Request.GetStatusByUserIdRequest request
)
{
var task = new GetStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetStatusWithSignatureTask : Gs2RestSessionTask<GetStatusWithSignatureRequest, GetStatusWithSignatureResult>
{
public GetStatusWithSignatureTask(IGs2Session session, RestSessionRequestFactory factory, GetStatusWithSignatureRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetStatusWithSignatureRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}/signature";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.KeyId != null) {
sessionRequest.AddQueryString("keyId", $"{request.KeyId}");
}
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 GetStatusWithSignature(
Request.GetStatusWithSignatureRequest request,
UnityAction<AsyncResult<Result.GetStatusWithSignatureResult>> callback
)
{
var task = new GetStatusWithSignatureTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetStatusWithSignatureResult>(task.Result, task.Error));
}
public IFuture<Result.GetStatusWithSignatureResult> GetStatusWithSignatureFuture(
Request.GetStatusWithSignatureRequest request
)
{
return new GetStatusWithSignatureTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetStatusWithSignatureResult> GetStatusWithSignatureAsync(
Request.GetStatusWithSignatureRequest request
)
{
AsyncResult<Result.GetStatusWithSignatureResult> result = null;
await GetStatusWithSignature(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetStatusWithSignatureTask GetStatusWithSignatureAsync(
Request.GetStatusWithSignatureRequest request
)
{
return new GetStatusWithSignatureTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetStatusWithSignatureResult> GetStatusWithSignatureAsync(
Request.GetStatusWithSignatureRequest request
)
{
var task = new GetStatusWithSignatureTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetStatusWithSignatureByUserIdTask : Gs2RestSessionTask<GetStatusWithSignatureByUserIdRequest, GetStatusWithSignatureByUserIdResult>
{
public GetStatusWithSignatureByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetStatusWithSignatureByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetStatusWithSignatureByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/signature";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.KeyId != null) {
sessionRequest.AddQueryString("keyId", $"{request.KeyId}");
}
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 GetStatusWithSignatureByUserId(
Request.GetStatusWithSignatureByUserIdRequest request,
UnityAction<AsyncResult<Result.GetStatusWithSignatureByUserIdResult>> callback
)
{
var task = new GetStatusWithSignatureByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetStatusWithSignatureByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetStatusWithSignatureByUserIdResult> GetStatusWithSignatureByUserIdFuture(
Request.GetStatusWithSignatureByUserIdRequest request
)
{
return new GetStatusWithSignatureByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetStatusWithSignatureByUserIdResult> GetStatusWithSignatureByUserIdAsync(
Request.GetStatusWithSignatureByUserIdRequest request
)
{
AsyncResult<Result.GetStatusWithSignatureByUserIdResult> result = null;
await GetStatusWithSignatureByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetStatusWithSignatureByUserIdTask GetStatusWithSignatureByUserIdAsync(
Request.GetStatusWithSignatureByUserIdRequest request
)
{
return new GetStatusWithSignatureByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetStatusWithSignatureByUserIdResult> GetStatusWithSignatureByUserIdAsync(
Request.GetStatusWithSignatureByUserIdRequest request
)
{
var task = new GetStatusWithSignatureByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AddExperienceByUserIdTask : Gs2RestSessionTask<AddExperienceByUserIdRequest, AddExperienceByUserIdResult>
{
public AddExperienceByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, AddExperienceByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AddExperienceByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ExperienceValue != null)
{
jsonWriter.WritePropertyName("experienceValue");
jsonWriter.Write(request.ExperienceValue.ToString());
}
if (request.TruncateExperienceWhenRankUp != null)
{
jsonWriter.WritePropertyName("truncateExperienceWhenRankUp");
jsonWriter.Write(request.TruncateExperienceWhenRankUp.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.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 AddExperienceByUserId(
Request.AddExperienceByUserIdRequest request,
UnityAction<AsyncResult<Result.AddExperienceByUserIdResult>> callback
)
{
var task = new AddExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AddExperienceByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.AddExperienceByUserIdResult> AddExperienceByUserIdFuture(
Request.AddExperienceByUserIdRequest request
)
{
return new AddExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AddExperienceByUserIdResult> AddExperienceByUserIdAsync(
Request.AddExperienceByUserIdRequest request
)
{
AsyncResult<Result.AddExperienceByUserIdResult> result = null;
await AddExperienceByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AddExperienceByUserIdTask AddExperienceByUserIdAsync(
Request.AddExperienceByUserIdRequest request
)
{
return new AddExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AddExperienceByUserIdResult> AddExperienceByUserIdAsync(
Request.AddExperienceByUserIdRequest request
)
{
var task = new AddExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubExperienceTask : Gs2RestSessionTask<SubExperienceRequest, SubExperienceResult>
{
public SubExperienceTask(IGs2Session session, RestSessionRequestFactory factory, SubExperienceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubExperienceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}/sub";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ExperienceValue != null)
{
jsonWriter.WritePropertyName("experienceValue");
jsonWriter.Write(request.ExperienceValue.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.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 SubExperience(
Request.SubExperienceRequest request,
UnityAction<AsyncResult<Result.SubExperienceResult>> callback
)
{
var task = new SubExperienceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubExperienceResult>(task.Result, task.Error));
}
public IFuture<Result.SubExperienceResult> SubExperienceFuture(
Request.SubExperienceRequest request
)
{
return new SubExperienceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubExperienceResult> SubExperienceAsync(
Request.SubExperienceRequest request
)
{
AsyncResult<Result.SubExperienceResult> result = null;
await SubExperience(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubExperienceTask SubExperienceAsync(
Request.SubExperienceRequest request
)
{
return new SubExperienceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubExperienceResult> SubExperienceAsync(
Request.SubExperienceRequest request
)
{
var task = new SubExperienceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubExperienceByUserIdTask : Gs2RestSessionTask<SubExperienceByUserIdRequest, SubExperienceByUserIdResult>
{
public SubExperienceByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, SubExperienceByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubExperienceByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/sub";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ExperienceValue != null)
{
jsonWriter.WritePropertyName("experienceValue");
jsonWriter.Write(request.ExperienceValue.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.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 SubExperienceByUserId(
Request.SubExperienceByUserIdRequest request,
UnityAction<AsyncResult<Result.SubExperienceByUserIdResult>> callback
)
{
var task = new SubExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubExperienceByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.SubExperienceByUserIdResult> SubExperienceByUserIdFuture(
Request.SubExperienceByUserIdRequest request
)
{
return new SubExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubExperienceByUserIdResult> SubExperienceByUserIdAsync(
Request.SubExperienceByUserIdRequest request
)
{
AsyncResult<Result.SubExperienceByUserIdResult> result = null;
await SubExperienceByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubExperienceByUserIdTask SubExperienceByUserIdAsync(
Request.SubExperienceByUserIdRequest request
)
{
return new SubExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubExperienceByUserIdResult> SubExperienceByUserIdAsync(
Request.SubExperienceByUserIdRequest request
)
{
var task = new SubExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SetExperienceByUserIdTask : Gs2RestSessionTask<SetExperienceByUserIdRequest, SetExperienceByUserIdResult>
{
public SetExperienceByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, SetExperienceByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SetExperienceByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ExperienceValue != null)
{
jsonWriter.WritePropertyName("experienceValue");
jsonWriter.Write(request.ExperienceValue.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.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 SetExperienceByUserId(
Request.SetExperienceByUserIdRequest request,
UnityAction<AsyncResult<Result.SetExperienceByUserIdResult>> callback
)
{
var task = new SetExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SetExperienceByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.SetExperienceByUserIdResult> SetExperienceByUserIdFuture(
Request.SetExperienceByUserIdRequest request
)
{
return new SetExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SetExperienceByUserIdResult> SetExperienceByUserIdAsync(
Request.SetExperienceByUserIdRequest request
)
{
AsyncResult<Result.SetExperienceByUserIdResult> result = null;
await SetExperienceByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SetExperienceByUserIdTask SetExperienceByUserIdAsync(
Request.SetExperienceByUserIdRequest request
)
{
return new SetExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SetExperienceByUserIdResult> SetExperienceByUserIdAsync(
Request.SetExperienceByUserIdRequest request
)
{
var task = new SetExperienceByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AddRankCapByUserIdTask : Gs2RestSessionTask<AddRankCapByUserIdRequest, AddRankCapByUserIdResult>
{
public AddRankCapByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, AddRankCapByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AddRankCapByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.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.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 AddRankCapByUserId(
Request.AddRankCapByUserIdRequest request,
UnityAction<AsyncResult<Result.AddRankCapByUserIdResult>> callback
)
{
var task = new AddRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AddRankCapByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.AddRankCapByUserIdResult> AddRankCapByUserIdFuture(
Request.AddRankCapByUserIdRequest request
)
{
return new AddRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AddRankCapByUserIdResult> AddRankCapByUserIdAsync(
Request.AddRankCapByUserIdRequest request
)
{
AsyncResult<Result.AddRankCapByUserIdResult> result = null;
await AddRankCapByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AddRankCapByUserIdTask AddRankCapByUserIdAsync(
Request.AddRankCapByUserIdRequest request
)
{
return new AddRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AddRankCapByUserIdResult> AddRankCapByUserIdAsync(
Request.AddRankCapByUserIdRequest request
)
{
var task = new AddRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubRankCapTask : Gs2RestSessionTask<SubRankCapRequest, SubRankCapResult>
{
public SubRankCapTask(IGs2Session session, RestSessionRequestFactory factory, SubRankCapRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubRankCapRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}/cap/sub";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.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.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 SubRankCap(
Request.SubRankCapRequest request,
UnityAction<AsyncResult<Result.SubRankCapResult>> callback
)
{
var task = new SubRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubRankCapResult>(task.Result, task.Error));
}
public IFuture<Result.SubRankCapResult> SubRankCapFuture(
Request.SubRankCapRequest request
)
{
return new SubRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubRankCapResult> SubRankCapAsync(
Request.SubRankCapRequest request
)
{
AsyncResult<Result.SubRankCapResult> result = null;
await SubRankCap(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubRankCapTask SubRankCapAsync(
Request.SubRankCapRequest request
)
{
return new SubRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubRankCapResult> SubRankCapAsync(
Request.SubRankCapRequest request
)
{
var task = new SubRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubRankCapByUserIdTask : Gs2RestSessionTask<SubRankCapByUserIdRequest, SubRankCapByUserIdResult>
{
public SubRankCapByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, SubRankCapByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubRankCapByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap/sub";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.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.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 SubRankCapByUserId(
Request.SubRankCapByUserIdRequest request,
UnityAction<AsyncResult<Result.SubRankCapByUserIdResult>> callback
)
{
var task = new SubRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubRankCapByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.SubRankCapByUserIdResult> SubRankCapByUserIdFuture(
Request.SubRankCapByUserIdRequest request
)
{
return new SubRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubRankCapByUserIdResult> SubRankCapByUserIdAsync(
Request.SubRankCapByUserIdRequest request
)
{
AsyncResult<Result.SubRankCapByUserIdResult> result = null;
await SubRankCapByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubRankCapByUserIdTask SubRankCapByUserIdAsync(
Request.SubRankCapByUserIdRequest request
)
{
return new SubRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubRankCapByUserIdResult> SubRankCapByUserIdAsync(
Request.SubRankCapByUserIdRequest request
)
{
var task = new SubRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SetRankCapByUserIdTask : Gs2RestSessionTask<SetRankCapByUserIdRequest, SetRankCapByUserIdResult>
{
public SetRankCapByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, SetRankCapByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SetRankCapByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.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.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 SetRankCapByUserId(
Request.SetRankCapByUserIdRequest request,
UnityAction<AsyncResult<Result.SetRankCapByUserIdResult>> callback
)
{
var task = new SetRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SetRankCapByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.SetRankCapByUserIdResult> SetRankCapByUserIdFuture(
Request.SetRankCapByUserIdRequest request
)
{
return new SetRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SetRankCapByUserIdResult> SetRankCapByUserIdAsync(
Request.SetRankCapByUserIdRequest request
)
{
AsyncResult<Result.SetRankCapByUserIdResult> result = null;
await SetRankCapByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SetRankCapByUserIdTask SetRankCapByUserIdAsync(
Request.SetRankCapByUserIdRequest request
)
{
return new SetRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SetRankCapByUserIdResult> SetRankCapByUserIdAsync(
Request.SetRankCapByUserIdRequest request
)
{
var task = new SetRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteStatusByUserIdTask : Gs2RestSessionTask<DeleteStatusByUserIdRequest, DeleteStatusByUserIdResult>
{
public DeleteStatusByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DeleteStatusByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteStatusByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.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 DeleteStatusByUserId(
Request.DeleteStatusByUserIdRequest request,
UnityAction<AsyncResult<Result.DeleteStatusByUserIdResult>> callback
)
{
var task = new DeleteStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteStatusByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteStatusByUserIdResult> DeleteStatusByUserIdFuture(
Request.DeleteStatusByUserIdRequest request
)
{
return new DeleteStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteStatusByUserIdResult> DeleteStatusByUserIdAsync(
Request.DeleteStatusByUserIdRequest request
)
{
AsyncResult<Result.DeleteStatusByUserIdResult> result = null;
await DeleteStatusByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteStatusByUserIdTask DeleteStatusByUserIdAsync(
Request.DeleteStatusByUserIdRequest request
)
{
return new DeleteStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteStatusByUserIdResult> DeleteStatusByUserIdAsync(
Request.DeleteStatusByUserIdRequest request
)
{
var task = new DeleteStatusByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankTask : Gs2RestSessionTask<VerifyRankRequest, VerifyRankResult>
{
public VerifyRankTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/{experienceName}/verify/rank/{verifyType}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.PropertyId != null)
{
jsonWriter.WritePropertyName("propertyId");
jsonWriter.Write(request.PropertyId);
}
if (request.RankValue != null)
{
jsonWriter.WritePropertyName("rankValue");
jsonWriter.Write(request.RankValue.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.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.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 VerifyRank(
Request.VerifyRankRequest request,
UnityAction<AsyncResult<Result.VerifyRankResult>> callback
)
{
var task = new VerifyRankTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankResult> VerifyRankFuture(
Request.VerifyRankRequest request
)
{
return new VerifyRankTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankResult> VerifyRankAsync(
Request.VerifyRankRequest request
)
{
AsyncResult<Result.VerifyRankResult> result = null;
await VerifyRank(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankTask VerifyRankAsync(
Request.VerifyRankRequest request
)
{
return new VerifyRankTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankResult> VerifyRankAsync(
Request.VerifyRankRequest request
)
{
var task = new VerifyRankTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankByUserIdTask : Gs2RestSessionTask<VerifyRankByUserIdRequest, VerifyRankByUserIdResult>
{
public VerifyRankByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/{experienceName}/verify/rank/{verifyType}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.PropertyId != null)
{
jsonWriter.WritePropertyName("propertyId");
jsonWriter.Write(request.PropertyId);
}
if (request.RankValue != null)
{
jsonWriter.WritePropertyName("rankValue");
jsonWriter.Write(request.RankValue.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.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.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 VerifyRankByUserId(
Request.VerifyRankByUserIdRequest request,
UnityAction<AsyncResult<Result.VerifyRankByUserIdResult>> callback
)
{
var task = new VerifyRankByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankByUserIdResult> VerifyRankByUserIdFuture(
Request.VerifyRankByUserIdRequest request
)
{
return new VerifyRankByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankByUserIdResult> VerifyRankByUserIdAsync(
Request.VerifyRankByUserIdRequest request
)
{
AsyncResult<Result.VerifyRankByUserIdResult> result = null;
await VerifyRankByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankByUserIdTask VerifyRankByUserIdAsync(
Request.VerifyRankByUserIdRequest request
)
{
return new VerifyRankByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankByUserIdResult> VerifyRankByUserIdAsync(
Request.VerifyRankByUserIdRequest request
)
{
var task = new VerifyRankByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankCapTask : Gs2RestSessionTask<VerifyRankCapRequest, VerifyRankCapResult>
{
public VerifyRankCapTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankCapRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankCapRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/status/{experienceName}/verify/rankCap/{verifyType}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.PropertyId != null)
{
jsonWriter.WritePropertyName("propertyId");
jsonWriter.Write(request.PropertyId);
}
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.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.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 VerifyRankCap(
Request.VerifyRankCapRequest request,
UnityAction<AsyncResult<Result.VerifyRankCapResult>> callback
)
{
var task = new VerifyRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankCapResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankCapResult> VerifyRankCapFuture(
Request.VerifyRankCapRequest request
)
{
return new VerifyRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankCapResult> VerifyRankCapAsync(
Request.VerifyRankCapRequest request
)
{
AsyncResult<Result.VerifyRankCapResult> result = null;
await VerifyRankCap(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankCapTask VerifyRankCapAsync(
Request.VerifyRankCapRequest request
)
{
return new VerifyRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankCapResult> VerifyRankCapAsync(
Request.VerifyRankCapRequest request
)
{
var task = new VerifyRankCapTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankCapByUserIdTask : Gs2RestSessionTask<VerifyRankCapByUserIdRequest, VerifyRankCapByUserIdResult>
{
public VerifyRankCapByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankCapByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankCapByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/{experienceName}/verify/rankCap/{verifyType}";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.PropertyId != null)
{
jsonWriter.WritePropertyName("propertyId");
jsonWriter.Write(request.PropertyId);
}
if (request.RankCapValue != null)
{
jsonWriter.WritePropertyName("rankCapValue");
jsonWriter.Write(request.RankCapValue.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.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.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 VerifyRankCapByUserId(
Request.VerifyRankCapByUserIdRequest request,
UnityAction<AsyncResult<Result.VerifyRankCapByUserIdResult>> callback
)
{
var task = new VerifyRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankCapByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankCapByUserIdResult> VerifyRankCapByUserIdFuture(
Request.VerifyRankCapByUserIdRequest request
)
{
return new VerifyRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankCapByUserIdResult> VerifyRankCapByUserIdAsync(
Request.VerifyRankCapByUserIdRequest request
)
{
AsyncResult<Result.VerifyRankCapByUserIdResult> result = null;
await VerifyRankCapByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankCapByUserIdTask VerifyRankCapByUserIdAsync(
Request.VerifyRankCapByUserIdRequest request
)
{
return new VerifyRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankCapByUserIdResult> VerifyRankCapByUserIdAsync(
Request.VerifyRankCapByUserIdRequest request
)
{
var task = new VerifyRankCapByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AddExperienceByStampSheetTask : Gs2RestSessionTask<AddExperienceByStampSheetRequest, AddExperienceByStampSheetResult>
{
public AddExperienceByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, AddExperienceByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AddExperienceByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/experience/add";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
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 AddExperienceByStampSheet(
Request.AddExperienceByStampSheetRequest request,
UnityAction<AsyncResult<Result.AddExperienceByStampSheetResult>> callback
)
{
var task = new AddExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AddExperienceByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.AddExperienceByStampSheetResult> AddExperienceByStampSheetFuture(
Request.AddExperienceByStampSheetRequest request
)
{
return new AddExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AddExperienceByStampSheetResult> AddExperienceByStampSheetAsync(
Request.AddExperienceByStampSheetRequest request
)
{
AsyncResult<Result.AddExperienceByStampSheetResult> result = null;
await AddExperienceByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AddExperienceByStampSheetTask AddExperienceByStampSheetAsync(
Request.AddExperienceByStampSheetRequest request
)
{
return new AddExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AddExperienceByStampSheetResult> AddExperienceByStampSheetAsync(
Request.AddExperienceByStampSheetRequest request
)
{
var task = new AddExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SetExperienceByStampSheetTask : Gs2RestSessionTask<SetExperienceByStampSheetRequest, SetExperienceByStampSheetResult>
{
public SetExperienceByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, SetExperienceByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SetExperienceByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/experience/set";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
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 SetExperienceByStampSheet(
Request.SetExperienceByStampSheetRequest request,
UnityAction<AsyncResult<Result.SetExperienceByStampSheetResult>> callback
)
{
var task = new SetExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SetExperienceByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.SetExperienceByStampSheetResult> SetExperienceByStampSheetFuture(
Request.SetExperienceByStampSheetRequest request
)
{
return new SetExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SetExperienceByStampSheetResult> SetExperienceByStampSheetAsync(
Request.SetExperienceByStampSheetRequest request
)
{
AsyncResult<Result.SetExperienceByStampSheetResult> result = null;
await SetExperienceByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SetExperienceByStampSheetTask SetExperienceByStampSheetAsync(
Request.SetExperienceByStampSheetRequest request
)
{
return new SetExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SetExperienceByStampSheetResult> SetExperienceByStampSheetAsync(
Request.SetExperienceByStampSheetRequest request
)
{
var task = new SetExperienceByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubExperienceByStampTaskTask : Gs2RestSessionTask<SubExperienceByStampTaskRequest, SubExperienceByStampTaskResult>
{
public SubExperienceByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, SubExperienceByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubExperienceByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/experience/sub";
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 SubExperienceByStampTask(
Request.SubExperienceByStampTaskRequest request,
UnityAction<AsyncResult<Result.SubExperienceByStampTaskResult>> callback
)
{
var task = new SubExperienceByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubExperienceByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.SubExperienceByStampTaskResult> SubExperienceByStampTaskFuture(
Request.SubExperienceByStampTaskRequest request
)
{
return new SubExperienceByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubExperienceByStampTaskResult> SubExperienceByStampTaskAsync(
Request.SubExperienceByStampTaskRequest request
)
{
AsyncResult<Result.SubExperienceByStampTaskResult> result = null;
await SubExperienceByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubExperienceByStampTaskTask SubExperienceByStampTaskAsync(
Request.SubExperienceByStampTaskRequest request
)
{
return new SubExperienceByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubExperienceByStampTaskResult> SubExperienceByStampTaskAsync(
Request.SubExperienceByStampTaskRequest request
)
{
var task = new SubExperienceByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AddRankCapByStampSheetTask : Gs2RestSessionTask<AddRankCapByStampSheetRequest, AddRankCapByStampSheetResult>
{
public AddRankCapByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, AddRankCapByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AddRankCapByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/rankCap/add";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
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 AddRankCapByStampSheet(
Request.AddRankCapByStampSheetRequest request,
UnityAction<AsyncResult<Result.AddRankCapByStampSheetResult>> callback
)
{
var task = new AddRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AddRankCapByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.AddRankCapByStampSheetResult> AddRankCapByStampSheetFuture(
Request.AddRankCapByStampSheetRequest request
)
{
return new AddRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AddRankCapByStampSheetResult> AddRankCapByStampSheetAsync(
Request.AddRankCapByStampSheetRequest request
)
{
AsyncResult<Result.AddRankCapByStampSheetResult> result = null;
await AddRankCapByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AddRankCapByStampSheetTask AddRankCapByStampSheetAsync(
Request.AddRankCapByStampSheetRequest request
)
{
return new AddRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AddRankCapByStampSheetResult> AddRankCapByStampSheetAsync(
Request.AddRankCapByStampSheetRequest request
)
{
var task = new AddRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SubRankCapByStampTaskTask : Gs2RestSessionTask<SubRankCapByStampTaskRequest, SubRankCapByStampTaskResult>
{
public SubRankCapByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, SubRankCapByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SubRankCapByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/rankCap/sub";
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 SubRankCapByStampTask(
Request.SubRankCapByStampTaskRequest request,
UnityAction<AsyncResult<Result.SubRankCapByStampTaskResult>> callback
)
{
var task = new SubRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SubRankCapByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.SubRankCapByStampTaskResult> SubRankCapByStampTaskFuture(
Request.SubRankCapByStampTaskRequest request
)
{
return new SubRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SubRankCapByStampTaskResult> SubRankCapByStampTaskAsync(
Request.SubRankCapByStampTaskRequest request
)
{
AsyncResult<Result.SubRankCapByStampTaskResult> result = null;
await SubRankCapByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SubRankCapByStampTaskTask SubRankCapByStampTaskAsync(
Request.SubRankCapByStampTaskRequest request
)
{
return new SubRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SubRankCapByStampTaskResult> SubRankCapByStampTaskAsync(
Request.SubRankCapByStampTaskRequest request
)
{
var task = new SubRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class SetRankCapByStampSheetTask : Gs2RestSessionTask<SetRankCapByStampSheetRequest, SetRankCapByStampSheetResult>
{
public SetRankCapByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, SetRankCapByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(SetRankCapByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/rankCap/set";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
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 SetRankCapByStampSheet(
Request.SetRankCapByStampSheetRequest request,
UnityAction<AsyncResult<Result.SetRankCapByStampSheetResult>> callback
)
{
var task = new SetRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.SetRankCapByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.SetRankCapByStampSheetResult> SetRankCapByStampSheetFuture(
Request.SetRankCapByStampSheetRequest request
)
{
return new SetRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.SetRankCapByStampSheetResult> SetRankCapByStampSheetAsync(
Request.SetRankCapByStampSheetRequest request
)
{
AsyncResult<Result.SetRankCapByStampSheetResult> result = null;
await SetRankCapByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public SetRankCapByStampSheetTask SetRankCapByStampSheetAsync(
Request.SetRankCapByStampSheetRequest request
)
{
return new SetRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.SetRankCapByStampSheetResult> SetRankCapByStampSheetAsync(
Request.SetRankCapByStampSheetRequest request
)
{
var task = new SetRankCapByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class MultiplyAcquireActionsByUserIdTask : Gs2RestSessionTask<MultiplyAcquireActionsByUserIdRequest, MultiplyAcquireActionsByUserIdResult>
{
public MultiplyAcquireActionsByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, MultiplyAcquireActionsByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(MultiplyAcquireActionsByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/acquire/rate/{rateName}/multiply";
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("{experienceName}", !string.IsNullOrEmpty(request.ExperienceName) ? request.ExperienceName.ToString() : "null");
url = url.Replace("{propertyId}", !string.IsNullOrEmpty(request.PropertyId) ? request.PropertyId.ToString() : "null");
url = url.Replace("{rateName}", !string.IsNullOrEmpty(request.RateName) ? request.RateName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.AcquireActions != null)
{
jsonWriter.WritePropertyName("acquireActions");
jsonWriter.WriteArrayStart();
foreach(var item in request.AcquireActions)
{
item.WriteJson(jsonWriter);
}
jsonWriter.WriteArrayEnd();
}
if (request.BaseRate != null)
{
jsonWriter.WritePropertyName("baseRate");
jsonWriter.Write(request.BaseRate.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.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 MultiplyAcquireActionsByUserId(
Request.MultiplyAcquireActionsByUserIdRequest request,
UnityAction<AsyncResult<Result.MultiplyAcquireActionsByUserIdResult>> callback
)
{
var task = new MultiplyAcquireActionsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.MultiplyAcquireActionsByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.MultiplyAcquireActionsByUserIdResult> MultiplyAcquireActionsByUserIdFuture(
Request.MultiplyAcquireActionsByUserIdRequest request
)
{
return new MultiplyAcquireActionsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.MultiplyAcquireActionsByUserIdResult> MultiplyAcquireActionsByUserIdAsync(
Request.MultiplyAcquireActionsByUserIdRequest request
)
{
AsyncResult<Result.MultiplyAcquireActionsByUserIdResult> result = null;
await MultiplyAcquireActionsByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public MultiplyAcquireActionsByUserIdTask MultiplyAcquireActionsByUserIdAsync(
Request.MultiplyAcquireActionsByUserIdRequest request
)
{
return new MultiplyAcquireActionsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.MultiplyAcquireActionsByUserIdResult> MultiplyAcquireActionsByUserIdAsync(
Request.MultiplyAcquireActionsByUserIdRequest request
)
{
var task = new MultiplyAcquireActionsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class MultiplyAcquireActionsByStampSheetTask : Gs2RestSessionTask<MultiplyAcquireActionsByStampSheetRequest, MultiplyAcquireActionsByStampSheetResult>
{
public MultiplyAcquireActionsByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, MultiplyAcquireActionsByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(MultiplyAcquireActionsByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/form/acquire";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
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 MultiplyAcquireActionsByStampSheet(
Request.MultiplyAcquireActionsByStampSheetRequest request,
UnityAction<AsyncResult<Result.MultiplyAcquireActionsByStampSheetResult>> callback
)
{
var task = new MultiplyAcquireActionsByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.MultiplyAcquireActionsByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.MultiplyAcquireActionsByStampSheetResult> MultiplyAcquireActionsByStampSheetFuture(
Request.MultiplyAcquireActionsByStampSheetRequest request
)
{
return new MultiplyAcquireActionsByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.MultiplyAcquireActionsByStampSheetResult> MultiplyAcquireActionsByStampSheetAsync(
Request.MultiplyAcquireActionsByStampSheetRequest request
)
{
AsyncResult<Result.MultiplyAcquireActionsByStampSheetResult> result = null;
await MultiplyAcquireActionsByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public MultiplyAcquireActionsByStampSheetTask MultiplyAcquireActionsByStampSheetAsync(
Request.MultiplyAcquireActionsByStampSheetRequest request
)
{
return new MultiplyAcquireActionsByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.MultiplyAcquireActionsByStampSheetResult> MultiplyAcquireActionsByStampSheetAsync(
Request.MultiplyAcquireActionsByStampSheetRequest request
)
{
var task = new MultiplyAcquireActionsByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankByStampTaskTask : Gs2RestSessionTask<VerifyRankByStampTaskRequest, VerifyRankByStampTaskResult>
{
public VerifyRankByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/rank/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 VerifyRankByStampTask(
Request.VerifyRankByStampTaskRequest request,
UnityAction<AsyncResult<Result.VerifyRankByStampTaskResult>> callback
)
{
var task = new VerifyRankByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankByStampTaskResult> VerifyRankByStampTaskFuture(
Request.VerifyRankByStampTaskRequest request
)
{
return new VerifyRankByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankByStampTaskResult> VerifyRankByStampTaskAsync(
Request.VerifyRankByStampTaskRequest request
)
{
AsyncResult<Result.VerifyRankByStampTaskResult> result = null;
await VerifyRankByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankByStampTaskTask VerifyRankByStampTaskAsync(
Request.VerifyRankByStampTaskRequest request
)
{
return new VerifyRankByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankByStampTaskResult> VerifyRankByStampTaskAsync(
Request.VerifyRankByStampTaskRequest request
)
{
var task = new VerifyRankByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyRankCapByStampTaskTask : Gs2RestSessionTask<VerifyRankCapByStampTaskRequest, VerifyRankCapByStampTaskResult>
{
public VerifyRankCapByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, VerifyRankCapByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyRankCapByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "experience")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/rankCap/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 VerifyRankCapByStampTask(
Request.VerifyRankCapByStampTaskRequest request,
UnityAction<AsyncResult<Result.VerifyRankCapByStampTaskResult>> callback
)
{
var task = new VerifyRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyRankCapByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyRankCapByStampTaskResult> VerifyRankCapByStampTaskFuture(
Request.VerifyRankCapByStampTaskRequest request
)
{
return new VerifyRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyRankCapByStampTaskResult> VerifyRankCapByStampTaskAsync(
Request.VerifyRankCapByStampTaskRequest request
)
{
AsyncResult<Result.VerifyRankCapByStampTaskResult> result = null;
await VerifyRankCapByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyRankCapByStampTaskTask VerifyRankCapByStampTaskAsync(
Request.VerifyRankCapByStampTaskRequest request
)
{
return new VerifyRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyRankCapByStampTaskResult> VerifyRankCapByStampTaskAsync(
Request.VerifyRankCapByStampTaskRequest request
)
{
var task = new VerifyRankCapByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
}
}