Files
plugin-library/Assets/00.StaryEvo/Editor/Create/ChangeScriptTemplates/ChangeScriptTemplates.cs
2025-03-31 11:16:52 +08:00

40 lines
1.9 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 System;
using System.IO;
namespace Stary.Evo.Editor
{
public class ChangeScriptTemplates : UnityEditor.AssetModificationProcessor
{
// 要添加的注释的内容
private static string annotationStr =
"/**************************************************** \r\n"
+ " 文件:#Filename\r\n"
+ " 作者:#CreateAuthor#\r\n"
+ " 邮箱:\r\n"
+ " 日期:#CreateTime#\r\n"
+ " 功能:\r\n"
+ "*****************************************************/\r\n\n";
public static void OnWillCreateAsset(string path)
{
//将.meta后缀屏蔽
path = path.Replace(".meta", "");
//只对.cs脚本作操作
if (path.EndsWith(".cs"))
{
//读取该路径下的.cs文件中的所有文本.
//注意此时Unity已经对脚本完成了模版内容的替换包括#SCRIPTNAME#也已经被替换为文件名了,读取到的是替换后的文本内容.
annotationStr += File.ReadAllText(path);
//获取用户名和当前系统时间并替换对应位置内容
annotationStr = annotationStr.Replace("#CreateAuthor#", Environment.UserName)
.Replace("#CreateTime#", string.Concat(DateTime.Now.Year, "/", DateTime.Now.Month, "/",
DateTime.Now.Day, " ", DateTime.Now.Hour, ":", DateTime.Now.Minute, ":", DateTime.Now.Second))
.Replace("#Filename", Path.GetFileName(path));
if (!File.ReadAllText(path).Contains("文件") && !File.ReadAllText(path).Contains("作者") && !File.ReadAllText(path).Contains("邮箱") && !File.ReadAllText(path).Contains("日期") && !File.ReadAllText(path).Contains("功能"))
//重新将文本写入.cs文件
File.WriteAllText(path, annotationStr);
}
}
}
}