hengine
Version:
A simple graphic engine for `canvasom`.
66 lines (65 loc) • 1.78 kB
TypeScript
import { CanvasNode, CanvasNodeEvents, CanvasNodeOptions, Event } from "canvasom";
/**
* Data type of `enter` events on scene nodes.
*/
export interface SceneNodeEnterEventData {
currentScene: SceneNode<any> | null;
}
/** dts2md break */
/**
* Emits on entering a scene. (stoppable & cancelable)
*/
export declare type SceneNodeEnterEvent = Event<'enter', SceneNodeEnterEventData>;
/** dts2md break */
/**
* Data type of `exit` events on scene nodes.
*/
export interface SceneNodeExitEventData {
nextScene: SceneNode<any> | null;
}
/** dts2md break */
/**
* Emits on exiting a scene. (stoppable & cancelable)
*/
export declare type SceneNodeExitEvent = Event<'exit', SceneNodeExitEventData>;
/** dts2md break */
/**
* Event map of {@link SceneNode}.
*/
export interface SceneNodeEvents extends CanvasNodeEvents {
enter: SceneNodeEnterEvent;
exit: SceneNodeExitEvent;
}
/** dts2md break */
/**
* Type of options of {@link SceneNode}.
*/
export declare type SceneNodeOptions<Events extends SceneNodeEvents> = (CanvasNodeOptions<Events> & Partial<{
/**
* @override CanvasNodeOptions.stretch
* @default 1
*/
stretch: number;
/**
* @override CanvasNodeOptions.penetrable
* @default true
*/
penetrable: boolean;
}>);
/** dts2md break */
/**
* Class of scene nodes.
*/
export declare class SceneNode<Events extends SceneNodeEvents = SceneNodeEvents> extends CanvasNode<Events> {
/** dts2md break */
/**
* Constructor of {@link SceneNode}.
*/
constructor(options?: SceneNodeOptions<Events>);
/** dts2md break */
/**
* @override CanvasNodeOptions.penetrable
* @default true
*/
penetrable: boolean;
}