public override void OnInspectorGUI() { if (GUILayout.Button("Load Excel")) { if (EditorUtility.DisplayDialog("读取配置表", "确定要导入这个配置表吗 ? ", "OK", "Cancel")) { if (LoadXlsx()) { RefineTable(); MainStaticDataCenter dataCenter = AssetDatabase.LoadAssetAtPath <MainStaticDataCenter>(MainStaticDataCenter.prefabPath); if (CheckTable(dataCenter)) { EditorUtility.DisplayDialog("读取配置表", "读取成功 ", "OK"); } else { EditorUtility.DisplayDialog("配置表检查出错误", "详情请看Console窗口", "OK"); } EditorUtility.SetDirty(target); AssetDatabase.SaveAssets(); } else { EditorUtility.DisplayDialog("读取配置表失败", "详情请看Console窗口", "OK"); } } } if (GUILayout.Button("Report Path")) { Debug.Log("Report Path Begin"); var s = ReportPath(); foreach (var str in s) { Debug.Log(str); } Debug.Log("Report Path End"); } if (GUILayout.Button("Search")) { if (!Search()) { EditorUtility.DisplayDialog("搜索失败", "没有找到相应数据,请确认id是否正确", "OK"); } } foldout = EditorGUILayout.Foldout(foldout, foldOutContent); if (foldout) { base.OnInspectorGUI(); } }
public override bool Check(MainStaticDataCenter database) { bool res = InitSuccess; foreach (T t in datalist) { List <string> errList = new List <string>(); bool localRes = t.Check(errList, database); if (!localRes) { Debug.LogErrorFormat("{0}配置表错误, Id={1}", name, t.GetIdentifier()); foreach (var err in errList) { Debug.LogErrorFormat("错误详情:{0}", err); } } res &= localRes; } res &= base.Check(database); return(res); }
public override bool CheckTable(MainStaticDataCenter dataCenter) { return(script.Check(dataCenter)); }
abstract public bool CheckTable(MainStaticDataCenter dataCenter);
public virtual bool Check(MainStaticDataCenter database) { return(true); }
public override bool Check(List <string> s, MainStaticDataCenter database) { return(base.Check(s, database)); }
public override bool Check(MainStaticDataCenter database) { HashSet <TK> keySet = new HashSet <TK>(); bool res = true; foreach (T item in datalist) { if (keySet.Contains(item.Id)) { Debug.LogErrorFormat("{0}配置表ID重复, Id={1}", name, item.Id); res &= false; } keySet.Add(item.Id); } InitSuccess = res; /* * bool pathAvailable = true; #if UNITY_EDITOR * string test = "Assets/GameRoot/Level/Map/WldfCt-001-01/WldfCt-001-01"; * HashSet<string> assetPath = new HashSet<string>(); * ReportAllAssetsPath(assetPath); * foreach (var s in assetPath) * { * if (string.IsNullOrEmpty(s)) * { * continue; * } * if (System.IO.Directory.Exists(s)) * { * LogMgr.ErrorParam(LogMgr.Section.Editor, "asset is directory:{0} in table {1}", s, name); * continue; * } * if(s==test) * { * LogMgr.ErrorParam(LogMgr.Section.Editor, "test found:{0}", name); * } * Object o = UnityEditor.AssetDatabase.LoadAssetAtPath<Object>(s); * if (o == null) * { * pathAvailable = false; * LogMgr.ErrorParam(LogMgr.Section.Editor, "asset not exist:{0} in table {1}", s, name); * continue; * } * var d = UnityEditor.AssetDatabase.GetDependencies(s); * foreach (var sd in d) * { * if (System.IO.Directory.Exists(sd)) * { * LogMgr.ErrorParam(LogMgr.Section.Editor, "asset is directory:{0} in table {1} dep {2}", sd, name, s); * continue; * } * if (sd == test) * { * LogMgr.ErrorParam(LogMgr.Section.Editor, "test found:{0} dep {1}", name, s); * } * Object o2 = UnityEditor.AssetDatabase.LoadAssetAtPath<Object>(sd); * if (o2 == null) * { * pathAvailable = false; * LogMgr.ErrorParam(LogMgr.Section.Editor, "asset not exist:{0} in table {1} dep {2}", sd, name, s); * } * } * } #endif */ return(base.Check(database) && res /* && pathAvailable*/); }
public virtual bool Check(List <string> s, MainStaticDataCenter database) { return(true); }