asobi_entity_timer (asobi v0.35.4)

View Source

Summary

Types

entity_timer_event/0

-type entity_timer_event() :: {entity_timer_expired, binary(), binary(), term()}.

state/0

-opaque state()

timer_entry/0

-type timer_entry() ::
          #{timer_id := binary(),
            entity_id := binary(),
            owner := binary() | undefined,
            end_at := pos_integer(),
            on_complete := term(),
            category := atom(),
            pause_when_offline := boolean(),
            paused := boolean()}.

Functions

active_count(_)

-spec active_count(state()) -> non_neg_integer().

cancel_timer(EntityId, TimerId, State)

-spec cancel_timer(binary(), binary(), state()) -> state().

deserialise(_)

-spec deserialise(map()) -> state().

get_timers(EntityId, _)

-spec get_timers(binary(), state()) -> [timer_entry()].

info(State)

-spec info(state()) -> map().

new()

-spec new() -> state().

serialise(_)

-spec serialise(state()) -> map().

start_timer(Config, State)

-spec start_timer(map(), state()) -> state().

tick(Now, State)

-spec tick(pos_integer(), state()) -> {[entity_timer_event()], state()}.