GS2-Enchant SDK for Game Engine API リファレンス

ゲームエンジン向け GS2-Enchant SDK の モデルの仕様 と API のリファレンス

モデル

EzBalanceParameterStatus

バランスパラメータの状態

ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはバランスパラメータモデルに関連付けられ、抽選処理後に各パラメータスロットに割り当てられた具体的な値を保持します。

有効化条件必須デフォルト値の制限説明
parameterNamestring
~ 128文字バランスパラメータモデル名
このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのバランスパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
parameterValuesList<EzBalanceParameterValue>
1 ~ 10 itemsバランスパラメータの値リスト
抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。

EzRarityParameterStatus

レアリティパラメータの状態

ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはレアリティパラメータモデルに関連付けられ、付与された各パラメータスロットに対して重み付き抽選で選択された具体的な値を保持します。

有効化条件必須デフォルト値の制限説明
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
parameterValuesList<EzRarityParameterValue>0 ~ 10 itemsレアリティパラメータの値リスト
付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。

EzBalanceParameterModel

バランスパラメータモデル

バランスパラメータの抽選条件を定義します。
バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります:average は均等に分配し、lottery は合計値をランダムに配分します。

有効化条件必須デフォルト値の制限説明
namestring
~ 128文字バランスパラメータモデル名
バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
totalValuelong
0 ~ 9223372036854775805合計値
すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。
initialValueStrategy文字列列挙型
enum {
  “average”,
  “lottery”
}
“average”初期値の設定方針
初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。average は合計値をすべてのパラメータに均等に分配し、lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。
定義説明
“average”平均値
“lottery”抽選
parametersList<EzBalanceParameterValueModel>
1 ~ 10 itemsバランスパラメータ値モデルのリスト
このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット(例: ATK、DEF、SPD)をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。

EzBalanceParameterValueModel

バランスパラメータ値モデル

バランスパラメータ内で利用可能な単一のパラメータスロットを定義します。各エントリは、抽選処理中に合計値の一部を受け取る名前付きスロット(例: ATK、DEF、SPD)を指定します。

有効化条件必須デフォルト値の制限説明
namestring
~ 64文字名前
このパラメータスロットの識別子(例: ATK、DEF、SPD)です。バランスパラメータモデル内で一意である必要があります。抽選されたパラメータ値の保存・取得時にキーとして使用されます。
metadatastring~ 512文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。

EzRarityParameterModel

レアリティパラメータモデル

レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。

有効化条件必須デフォルト値の制限説明
namestring
~ 128文字レアリティパラメータモデル名
レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
maximumParameterCountint
1 ~ 10付与するパラメータの最大数
リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。
parameterCountsList<EzRarityParameterCountModel>
1 ~ 10 itemsレアリティパラメータの付与数モデルのリスト
付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。
parametersList<EzRarityParameterValueModel>
1 ~ 1000 itemsレアリティパラメータ値モデルのリスト
抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。

EzRarityParameterCountModel

レアリティパラメータの付与数モデル

リソースに付与されるパラメータスロット数を決定するための重み付き抽選の単一エントリを定義します。各エントリはパラメータ数と排出重みをペアにし、パラメータ数量の確率分布を細かく制御できます。

有効化条件必須デフォルト値の制限説明
countint
0 ~ 10付与数
このエントリが抽選された際に付与するパラメータスロット数です。例えば、付与数が 3 の場合、リソースは値モデルプールから選択された 3 つのパラメータ値を受け取ります。
weightint
1 ~ 2147483646排出重み
パラメータ付与数を決定する重み付き抽選で使用される相対的な重みです。値が大きいほど、この付与数が選択される確率が高くなります。実際の確率は、この重みを付与数モデルリスト内のすべての重みの合計で割った値になります。

EzRarityParameterValueModel

レアリティパラメータ値モデル

レアリティパラメータ値の重み付き抽選プール内の単一エントリを定義します。各エントリはパラメータ名、ゲーム定義のリソース詳細、およびプール内の他のエントリに対する選択確率を決定する排出重みを指定します。

