olympus-r
Version:
一个力求简单易用的前端开发框架 #### 开发语言 TypeScript #### 核心架构 MVC #### 模块间通讯和解耦 采用事件机制,利用一个全局唯一的事件派发器进行模块间通讯,解耦模块间依赖 #### 表现层结构 使用桥接模式拆分接口与实现,达到一套核心驱动多套表现层的目的(目前支持DOM、Egret、PixiJS三种表现层),同时支持表现层的未来可扩展性 #### TypeScript装饰器注入 框架提供TypeScript装饰器注入功能,便捷获取托管对象。例如:
48 lines (47 loc) • 1.51 kB
TypeScript
import Mediator from "../mediator/Mediator";
import IScene from "./IScene";
import IScenePolicy from "./IScenePolicy";
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-09-08
* @modify date 2017-09-08
*
* 实现了IScene接口的场景中介者基类
*/
export default class SceneMediator<S = any, OD = any, CD = any> extends Mediator<S, OD, CD> implements IScene<S, OD, CD> {
/**
* 切换策略
*
* @type {IScenePolicy<S>}
* @memberof SceneMediator
*/
policy: IScenePolicy<S>;
constructor(skin?: S, policy?: IScenePolicy<S>);
protected __afterOnOpen(data?: OD): void;
protected __afterOnClose(data?: CD): void;
/**
* 切入场景开始前调用
* @param fromScene 从哪个场景切入
* @param data 切场景时可能的参数
*/
onBeforeIn(fromScene: IScene, data?: OD): void;
/**
* 切入场景开始后调用
* @param fromScene 从哪个场景切入
* @param data 切场景时可能的参数
*/
onAfterIn(fromScene: IScene, data?: OD): void;
/**
* 切出场景开始前调用
* @param toScene 要切入到哪个场景
* @param data 切场景时可能的参数
*/
onBeforeOut(toScene: IScene, data?: CD): void;
/**
* 切出场景开始后调用
* @param toScene 要切入到哪个场景
* @param data 切场景时可能的参数
*/
onAfterOut(toScene: IScene, data?: CD): void;
}