此文章分享ScriptableObjec的進階應用,數據編輯器。設計數據器編輯器的概念是,方便 coder與企劃對於數據能做一個方便的交互管理。

數據的管理是很直覺的,企劃只要將修改好的數據給 coder,coder直接丟進專案就能套用。coder修改後的數據只要按的儲存方法,就可以將新的數據重新打包。

 

程式碼如下。

1.建立資料腳本:

 

 2.建立數據自動載入腳本,可以自動將資料存成 .asste檔

建立Settings、Resources、EnemyDate資料夾,Settings和 EnemyDate資料夾名稱可以自取,但是 Resources名稱必須是固定的,不用這名稱的話,之後用 Resources.Load會讀取不到資料。

 

SettingAutoDatebase腳本是自動引用的,當它後放在 Editor資料夾裡時,就有做已有用。要注意的是Editor資料夾名稱是固定的,而且繼承了 AssetPostprocessor的 SettingAutoDatebase腳本一定要放在Editor資料夾裡才會有作用。另外腳本裡的方法需要 staitc,當Unity自動引用時後才不會有問題。

 

Settings、Resources、EnemyDate的資料夾結構可自訂,但在 SettingAutoDatebase腳本理的第38行的指定路徑必須要輸入正確。

  數據編輯器5  


  

3.將 EnemyDatebase.csv檔案拉入 "Settings"資料夾裡

數據編輯器4 

你會看到 EnemyDate資料夾裡自動多了兩個 .asset檔,且 .csv的資料也再上面。

 

4.建立 SettingDatebase腳本,此腳本做為更新儲存資料用

 因為腳本第10行,你會在上方選單看到多了一個選項,可以直接呼叫 EnemyDatebasesSave方法,然後可以利用這方法將修改過數據儲存在新的 .csv檔

數據編輯器3  

 

 

如果執行時候出現"IOException: Sharing violation on path"錯誤,這是Unity本身問題,要等它一下編譯出.csv.meta檔,.csv.meta檔出現後再按一次就沒問題了。

創作者介紹
創作者 初學者日記 的頭像
初學者日記

初學者日記

初學者日記 發表在 痞客邦 留言(0) 人氣( 543 )