有効化条件必須デフォルト値の制限説明
namestring
~ 64文字名前
この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。
metadatastring~ 512文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
resourceNamestring
~ 64文字ゲーム内で使用するパラメータリソースの種類を表す名前(GS2の動作のためには使用しません)
このパラメータ値に関連付けられたゲーム定義のリソース種別名(例: “fire_attack”、“ice_resist”)です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。
resourceValuelong
0 ~ 9223372036854775805ゲーム内で使用するパラメータリソースの値(GS2の動作のためには使用しません)
このパラメータのゲーム定義の数値(例: 攻撃力+50 の場合は 50)です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。
weightint
1 ~ 2147483646排出重み
パラメータ値を選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このエントリが選択される確率が高くなります。実際の確率は、この重みをプール内のすべての重みの合計で割った値になります。

EzBalanceParameterValue

バランスパラメータ値

バランスパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。抽選処理後のスロット名とその具体的な数値を保持します。

有効化条件必須デフォルト値の制限説明
namestring
~ 64文字名前
パラメータスロットの名前(例: ATK、DEF、SPD)です。バランスパラメータ値モデルで定義されたパラメータスロットに対応します。
valuelong
0 ~ 9223372036854775805
このパラメータスロットに割り当てられた数値です。バランスパラメータが最初に抽選される際に、初期値の設定方針(平均値または抽選)によって決定されます。すべてのスロット値の合計はモデルで定義された合計値と等しくなります。

EzRarityParameterValue

レアリティパラメータ値

レアリティパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。スロット名と、値モデルプールから重み付き抽選で選択されたリソース詳細(名前と値)を保持します。

有効化条件必須デフォルト値の制限説明
namestring
~ 64文字名前
値モデルプールから選択されたパラメータ値の名前です。抽選されたレアリティパラメータ値モデルエントリで定義された名前に対応します。
resourceNamestring
~ 64文字リソースの名前
このパラメータ値に関連付けられたゲーム定義のリソース種別名(例: “fire_attack”、“ice_resist”)です。ゲームロジックで使用するため、抽選されたレアリティパラメータ値モデルエントリからコピーされます。
resourceValuelong
0 ~ 9223372036854775805リソースの値
このパラメータに関連付けられたリソースの数値です。抽選されたレアリティパラメータ値モデルエントリからコピーされます。ゲームロジックでパラメータの効果(例: 攻撃力+50)を適用するために使用されます。

EzVerifyActionResult

検証アクションの実行結果

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
"Gs2Dictionary:VerifyEntryByUserId",
"Gs2Distributor:IfExpressionByUserId",
"Gs2Distributor:AndExpressionByUserId",
"Gs2Distributor:OrExpressionByUserId",
"Gs2Enchant:VerifyRarityParameterStatusByUserId",
"Gs2Experience:VerifyRankByUserId",
"Gs2Experience:VerifyRankCapByUserId",
"Gs2Grade:VerifyGradeByUserId",
"Gs2Grade:VerifyGradeUpMaterialByUserId",
"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyIncludeMemberByUserId",
"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
"Gs2Inventory:VerifyItemSetByUserId",
"Gs2Inventory:VerifyReferenceOfByUserId",
"Gs2Inventory:VerifySimpleItemByUserId",
"Gs2Inventory:VerifyBigItemByUserId",
"Gs2Limit:VerifyCounterByUserId",
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Ranking2:VerifyGlobalRankingScoreByUserId",
"Gs2Ranking2:VerifyClusterRankingScoreByUserId",
"Gs2Ranking2:VerifySubscribeRankingScoreByUserId",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:VerifyCodeByUserId",
"Gs2Stamina:VerifyStaminaValueByUserId",
"Gs2Stamina:VerifyStaminaMaxValueByUserId",
"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId",
"Gs2Stamina:VerifyStaminaRecoverValueByUserId",
"Gs2Stamina:VerifyStaminaOverflowValueByUserId",
}
検証アクションで実行するアクションの種類
verifyRequeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列
statusCodeint0 ~ 999ステータスコード
verifyResultstring~ 1048576文字結果内容

EzConsumeActionResult

消費アクションの実行結果

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Enhance:DeleteProgressByUserId",
"Gs2Exchange:DeleteAwaitByUserId",
"Gs2Experience:SubExperienceByUserId",
"Gs2Experience:SubRankCapByUserId",
"Gs2Formation:SubMoldCapacityByUserId",
"Gs2Grade:SubGradeByUserId",
"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"Gs2Inbox:OpenMessageByUserId",
"Gs2Inbox:DeleteMessageByUserId",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2JobQueue:DeleteJobByUserId",
"Gs2Limit:CountUpByUserId",
"Gs2LoginReward:MarkReceivedByUserId",
"Gs2Mission:ReceiveByUserId",
"Gs2Mission:BatchReceiveByUserId",
"Gs2Mission:DecreaseCounterByUserId",
"Gs2Mission:ResetCounterByUserId",
"Gs2Money:WithdrawByUserId",
"Gs2Money:RecordReceipt",
"Gs2Money2:WithdrawByUserId",
"Gs2Money2:VerifyReceiptByUserId",
"Gs2Quest:DeleteProgressByUserId",
"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId",
"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId",
"Gs2Schedule:DeleteTriggerByUserId",
"Gs2SerialKey:UseByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
}
消費アクションで実行するアクションの種類
consumeRequeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列
statusCodeint0 ~ 999ステータスコード
consumeResultstring~ 1048576文字結果内容

EzAcquireActionResult

入手アクションの実行結果

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:AcquireForceByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Friend:UpdateProfileByUserId",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Idle:ReceiveByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Money2:DepositByUserId",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2Schedule:ExtendTriggerByUserId",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
入手アクションで実行するアクションの種類
acquireRequeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列
statusCodeint0 ~ 999ステータスコード
acquireResultstring~ 1048576文字結果内容

EzTransactionResult

トランザクション実行結果

サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果

有効化条件必須デフォルト値の制限説明
transactionIdstring
36 ~ 36文字トランザクションID
verifyResultsList<EzVerifyActionResult>0 ~ 10 items検証アクションの実行結果リスト
consumeResultsList<EzConsumeActionResult>[]0 ~ 10 items消費アクションの実行結果リスト
acquireResultsList<EzAcquireActionResult>[]0 ~ 100 items入手アクションの実行結果リスト

メソッド

getBalanceParameterModel

名前を指定してバランスパラメータ定義を取得する

名前を指定して、バランスパラメータモデルを1件取得します。
取得できる情報には、分配する合計値、パラメータスロットのリスト(例: ATK, DEF, SPD)、初期値の決定方法が含まれます。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字バランスパラメータモデル名
バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
itemEzBalanceParameterModelバランスパラメータモデル

実装例

    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 callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    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);

listBalanceParameterModels

バランスパラメータ定義の一覧を取得する

