public override IEnumerator Initialize() { yield return(base.Initialize()); container = null; AssetManager.Instance.LoadAsset <ConfigsContainer>("Configs/ConfigsContainer", InitConfigs); while (container == null) { yield return(null); } }
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; } } }
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("保存失败!"); } } }
static private void DeserializeConfig(string configString) { battleConfig = JsonUtility.FromJson <ConfigsContainer>(configString); StaticEvents.deserializeGameConfigEvent?.Invoke(); }