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);
        }
    }
示例#2
0
    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);
    }