Conan建築實現 魔方工具

2021-10-24 21:17:46 字數 1174 閱讀 3404

這篇要講的是在開發過程中,我想到的乙個批量刷建築材料資訊給建築單位的輔助配表工具。

它(魔方工具)要解決的問題是這樣的:就拿牆來舉例吧,牆在建造到固定的位置的時候,要把自己提供的連線位置重新整理到建築單位裡。這樣又帶來了乙個問題,假如牆的上邊是乙個提供的連線位置1(建築單位的定義位置為準),那他就會把當前所在的建築單位的1號位置暴露。之後比如有乙個浮動的天花板(也就是建築時候,玩家當前操作的天花板),需要1、2、3、4其中乙個位置才能滿足建造。這時正好牆提供了建築單位的1號位置。因此天花板可以在當前位置建造。

有沒有發現有個問題,就上面描述的情形是天花板和牆同時在同乙個建築單位裡。按實際的策劃期望或者實際情況,這個牆的上邊同時給4個建築單位提供了連線位置。如圖:

所以。假如當前的牆在右下方的建築單位裡,邊最終要給右下的建築單位提供1號位,左下提供3號,左上提供7號,右上提供5號。

這麼看的話,其實這些位置都是在遊戲執行前就是明確的,所以我們可以通過乙個配表的形式來進行對應關係的模擬,在程式執行的時候,直接讀表就知道重新整理**的資訊了。

魔方出場。就上面描述的內容我們可以使用乙個3階魔方(這個很重要,後期多建築塊也要多次用它來獲取統一標準的運算引數)來進行處理。首先是位置標號,這個上面已經有了1-8。接下來是對魔方進行標號,這個怎麼方便怎麼來,一層一層的標號就行。如圖:把27個都進行標號,這個隨便標,我當時還玩的比較麻煩,按軸和旋轉進行標號的。原因是因為本來我以為用不了27個沒想到最後都得用。就變成這樣了,結果就是配表不舒服嗎?我覺得也沒有,這個內在規律也不好把握。總之把標號和位置對應好就行。

我隨便表乙個做個示範吧:就那剛才那個牆做吧。

我們配表規則是這樣的,當前建築材料位置標號→目標建築單位標號→目標建築單位裡的實際位置。只要確保是唯一對映的就行。   

如圖,就應該是:

這樣我們就可以通過當前配表,找到共同有占用位置的建築單位,進而通過建築單位位置標號和標號的組合查到,對應的相鄰共同占用位置的目標相鄰建築單位實際的位置是那個。進而對其進行資訊重新整理。

Conan建築實現 結構

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

Conan建築實現 架構方面

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

c 包管理工具conan

conan is a portable package manager,intended for c and c developers,but it is able to manage builds from source,dependencies,and precompiled binaries ...