@robotlegsjs/pixi
Version:
PIXI View Integration with RobotlegsJS
37 lines (36 loc) • 1.82 kB
TypeScript
import { Event, IClass, IEvent, IEventDispatcher } from "@robotlegsjs/core";
import { IEventEmitterMap } from "@robotlegsjs/eventemitter3";
import { DisplayObject, utils } from "pixi.js";
import { IMediator } from "../api/IMediator";
/**
* Classic Robotlegs mediator implementation
*
* <p>Override initialize and destroy to hook into the mediator lifecycle.</p>
*/
export declare abstract class Mediator<T extends DisplayObject> implements IMediator {
protected eventMap: IEventEmitterMap;
protected eventDispatcher: IEventDispatcher;
protected _viewComponent: T;
set view(view: T);
get view(): T;
/**
* @inheritDoc
*/
abstract initialize(): void;
/**
* @inheritDoc
*/
abstract destroy(): void;
/**
* Runs after the mediator has been destroyed.
* Cleans up listeners mapped through the local EventMap.
*/
postDestroy(): void;
protected addViewListener(eventString: string, listener: utils.EventEmitter.ListenerFn, thisObject?: any): void;
protected addContextListener(eventString: string, listener: Function, thisObject?: any, eventClass?: IClass<IEvent>, useCapture?: boolean, priority?: number): void;
protected addDomListener(eventTarget: EventTarget, eventString: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
protected removeViewListener(eventString: string, listener: utils.EventEmitter.ListenerFn, thisObject?: any): void;
protected removeContextListener(eventString: string, listener: Function, thisObject?: any, eventClass?: IClass<IEvent>, useCapture?: boolean): void;
protected removeDomListener(eventTarget: EventTarget, eventString: string, listener: EventListenerOrEventListenerObject): void;
protected dispatch(event: Event): void;
}