この更新は2025年1月30日の更新内容です
はじめに
GS2-Mission はデイリーミッションやウィークリーミッション、実績といった機能を実現するマイクロサービスです。
機能追加の背景
GS2-Mission のカウンターはスコープという概念を持ち、1つのカウンターに複数の切り口での値を保持することができます。
たとえば「クエストをクリアした回数」というカウンターがあった時、カウンターの値は
「毎日0時にリセットされるカウンター値」「毎週月曜日0時にリセットされるカウンター値」「イベントAの開催期間のみカウントアップされるカウンター値」「累積のカウントアップ値」というように複数の値を持つことが可能で、ミッションタスクは各スコープを達成判定に利用できます。
これまでは、このカウンター値をリセットするときは全てのスコープの値をリセットする形でしか利用することができませんでした。
追加された機能の詳細
スコープを指定してカウンター値をリセットする機能が追加されました。
var result = await gs2.Mission.Namespace( namespaceName: "namespace-0001" ).Me( gameSession: GameSession ).Counter( counterName: "counter-0001" ).ResetCounterAsync( new EzScopedValue[] { new EzScopedValue() .WithResetType("daily"), new EzScopedValue() .WithResetType("weekly"), } );