"文章原link" 場景載入器 人員 | 操作 | 日期 | 備註 | | | Conerlius | Add | 2017 2 5 | 創建 scene的進場順序,方便對每個場景的回退,同一個彈出式的視窗在游戲中只允許出現一個,彈出視窗的進場順序管理 基本類型說明: Manager解釋 對ui的堆 ...
場景載入器
人員 | 操作 | 日期 | 備註 |
---|---|---|---|
Conerlius | Add | 2017-2-5 | 創建 |
scene的進場順序,方便對每個場景的回退,同一個彈出式的視窗在游戲中只允許出現一個,彈出視窗的進場順序管理
基本類型說明:
graph TD
subgraph Scene
Scene1["MonoBehavious"]--繼承-->Scene2["Scene"]
Scene2--繼承-->Scene3["Windows"]
click Scene1 alert "基本的mono類型"
click Scene2 alert "所有的ui基類"
click Scene3 alert "所有的視窗ui基類"
end
subgraph SceneData
SceneData0["SceneData"]---SceneData1["AllPanel"]
SceneData0["SceneData"]---SceneData2["WindowsOrNot"]
click SceneData0 alert "ui下所有的配置數據"
end
Scene2---SceneData0
subgraph Mgr
Mgr1["Replace"]
Mgr2["Push"]
Mgr3["Pop"]
end
Manager解釋
對ui的堆棧進行管理,執行壓棧,退棧,清棧等行為;並且對ui的panel深度進行設定。
graph TD
subgraph Manager
A["uiList"]
B["CurrentDepth"]
C["LoadUI"]
click A alert "所有的ui堆棧"
click B alert "當前正在展示的ui最大深度"
click C alert "載入ui"
end
Manager.Replace解釋
清空ui堆棧,重新放置ui棧底ui
graph TD
subgraph Replace
subgraph 載入ui
LoadUI1{"ui存在?"}--是-->LoadUI2["完成載入"]
LoadUI1--否-->LoadUI3["啟動載入"]
LoadUI3-->LoadUI2
click LoadUI3 alert "使用ResourceManager載入"
click LoadUI2 alert "回歸到ui場景切換"
end
subgraph 清空所有uilist
ClearUI2{"動畫?"}--是-->ClearUI3["播放動畫"]
ClearUI2--否-->ClearUI4["直接隱藏"]
click ClearUI2 alert "是否需要播放退場動畫"
end
Replace1["重置depth"]-->Replace2["置入到uilist"]
Replace2-->Replace3{"動畫?"}
Replace3--是-->Replace4("播放動畫")
Replace3--否-->Replace5("直接顯示")
click Replace1 alert "重置ui下所有的panel深度"
click Replace3 alert "是否需要播放退場動畫"
end
Manager.Push解釋
把需要展示的ui壓入到uilist
graph TD
subgraph Push
subgraph 載入ui
LoadUI1{"ui存在?"}--是-->LoadUI2["完成載入"]
LoadUI1--否-->LoadUI3["啟動載入"]
LoadUI3-->LoadUI2
end
subgraph 隱藏上層ui
ClearUI2{"動畫?"}--是-->ClearUI3["播放動畫"]
ClearUI2--否-->ClearUI4["直接隱藏"]
end
Replace1["重置depth"]-->Replace2["置入到uilist"]
Replace2-->Replace3{"動畫?"}
Replace3--是-->Replace4("播放動畫")
Replace3--否-->Replace5("直接顯示")
end
Manager.Pop解釋
返回上一層展示ui或指定ui
graph TD
subgraph Pop
subgraph 隱藏當前ui
ClearUI2{"動畫?"}--是-->ClearUI3["播放動畫"]
ClearUI2--否-->ClearUI4["直接隱藏"]
ClearUI5["回退最大depth"]
end
Pop1-->Pop2{"動畫?"}
Pop2--是-->Pop3("播放動畫")
Pop2--否-->Pop4("直接顯示")
end