, 开始从另一个角度看待一下引擎开发
之前有说过, 引擎可以看作是一个资源管理器, 它的作用是对资源的创建, 编辑, 整合
那这三个大的方面可以从微观的角度看: 那就是它们都是一些基本元素的组合
拿一个模型来说...编辑是强烈依赖反射的, 做好反射机制, 你的编辑器就成功了80%
不管是场景编辑, 还是材质编辑, 甚至于行为, AI, 逻辑, 其实都可以看成属性编辑
在反射机制的基础上, 做一个PropertyEditor..., 那你的编辑器就基本完成了
你再也不用开发一个功能就到面板上加一个控件, 改一下保存/加载的版本号了
到这, 引擎已经有一个很好的底层了, 再就是考虑怎么灵活地去进行游戏开发
组件模式就是为了资源驱动..., 一个实体需要什么功能就加一个什么模块
模块的属性通过PropertyEditor去编辑
对于行为, 可以使用脚本去实现相应的组件
从这个角度来着, 脚本也就成了一种可以复用的组件资源
那么下一步就是弄个强大的脚本系统...或者叫Template
因为你所创建的实体都是各种组件的集合, 每次都去一个个的组装起来很麻烦
所以需要一个模板, 这个模板可以是一个物体, 也可以是多个
这些模板才是传统引擎中的resource的概念