UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

21 lines (20 loc) 1.43 kB
import { Cancellable } from "@lincode/promiselikes"; import type Appendable from "../../display/core/Appendable"; type Ticker = "beforeRender" | "afterRender" | "render" | "loop"; type SetupTicker = Ticker | typeof queueMicrotask | [() => Promise<void>]; export type SystemOptions<GameObject extends object | Appendable, Data extends Record<string, any> | void> = { data?: Data | ((gameObject: GameObject) => Data); effect?: (gameObject: GameObject, data: Data) => void | false | (() => void); cleanup?: (gameObject: GameObject, data: Data) => void; update?: (gameObject: GameObject, data: Data) => void; updateTicker?: Ticker; effectTicker?: SetupTicker; beforeTick?: (queued: Map<GameObject, Data> | Set<GameObject>) => void; afterTick?: (queued: Map<GameObject, Data> | Set<GameObject>) => void; sort?: (a: GameObject, b: GameObject) => number; }; declare const _default: <GameObject extends object | Appendable, Data extends void | Record<string, any>>(name: string, { data, effect, cleanup, update, updateTicker, effectTicker, beforeTick, afterTick, sort }: SystemOptions<GameObject, Data>, userland?: boolean) => { add: ((item: GameObject, initData?: Data | undefined) => false | Cancellable) | ((item: GameObject, initData?: Data | undefined) => boolean); delete: ((item: GameObject) => false | Cancellable | undefined) | ((item: GameObject) => boolean); }; export default _default;