Jun. 3, 2016

程式主體架構

這次實作確定了程式架構風格 : 

GameManager : 為主遊玩程式的中控台, 由此物件啟動遊戲(ex. 屈原開始往下沉, 於開始由重生點重生...etc), 另外 google 內插的廣告API 也加在這裡, 主要是啟動遊戲前, 檢查是否重複遊玩超過三次, If yes, 播一段廣告.

GameData : 為Scene 轉換之間不會被消滅的物件.儲存整個遊戲期間的需要記下來的資訊. (ex. 重玩幾次的資訊, 初始的金錢數) (注意,GameData 要是由prefab instantiate , 在任一scene 只要檢查此物件存不存即可)

UIManager : 為整個玩家操控的中控台, 一邊是處理玩家的輸入, 一邊是遊戲中任何互動介面的溝通橋樑. 像是 生產粽子的 button 操作,需要trigger 哪些 function(or operation.. 等).  前一個 project 沒這樣規劃, 整個UI 操作散在各個script 中,結果一整個悲劇, 程式一大,要修改對應的function 就要用 keyword search, 很不方便. 當然,這樣也不是全無缺點, UI 操作複雜時, 這個script code 就又臭又長. 通常還是會有一些需要複雜變化的UI物件讓它提供介面跟UIManager 溝通,不過不會跟UIManager外的物件溝通,以免最後又亂了.

xxx_ui_handler : 這種就是小型的UI script , 通常它下面包了不少 button/labels 等東西, 但都跟自己有關的東西. 這種就用此script 包成一個溝通介面(跟UIManager溝通). 可以想像它是一個小型的衛星城市, 跟一個大型城市溝通,但仍不會自己跟其他物件溝通.