[Unity] 獨立自控的 UI 切換架構 – Independent UI Switching

過去在我的其他文章介紹過利用 狀態模式 / 狀態機 來控制遊戲程式的流程,是我相當喜歡且穩定的作法。在一般使用狀態機的情境下,所有的 UI 開關都由狀態機中的邏輯決定,UI 本身只是作為畫面表現的客體存在。

不過若用狀態機做為開發的專案核心,則代表會需要有一套是先架構的核心系統。如果是臨時的小型 prototype,或者在 game jam 環境展開的專案,引入一套架構並要新成員馬上建立起使用規範來利用這套系統,是有點不實際的。

所以是否有擺脫狀態機,甚至沒有一個集中式核心的小型替代方案可以用來管理流程跟 UI 切換呢?本文便是以此為出發點,所做的一個嘗試。

Read More »

[Unity] 另一個物件池的實現 – Another Practicing of Object Pool

前天寫了篇文章《[Unity] 物件池的實現 – Practicing of Object Pool》討論 物件池 (Object Pool) 的使用目的,以及一個簡單的實作例子。

本文是要介紹另外一個新出爐的實作方式,考慮跟 Unity 機制做配合,以改善下面兩點:

  • 因為需要在場景中有一個物件來掛載物件池,如果要切換場景但保留物件池,需要特別建立為 DontDestory 物件。
  • 如果不是本來就設置在場景中,而是要跟 Resources 或 AssetBundle 中的 Prefab 做動態的配合,會不方便建立新的物件池。

實作方式

Read More »