GS2-Enchant SDK for Game Engine API リファレンス
モデル
EzBalanceParameterModel
バランスパラメーターモデル
バランスパラメーターの抽選条件を定義します。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 128文字 | バランスパラメーターモデル名 | ||||||||
| metadata | string | ~ 2048文字 | メタデータ | |||||||||
| totalValue | long | ✓ | 0 ~ 9223372036854775805 | 合計値 | ||||||||
| initialValueStrategy | 文字列列挙型 enum { “average”, “lottery” } | ✓ | “average” | ~ 128文字 | 初期値の設定方針
| |||||||
| parameters | List<EzBalanceParameterValueModel> | ✓ | 1 ~ 10 items | バランスパラメーター値モデルのリスト |
関連するメソッド
EzBalanceParameterValueModel
バランスパラメーター値モデル
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 64文字 | 名前 | ||
| metadata | string | ~ 512文字 | メタデータ |
関連するモデル
EzBalanceParameterStatus
バランスパラメーターの状態
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| parameterName | string | ✓ | ~ 128文字 | バランスパラメーターモデル名 | ||
| propertyId | string | ✓ | ~ 1024文字 | パラメーターの保有元リソースのプロパティID | ||
| parameterValues | List<EzBalanceParameterValue> | ✓ | 1 ~ 10 items | バランスパラメーターの値リスト |
関連するメソッド
EzBalanceParameterValue
バランスパラメーター値モデル
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 64文字 | 名前 | ||
| value | long | ✓ | 0 ~ 9223372036854775805 | 値 |
関連するモデル
EzRarityParameterModel
レアリティパラメーターモデル
レアリティパラメーターの抽選条件を定義します。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 128文字 | レアリティパラメーターモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | |||
| maximumParameterCount | int | ✓ | 1 ~ 10 | 付与するパラメーターの最大数 | ||
| parameterCounts | List<EzRarityParameterCountModel> | ✓ | 1 ~ 10 items | レアリティパラメーターの付与数モデルのリスト | ||
| parameters | List<EzRarityParameterValueModel> | ✓ | 1 ~ 1000 items | レアリティパラメーター値モデルのリスト |
関連するメソッド
EzRarityParameterCountModel
レアリティパラメーターの付与数モデル
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| count | int | ✓ | 0 ~ 10 | 値 | ||
| weight | int | ✓ | 1 ~ 2147483646 | 排出重み |
関連するモデル
EzRarityParameterValueModel
レアリティパラメーター値モデル
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 64文字 | 名前 | ||
| metadata | string | ~ 512文字 | メタデータ | |||
| resourceName | string | ✓ | ~ 64文字 | ゲーム内で使用するパラメーターリソースの種類を表す名前(GS2の動作のためには使用しません) | ||
| resourceValue | long | ✓ | 0 ~ 9223372036854775805 | ゲーム内で使用するパラメーターリソースの値(GS2の動作のためには使用しません) | ||
| weight | int | ✓ | 1 ~ 2147483646 | 排出重み |
関連するモデル
EzRarityParameterStatus
レアリティパラメーターの状態
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| parameterName | string | ✓ | ~ 128文字 | レアリティパラメーターモデル名 | ||
| propertyId | string | ✓ | ~ 1024文字 | パラメーターの保有元リソースのプロパティID | ||
| parameterValues | List<EzRarityParameterValue> | 0 ~ 10 items | レアリティパラメーターの値リスト |
関連するメソッド
getRarityParameterStatus listRarityParameterStatuses verifyRarityParameterStatus
EzRarityParameterValue
レアリティパラメーター値モデル
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 64文字 | 名前 | ||
| resourceName | string | ✓ | ~ 64文字 | リソースの名前 | ||
| resourceValue | long | ✓ | 0 ~ 9223372036854775805 | リソースの値 |
関連するモデル
EzVerifyActionResult
検証アクションの実行結果
関連するモデル
EzConsumeActionResult
消費アクションの実行結果
関連するモデル
EzAcquireActionResult
入手アクションの実行結果
関連するモデル
EzTransactionResult
トランザクション実行結果
サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| transactionId | string | ✓ | 36 ~ 36文字 | トランザクションID | ||
| verifyResults | List<EzVerifyActionResult> | 0 ~ 10 items | 検証アクションの実行結果リスト | |||
| consumeResults | List<EzConsumeActionResult> | [] | 0 ~ 10 items | 消費アクションの実行結果リスト | ||
| acquireResults | List<EzAcquireActionResult> | [] | 0 ~ 100 items | 入手アクションの実行結果リスト |
メソッド
getBalanceParameterModel
バランスパラメーターモデル情報を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ✓ | ~ 128文字 | バランスパラメーターモデル名 |
Result
| 型 | 説明 | |
|---|---|---|
| item | EzBalanceParameterModel | バランスパラメーターモデル |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).BalanceParameterModel(
parameterName: "balance-0001"
);
var item = await domain.ModelAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).BalanceParameterModel(
parameterName: "balance-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->BalanceParameterModel(
"balance-0001" // parameterName
);
const auto Future = Domain->Model();
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).BalanceParameterModel(
parameterName: "balance-0001"
);
// イベントハンドリングを開始
var callbackId = domain.Subscribe(
value => {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
domain.Unsubscribe(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).BalanceParameterModel(
parameterName: "balance-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->BalanceParameterModel(
"balance-0001" // parameterName
);
// イベントハンドリングを開始
const auto CallbackId = Domain->Subscribe(
[](TSharedPtr<Gs2::Enchant::Model::FBalanceParameterModel> value) {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
Domain->Unsubscribe(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
listBalanceParameterModels
バランスパラメーターモデル情報の一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 |
Result
| 型 | 説明 | |
|---|---|---|
| items | List<EzBalanceParameterModel> | バランスパラメーターモデルのリスト |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var items = await domain.BalanceParameterModelsAsync(
).ToListAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var it = domain.BalanceParameterModels(
);
List<EzBalanceParameterModel> items = new List<EzBalanceParameterModel>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
);
const auto It = Domain->BalanceParameterModels(
);
TArray<Gs2::UE5::Enchant::Model::FEzBalanceParameterModelPtr> Result;
for (auto Item : *It)
{
if (Item.IsError())
{
return false;
}
Result.Add(Item.Current());
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
// イベントハンドリングを開始
var callbackId = domain.SubscribeBalanceParameterModels(
() => {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
domain.UnsubscribeBalanceParameterModels(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var it = domain.BalanceParameterModels(
);
List<EzBalanceParameterModel> items = new List<EzBalanceParameterModel>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
);
// イベントハンドリングを開始
const auto CallbackId = Domain->SubscribeBalanceParameterModels(
[]() {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
Domain->UnsubscribeBalanceParameterModels(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
getBalanceParameterStatus
バランスパラメーターの状態を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ✓ | ~ 128文字 | バランスパラメーターモデル名 | ||
| accessToken | string | ✓ | ~ 128文字 | アクセストークン | ||
| propertyId | string | ✓ | ~ 1024文字 | パラメーターの保有元リソースのプロパティID |
Result
| 型 | 説明 | |
|---|---|---|
| item | EzBalanceParameterStatus | バランスパラメーターの状態 |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).BalanceParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var item = await domain.ModelAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).BalanceParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->BalanceParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
);
const auto Future = Domain->Model();
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).BalanceParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
// イベントハンドリングを開始
var callbackId = domain.Subscribe(
value => {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
domain.Unsubscribe(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).BalanceParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->BalanceParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
);
// イベントハンドリングを開始
const auto CallbackId = Domain->Subscribe(
[](TSharedPtr<Gs2::Enchant::Model::FBalanceParameterStatus> value) {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
Domain->Unsubscribe(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
listBalanceParameterStatuses
バランスパラメーターの状態の一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ~ 128文字 | バランスパラメーターモデル名 | |||
| accessToken | string | ✓ | ~ 128文字 | アクセストークン | ||
| pageToken | string | ~ 1024文字 | データの取得を開始する位置を指定するトークン | |||
| limit | int | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
| 型 | 説明 | |
|---|---|---|
| items | List<EzBalanceParameterStatus> | バランスパラメーターモデルのリスト |
| nextPageToken | string | リストの続きを取得するためのページトークン |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var items = await domain.BalanceParameterStatusesAsync(
parameterName: "balance-0001"
).ToListAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.BalanceParameterStatuses(
parameterName: "balance-0001"
);
List<EzBalanceParameterStatus> items = new List<EzBalanceParameterStatus>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
);
const auto It = Domain->BalanceParameterStatuses(
"balance-0001" // parameterName
);
TArray<Gs2::UE5::Enchant::Model::FEzBalanceParameterStatusPtr> Result;
for (auto Item : *It)
{
if (Item.IsError())
{
return false;
}
Result.Add(Item.Current());
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
// イベントハンドリングを開始
var callbackId = domain.SubscribeBalanceParameterStatuses(
() => {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
domain.UnsubscribeBalanceParameterStatuses(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.BalanceParameterStatuses(
parameterName: "balance-0001"
);
List<EzBalanceParameterStatus> items = new List<EzBalanceParameterStatus>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
);
// イベントハンドリングを開始
const auto CallbackId = Domain->SubscribeBalanceParameterStatuses(
[]() {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
Domain->UnsubscribeBalanceParameterStatuses(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
getRarityParameterModel
レアリティパラメーターモデル情報を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ✓ | ~ 128文字 | レアリティパラメーターモデル名 |
Result
| 型 | 説明 | |
|---|---|---|
| item | EzRarityParameterModel | レアリティパラメーターモデル |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).RarityParameterModel(
parameterName: "rarity-0001"
);
var item = await domain.ModelAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).RarityParameterModel(
parameterName: "rarity-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->RarityParameterModel(
"rarity-0001" // parameterName
);
const auto Future = Domain->Model();
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).RarityParameterModel(
parameterName: "rarity-0001"
);
// イベントハンドリングを開始
var callbackId = domain.Subscribe(
value => {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
domain.Unsubscribe(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).RarityParameterModel(
parameterName: "rarity-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->RarityParameterModel(
"rarity-0001" // parameterName
);
// イベントハンドリングを開始
const auto CallbackId = Domain->Subscribe(
[](TSharedPtr<Gs2::Enchant::Model::FRarityParameterModel> value) {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
Domain->Unsubscribe(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
listRarityParameterModels
レアリティパラメーターモデル情報の一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 |
Result
| 型 | 説明 | |
|---|---|---|
| items | List<EzRarityParameterModel> | レアリティパラメーターモデルのリスト |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var items = await domain.RarityParameterModelsAsync(
).ToListAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var it = domain.RarityParameterModels(
);
List<EzRarityParameterModel> items = new List<EzRarityParameterModel>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
);
const auto It = Domain->RarityParameterModels(
);
TArray<Gs2::UE5::Enchant::Model::FEzRarityParameterModelPtr> Result;
for (auto Item : *It)
{
if (Item.IsError())
{
return false;
}
Result.Add(Item.Current());
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
// イベントハンドリングを開始
var callbackId = domain.SubscribeRarityParameterModels(
() => {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
domain.UnsubscribeRarityParameterModels(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
);
var it = domain.RarityParameterModels(
);
List<EzRarityParameterModel> items = new List<EzRarityParameterModel>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
);
// イベントハンドリングを開始
const auto CallbackId = Domain->SubscribeRarityParameterModels(
[]() {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
Domain->UnsubscribeRarityParameterModels(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
getRarityParameterStatus
レアリティパラメーターの状態を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ✓ | ~ 128文字 | レアリティパラメーターモデル名 | ||
| accessToken | string | ✓ | ~ 128文字 | アクセストークン | ||
| propertyId | string | ✓ | ~ 1024文字 | パラメーターの保有元リソースのプロパティID |
Result
| 型 | 説明 | |
|---|---|---|
| item | EzRarityParameterStatus | レアリティパラメーターの状態 |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var item = await domain.ModelAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->RarityParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
);
const auto Future = Domain->Model();
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
// イベントハンドリングを開始
var callbackId = domain.Subscribe(
value => {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
domain.Unsubscribe(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var future = domain.ModelFuture();
yield return future;
var item = future.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->RarityParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
);
// イベントハンドリングを開始
const auto CallbackId = Domain->Subscribe(
[](TSharedPtr<Gs2::Enchant::Model::FRarityParameterStatus> value) {
// 値が変化した時に呼び出される
// value には変更後の値が渡ってくる
}
);
// イベントハンドリングを停止
Domain->Unsubscribe(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
listRarityParameterStatuses
レアリティパラメーターの状態の一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| parameterName | string | ~ 128文字 | レアリティパラメーターモデル名 | |||
| accessToken | string | ✓ | ~ 128文字 | アクセストークン | ||
| pageToken | string | ~ 1024文字 | データの取得を開始する位置を指定するトークン | |||
| limit | int | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
| 型 | 説明 | |
|---|---|---|
| items | List<EzRarityParameterStatus> | レアリティパラメーターモデルのリスト |
| nextPageToken | string | リストの続きを取得するためのページトークン |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var items = await domain.RarityParameterStatusesAsync(
parameterName: "rarity-0001"
).ToListAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.RarityParameterStatuses(
parameterName: "rarity-0001"
);
List<EzRarityParameterStatus> items = new List<EzRarityParameterStatus>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
);
const auto It = Domain->RarityParameterStatuses(
"rarity-0001" // parameterName
);
TArray<Gs2::UE5::Enchant::Model::FEzRarityParameterStatusPtr> Result;
for (auto Item : *It)
{
if (Item.IsError())
{
return false;
}
Result.Add(Item.Current());
}値の変更イベントハンドリング
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
// イベントハンドリングを開始
var callbackId = domain.SubscribeRarityParameterStatuses(
() => {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
domain.UnsubscribeRarityParameterStatuses(callbackId); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.RarityParameterStatuses(
parameterName: "rarity-0001"
);
List<EzRarityParameterStatus> items = new List<EzRarityParameterStatus>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
} const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
);
// イベントハンドリングを開始
const auto CallbackId = Domain->SubscribeRarityParameterStatuses(
[]() {
// リストの要素が変化した時に呼び出される
}
);
// イベントハンドリングを停止
Domain->UnsubscribeRarityParameterStatuses(CallbackId);Warning
このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。
ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。
そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。
verifyRarityParameterStatus
レアリティパラメーターに関する検証
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||||||||||
| parameterName | string | ✓ | ~ 128文字 | レアリティパラメーターモデル名 | ||||||||||
| accessToken | string | ✓ | ~ 128文字 | アクセストークン | ||||||||||
| propertyId | string | ✓ | ~ 1024文字 | パラメーターの保有元リソースのプロパティID | ||||||||||
| verifyType | 文字列列挙型 enum { “havent”, “have”, “count” } | ✓ | ~ 128文字 | 検証の種類
| ||||||||||
| parameterValueName | string | {verifyType} in [“havent”, “have”] | ✓ | ~ 64文字 | 名前 | |||||||||
| parameterCount | int | {verifyType} in [“count”] | ✓ | 0 ~ 10 | 検証するパラメーターの数 |
Result
| 型 | 説明 | |
|---|---|---|
| item | EzRarityParameterStatus | レアリティパラメーターの状態 |
実装例
var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var result = await domain.VerifyRarityParameterStatusAsync(
verifyType: "have",
parameterValueName: "parameter-0001",
parameterCount:
);
var item = await result.ModelAsync(); var domain = gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
);
var future = domain.VerifyRarityParameterStatusFuture(
verifyType: "have",
parameterValueName: "parameter-0001",
parameterCount:
);
yield return future;
if (future.Error != null)
{
onError.Invoke(future.Error, null);
yield break;
}
var future2 = future.Result.ModelFuture();
yield return future2;
if (future2.Error != null)
{
onError.Invoke(future2.Error, null);
yield break;
}
var result = future2.Result; const auto Domain = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->RarityParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
);
const auto Future = Domain->VerifyRarityParameterStatus(
"have", // verifyType
"parameter-0001", // parameterValueName
// parameterCount
);
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}
// obtain changed values / result values
const auto Future2 = Future->GetTask().Result()->Model();
Future2->StartSynchronousTask();
if (Future2->GetTask().IsError())
{
return Future2->GetTask().Error();
}
const auto Result = Future2->GetTask().Result();