Esempio n. 1
0
    public override IEnumerator Initialize()
    {
        yield return(base.Initialize());

        container = null;
        AssetManager.Instance.LoadAsset <ConfigsContainer>("Configs/ConfigsContainer", InitConfigs);
        while (container == null)
        {
            yield return(null);
        }
    }
Esempio n. 2
0
 public void InitConfigs(ConfigsContainer container)
 {
     this.container = container;
     datas          = new Dictionary <string, Dictionary <int, BaseConfig> >();
     foreach (var c in container.allconfigs)
     {
         if (c == null)
         {
             continue;
         }
         if (!datas.ContainsKey(c.type))
         {
             datas[c.type] = new Dictionary <int, BaseConfig>();
         }
         foreach (var c2 in c)
         {
             datas[c.type][c2.Id] = c2;
         }
     }
 }
Esempio n. 3
0
    private void OnGUI()
    {
        isSingleFile = EditorGUILayout.ToggleLeft("指定单个文件", isSingleFile);
        EditorGUILayout.BeginHorizontal();

        if (isSingleFile)
        {
            EditorGUILayout.LabelField("文件路径", GUILayout.Width(100));
            singleFilePath = EditorGUILayout.TextField(singleFilePath);
            if (GUILayout.Button("浏览"))
            {
                singleFilePath = EditorUtility.OpenFilePanel("Select File", singleFilePath, "");
                EditorPrefs.SetString("scrExcelFile", singleFilePath);
            }
        }
        else
        {
            EditorGUILayout.LabelField("文件夹路径", GUILayout.Width(100));
            scrExcelPath = EditorGUILayout.TextField(scrExcelPath);
            if (GUILayout.Button("浏览"))
            {
                scrExcelPath = EditorUtility.OpenFolderPanel("path", scrExcelPath, "");
                EditorPrefs.SetString("scrExcelPath", scrExcelPath);
            }
        }

        EditorGUILayout.EndHorizontal();



        if (GUILayout.Button("加载数据"))
        {
            if (!LoadExcel())
            {
                cfgs.Clear();
                Debug.Log("加载失败!");
            }
            else
            {
                Debug.Log("加载完成!");
            }
        }
        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("脚本输出路径", GUILayout.Width(100));
        outScriptPath = EditorGUILayout.TextField(outScriptPath);
        if (GUILayout.Button("浏览"))
        {
            outScriptPath = EditorUtility.OpenFolderPanel("path", Application.dataPath, "");
            EditorPrefs.SetString("outScriptPath", outScriptPath);
        }
        EditorGUILayout.EndHorizontal();
        if (GUILayout.Button("生成脚本"))
        {
            if (WriteCode(outScriptPath))
            {
                Debug.Log("生成完成!");
            }
            else
            {
                Debug.Log("生成失败!");
            }
        }
        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("保存数据路径", GUILayout.Width(100));
        saveAssetPath = EditorGUILayout.TextField(saveAssetPath);
        if (GUILayout.Button("浏览"))
        {
            saveAssetPath = EditorUtility.OpenFolderPanel("path", Application.dataPath, "");
            EditorPrefs.SetString("saveAssetPath", saveAssetPath);
        }
        EditorGUILayout.EndHorizontal();

        if (isSingleFile)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("保存到:", GUILayout.Width(100));
            cc = EditorGUILayout.ObjectField(cc, typeof(ConfigsContainer)) as ConfigsContainer;
            EditorGUILayout.EndHorizontal();
        }
        if (GUILayout.Button("保存数据"))
        {
            if (isSingleFile && cc == null)
            {
                EditorUtility.DisplayDialog("警告", "请选择需要更新的目标对象", "好的");
                return;
            }
            if (SaveAll())
            {
                Debug.Log("保存完成!");
            }
            else
            {
                Debug.Log("保存失败!");
            }
        }
    }
Esempio n. 4
0
 static private void DeserializeConfig(string configString)
 {
     battleConfig = JsonUtility.FromJson <ConfigsContainer>(configString);
     StaticEvents.deserializeGameConfigEvent?.Invoke();
 }