public void OnGUI() { RootNamespace = string.IsNullOrEmpty(RootNamespace) ? "Root" : RootNamespace; UiNamespace = string.IsNullOrEmpty(UiNamespace) ? "View" : UiNamespace; ConstNamespace = string.IsNullOrEmpty(ConstNamespace) ? "Const" : ConstNamespace; DataNamespace = string.IsNullOrEmpty(DataNamespace) ? "Data" : DataNamespace; AutoGeneratedDirName = string.IsNullOrEmpty(AutoGeneratedDirName) ? "Auto" : AutoGeneratedDirName; ScriptNamespace = string.IsNullOrEmpty(ScriptNamespace) ? "Script" : ScriptNamespace; EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField("命名空间", _style); RootNamespace = EditorGUILayout.TextField("RootNamespace", RootNamespace); UiNamespace = EditorGUILayout.TextField("UiNamespace", UiNamespace); ConstNamespace = EditorGUILayout.TextField("ConstNamespace", ConstNamespace); DataNamespace = EditorGUILayout.TextField("DataNamespace", DataNamespace); AutoGeneratedDirName = EditorGUILayout.TextField("AutoGeneratedDirName", AutoGeneratedDirName); ScriptNamespace = EditorGUILayout.TextField("ScriptNamespace", ScriptNamespace); EditorGUILayout.Space(); if (GUILayout.Button("创建相关文件夹")) { var root = Application.dataPath + "/" + RootNamespace; FileUtil.CreateFolder(root); FileUtil.CreateFolder(root + "/" + UiNamespace); FileUtil.CreateFolder(root + "/" + ConstNamespace); FileUtil.CreateFolder(root + "/" + DataNamespace); FileUtil.CreateFolder(root + "/" + ScriptNamespace); FileUtil.CreateFolder(root + "/" + "Scenes"); FileUtil.CreateFolder(root + "/" + "Prefabs"); AssetDatabase.Refresh(); Debug.Log("生成完毕"); } EditorGUILayout.Space(); pos = GUILayout.BeginScrollView(pos); var arr = new[] { RootNamespace, UiNamespace, ConstNamespace, DataNamespace, AutoGeneratedDirName, ScriptNamespace }; if (names.Count > 0) { index = GUILayout.Toolbar(index, names.ToArray()); _methodInfos[index].Invoke(null, arr); } else { GUILayout.Label("没有内容。。。"); } GUILayout.EndScrollView(); }
private static void Create() { List <string> fileNames = new List <string>(); FileUtil.SearchDirectory(sourDir, fileInfo => { if (fileInfo.FullName.EndsWith(".meta")) { return; } var pureName = Path.GetFileNameWithoutExtension(fileInfo.FullName); if (fileNames.Contains(pureName)) { Debug.LogError("发现同名文件:" + fileNames); return; } fileNames.Add(pureName); }, true); foreach (var file in fileNames) { string parent = null; if (HasParentClass) { parent = parentClass; if (IsGenericParent) { if (IsGenericParamSelf) { parent += "<" + file + ">"; } else { parent += "<" + GenericParam + ">"; } } } FileUtil.CreateClassFile(file, nameSpace, generateDir, parent, partical: true); } AssetDatabase.Refresh(); Debug.Log("生成完成"); }
public void OnGUI() { UiNamespace = string.IsNullOrEmpty(UiNamespace) ? "View" : UiNamespace; ConstNamespace = string.IsNullOrEmpty(ConstNamespace) ? "Const" : ConstNamespace; DataNamespace = string.IsNullOrEmpty(DataNamespace) ? "Data" : DataNamespace; AutoGeneratedDirName = string.IsNullOrEmpty(AutoGeneratedDirName) ? "Auto" : AutoGeneratedDirName; ScriptNamespace = string.IsNullOrEmpty(ScriptNamespace) ? "Script" : ScriptNamespace; EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField("ToolsWindow", _style); EditorGUI.BeginChangeCheck(); RootNamespace = EditorGUILayout.DelayedTextField("RootNamespace", RootNamespace); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetString(RootNamespaceKey, RootNamespace); } UiNamespace = EditorGUILayout.TextField("UiNamespace", UiNamespace); ConstNamespace = EditorGUILayout.TextField("ConstNamespace", ConstNamespace); DataNamespace = EditorGUILayout.TextField("DataNamespace", DataNamespace); AutoGeneratedDirName = EditorGUILayout.TextField("AutoGeneratedDirName", AutoGeneratedDirName); ScriptNamespace = EditorGUILayout.TextField("ScriptNamespace", ScriptNamespace); EditorGUILayout.Space(); if (RootNamespace == "Root" || string.IsNullOrEmpty(RootNamespace)) { EditorGUILayout.HelpBox("忘了设置命名空间了!", MessageType.Error); return; } if (GUILayout.Button("创建相关文件夹")) { var root = Application.dataPath + "/" + RootNamespace; FileUtil.CreateFolder(root); FileUtil.CreateFolder(root + "/" + UiNamespace); FileUtil.CreateFolder(root + "/" + ConstNamespace); FileUtil.CreateFolder(root + "/" + DataNamespace); FileUtil.CreateFolder(root + "/" + ScriptNamespace); AssetDatabase.Refresh(); Debug.Log("生成完毕"); } // if (GUILayout.Button("创建GameMgr")) // { // var go = new GameObject("GameMgr"); // Debug.Log(RootNamespace+"."+ScriptNamespace +"." + RootNamespace + "Mgr"); // var type = Type.GetType(RootNamespace+"."+ScriptNamespace +"." + RootNamespace + "Mgr"); // Debug.Log(type); // go.AddComponent(type); // } EditorGUILayout.Space(); pos = GUILayout.BeginScrollView(pos); var arr = new[] { RootNamespace, UiNamespace, ConstNamespace, DataNamespace, AutoGeneratedDirName, ScriptNamespace }; if (names.Count > 0) { index = GUILayout.Toolbar(index, names.ToArray()); _methodInfos[index].Invoke(null, arr); } else { GUILayout.Label("没有内容。。。"); } GUILayout.EndScrollView(); }