起因:在開發過程中,每個人的代碼編寫風格都是不一樣的,在團隊協作開發過程中,爲了更加方便、高效的合作,代碼的可閱讀性必須非常高才行,所以應該從最基本的腳本創建開始執行
腳本模板示例:
模板規範流程:
1、首先找到Unity的安裝路徑,然後定位到Editor\Data\Resources\ScriptTemplates目錄下,這個目錄下的文件是Unity默認的腳本創建模板,本文只介紹 81-C# Script-NewBehaviourScript.cs 此模板的自定義,其他的有興趣可以自己研究
2、使用文本編輯器打開 81-C# Script-NewBehaviourScript.cs,以下是我的自定義模板,圖示已經做了詳細描述,剩下的就是各位自己DIY了
/*
* FileName: #SCRIPTNAME#
* CompanyName: #CompanyName#
* Author: #Author#
* CreateTime: #CreateTime#
* UnityVersion: #UnityVersion#
* Version: #Version#
* Description:
*
*/
using UnityEngine;
public class #SCRIPTNAME# : MonoBehaviour
{
private void Start()
{
}
}
3、在自己的Unity工程中,創建Editor文件夾,在文件夾內創建腳本CustomScriptTemplate.cs
腳本內容如下:
using UnityEngine;
using System.IO;
public class CustomScriptTemplate : UnityEditor.AssetModificationProcessor
{
/// <summary>
/// 此函數在asset被創建完,文件已經生成到磁盤上,但是沒有生成.meta文件和import之前被調用
/// </summary>
/// <param name="newFileMeta">newfilemeta 是由創建文件的path加上.meta組成的</param>
public static void OnWillCreateAsset(string newFileMeta)
{
string newFilePath = newFileMeta.Replace(".meta", "");
string fileExt = Path.GetExtension(newFilePath);
if (fileExt != ".cs")
{
return;
}
//注意,Application.datapath會根據使用平臺不同而不同
string realPath = Application.dataPath.Replace("Assets", "") + newFilePath;
string scriptContent = File.ReadAllText(realPath);
//這裏實現自定義的一些規則
scriptContent = scriptContent.Replace("#SCRIPTNAME#", Path.GetFileName(newFilePath));
scriptContent = scriptContent.Replace("#CompanyName#", "CompanyName");
scriptContent = scriptContent.Replace("#Author#", "WangDouDou");
scriptContent = scriptContent.Replace("#Version#", "1.0");
scriptContent = scriptContent.Replace("#UnityVersion#", Application.unityVersion);
scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss"));
File.WriteAllText(realPath, scriptContent);
}
}
注意,替換名字時一定要注意,代碼中的名字要跟你安裝目錄文件中的名字對應起來,否則會無效
至此,整個代碼模板類就創建完成了,可以自己創建一個腳本做一下測試