等待UI開發者的回覆之際,算是有空閒的時間可以展開實際的怪物調整。有鑑於Invenotry系統的複雜度,加上前幾天更新的版本調整了不少地方,之前有些API都不能再使用。這對用VS來說有些麻煩,只要Function名稱變動、參數變動,整個引用地方就會壞掉,一格連一格的情況下,會出現斷錬。因此,今天調整的當務之急就是將道具系統移出怪物,待自行在外掛和遊戲層中寫另外一層去做引用後,再把它回放進來。
仔細想想,並實將Inventory加到怪物這並不是真的這麼需要,如同之前提及,Inventory目前需要在Runtime時進行資料Serialize的動作,所以在Editor這無法事先放好資料,要另產生一份資料表,註明怪物背包有什麼道具、會掉落什麼道具,並於Runtime時回寫進Ulitime Inventory裡。如果有這份資料,其實回寫一不回寫到Inventory元件裡都變得意義不大了。
再加上Inventory的外掛很容易引起Windows休眠後回來時讓Unity直接掛掉,以至於過去一陣子,看到Unity crash東西沒有被記錄下來又要再花時間重新進行,實在是讓人吐血。也就是這些考量,才會在這次的調整中,先行將Inventory移除於怪物之外。但玩家還是保留Inventory的使用,畢竟玩家的Item資料都是在Runtime時取得,且需要UI進行操作,利用現成的還是方便一些。
今天的調整,加入了更多的怪物狀態,並準備進行規則或是行為樹的機制。以現有的戰鬥來看,其實沒有太特別的攻擊規則。主要以
四種行為為主。再加上是格狀的回合移動,雙方一但交戰,不會有走位的思考方式存在,而是定點的直接攻擊,從行為來說,是相當的簡化了。在這樣簡化的行為考量下,甚至直接用亂數決定可以利用的行為都不失為是一個可行的方法。
另外,也調整了受擊的流程,並加入了受擊後接收(De)Buff的行為。但還在確定要怎麼利用之前試驗較為彈性的行為製作,因此,用(De)Buff中最具代表的中毒(隨著時間而扣血)當做嘗試。利用物件掛載行為元件的方式,在目標物上進行堆疊效果。初步來看,行為的賦予是可行的。然而,後續還要搭配UI和特效才能確定。
為了把握時間再進行調整,今天仍是簡短的內容Update。