diff --git a/Assets/Scripts/Actions/LoadResAction.cs b/Assets/Scripts/Actions/LoadResAction.cs index 9e8321df..a164d8c4 100644 --- a/Assets/Scripts/Actions/LoadResAction.cs +++ b/Assets/Scripts/Actions/LoadResAction.cs @@ -58,10 +58,15 @@ namespace QFramework XDocument doc = XDocument.Parse(xmlStr); // 获取根元素 XElement moduleXml = doc.Root; - Global.moduleDict.Add(index, moduleXml); - - // 直接加载会导致无序 - //XmlParser.LoadModule(moduleXml, Global.Instance.appData); + if (string.IsNullOrEmpty(index)) + { + // 无序加载 + XmlParser.LoadModule(moduleXml, Global.Instance.appData); + } + else + { + Global.moduleDict.Add(index, moduleXml); + } } } }); diff --git a/Assets/Scripts/Launch.cs b/Assets/Scripts/Launch.cs index 81b66925..cfe71e87 100644 --- a/Assets/Scripts/Launch.cs +++ b/Assets/Scripts/Launch.cs @@ -41,19 +41,21 @@ public class Launch : MonoBehaviour yield return new WaitUntil(() => isLoadFinished == true); if (Global.Instance.appData.preLoad != null && Global.Instance.appData.preLoad.action != null) { - yield return ActionHelper.GetActionAndSub(Global.Instance.appData.preLoad.action).Start(this); - } - // 暂时放在这里 - if (Global.moduleDict.Count > 0) - { - for (int i = 0; i < Global.moduleDict.Count; i++) + yield return ActionHelper.GetActionAndSub(Global.Instance.appData.preLoad.action).Start(this, () => { - string index = (i + 1).ToString(); - if (Global.moduleDict.ContainsKey(index)) + // 暂时放在这里 + if (Global.moduleDict.Count > 0) { - XmlParser.LoadModule(Global.moduleDict[index], Global.Instance.appData); + for (int i = 0; i < Global.moduleDict.Count; i++) + { + string index = (i + 1).ToString(); + if (Global.moduleDict.ContainsKey(index)) + { + XmlParser.LoadModule(Global.moduleDict[index], Global.Instance.appData); + } + } } - } + }); } yield return UIKit.OpenPanelAsync(); UIKit.HidePanel();