猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!

原文地址: http://blog.csdn.net/cocos2der/article/details/44957631

unity添加新脚本的时候,没有版权文件头信息,主要是没有脚本创建人的姓名,在项目开发中,如果想知道这个脚本是谁写的,呼来唤去搞半天才发现是自己写的!!!

用习惯了xcode,所以准备给unity的新建脚本添加一个信息头内容。

Unity自己就有新建脚本模板文件,但是这个文件里面的预定义key很少,不够咱们使用。所以需要自己添加几个key。然后在新建脚本的时候替换这个几个key为对应的内容。

一、修改模板文件

打开模板文件 Unity.app/Contents/Resources/ScriptTemplates/81-C# Script-NewBehaviourScript.cs.txt

修改为:

//
//  #SCRIPTNAME##FILEEXTENSION#
//  #PROJECTNAME#
//
//  Created by #SMARTDEVELOPERS# on #CREATIONDATE#.
//
//

using UnityEngine;
using System.Collections;

public class #SCRIPTNAME# : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

}

上面的就是版权头信息,新建的脚本就这下面的效果了:

//
//  TestClass.cs
//  DomoJump
//
//  Created by YanghuiLiu on 04/09/2015.
//
//

using UnityEngine;
using System.Collections;

public class TestClass : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

}

二、添加Editor脚本,用来解析上面我们自己添加的key

//
//  HEScriptKeywordReplace.cs
//  HEUnityExtensionLib
//
//  Created by YanghuiLiu on 04/09/2015.
//
//

using UnityEngine;
using UnityEditor;
using System.Collections;

public class HEScriptKeywordReplace : UnityEditor.AssetModificationProcessor {
    public static void OnWillCreateAsset ( string path ) {
        path = path.Replace(".meta", "");
        int index = path.LastIndexOf(".");
        string file = path.Substring(index);
        if (file != ".cs" && file != ".js" && file != ".boo") return;
        string fileExtension = file;

        index = Application.dataPath.LastIndexOf("Assets");
        path = Application.dataPath.Substring(0, index) + path;
        file = System.IO.File.ReadAllText(path);

        file = file.Replace("#CREATIONDATE#", System.DateTime.Now.ToString("d"));
        file = file.Replace("#PROJECTNAME#", PlayerSettings.productName);
        file = file.Replace("#SMARTDEVELOPERS#", PlayerSettings.companyName);
        file = file.Replace("#FILEEXTENSION#", fileExtension);

        System.IO.File.WriteAllText(path, file);
        AssetDatabase.Refresh();
    }
}

三、设置PlayerSettings的属性

点击Edit/Project Settings/Player,修改Company Name为所需要的名字。

OK,你也可以自己根据需求自己修改了。

如何修改新建脚本模板-ScriptTemplates(Unity3D开发之十五)的更多相关文章

  1. 修改Unity脚本模板的方法合计

    作为一个习惯于偷懒的程序,重复性的无聊内容是最让人无奈的事,就比如我们创建Unity脚本之后,需要手动调整生成的新脚本的格式.编码.内容:如果我们要编写的是编辑器或者服务器端脚本,需要修改的内容就会更 ...

  2. Unity 3D 如何修改新建脚本中的 C# 默认创建的 Script 脚本格式

    首先在Unity的安装路径下找到 Unity5\Editor\Data\Resources\ScriptTemplates路径的(81-C# Script-NewBehaviourScript.cs. ...

  3. 分别修改Cube每个面的贴图UV(Unity3D开发之十八)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46611169 ...

  4. Unity修改Particles Render Material(Unity3D开发之二十三)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48372999 ...

  5. SendMessageUpwards定义简单按钮(Unity3D开发之十)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=582 SendMessageUp ...

  6. Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127 ...

  7. uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42705885 ...

  8. 2DSprite添加Light照射(Unity3D开发之十六)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/45534245 ...

  9. 自动生成材质Material(Unity3D开发之十九)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46854411 ...

随机推荐

  1. Swift:Foundation框架中的NS前缀的由来

    可能大家对于著名的NS前缀的由来有一些疑问. 绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OS X的基础. NeXTSTEP的程序员对它们的类 ...

  2. OpenCV Python 录制视频

    调用摄像头 引入库支持 初始化 调整界面大小 实时显示 录制视频并保存 fourcc问题解决 代码实现 效果展示 总结 学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现 ...

  3. FORM开发中Profiles的使用

    用户配置文件相当于系统参数,可以在不同层级(Site层.应用模块层.责任层.用户层)设置不同的值:作用范围小的覆盖范围大的层,系统已经预设了很多user profile; 开发人员也可以定义 在EBS ...

  4. 安卓Button-TextView-EditText综合运用

    1.如何使用安卓中的按键Button? 1.先从控件库拖一个按钮button的控件,在XML设置好宽高等参数 对应的就是Button这个图标,直接拖出来即可; 以下是设置这个按钮对应的XML代码: & ...

  5. Android使用HttpClient请求服务器代码优化版

    首先,我在前面的两篇博文中介绍了在Android中,除了使用java.net包下HttpUrlConnection的API访问HTTP服务之外,我们还可以换一种途径去完成工作.Android SDK附 ...

  6. ViewPager 几个状态详解

    ViewPager.SCROLL_STATE_DRAGGING 当用户按下ViewPager视图并且需要滑动第一下时; ViewPager.SCROLL_STATE_SETTLING: 当用户滑动的放 ...

  7. Java继承时的初始化顺序

    Java程序在启动和运行时,需要首先完成初始化的工作.在涉及到继承.static成员变量等因素时,初始化的顺序就复杂起来.下面以一个例子说明继承时的Java初始化顺序. 例子: class Insec ...

  8. Effective C++ ——资源管理

    条款13:以对象来管理资源 在C++中我们经常会涉及到资源的申请与申请,一般都是由关键字new 和 delete来操作的,两者都是成对存在的,缺一不可,否则会出现意想不到的问题,例如: class I ...

  9. Dynamics CRM2015 on-premises直接升级Dynamics CRM2016 on-premises

    Dynamics crm2016 on-premises版本已与12月14日开放下载,下载地址:https://www.microsoft.com/zh-cn/download/details.asp ...

  10. windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)

    1.  到nginx官网上下载相应的安装包,http://nginx.org/en/download.html:下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在了d盘根目录下,如下图 ...