zoukankan      html  css  js  c++  java
  • 引擎设计跟踪(二)

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

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

    |

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

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

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

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

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

    有图有真相:

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

     

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

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

     

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

  • 相关阅读:
    String的方法capitalize
    python基本运算符
    计算机中常用进制转换
    python中的print函数
    python转义字符
    3.python中的基本概念
    4.input()
    1.计算机基础知识
    Pyhton实用的format()格式化函数
    jieba(结巴)常用方法
  • 原文地址:https://www.cnblogs.com/crazii/p/1759882.html
Copyright © 2011-2022 走看看