@robotlegsjs/phaser
Version:
RobotlegsJS integration with Phaser Scene Manager
54 lines (53 loc) • 1.44 kB
TypeScript
import { IEventDispatcher } from "@robotlegsjs/core";
import { ISceneHandler } from "./ISceneHandler";
import { IViewHandler } from "./IViewHandler";
export declare const ISceneManager: unique symbol;
/**
* The Scene Manager allows you to add multiple "scene managers" to a context
*/
export interface ISceneManager extends IEventDispatcher {
/**
* A list of currently registered SceneManagers
*/
sceneManagers: Phaser.Scenes.SceneManager[];
/**
* Adds a SceneManager as a "scene root" into the context
*
* @param sceneManager
*/
addSceneManager(sceneManager: Phaser.Scenes.SceneManager): void;
/**
* Removes a sceneManager from this context
*
* @param sceneManager
*/
removeSceneManager(sceneManager: Phaser.Scenes.SceneManager): void;
/**
* Registers a scene handler
*
* @param handler
*/
addSceneHandler(handler: ISceneHandler): void;
/**
* Removes a scene handler
*
* @param handler
*/
removeSceneHandler(handler: ISceneHandler): void;
/**
* Registers a view handler
*
* @param handler
*/
addViewHandler(handler: IViewHandler): void;
/**
* Removes a view handler
*
* @param handler
*/
removeViewHandler(handler: IViewHandler): void;
/**
* Removes all scene and view handlers from this context
*/
removeAllHandlers(): void;
}