在Unity Project面板右键菜单的拓展
来源:互联网 发布:linux shutdown命令 编辑:程序博客网 时间:2024/06/03 17:37
在Unity Project面板右键菜单的拓展
本次主要的内容如下
- MenuItem的应用
- Selection.assetGUIDs的使用
- 完整代码
MenuItem的应用
using System;namespace UnityEditor{ [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] public sealed class MenuItem : Attribute { public string menuItem; public int priority; public bool validate; public MenuItem(string itemName); public MenuItem(string itemName, bool isValidateFunction); public MenuItem(string itemName, bool isValidateFunction, int priority); }}
可知MenuItem最多有三个参数:
- 参数一表示MenuItem所处的路径
- 参数二表示是否有验证方法
- 参数三表示MenuItem在整个Menu中所处的优先级
PS: MenuItem的具体使用网上有很多,在这里就不一一说明
Selection.assetGUIDs的使用
Returns the guids of the selected assets. —— [ Unity Manual ]
如介绍所指,这个API会返回当前编辑器里所选的资源的GUID数组,为什么用这个API而不用Selection.objects,因为Selection.objects里面并不包含文件夹的信息,如果是要对所选文件夹进行操作的话,需要调用Selection.assetGUIDs。
完整代码
using UnityEngine;using UnityEditor;public class Tools { [MenuItem("Assets/Svn Commit")] static void SvnCommit() { string path = "Assets"; string[] strs = Selection.assetGUIDs; if (strs != null) { path = "\""; for (int i = 0; i < strs.Length; i++) { if (i != 0) path += "*"; path += AssetDatabase.GUIDToAssetPath(strs[i]); if (AssetDatabase.GUIDToAssetPath(strs[i]) != "Assets") path += "*" + AssetDatabase.GUIDToAssetPath(strs[i]) + ".meta"; } path += "\""; } System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = "TortoiseProc.exe"; process.StartInfo.Arguments = "/command:commit /path:" + path; process.Start(); } [MenuItem("Assets/Svn Update")] static void SvnUpdate() { string path = "Assets"; string[] strs = Selection.assetGUIDs; if (strs != null) { path = "\""; for (int i = 0; i < strs.Length; i++) { if (i != 0) path += "*"; path += AssetDatabase.GUIDToAssetPath(strs[i]); if (AssetDatabase.GUIDToAssetPath(strs[i]) != "Assets") path += "*" + AssetDatabase.GUIDToAssetPath(strs[i]) + ".meta"; } path += "\""; } System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = "TortoiseProc.exe"; process.StartInfo.Arguments = "/command:update /path:" + path; process.Start(); }}
阅读全文
1 0
- 在Unity Project面板右键菜单的拓展
- Unity Project面板右键菜单创建lua文件
- Unity编辑器拓展之三:拓展Unity的Hierarchy面板
- Gnome桌面的定制(修改面板 修改右键菜单) [初级]
- unity 窗口菜单和右键菜单的添加
- Unity菜单编程-自定义的图片Inspector面板
- chrome的拓展程序面板
- winfrom 在任务栏上的右键菜单
- 在控件上右键菜单的实现
- 在控件上右键菜单的实现
- 拓展面板
- 在资源管理器右键菜单中添加新的菜单项
- 在资源管理器右键菜单中添加新的菜单项
- Unity拓展Inspector面板之添加自定义Button
- unity的public在属性面板修改的实时性
- unity的public在属性面板修改的实时性
- 将类对象显示在Unity的Inspector面板上
- Unity在编辑面板显示自定义的类
- js打开本地某个APP
- 桥接模式
- 敏感词过滤
- 合并财务报表无条件抵销分录
- 安装完win7后,ubuntu 启动项不见了(boot repair法)
- 在Unity Project面板右键菜单的拓展
- MySQL 5.6 for Windows 解压缩版配置安装
- Redis
- 5328. 【NOIP2017提高A组模拟8.22】世界线 bitset+拓补序合并
- nginx二级目录设置
- PostgreSQL9.6, PostGIS2.3 常用函数
- CISSP国际注册信息系统安全专家
- Idea集成Activiti开发
- web缓存