N3架构上是分了三层的, foundation, render, application.
一直以来看的都是foundation和render, 上层的一直没怎么看
今天大体上浏览了下, 感觉东西还是满多的
很多引擎都没这一层的, 如果没有实际项目的积累, 也没法抽象出复用的部分来
这里说的Entity不是GraphicsEntity, 而是Game::Entity, 代表游戏中的一个对象, 比如人, 道具什么的
一个Entity由以下几部分组成:
- ID : 这个没啥好说的
- AttributeTable: 属性表, 跟数据库绑定, 数据驱动的前提
- Properties: 或许叫Component更合适, 组件模型, 现在大家都这么干了, 除了国内的人-_-
跟其他组件模型有点不一样的是, 如果想调用Entity中某个组件的功能, 直接发个消息给这个Entity就可以. 它自己找到处理这个消息的Property进行处理. 从这一点来说, Entity也是一个消息分配器(Dispatcher):