引擎设计跟踪(二)

引擎配置系统设计

这次主要说说引擎的配置系统的设计.借鉴了Ogre的启动配置思想.只不过Ogre的只能配置渲染系统,我的这个...请看:

IConfig<---->IConfigManager<--------->IConfigDialog-------->MFCConfigDialog

|

+------------->GameGUIConfigDialog(未实现)

如上ASCII示意图,这样的设计优点很明显,因为接口最小化,所以只需要实现不同的Dialog就OK.你甚至可以写一个GtkConfigDialog,或者干脆来个WxConfigDialog或者QtConfigDialog,我只是比较熟悉MFC...

计划以后添加游戏GUI,比如CEGUI,最后再加上CEGUIConfigDialog.

可以将不同Config注册给ConfigManager,也可以将不同的ConfigDialog注册给ConfigManager

以实现配置参数和配置界面的分离.

有图有真相:

2010061801583333.gif

(另:对于上图的配置,我起初是把分辨率和全屏放在window配置里了,可以放在Graphics配置中比较好)

 

用MFC做的类似树状的结构:

2010061801583964.gif

用CListCtrl做的,有点像.NET的Property Grid

 

IConfig则使用了GOF Composite Pattern,所以IConfig可以是树状配置.

转载于:https://www.cnblogs.com/crazii/archive/2010/06/18/1759882.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值