Unity-創建C#模板


  在項目開發的過程中,我們需要對一個.cs文件添加一些注釋(例如:創建者,創建日期,該類的作用),或者給創建的類增加某個通用的函數。如果我們每創建一個.cs文件都需要添加這些會影響我們的開發效率,那么這個時候就需要一個模版來解決這個問題。

  首先,我們打開Unity的安裝目錄E:\unity2018.2.16f1\Unity\Editor\Data\Resources\ScriptTemplates,當然每個人在電腦上安裝的目錄不一樣,所以注意前面目錄及unity版本的問題;打開81-C# Script-NewBehaviourScript.cs.txt文件,我們可以先看一下Unity默認創建.cs文件是它的格式。

  

public class #SCRIPTNAME# : MonoBehaviour {

    // Use this for initialization
    void Start () {
        #NOTRIM#
    }
    
    // Update is called once per frame
    void Update () {
        #NOTRIM#
    }
}

我們可以看到這個模版正是我們每次創建.cs文件時對應的模版,這個時候我們就會想到,那是不是把這個模版改掉之后我們創建的.cs文件默認的文本也改變了呢?

/****************************************************
    文件:#SCRIPTNAME#.cs
    作者:Plane
    郵箱: 1785275942@qq.com
    日期:#CreateTime#
    功能:Nothing
*****************************************************/

using UnityEngine;

public class #SCRIPTNAME# : MonoBehaviour 
{

}

這個時候我們去Unity里面創建一個.cs文件,發現它的創建內容確實變了,但是這個時候又有一個問題出現了,我們創建出來的文本的注釋不會隨着時間的推移進行改動,或者說如何在創建一個.cs文件的時候就將需要修改的地方進行修改。

  我們在Unity的項目工程中新建一個文件夾Editor,然后新建一個.cs文件

/************************************************************
    文件: ScriptsInfoRecoder.cs
    作者: Plane
    郵箱: 1785275942@qq.com
    日期: 2013/10/13 12:01
    功能: 記錄腳本信息
*************************************************************/

using System;
using System.IO;

public class ScriptsInfoRecoder : UnityEditor.AssetModificationProcessor
{
    private static void OnWillCreateAsset(string path)
    {
        path = path.Replace(".meta", "");
        if (path.EndsWith(".cs"))
        {
            string str = File.ReadAllText(path);
            str = str.Replace("Plane", Environment.UserName).Replace(
                              "#CreateTime#", string.Concat(DateTime.Now.Year, "/", DateTime.Now.Month, "/",
                                DateTime.Now.Day, " ", DateTime.Now.Hour, ":", DateTime.Now.Minute, ":", DateTime.Now.Second));
            File.WriteAllText(path, str);
        }
    }
}

這個時候我們發現再次新建的文件它的日期變了,如果我們還需要修改其他的一些模版信息,同理,可以按照上面的方法來實現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM