はじめに
GS2-Inventory はプレイヤーの持ち物を管理するサービスです。
機能追加の背景
インフレゲームでは徐々にアイテムの消費数量が増えていきます。
このあたりの機能を実現するために、先月 GS2-Exchange にコスト上昇型交換レート機能が追加されました。
しかし、消費する対象となるリソースがコストの上昇を行なっていくうちに GS2-Inventory で格納可能なアイテムの最大数を超えてしまう問題がありました。
この問題を解決するために、アイテムの所持数量が最大1024桁の数値という巨大な数量を扱える機能を追加しました。
追加された機能の詳細
機能としては原則、シンプルインベントリと変わりません。
ただし、シンプルインベントリは複数のアイテムをまとめて増減することができましたが、巨大インベントリは1回のAPIで更新できるのは1つのアイテムに限定されます。
その代わり、アイテムを所持可能な最大数量が大1024桁の数値まで管理することが可能です。
Unity からの使用例
アイテムの入手
アイテムの入手は GS2-Quest のクエスト報酬や、GS2-Showcase の商品販売などを通して行なってください。
アイテムの消費
var result = await gs2.Inventory.Namespace( namespaceName: "namespace-0001" ).Me( gameSession: GameSession ).BigInventory( inventoryName: "inventory-0001" ).Item( itemName: "item-0001" ).ConsumeAsync( consumeCount: "1" );
インベントリ内のアイテム一覧を取得
var items = await gs2.Inventory.Namespace( namespaceName: "namespace-0001" ).Me( gameSession: GameSession ).BigInventory( inventoryName: "item" ).ItemsAsync( ).ToListAsync();