一个游戏中好多逻辑系统模块,
最传统的做法就是一个实体类加管理系统 比如 Item ItemManager(ItemSystem)
这个做法基本上采用类继承的做法,配置采用csv格式(利用excel强大的编辑功能),就是ItemManager不但是一个Item一些系统功能管理,而且也是csv配置家在和创建item的类厂
这种做法相当的简洁明了,但是有着稍微复杂的系统结构偏复杂,比如 Player NPC Monster,这三个要共同继承一个基类,但否需要用三个管理器来管理,如果再复杂一些,所以这样
会导致系统中n多的实体类加管理其组成,可能有的些功能开发起来不是很方便,但是任何一个设计都无法完美的解决,但是任何设计也都有自己的长处,所以开发过程中扬长避短也是
很重要。
还有一种是基于组件,就是所有对象最原始都是继承object,类似。net做法,然后根据需求添加基础模块,模块化做的相当的好。当然做到这样子也需要不少工作量。然后可视化选择
各个组件来组合实体,比如基础组件有 物理,键盘鼠标交互,渲染,战斗,任务 等通用组件 也有 基础组件(处理的属性有名称,id等,就是所有对象实例都必须有),也有比较专用的组件,
比如 物品组件等,xx商店组件,这个专用组件会根据需求可能也是比较多,各个组件都有自己特定属性。 比如 玩家:会显示,战斗,会有碰撞(这个是战斗属性必须依赖的一个模块),那么一个玩家
你在编辑器里面必须要配置上 物理,键盘鼠标交互,渲染,战斗&#x