// 初始化核心数据,加载"UI窗体路径"到集合中 public void Awake() { // 字段初始化 _dicAllUiForms = new Dictionary <string, UIFormBase>(); _allUiFormList = new List <UIFormBase>(); _dicCurrentShowUiForms = new Dictionary <string, UIFormBase>(); _dicFormsPaths = new Dictionary <string, string>(); _stackCurrentUiForms = new Stack <UIFormBase>(); // 初始化加载(根UI窗体)Canvas预设 GameObject canvas = InitRootCanvasLoading(); _traCanvasTransform = canvas.transform; // 获取UI根节点 全屏节点 固定节点 弹出节点 _traNormal = UnityHelper.FindTheChildNode(canvas, UIFrameSysDefine.SYS_NORMAL_NODE); _traFixed = UnityHelper.FindTheChildNode(canvas, UIFrameSysDefine.SYS_FIXED_NODE); _traPopUp = UnityHelper.FindTheChildNode(canvas, UIFrameSysDefine.SYS_POPUP_NODE); _traUiScripts = UnityHelper.FindTheChildNode(canvas, UIFrameSysDefine.SYS_SCRIPTMANAGER_NODE); // 将本脚本作为_ScripMgr 的子对象 transform.SetParent(_traUiScripts, false); // “根UI窗体”在场景转换的时候,不允许销毁 DontDestroyOnLoad(canvas); // 初始化“UI窗体预设”路径数据 InitUiFormPathData(UIFrameSysDefine.SYS_PATH_UIFORMS_CONFIG_INFO); }