框架
状态
多状态(确定各状态中有修改的部分)
执行顺序
(状态机)
功能
普遍功能(纯粹逻辑,不涉及到UI和模型)
相机控制(将多种相机移动方式写到一个脚本,进行切换)
配置文件读取(本地配置读取)(读取xlsx表格)
WWW(后台数据获取)
编辑器Inspector(中文备注)
日志打印(将Debug实时输出到外部文件)
对象池(模型的重复使用)
。。。
定制功能
模型管理器(ModelManager)
模型加载(将加载的模型存放到这里)(用字典存放)
模型优化(解决面数过多,每次加载新模型执行一次优化)
UI管理器(UIManager)
UI加载(用字典存放)
数据管理器(DataManager)
考虑数据量很大,卡顿问题???
数据获取(www或者配置获取到的数据)
数据分析(NetJson)(读取xlsx表格)
数据分配(采用事件广播分发下去,监听端获取到所有选取自己需要的部分)
数据修改汇总(如果需要统计,另存)
音效管理器(SoundManager)
整体音效大小
各动作音效(字典存放)
UI单例(XX_View)
数据接收(数据单例)
UI修改(UI可视化的变化)(去UI管理器加载所需资源,再使用)
数据传出(数据单例)
数据单例(XX_Controller)
数据分配(监听端)
数据修改(模型或者UI单例过来的信息,监听数据)
数据传出(UI或者模型单例)
模型单例(XX_Model)
数据接收(数据单例)
模型修改(模型可视化变化)(去模型管理器加载所需资源,再使用)
数据传出(数据单例)
脚本文件存放及命名
Scripts(文件夹)
Camera(相机脚本文件夹)
CameraController
Common(事件监听广播脚本文件夹)
CallBack
EventCenter
EventType
MVC(MVC文件夹)
XX_Controller
XX_Model
XX_View
Pool(对象池文件夹)
ObjectPool
Singleton(单例文件夹)
UnitySingleton
StateMachine(状态机文件夹)
PMState_Base
StateControl
StateMachineNext
State(状态文件夹)
PMSatte_XX
WWW(WWW文件夹)
WWWRead
Inspector(编辑器修改文件夹)
InspectorShow
Modules(模块文件夹)
XXModule(文件夹)
AppMain\GameManager(程序主控脚本)
数据交互方式
各模块之间使用事件的监听和广播
模块内部使用单例调用或者直接调用
存在一对多使用事件监听和广播
注意
场景内物体使用不可使用拖拽,使用代码寻找
声明以及方法必须有备注
代码修改需要备注 什么时候 什么功能 谁 做的修改
有改动原来代码地方,不可删除,使用注释
实现分步加载,使用才加载不适用不加载,避免一次加载大量数据导致卡顿
各模块留出接口
大致流程
数据加载状态
数据管理器加载数据、解析数据、数据分配
将场景初始所需模型和UI生成
场景运行状态1
状态1中资源的控制
场景运行状态2
。。。
框架思维导图