UNPKG

olympus-r

Version:

一个力求简单易用的前端开发框架 #### 开发语言 TypeScript #### 核心架构 MVC #### 模块间通讯和解耦 采用事件机制,利用一个全局唯一的事件派发器进行模块间通讯,解耦模块间依赖 #### 表现层结构 使用桥接模式拆分接口与实现,达到一套核心驱动多套表现层的目的(目前支持DOM、Egret、PixiJS三种表现层),同时支持表现层的未来可扩展性 #### TypeScript装饰器注入 框架提供TypeScript装饰器注入功能,便捷获取托管对象。例如:

47 lines (46 loc) 1.64 kB
import IDisposable from "../../core/interfaces/IDisposable"; import IOpenClose from "../../core/interfaces/IOpenClose"; import IHasBridge from "../bridge/IHasBridge"; import IScenePolicy from "./IScenePolicy"; /** * @author Raykid * @email initial_r@qq.com * @create date 2017-09-08 * @modify date 2017-09-08 * * 场景接口 */ export default interface IScene<S = any, OD = any, CD = any> extends IHasBridge<S>, IOpenClose<OD, CD>, IDisposable { /** 显示对象 */ skin: S; /** 切换策略 */ policy: IScenePolicy<S>; /** 打开当前场景(相当于调用SceneManager.push方法) */ open(data?: OD): Promise<any>; /** 关闭当前场景(相当于调用SceneManager.pop方法) */ close(data?: CD): Promise<any>; /** * 切入场景开始前调用 * @param fromScene 从哪个场景切入 * @param data 切场景时可能的参数 */ onBeforeIn(fromScene: IScene<S, OD, CD>, data?: OD): void; /** * 切入场景开始后调用 * @param fromScene 从哪个场景切入 * @param data 切场景时可能的参数 */ onAfterIn(fromScene: IScene<S, OD, CD>, data?: OD): void; /** * 切出场景开始前调用 * @param toScene 要切入到哪个场景 * @param data 切场景时可能的参数 */ onBeforeOut(toScene: IScene<S, OD, CD>, data?: CD): void; /** * 切出场景开始后调用 * @param toScene 要切入到哪个场景 * @param data 切场景时可能的参数 */ onAfterOut(toScene: IScene<S, OD, CD>, data?: CD): void; }