このネームスペースに登録されているすべてのバランスパラメータモデルを取得します。
バランスパラメータは、固定の合計値を複数のステータスに分配します。たとえば、ATK・DEF・SPD に合計100ポイントを割り振り、合計が常に100になるようにします。
利用可能なパラメータタイプの表示や、武器・装備の詳細画面でパラメータモデルの設定を確認する際に使います。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
itemsList<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 callbackId = domain.SubscribeBalanceParameterModels(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeBalanceParameterModels(callbackId);
    const auto Domain = Gs2->Enchant->Namespace(
        "namespace-0001" // namespaceName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeBalanceParameterModels(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeBalanceParameterModels(CallbackId);

getBalanceParameterStatus

特定のアイテムのバランスパラメータ値を取得する

プレイヤーが所持する特定のアイテム(プロパティ)に割り当てられた現在のバランスパラメータ値を取得します。
値はアイテム作成時(または最後の再抽選時)にランダムに決定され、すべての値の合計は常にモデルの合計値と等しくなります。
アイテム詳細画面で個別のステータス内訳(例: ATK: 40, DEF: 35, SPD: 25)を表示する際に使います。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字バランスパラメータモデル名
このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。
gameSessionGameSession
GameSession
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのバランスパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。

Result

説明
itemEzBalanceParameterStatusバランスパラメータの状態

実装例

    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 callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    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);

listBalanceParameterStatuses

プレイヤーのバランスパラメータ値の一覧を取得する

プレイヤーのアイテムに割り当てられた現在のバランスパラメータ値を取得します。
パラメータ名でフィルタリングして、特定のパラメータタイプの値のみを取得することもできます。
たとえば、プレイヤーが所持している各武器の ATK/DEF/SPD の配分を確認できます。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring~ 128文字バランスパラメータモデル名
このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。
gameSessionGameSession
GameSession
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzBalanceParameterStatus>バランスパラメータの状態のリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    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 callbackId = domain.SubscribeBalanceParameterStatuses(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeBalanceParameterStatuses(callbackId);
    const auto Domain = Gs2->Enchant->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeBalanceParameterStatuses(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeBalanceParameterStatuses(CallbackId);

getRarityParameterModel

名前を指定してレアリティパラメータ定義を取得する

名前を指定して、レアリティパラメータモデルを1件取得します。
取得できる情報には、パラメータスロットの最大数、スロット数の決定方法、レアリティの重み(排出率)付きの候補値リストが含まれます。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字レアリティパラメータモデル名
レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
itemEzRarityParameterModelレアリティパラメータモデル

実装例

    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 callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    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);

listRarityParameterModels

レアリティパラメータ定義の一覧を取得する

このネームスペースに登録されているすべてのレアリティパラメータモデルを取得します。
レアリティパラメータは、レアリティの重み付き確率に基づいてパラメータスロットにランダムに値を割り当てます。たとえば、武器にコモン・レア・レジェンダリーのスキルスロットが付くといった仕組みです。
利用可能なパラメータタイプの表示や、装備画面でレアリティ設定を確認する際に使います。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
itemsList<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 callbackId = domain.SubscribeRarityParameterModels(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeRarityParameterModels(callbackId);
    const auto Domain = Gs2->Enchant->Namespace(
        "namespace-0001" // namespaceName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeRarityParameterModels(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeRarityParameterModels(CallbackId);

getRarityParameterStatus

特定のアイテムのレアリティパラメータ値を取得する

プレイヤーが所持する特定のアイテム(プロパティ)に割り当てられた現在のレアリティパラメータ値を取得します。
値はアイテム作成時(または最後の再抽選時)にモデルで定義されたレアリティの重みに基づいてランダムに抽選されたものです。
武器や装備の詳細画面で、付与されているスキルやアビリティを表示する際に使います。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
gameSessionGameSession
GameSession
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。

Result

説明
itemEzRarityParameterStatusレアリティパラメータの状態

実装例

    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 callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    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);

listRarityParameterStatuses

プレイヤーのレアリティパラメータ値の一覧を取得する

プレイヤーのアイテムに割り当てられた現在のレアリティパラメータ値を取得します。
パラメータ名でフィルタリングして、特定のパラメータタイプの値のみを取得することもできます。
たとえば、プレイヤーの各武器にどのスキルスロット(コモン・レア・レジェンダリー)が付いているかを確認できます。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
gameSessionGameSession
GameSession
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzRarityParameterStatus>レアリティパラメータモデルのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    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 callbackId = domain.SubscribeRarityParameterStatuses(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeRarityParameterStatuses(callbackId);
    const auto Domain = Gs2->Enchant->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeRarityParameterStatuses(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeRarityParameterStatuses(CallbackId);

verifyRarityParameterStatus

特定のアイテムのレアリティパラメータを検証する

特定のアイテムのレアリティパラメータが指定した条件を満たすかどうかをチェックします。
3つのチェックタイプが利用できます:

  • have: アイテムが特定のパラメータ値を持っている(例: 「炎斬り」スキルを持っている)
  • havent: アイテムが特定のパラメータ値を持っていない
  • count: アイテムのパラメータスロットが指定数だけ埋まっている

前提条件として使います。たとえば、強化する前に武器が特定のスキルを持っていることを要求する場合などに便利です。

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
gameSessionGameSession
GameSession
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
verifyType
検証の種類
定義説明
“havent”指定したパラメータを保有していないこと
“have”指定したパラメータを保有していること
“count”保有しているパラメータの数が指定数であること
parameterValueNamestring{verifyType} in [“havent”, “have”]
✓*
~ 64文字名前
この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。
parameterCountint{verifyType} in [“count”]
✓*
0 ~ 10検証するパラメータの数

Result

説明
itemEzRarityParameterStatusレアリティパラメータの状態

実装例

    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: 0
    );
    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: 0
    );
    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
        0 // 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();