自定义新建代码时的菜单
来源:互联网 发布:微信报名软件 编辑:程序博客网 时间:2024/06/06 07:57
在Unity中创建代码文件的时候,实际流程就是复制了一份文本,然后修改了一下后缀名。
在Unity的安装目录下面,可以找到这个文件夹:
Unity\Editor\Data\Resources\ScriptTemplates。
这里面存放的,就是代码文本的模版。
可以看一下在Unity中对应的菜单结构
可以很容易的判断出,文件名的命名方式如下:
- 文件名后缀名为.txt,除去后缀后分为3个部分,用“-”隔开;
- 第一段为数字,代表其在菜单排列中的优先级,根据数字大小会自动分组(自定义MenuItem是20一组,这个应该一样吧);
- 第二段为其在菜单中的显示名称,使用两个下划线可以创建二级菜单;
- 第三段是该菜单所建立的文件初始时的名称,包括后缀名;
打开文件就可以直接编辑里面的内容了,但是个人建议不要直接在记事本中编辑,可以使用你目前的代码编辑器新建文件后替换,否则空行和缩进和预想的可能会有区别。
而个人推荐,不要去改动原有的文件,而是根据上面的文件命名规则,建立自己独有的菜单及代码文本。
如上图所示,我自己新建了三个文本文件,优先级设置为11~13,共同使用名为“XZ”的一级菜单,二级菜单则根据文件特性命名。在Unity中效果就是酱紫(需要重启一下Unity):
然后你就可以根据个人习惯去修改自己的代码模板了。
代码模板的修改和自定义标签
你可以根据个人需要,加上文件说明,删掉没用的注释。添加常用的命名空间等。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
上面就是我的C#和lua代码的模板,#SCRIPTNAME#这个标签在文件创建后会自动替换成文件的名称。而#AUTHORNAME#和#CREATETIME#这两个标签则是我自定义的,因为这个不是固定字符串,需要在文件创建的时候生成。
在UnityEditor中有许多很实用的类,这里我们需要用到UnityEditor.AssetModificationProcessor
。这个类的详细说明可以查询Unity的API。代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
这段代码网上很多地方都有,本人修改不多,但是实在不知道原始出处。
这个类继承UnityEditor.AssetModificationProcessor
后,在有资源创建时,会自动调用其中的OnWillCreateAsset(string path)
方法,这个方法传入的参数是资源对应的meta文件路径(Unity里所有的资源都有对应的meta文件)。把该路径中的“.meta”后缀去掉就是你所创建的文件了。使用File.ReadAllText(path)
读取文件,替换掉你自定义的标签后写回,代码的初始化也就完成了。
- 自定义新建代码时的菜单
- 右键菜单“新建”的修改
- Eclipse和MyEclipse自定义透视图perspective,自定义新建菜单
- 微信 自定义菜单 菜单响应 代码
- 新建菜单
- 微信自定义菜单的 创建|查询|取消 示例代码
- 一段简单的自定义微信公众号菜单代码
- Win7如何自定义鼠标右键菜单 添加新建PowerPoint文档
- Win7如何自定义鼠标右键菜单 添加新建EXCEL文档
- Win7如何自定义鼠标右键菜单 添加新建文本文档
- Win7如何自定义鼠标右键菜单 添加新建WORD文档
- 关于Eclipse中新建菜单的实现
- 解决右键菜单没有新建的问题
- 添加右键新建菜单里的内容
- MyEclipse 新建->后面的菜单选项设置
- 自定义的弹出菜单
- 自定义右键菜单代码详解(二)
- 自定义右键菜单代码详解(一)
- HDU 4421 2-SAT
- 网站点击流架构图
- 题目635:Oh, my goddess
- oracle调用外部C DLL
- 四元数AHRS姿态解算和IMU姿态解算分析
- 自定义新建代码时的菜单
- 侧拉DrawerLayout 的使用
- 百度网盘使用浏览器下载大文件,无需跳转客户端
- 论文代理发表
- websocket 无法连接 onerror
- Maven常用命令
- Android 屏幕适配(基本概念篇)
- Unity基于模板生成代码的原理与应用
- android 自定义相机和拍摄