Unity3D 脚本模板插件
生活随笔
收集整理的這篇文章主要介紹了
Unity3D 脚本模板插件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Script Template Toolkit
概述
Unity3D 腳本模板快速編輯,保存。腳本文件添加頭注釋,自動(dòng)標(biāo)注創(chuàng)建日期以及版權(quán)時(shí)間。
問題
- 在使用Unity3D創(chuàng)建腳本文件時(shí),希望Unity3D編輯器自動(dòng)按照個(gè)人喜好預(yù)定義的模板來創(chuàng)建各類腳本文件,例如添加文件頭注釋等需求。
- 希望在腳本頭注釋中自動(dòng)標(biāo)注腳本創(chuàng)建日期,以及根據(jù)創(chuàng)建日期標(biāo)注版權(quán)時(shí)間(例如:2017-2018)。
條件
- 實(shí)際上,Unity3D將各類腳本文件模板放在了安裝目錄下(例如:Unity 5.4.1f1\Editor\Data\Resources\ScriptTemplates)。
- 在Unity3D提供的API中,可以通過AssetModificationProcessor類的OnWillCreateAsset方法捕獲Unity3D編輯器創(chuàng)建Asset(包括腳本文件)事件。
方案
編輯
- 編寫Unity3D擴(kuò)展編輯器代碼,通過繼承EditorWindow繪制自定義編輯器窗口來編輯/保存Unity3D的各類腳本文件模板(文本文件)。
- 預(yù)定義標(biāo)注字符串,“#CREATETIME#”標(biāo)注創(chuàng)建日 期,
“#COPYRIGHTTIME#”標(biāo)注版權(quán)時(shí)間聲明,在編輯模板時(shí),在需要插入創(chuàng)建日期的地方使用“#CREATETIME#”標(biāo)注即可,插入版權(quán)時(shí)間同理。 - 使用預(yù)定義標(biāo)注字符串編輯個(gè)人喜好風(fēng)格的腳本文件模板。
創(chuàng)建
- 在Unity3D編輯器的Project面板通過鼠標(biāo)右鍵菜單創(chuàng)建腳本文件(例如:C#)時(shí),Unity3D引擎會(huì)將相應(yīng)的模板文件里邊的內(nèi)容全部拷貝到新建的文件中,且自動(dòng)將“#SCRIPTNAME#”替換為新建文件時(shí)輸入的文件名。但是,“#CREATETIME#”,“#COPYRIGHTTIME#”是我們自定義的標(biāo)注字符串,Unity3D引擎不會(huì)識別,也不會(huì)將其替換成我們預(yù)期的內(nèi)容。
- 編寫擴(kuò)展編輯器代碼,繼承AssetModificationProcessor類并實(shí)現(xiàn)其OnWillCreateAsset(string assetPath)方法以捕獲Unity3D編輯器創(chuàng)建Asset(包括腳本文件)事件以及處理我們自定義的標(biāo)注字符串。
- 捕獲到創(chuàng)建Asset事件,檢查文件擴(kuò)展名,如果是.cs或.js或.shader或.compute則說明創(chuàng)建的是腳本文件,也就是說Unity3D引擎會(huì)按照相應(yīng)的模板(例如C#,我們之前已經(jīng)將其編輯成個(gè)人喜好風(fēng)格的文本)來創(chuàng)建。(擴(kuò)展編輯器代碼)讀取新建文件的內(nèi)容,將
“#CREATETIME#”替換成當(dāng)前日期,將“#COPYRIGHTTIME#”替換成當(dāng)前年份-下個(gè)年份。
實(shí)現(xiàn)
擴(kuò)展編輯器
- ScriptTemplateEditor.cs 讀取/編輯/保存 Unity3D各類腳本模板文件。
- ScriptTemplateModifier.cs 捕獲創(chuàng)建事件,替換預(yù)定義標(biāo)注字符串為其具體含義的內(nèi)容。
腳本模板示例
- Template 文件夾下存放各類腳本模板文件的示例,以供讀者編寫自己風(fēng)格的模板時(shí)參考。
源碼
源碼托管地址
總結(jié)
以上是生活随笔為你收集整理的Unity3D 脚本模板插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1031):jquery多库共
- 下一篇: gin框架01--快速入门gin框架