API Reference of GS2-Schedule SDK for Game Engine

Model

EzTrigger

Trigger

A trigger is an entity that defines the starting point for the beginning of an event when realizing different event durations for different game players.

TypeRequireDefaultLimitationDescription
triggerIdstring~ 1024 charsTrigger Name
namestring~ 128 charsTrigger Name
createdAtlongDatetime of creation
expiresAtlongTrigger Expiration Date

EzEvent

Event

Two types of event durations exist: absolute and relative. Absolute periods are fixed periods, such as January 1, 2021 00:00(UTC) to January 7, 2021 23:59(UTC). A relative period is an event period that varies from one game player to another, such as 24 hours from the time the trigger is pulled.

The event can be set to repeat itself as well as the duration of the event. An event period can be set up so that only Monday from 10:00 to 11:00 is included in the event period.

TypeRequireDefaultLimitationDescription
namestring~ 128 charsEvent Type Name
metadatastring~ 2048 charsmetadata
scheduleTypeenum [‘absolute’, ‘relative’]~ 128 charsType of Event Period
repeatTypeenum [‘always’, ‘daily’, ‘weekly’, ‘monthly’]{scheduleType} == “absolute”“always”~ 128 charsType of repetition
absoluteBeginlong{scheduleType} == “absolute”Event start date and time
absoluteEndlong{scheduleType} == “absolute”Event end date and time
repeatBeginDayOfMonthint{repeatType} == “monthly”1 ~ 31Event repeat start date (If the value exceeds the days of the month, it is treated as the last day.)
repeatEndDayOfMonthint{repeatType} == “monthly”1 ~ 31Event repeat end date (If the value exceeds the days of the month, it is treated as the last day.)
repeatBeginDayOfWeekenum [‘sunday’, ‘monday’, ’tuesday’, ‘wednesday’, ’thursday’, ‘friday’, ‘saturday’]{repeatType} == “weekly”~ 128 charsRepeat start day of event
repeatEndDayOfWeekenum [‘sunday’, ‘monday’, ’tuesday’, ‘wednesday’, ’thursday’, ‘friday’, ‘saturday’]{repeatType} == “weekly”~ 128 charsRepeat event end day of the week
repeatBeginHourint{repeatType} in [“daily”, “weekly”, “monthly”]~ 23Repeat event start time
repeatEndHourint{repeatType} in [“daily”, “weekly”, “monthly”]~ 23Repeat event end time
relativeTriggerNamestring{scheduleType} == “relative”~ 128 charsTrigger the start of the event
relativeDurationint{scheduleType} == “relative”~ 2147483646Event duration(seconds)

Methods

getTrigger

Get the trigger being pulled

Request

TypeRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
triggerNamestring~ 128 charsTrigger Name
accessTokenstring~ 128 charsUser Id

Result

TypeDescription
itemEzTriggerTrigger

Implementation Example

    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

Get list of triggers being pulled

Request

TypeRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id

Result

TypeDescription
itemsList<EzTrigger>List of Triggers
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

    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

Retrieve ongoing events

Request

TypeRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
eventNamestring~ 128 charsEvent Type Name
accessTokenstring~ 128 charsUser Id

Result

TypeDescription
itemEzEventEvent
repeatCountintNumber of times to repeat

Implementation Example

    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

Get list of events currently being held

Request

TypeRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id

Result

TypeDescription
itemsList<EzEvent>List of Events

Implementation Example

    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)
    {

    }