E_ElecCompetition/Electrical_inspectionCompet.../Assets/Editor/TemplateKeyParser.cs

64 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}