64 lines
2.4 KiB
C#
64 lines
2.4 KiB
C#
using UnityEngine;
|
||
using UnityEditor;
|
||
using System.IO;
|
||
//============================================================
|
||
//@author YangHua
|
||
//@create 2016/4/28
|
||
//@company QianHuo
|
||
//
|
||
//@description:把'81-C# Script-NewBehaviourScript.cs.txt'文件,
|
||
// 修改里面的作者为自己的名字,覆盖到:
|
||
// U3D安装目录\Editor\Data\Resources\ScriptTemplates中,
|
||
// 重启U3D。就可以在新建类时,自动根据文件目录生成命名空间。
|
||
//============================================================
|
||
|
||
namespace AMLab
|
||
{
|
||
public class TemplateKeyParser : UnityEditor.AssetModificationProcessor
|
||
{
|
||
private static string AUTHOR = "YangHua";
|
||
private static string COMPANY = "QianHuo";
|
||
public static void OnWillCreateAsset(string path)
|
||
{
|
||
//Debug.Log("TempleteKeyParser=>" + path);
|
||
path = path.Replace(".meta", "");
|
||
//不是.cs文件
|
||
if (path.EndsWith(".cs") == false) return;
|
||
//
|
||
int index = Application.dataPath.LastIndexOf("Assets");
|
||
//
|
||
string fullPath = Application.dataPath.Substring(0, index) + path;
|
||
//Debug.Log("full path => " + fullPath);
|
||
index = GetStringIndex(path);
|
||
if (index <= 0) return;
|
||
|
||
string ns = COMPANY;
|
||
int end = path.LastIndexOf("/");
|
||
if (end > index)
|
||
{
|
||
path = path.Substring(index, end - index);
|
||
ns = path.Replace("/", ".");
|
||
}
|
||
//
|
||
string file = File.ReadAllText(fullPath);
|
||
//
|
||
file = file.Replace("#AUTHOR#", AUTHOR);//Environment.UserName);
|
||
file = file.Replace("#CREATEDATE#", System.DateTime.Now.ToString("yyyyMMdd"));
|
||
file = file.Replace("#COMPANY#", COMPANY);
|
||
file = file.Replace("#NAMESPACE#", ns);
|
||
//
|
||
File.WriteAllText(fullPath, file);
|
||
AssetDatabase.Refresh();
|
||
}
|
||
private static int GetStringIndex(string path)
|
||
{
|
||
int index = path.LastIndexOf("Scripts/");
|
||
if (index > 0) return index + 8;
|
||
index = path.LastIndexOf("Plugins/");
|
||
if (index > 0) return index + 8;
|
||
index = path.LastIndexOf("Editor/");
|
||
if (index > 0 && path.IndexOf("TemplateKeyParser") < 0) return index + 7;
|
||
return -1;
|
||
}
|
||
}
|
||
} |