GS2-Schedule SDK for Game Engine API リファレンス
モデル
EzTrigger
トリガー
トリガーはゲームプレイヤー毎に異なるイベント開催期間を実現する際に、イベントの開始の起点となるタイミングを定義するエンティティです。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
triggerId | string | ✓ | | ~ 1024文字 | トリガーGRN |
name | string | ✓ | | ~ 128文字 | トリガーの名前 |
createdAt | long | ✓ | | | 作成日時 |
expiresAt | long | | | | トリガーの有効期限 |
EzEvent
イベント
イベントの期間は絶対期間と相対期間の2種類存在します。
絶対期間は 2021年1月1日 00:00(UTC) ~ 2021年1月7日 23:59(UTC) のような固定の期間で、
相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。
イベントには開催期間だけでなく、繰り返しが設定できるようになっており
イベント期間のうち、月曜日の 10:00 ~ 11:00 だけをイベント期間とするような設定も可能です。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
name | string | ✓ | | ~ 128文字 | イベントの種類名 |
metadata | string | | | ~ 2048文字 | メタデータ |
scheduleType | enum [‘absolute’, ‘relative’] | ✓ | | ~ 128文字 | イベント期間の種類 |
repeatType | enum [‘always’, ‘daily’, ‘weekly’, ‘monthly’] | {scheduleType} == “absolute” | “always” | ~ 128文字 | 繰り返しの種類 |
absoluteBegin | long | {scheduleType} == “absolute” | | | イベントの開始日時 |
absoluteEnd | long | {scheduleType} == “absolute” | | | イベントの終了日時 |
repeatBeginDayOfMonth | int | {repeatType} == “monthly” | | 1 ~ 31 | イベントの繰り返し開始日 |
repeatEndDayOfMonth | int | {repeatType} == “monthly” | | 1 ~ 31 | イベントの繰り返し終了日 |
repeatBeginDayOfWeek | enum [‘sunday’, ‘monday’, ’tuesday’, ‘wednesday’, ’thursday’, ‘friday’, ‘saturday’] | {repeatType} == “weekly” | | ~ 128文字 | イベントの繰り返し開始曜日 |
repeatEndDayOfWeek | enum [‘sunday’, ‘monday’, ’tuesday’, ‘wednesday’, ’thursday’, ‘friday’, ‘saturday’] | {repeatType} == “weekly” | | ~ 128文字 | イベントの繰り返し終了曜日 |
repeatBeginHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | | ~ 23 | イベントの繰り返し開始時間 |
repeatEndHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | | ~ 23 | イベントの繰り返し終了時間 |
relativeTriggerName | string | {scheduleType} == “relative” | | ~ 128文字 | イベントの開始トリガー |
relativeDuration | int | {scheduleType} == “relative” | | ~ 2147483646 | イベントの開催期間(秒) |
メソッド
getTrigger
引かれているトリガーを取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
triggerName | string | ✓ | | ~ 128文字 | トリガーの名前 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
実装例
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).Trigger(
triggerName: "trigger1"
);
var item = await domain.ModelAsync();
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).Trigger(
triggerName: "trigger1"
);
var future = domain.Model();
yield return future;
var item = future.Result;
const auto Domain = Gs2->Schedule->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
)->Trigger(
"trigger1" // triggerName
);
const auto item = Domain.Model();
listTriggers
引かれているトリガーの一覧を取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
実装例
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var items = await domain.TriggersAsync(
).ToListAsync();
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.Triggers(
);
List<EzTrigger> items = new List<EzTrigger>();
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->Schedule->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
);
const auto It = Domain->Triggers(
);
for (auto Item : *It)
{
}
getEvent
開催中のイベントを取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
eventName | string | ✓ | | ~ 128文字 | イベントの種類名 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
実装例
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).Event(
eventName: "event-0001"
);
var item = await domain.ModelAsync();
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).Event(
eventName: "event-0001"
);
var future = domain.Model();
yield return future;
var item = future.Result;
const auto Domain = Gs2->Schedule->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
)->Event(
"event-0001" // eventName
);
const auto item = Domain.Model();
listEvents
開催中のイベント一覧を取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
実装例
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var items = await domain.EventsAsync(
).ToListAsync();
var domain = gs2.Schedule.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.Events(
);
List<EzEvent> items = new List<EzEvent>();
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->Schedule->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
);
const auto It = Domain->Events(
);
for (auto Item : *It)
{
}