@studiokeywi/banjo - v0.0.1
    Preparing search index...

    Interface Engine<GameEvents, Action, Sequence>

    Game engine providing only the basics of a game loop and event dispatching system

    interface Engine<
        GameEvents extends EventsMap = NonNullable<unknown>,
        Action = string,
        Sequence = string,
    > {
        FPS: number;
        keyboardHandler: KeyboardHandler<Action, Sequence, GameEvents>;
        paused: boolean;
        running: boolean;
        TPS: number;
        emit(
            event: RemoveIndexSignature<
                {
                    [Key in string
                    | number
                    | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                },
                string,
            >[keyof RemoveIndexSignature<
                {
                    [Key in string
                    | number
                    | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                },
                string,
            >],
        ): this;
        off<
            Events extends
                RemoveIndexSignature<
                    {
                        [Key in string
                        | number
                        | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                    },
                    string,
                >,
            const Type extends string
            | number
            | symbol,
        >(
            type: Type,
            handler: (event: Events[Type]) => void,
        ): this;
        on<
            Events extends
                RemoveIndexSignature<
                    {
                        [Key in string
                        | number
                        | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                    },
                    string,
                >,
            const Type extends string
            | number
            | symbol,
        >(
            type: Type,
            handler: (event: Events[Type]) => void,
        ): this;
        once<
            Events extends
                RemoveIndexSignature<
                    {
                        [Key in string
                        | number
                        | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                    },
                    string,
                >,
            const Type extends string
            | number
            | symbol,
        >(
            type: Type,
            handler: (event: Events[Type]) => void,
        ): this;
        pause(): this;
        set<
            Events extends
                RemoveIndexSignature<
                    {
                        [Key in string
                        | number
                        | symbol]: (GameEvents & EngineEvents & InputEvents<Action, Sequence>)[Key]
                    },
                    string,
                >,
        >(
            handlers: Partial<
                {
                    [Key in string
                    | number
                    | symbol]: (event: Events[Key]) => void | Promise<void>
                },
            >,
        ): this;
        start(): this;
        stop(): this;
    }

    Type Parameters

    • GameEvents extends EventsMap = NonNullable<unknown>
    • Action = string
    • Sequence = string
    Index

    Properties

    FPS: number

    The current (approximate) frames per second

    Reference to the input handler object for key binding

    paused: boolean

    Whether the engine is currently paused

    running: boolean

    Whether the engine is currently running

    TPS: number

    The current (approximate) ticks per second

    Methods

    • Remove an event listener from the engine

      Type Parameters

      Parameters

      Returns this

    • Add a new event listener to the engine

      Type Parameters

      Parameters

      Returns this

    • Add a new event listener to the engine that only executes once

      Type Parameters

      Parameters

      Returns this

    • Pause or unpause the engine

      Returns this

    • Set multiple event listeners to the engine at once through a single object

      Type Parameters

      Parameters

      • handlers: Partial<
            {
                [Key in string
                | number
                | symbol]: (event: Events[Key]) => void | Promise<void>
            },
        >

      Returns this

    • Start the engine (if it is not running)

      Returns this

    • Stop the engine (if it is running)

      Returns this