unity之定制脚本模板
1、unity的脚本模板
using System.Collections; using System.Collections.Generic; using UnityEngine;public class NewBehaviourScript : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {} }
2、修改默认脚本模板
//// // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/`---'\____ // // .' \\| |// `. // // / \\||| : |||// \ // // / _||||| -:- |||||- \ // // | | \\\ - /// | | // // | \_| ''\---/'' | | // // \ .-\__ `-` ___/-. / // // ___`. .' /--.--\ `. . ___ // // ."" '< `.___\_<|>_/___.' >'"". // // | | : `- \`.;`\ _ /`;.`/ - ` : | | // // \ \ `-. \_ __\ /__ _/ .-` / / // // ========`-.____`-.___\_____/___.-`____.-'======== // // `=---=' // // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // // 佛祖保佑 永不宕机 永无BUG // ////using System.Collections; using System.Collections.Generic; using UnityEngine;public class #SCRIPTNAME# : MonoBehaviour {// Use this for initializationvoid Start () {#NOTRIM#}// Update is called once per framevoid Update () {#NOTRIM#} }
3、拓展脚本模板
using System.Collections; using System.Collections.Generic; using UnityEngine;public class MyNewBehaviourScript : MonoBase {//添加事件监听protected override void AddMsgListener(){}//处理消息protected override void HandleMsg(MsgBase msg){switch (msg.id){default:break;}}}
using UnityEditor; using UnityEngine; using System; using System.IO; using UnityEditor.ProjectWindowCallback; using System.Text; using System.Text.RegularExpressions;public class CreateTemplateScript {//脚本模板路径private const string TemplateScriptPath = "Assets/Editor/MyTemplateScript.cs.txt";//菜单项[MenuItem("Assets/Create/C# FrameScript", false, 1)]static void CreateScript(){string path = "Assets";foreach (UnityEngine.Object item in Selection.GetFiltered(typeof(UnityEngine.Object),SelectionMode.Assets)){path = AssetDatabase.GetAssetPath(item);if (!string.IsNullOrEmpty(path) && File.Exists(path)){path = Path.GetDirectoryName(path);break;}}ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance<CreateScriptAsset>(),path + "/MyNewBehaviourScript.cs",null, TemplateScriptPath);}}class CreateScriptAsset : EndNameEditAction {public override void Action(int instanceId, string newScriptPath, string templatePath){UnityEngine.Object obj= CreateTemplateScriptAsset(newScriptPath, templatePath);ProjectWindowUtil.ShowCreatedAsset(obj);}public static UnityEngine.Object CreateTemplateScriptAsset(string newScriptPath, string templatePath){string fullPath = Path.GetFullPath(newScriptPath);StreamReader streamReader = new StreamReader(templatePath);string text = streamReader.ReadToEnd();streamReader.Close();string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(newScriptPath);//替换模板的文件名text = Regex.Replace(text, "MyTemplateScript", fileNameWithoutExtension);bool encoderShouldEmitUTF8Identifier = true;bool throwOnInvalidBytes = false;UTF8Encoding encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier, throwOnInvalidBytes);bool append = false;StreamWriter streamWriter = new StreamWriter(fullPath, append, encoding);streamWriter.Write(text);streamWriter.Close();AssetDatabase.ImportAsset(newScriptPath);return AssetDatabase.LoadAssetAtPath(newScriptPath, typeof(UnityEngine.Object));}}
4、总结
转载于:https://www.cnblogs.com/IAMTOM/p/10156148.html
unity之定制脚本模板相关推荐
- Unity脚本 (1) --- 创建脚本以及挂载脚本的本质,脚本模板的修改
值类型 --- 在栈区中开辟内存空间并直接存储在栈区中,引用类型 --- 在栈区中开辟内存空间存引用,在堆区中开辟内存空间存数据(有可能堆区中还要开辟引用),然后将堆区中存储数据的内存空间的地址传给引 ...
- Unity脚本模板自定义字符串替换
在用Unity开发游戏的时候,由于经常要用到不同的脚本模板,特别是在写Editor和AttributeDrawer这类脚本时很想能实现一定规则的字符串替换,所以就写了这么个脚本实现自定义模板+自定义字 ...
- Unity 自定义脚本模板 添加头部注释
自定义模板的一些问题 其实有很多文章都写了自定义模板,添加头部注释,例如这篇文章. 都是要找到untiy 自己的模板c# txt,然后写入相关的替代码,在匹配更换,其中的问题: 当换电脑,或者unit ...
- Unity创建C#脚本与项目的模板路径并修改
Unity创建C#脚本与项目的模板路径并修改 C#脚本模板 路径 模板文件 项目模板 路径 修改项目模板 C#脚本模板 在项目开发的过程中,我们需要对一个.cs文件添加一些注释(例如:创建者,创建日期 ...
- Unity中常用的单例模式、对象池的脚本模板,连按退出和滑动翻页或放大缩小的功能实现,以及属性在代码中的灵活使用
1.单例模式的脚本模板: Unity中针对一些常用的manager可以使用单例模式,用于统一的功能管理: //普通单例,不需要继承MonoBehavior,不用挂载在GameObject上 publi ...
- Unity编辑器开发——通过模板创建Lua脚本的两种方式(一)
个人学习笔记,如有错误.疑问.建议,欢迎留言. 声明:本文不得以任何形式进行转载. 前言:在Unity编辑器的Project界面,可以直接右键创建C#脚本,而目前许多游戏公司使用的是tolua.xl ...
- Unity实验室之根据模板自动生成文件
前言 在写代码时,会有一些需要重复写的内容,如统一的头注释,统一的框架下的风格一致的代码等,一种解决方案是把这些都放到一个模板文件夹下,每次用时就Copy一下,但这样有几个问题,一是Copy起来比较麻 ...
- 【Locust】新版本locust使用入门到分布式,附带脚本模板,复制即用。
介绍 Locust 是一种易于使用.可编写脚本且可扩展的性能测试工具.使用的'协程'方式,能够单机提供相对较大并发,并且存在可视化图形界面.也有无图形界面.分布式等多种运行方式.以下内容针对最新版本的 ...
- win服务器自动发邮件,windows关机前执行脚本设置与关机blat自动发送邮件脚本模板...
windows关机前执行脚本设置与关机blat自动发送邮件脚本模板 发布时间:2020-07-25 02:21:24 来源:51CTO 阅读:3093 作者:nn1183 价值:实时掌握开关机记录: ...
最新文章
- 库克退休前的最后一战:不是苹果汽车而是……
- STL:priority_queue
- 织梦guestbook.php漏洞,DEDE:织梦漏洞修复(含任意文件上传漏洞与注入漏洞)
- 对校招生培养工作的建议_如何提升人才培养质量?西华的老师们正面临一场大考...
- 学成在线--13.RabbitMQ工作模式
- mybatis 报错: Invalid bound statement (not found)
- (转)让我们原谅齐达内吧!(附一张落泪的照片)
- Spring bean生命周期概览
- https被修改成http排查过程
- 图纸怎么发给别人_微信语音怎么转发?微信语音转发给别人最新办法10秒解决...
- 报错:/check/src/check_log.c:27:10: 致命错误: subunit/child.h:没有那个文件或目录
- 私人订制,一份专属你的数据分析课程!
- 第二次作业:硬币游戏——代码分析与改进
- NGN学习笔记4——软交换中的协议2—Megaco/H.248
- windows下安装sqlmap 详细教程
- excel中用正则匹配_Excel 使用正则表达式提取数据
- 安卓手机修改音量键为HOME和BACK
- 手游-放开那三国socket协议分析
- 证件照的尺寸规格和像素要求
- Spark 图计算实战