项目简介
Rabbit - IOC是一个跨引擎的前端框架,专为Cocos Creator、LAYA、Egret等前端游戏引擎设计。它具备注入、注解、Mapping映射、控制反转等功能,还集成了帧计时器、携程、线程、对象池等特性,能够提高前端游戏开发的效率和性能。
项目的主要特性和功能
- 注入和注解:借助依赖注入和注解功能,简化代码结构,提升开发效率。
- Mapping映射:实现数据的自动映射,便于数据管理和传输。
- 控制反转:通过控制反转实现模块解耦,增强代码的可维护性。
- 帧计时器、携程、线程:提供高效的帧计时器,支持并发处理,优化游戏性能。
- 对象池:包含传统对象池、缓存对象池和固定对象池,有效管理对象资源,避免内存泄漏。
- 事件和信号器:提供事件和信号器机制,方便模块间的通信和数据更新。
- 异步事件队列:支持异步任务队列处理,提升异步任务的执行效率。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 配置框架启动:
typescript
let application: JTApplication = new JTApplication();
application.option(c.JTApplicationBootstrap.CONTEXT_PROTOCOL, new JTProtocolManager());
application.option(c.JTApplicationBootstrap.CONTEXT_ERROR_MESSAGE, new JTProtocolErrorMessage());
application.option(c.JTApplicationBootstrap.CONTEXT_LAYER, new JTLayerManager());
application.option(c.JTApplicationBootstrap.CONTEXT_MAPPING, new JTResponseMapping());
application.option(c.JTApplicationBootstrap.CONTEXT_SCENE, new JTSceneManager());
application.layout(c.JTLayout.LAYOUT_VERTICAL);
application.option(c.JTApplicationBootstrap.CONTEXT_TEMPLATE, JTTemplateManager.instance);
application.updateConfigs(resources);
application.configServerTemaplete(JTTemplateManager.instance.serverLoader, "httpServer");
application.channelGroup(new JTConnectionManager());
application.connect();
application.launch();
2. 创建并配置对象池:
- 传统对象池(JTPool):
typescript
let pool: c.JTIPool = c.JTPool.instance(c.JTDataInfo);
let dataInfo: c.JTDataInfo = pool.get();
pool.put(dataInfo);
- 缓存对象池(JTCachePool):
typescript
let pool: c.JTICachePool = c.JTCachePool.instance(c.JTDataInfo, 100);
let dataInfo: c.JTDataInfo = pool.get();
pool.put(dataInfo);
- 固定对象池(JTFixedPool):
typescript
let pool: c.JTIFixedPool = c.JTFixedPool.instance(c.JTDataInfo, 100);
let dataInfo: c.JTDataInfo = pool.get();
pool.put(dataInfo);
3. 注册全局函数和事件:
- 使用 JTFunctionManager
注册和执行全局函数:
typescript
c.JTFunctionManager.registerFunction("10000", test, this);
c.JTFunctionManager.execute("10000", "hello world!");
- 使用 JTEventManager
注册和派发全局事件:
typescript
c.JTEventManager.addEventListener("updateView", test, this);
c.JTEventManager.dispathEvent("updateView", "hello world!");
4. 创建事件派发器和信号器:
- 事件派发器(JTEventDispatcher):
typescript
let dispatcher: c.JTEventDispatcher = new c.JTEventDispatcher();
dispatcher.addEventListener("updateView", test, this);
dispatcher.dispathEvent("updateView", "hello world!");
- 信号器(JTEventSignaler):
typescript
let signaler: c.JTEventSignaler = new c.JTEventSignaler();
signaler.addEventListener("updateView", test, this);
signaler.registerFunction("10000", test, this);
signaler.executeFunction("10000", "hello world!");
signaler.dispathEvent("updateView", "hello world!");
5. 使用异步事件队列:
typescript
let taskPipeline: c.JTFuturePipeline = new c.JTFuturePipeline([1000, 200, 111, 2222, 1111, 23333]);
taskPipeline.itemRender = c.JTCommand.create(this, createTaskHandler);
taskPipeline.addEventListener(c.JTTaskEvent.TASK_PROGRESS, onTaskProgress, this);
taskPipeline.addEventListener(c.JTTaskEvent.TASK_COMPLETE, onTaskComplete, this);
taskPipeline.run();
注意事项
- 本框架依赖于FariyGui UI框架,请确保已正确安装和配置。
- 建议开发者在使用前仔细阅读相关文档和代码注释,以便更好地理解和使用本框架。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】