, 开始从另一个角度看待一下引擎开发
之前有说过, 引擎可以看作是一个资源管理器, 它的作用是对资源的创建, 编辑, 整合
那这三个大的方面可以从微观的角度看: 那就是它们都是一些基本元素的组合
拿一个模型来说...编辑是强烈依赖反射的, 做好反射机制, 你的编辑器就成功了80%
不管是场景编辑, 还是材质编辑, 甚至于行为, AI, 逻辑, 其实都可以看成属性编辑
在反射机制的基础上, 做一个PropertyEditor..., 那你的编辑器就基本完成了
你再也不用开发一个功能就到面板上加一个控件, 改一下保存/加载的版本号了
到这, 引擎已经有一个很好的底层了, 再就是考虑怎么灵活地去进行游戏开发
组件模式就是为了资源驱动..., 一个实体需要什么功能就加一个什么模块
模块的属性通过PropertyEditor去编辑
对于行为, 可以使用脚本去实现相应的组件
从这个角度来着, 脚本也就成了一种可以复用的组件资源
那么下一步就是弄个强大的脚本系统..., 来配合反射/序列化/组件模式进行开发
好比UE的UnrealScript, Unity3D的UnityScript(Mono), 都是这种结构
对于组件模式, 一个不可缺少的东西就是Prefab,