Conan建築實現 架構方面

2021-10-24 14:50:35 字數 1058 閱讀 4504

架構方面:

1、 乙個scenemgr類:來管理場景和建築的資料交換、互動、呼叫等。提供了建築對外的操作介面。由於最初是用是ilruntime方式的熱更,所以初版就是用了c#開發,後期專案轉lua,建築功能沒有跟著轉,主要是當時建築還沒有成形且體型比較大。

2、乙個建築單位的類:用來儲存當前建築單位的固定位置資料。比如包含了那些建築材料,提供了哪些連線位置,哪些空間位置被占用。

3、乙個建築資料基類:宣告了基本建築材料的讀表資料。是乙個儲存資料的類,要確保資料冗餘,因為會有建築材料數量會很龐大。(這裡我還增加了乙個不該有的功能,就是建立模型。這個操作按理說應該屬於元件的任務。這裡先暫時這麼做吧,只有有時間再改。原因是我目前是單一元件驅動資料的。要做到非同步建立模型,就得多個元件一起工作,管理乙個元件的物件池。可是呢,非同步操作只有建立模型這乙個環節。我覺得為了這個做個物件池的元件管理,還只用到這一處,不太值。所以,我就把模型的穿件放到資料裡了,主要是影響不大。)

3-1、乙個浮動的建築資料基類:主要實現:對讀表資料進行優化,因為實時獲取不同的形態的表資料,而表資料卻要在換算後才能使用;

3-2、乙個固定的建築資料基類:主要實現:和建築單位類的互動重新整理,以便準確的更新建築單位類的最新資料;

4、乙個建築材料的抽象基類:主要實現:一些對建築資料類的處理和獲取,模型的初始化等標準統一的流程操作;抽象乙個根據旋轉等級來確定狀態的方法。是乙個元件式的類。

4-1、乙個浮動的建築材料抽象類:主要是建造的時候,用來視覺化建造的類。主要實現:抽象了判斷當前建築材料是否可以建造的方法;抽象了根據視點來確定當前建築材料是什麼樣子的方法;實現了根據建築單位類的資訊,判斷當前視點是否可用的虛方法;考慮到建築材料建立規則的多樣性,可以適當重寫是否對視點進行擷取修改;

4-2、乙個固定的建築材料抽象類:主要是處理伺服器發過來的建築材料資料,生成玩家建立出來的建築材料。主要實現:和場景互動的一些效果,比如被打爛了。

5、乙個所有建築的工具類:這個太多啦,跟流程沒有關係的一些資料處理環節,座標轉換,位掩碼操作,特殊建築材料的特殊規則判斷等等。

說明:元件會適應不同的建築材料需求。對應如果有特殊的資料操作,也會單獨的繼承資料。一般情況元件都會持有對應狀態的資料基類。

Conan建築實現 結構

實現 結構 資料儲存 在規劃的時候,說了每個建築材料要根據旋轉等級來確定,實際在建築單位裡到底是什麼樣的。所以我們需要乙個儲存建築材料的建築單位。為了方便獲取到實時運算的資料,我們要建立分別根據建築材料的占用資訊做key,建築材料當做值的列表,來表示當前空間位置被哪個占用 也要建立根據建築材料的提供...

Conan建築實現 魔方工具

這篇要講的是在開發過程中,我想到的乙個批量刷建築材料資訊給建築單位的輔助配表工具。它 魔方工具 要解決的問題是這樣的 就拿牆來舉例吧,牆在建造到固定的位置的時候,要把自己提供的連線位置重新整理到建築單位裡。這樣又帶來了乙個問題,假如牆的上邊是乙個提供的連線位置1 建築單位的定義位置為準 那他就會把當...

質優的建築模板是由哪幾個方面組成的

建築模板由面板系統 支撐系統 操作平台及連線件等組成,各系統之間必須保證安全可靠。建築模板的面板應選用厚度不小於0.5厘公尺的鋼板,建築模板的肋和背楞位置最好採用跟其面板相同材質的材料製作,最好選用效能較好的型鋼 冷彎薄壁型鋼等材質來製作,以保證焊接效能和結構效能。建築模板的自身穩定性對於其在建築施...