网上流传一份天龙前身武侠世界的源码,小弟也从朋友那里搞了一份,研究了一下。
90%的源码都看过,每个类的作用基本都了解。
经常有网友问我天龙源码框架的问题,问的人太多了,所以我干脆总结一下算了。
天龙的客户端代码。分2个主要部分,一个是编辑器,一个是客户端。
编辑器和客户端会共用一个渲染模块,那就是WXCore;
我先说客户端部分吧,如下图
先简单介绍下模块的基本功能
CEGUIBase是CEGUI的核心模块
CEGUIFalagard是CEGUI自带的外观窗口类,
CEGUIFalagardEX是自己扩展的外观窗口类,比如小地图之类
CEGUIOgreRenderer,是CEGUI在OGRE中渲染的接口类,
CEGUISystem,是对CEGUI的再次封装,为什么要再次封装和扩展,下面会分析
EXpat是TinyXML是XML解析的
Opcode是碰撞库
WXClient是客户端exe,
WXCore是渲染模块,对Ogre的再次封装,
WXEngine是一个接口库,这个库没啥作用,就是为了让UI模块和Render模块这2个dll库调用客户端exe的代码,实现的接口,如果把UI和Render作为静态lib,那么这个WXEngine就看可以完全扔掉了。
WXNetPackets,网络包
WXRender,对WXCore的再次封装的一个耦合层,这样,就可以换用其他引擎,而不破坏客户端的框架,
以上模块,最主要的就是
CEGUIFalagardEX --扩展,很实用
CEGUISystem --UI模块,很重要
WXCore -- 底层渲染模块
WXRender --渲染模块
WXClient -- 客户端整体框架,包括输入,网络,事件,脚本,数据,对象等10几个单件系统