总览:
关键点:
1.创建自定义窗口
2.正则表达式校验输入的脚本名是否符合脚本命名规则
3.获取Project窗口中选中文件夹路径
4.简单的文件操作
原始方法:
原始的创建脚本操作是这样的,Unity中在Project面板中,右键/Create/C# Script,如图:
创建好的脚本其实不是空白,而是已经有了简单的Start和Update方法,每次都是一样的(除了名字是自己修改后的),由此可见新建的脚本中的内容就是从一个模子里刻出来的,而这个模子就在Unity的安装目录下…Unity\Editor\Data\Resources\ScriptTemplates
打开后是这样的.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class #SCRIPTNAME# : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
#NOTRIM#
}
// Update is called once per frame
void Update()
{
#NOTRIM#
}
}
终于和这个模板见面了,接下将按照同样的思路创建自己的模子,并通过工具创建脚本,而自己的模板就放工程里了,避免污染了原生态…
开始新的方式:
1.创建自定义窗口
新建脚本,比如我这里创建的脚本叫CreateScriptWindow,然后继承至UnityEditor.EditorWindow,创建窗口方法如下:
[MenuItem("Tools/Create Script")]
static void Create()
{
CreateScriptWindow window = (CreateScriptWindow)GetWindow(typeof(CreateScriptWindow), false, "Create Script", false);
window.Show(true);
}
MeunItem则是指定一个菜单选项,点击则响应此方法.
public static EditorWindow GetWindow(Type t, bool utility, string title);
t:代表窗口的类型
title:窗口名字,左上角显示的标签
utility:
false表示正常窗口,就是我们在Unity中常见的窗口,可以拖出来也可以和其他窗口合并在一起并产生遮挡.
true则不能合并,并且一直在上层显示
窗口创建出来了,接下来向窗口中填充需要的控件元素:
两个可输入的文本:
_scriptName = EditorGUILayout.TextField("脚本名:", _scriptName);
_description = EditorGUILayout.TextField