基础
- Event
所有对象都能通过Event管理器抛出事件。Event对象应包含有Class对象本身、所绑定的事件名、以及具体的回掉。 - EventSet
管理所有的Event事件,通过Event所监听的Key值以及优先级,去调用Event事件。 - BaseClass
此类应为所有类的基类,具有通过EventSet单例绑定绑定以及解绑事件的基础方法。
整体分层
以下所有类都继承自BaseClass,受事件管理影响。方便进行数据传输以及消息回掉。
UI层
优先级从上至下大致分为
- Error Tip
特殊弹窗管理层 - Tip
普通弹窗管理层 - Module
功能模块层中,应分为Push和Replace两种情况去兼容业务- Push 为从当前界面层叠关系
- Replace 为清除当前UI栈
- Scene
永不释放,在最底层
在此层总最好兼顾到产品埋点的需求。
核心玩法层
此功能独立游戏UI外,需视情况处理与UI层的关系
逻辑层
游戏中数据处理以及保存的地方
通信层
与服务端通信的中间件,此功能主要用于收发消息以及收到消息后抛事件给需要用到此消息的UI和逻辑层处理。
前期注意
- 所有读表字段通过专门函数去读取
此项主要是为以后多语言化的东西留坑做准备,避免在战略需要时程序面临大量改动。 - 一些唯一Key值的集中管理
主要避免Key值的重复导致出奇怪问题。 - 客户端本地逻辑和业务逻辑的拆离
此项主要主要是为了实现亮点- 在服务端与客户端用相同语言开发的情况下提供逻辑的复用
- 为逻辑部分的单元测试提供可能性