SceneManager

文章原link

场景加载器

人员 操作 日期 备注
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
原文地址:https://www.cnblogs.com/conerlius/p/6368263.html