網上流傳一份天龍前身武俠世界的源碼,小弟也從朋友那裏搞了一份,研究了一下。
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幾個單件系統
下一篇,我將對WXClient做框架詳細分析