Game Design Tree
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
GameManager
Character System
Game UI System
Gift System
Character Manager
Character Attr
AI Controller
Move Ai
Idle Ai
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
GameManager
Character System
Game UI System
Gift System
Character Manager
Character Attr
AI Controller
Move Ai
Idle Ai
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
AI Controller
Move Ai
Idle Ai
定義:
讓一個物件的行為隨著內部狀態的改變而變化,而該物件也像是換了類別。
EX:
當德魯伊(物件)由人型變化為獸型狀態(內部狀態改變)時,他所施展的技能(物件行為)也會有所變化,玩家此時就像在艘作另一個不同的角色(像換了類別)。
1.減少錯誤的發生降低維護困難度
2.狀態執行環境單純化
3.專案間可以共用場景
優點:
當遊戲狀態(State)過多的時候容易造成類別過多的問題。
缺點:
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
GameManager
Character System
Game UI System
Gift System
Character Manager
Character Attr
AI Controller
Move Ai
Idle Ai
Game Scene
GameManager
Character System
Game UI System
Gift System
1.原類別只負責他原本的功能執行不負責串接其他類別
2.減少不必要的類別引用及功能整合
3.減少系統間耦合助於增加系統建置效能
4.易於分工開發,開發者間只需要了解Facade介面的內容及可
5.增加系統安全性(Bug發生率)
優點:
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
GameManager
Character System
Game UI System
Gift System
Character Manager
Character Attr
AI Controller
Move Ai
Idle Ai
定義:
確認類別只有一個物件,並且提供一個全域的方法來取得這個物件。
1.有效限制類別物件的產生,避免物件被任意產生而造成系統錯誤
2.方便快速取得類別
優點:
1.違反"開放封閉原則(OCP)"
2.透過Instance取得的是"實作類別"不是"介面類別",當程式設計改變時無法將它替代成其他類別
缺點:
GameLoop(Mono)
Scene State Controller
StartScene
Main Menu
Game Scene
GameManager
Character System
Game UI System
Gift System
Character Manager
Character Attr
AI Controller
Move Ai
Idle Ai
GameManager
Character System
Game UI System
Gift System
定義:
定義一個介面來包裝一群物件的互動行為,仲介者藉由移除物件間的引用,來減少他們間的耦合度,並能讓你改變他們之前的互動獨立性。
EX:
設定一個物品集貨中心,讓所有收貨點的物品都必須先集中到集貨中心後,再分配出去,各集貨點之間不必知道其他集貨點的位置,省去各自在貨物運送上的浪費。
1.不會引入太多其他系統
2.系統被依賴的程度降低
優點:
若類別擔任過多仲介者的角色時,容易造成操作介面爆炸的情況。
缺點:
EX: