private void OnEnable() { titleStyle = new GUIStyle("OL Title") { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 12, }; var bytes = Resources.Load <TextAsset>(configPath).bytes; config = XmlSerializeManager.ProtoDeSerialize <AppScriptConfig>(bytes); MainSceneName = config.MainSceneName; SceneNames.Add("Global"); for (var i = 0; i < GetBuildScenes().Length; i++) { var scene = Path.GetFileNameWithoutExtension(GetBuildScenes()[i]); SceneNames.Add(scene); } level = SceneNames.IndexOf(MainSceneName); for (int i = 0; i < config.RootScript.Count; i++) { int index = SceneNames.IndexOf(config.RootScript[i].SceneName); levels.Add(index); } }
private static void InitRootScripts(Action callback = null) { TextAsset config = AssetsManager.Instance.LoadAsset <TextAsset>(path_AppScriptConfig); appScriptConfig = XmlSerializeManager.ProtoDeSerialize <AppScriptConfig>(config.bytes); for (int i = 0; i < appScriptConfig.RootScript.Count; i++) { if (!iRootPairs.ContainsKey(appScriptConfig.RootScript[i].ScriptName)) { IRoot iRoot; //判断是否存在XLua脚本,如果存在,执行XLua代码,不存在执行C#代码 if (AppConfig.RunXLua && XLuaManager.Instance.IsLuaFileExist(appScriptConfig.RootScript[i].LuaScriptPath)) { XLuaRoot root = new XLuaRoot(); root.Init(appScriptConfig.RootScript[i].LuaScriptPath); iRoot = root; } else { iRoot = GetRoot(appScriptConfig.RootScript[i].ScriptName); } if (iRoot != null) { iRootPairs.Add(appScriptConfig.RootScript[i].ScriptName, iRoot); } else { Debug.LogError($"Root脚本为空 脚本名称:{appScriptConfig.RootScript[i].ScriptName}"); } } if (!sceneScriptsPairs.ContainsKey(appScriptConfig.RootScript[i].SceneName)) { List <string> scripts = new List <string>(); scripts.Add(appScriptConfig.RootScript[i].ScriptName); sceneScriptsPairs.Add(appScriptConfig.RootScript[i].SceneName, scripts); } else { sceneScriptsPairs[appScriptConfig.RootScript[i].SceneName].Add(appScriptConfig.RootScript[i].ScriptName); } } InitRootBegin("Global", callback); }