@pixelation/engine
Version:
A simple pixel art game engine.
25 lines (24 loc) • 951 B
TypeScript
import { Tagged } from "./tagged";
import { Surface } from "./graphics";
import { Inputs } from "./input";
import { Audio } from "./audio";
export type Fps = Tagged<"Fps", number>;
export type Time = Tagged<"Time", number>;
export type DeltaTime = Tagged<"DeltaTime", number>;
export type Setup = (surface: Surface, inputs: Inputs, audio: Audio) => void;
export type Cleanup = (surface: Surface, inputs: Inputs, audio: Audio) => void;
export type Update = (surface: Surface, inputs: Inputs, audio: Audio, dt: DeltaTime, t: Time) => void;
export type Render = (surface: Surface, inputs: Inputs, dt: DeltaTime, t: Time, fps: Fps) => void;
export interface Component {
setup?: Setup;
cleanup?: Cleanup;
update?: Update;
render: Render;
}
export interface RunOptions {
surface: Surface;
setup?: Setup;
update?: Update;
render?: Render;
}
export declare const run: ({ surface, setup, update, render, }: RunOptions) => void;