场景加载器
人员 | 操作 | 日期 | 备注 |
---|---|---|---|
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