将svn中的部分功能集成到Unity中
来源:互联网 发布:帝国cms仿站视频下载 编辑:程序博客网 时间:2024/06/06 14:10
- 简述
- 用法
- 注意事项
- 详细代码
简述
将svn集成到Unity中,使之更加便捷。后续将开发更多功能。
用法
将脚本复制到Unity的Editor目录中
注意事项
- Unity项目只需要上传Assets、ProjectSetting两个文件即可
- 需要事先就svn关联上才能使用
详细代码
[MenuItem("通用工具/SVN/提交 Assets", false, 1)] [MenuItem("Assets/SVN/提交项目工程", false, 1)] private static void SvnCommitAssets() { RunCmd("TortoiseProc.exe", string.Format("/command:commit /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, "Assets")); } [MenuItem("通用工具/SVN/提交 ProjectSettings", false, 2)] private static void SvnCommitProjectSettings() { RunCmd("TortoiseProc.exe", string.Format("/command:commit /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, "ProjectSettings")); } [MenuItem("通用工具/SVN/更新 Assets", false, 3)] [MenuItem("Assets/SVN/更新项目工程", false, 1)] private static void SvnUpdateAssets() { RunCmd("TortoiseProc.exe", string.Format("/command:update /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, "Assets")); } [MenuItem("通用工具/SVN/更新 ProjectSettings", false, 4)] private static void SvnUpdateProjectSettings() { RunCmd("TortoiseProc.exe", string.Format("/command:update /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, "ProjectSettings")); } #region 提交指定文件 [MenuItem("Assets/SVN/提交指定文件或文件夹", true, 51)] private static bool CheckCommit() { if (Selection.activeObject == null) return false; else return true; } [MenuItem("Assets/SVN/提交指定文件或文件夹")] private static void SvnCommitThisFile() { RunCmd("TortoiseProc.exe", string.Format("/command:commit /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, AssetDatabase.GetAssetPath(Selection.activeObject))); } #endregion #region 更新指定文件 [MenuItem("Assets/SVN/更新指定文件或文件夹", true, 51)] private static bool CheckUpdate() { if (Selection.activeObject == null) return false; else return true; } [MenuItem("Assets/SVN/更新指定文件或文件夹")] private static void SvnUpdateThisFile() { RunCmd("TortoiseProc.exe", string.Format("/command:update /path:\"{0}\\{1}\" /closeonend:0", System.Environment.CurrentDirectory, AssetDatabase.GetAssetPath(Selection.activeObject))); } #endregion /// <summary> /// 运行外部程序 /// </summary> /// <param name="cmdExe">指定应用程序的完整路径,如果该程序在系统环境变量中,只需要填写对用的程序名称就可以</param> /// <param name="cmdStr">执行命令行参数</param> private static bool RunCmd(string cmdExe, string cmdStr) { bool result = false; try { using (Process myPro = new Process()) { //指定启动进程是调用的应用程序和命令行参数 ProcessStartInfo psi = new ProcessStartInfo(cmdExe, cmdStr); myPro.StartInfo = psi; myPro.Start(); // 是否加上这句话,看个人需求。如果加上的话,我们必须关掉弹出的SVN窗口才能继续操作。如果不加上,则可以弹出SVN,也可以继续修改unity项目。个人建议加上比较好 myPro.WaitForExit(); result = true; } } catch { } return result; }
0 0
- 将svn中的部分功能集成到Unity中
- 教你如何将SVN集成到Myeclipse中
- 如何将Unity集成到AdMob
- psd2ugui将psd中的文件直接导出到unity中
- 将Myeclipse、Eclipse中的项目导入到svn中
- 将eclipse中的工程导入到svn中
- 【PSD To Unity】将psd中的文件直接导出到unity中
- Android集成Unity到App中
- 将7z解压功能以lib的方式集成到工程中
- 将Resin集成到IIS中
- 将Resin集成到IIS中
- 将g++编译器集成到VC2005中
- 将Quartz.NET集成到 Castle中
- 将Quartz.NET集成到 Castle中
- 将red5集成到Tomcat服务器中
- 将标签集成到后台编辑器中
- 将Quartz.NET集成到 Castle中
- 将LCDS31集成到Coldfusion901中
- 安卓通过ContentResolver添加联系人
- 浅谈线段树
- ffmpeg 转换x264到Fragmented MP4
- 如何联系博主
- MS SQL Server Management Studio2016(SSMS2016)安装失败 拒绝访问(0x80070005)
- 将svn中的部分功能集成到Unity中
- 全志A33添加开机启动脚本
- 抽象类的作用
- android 通知栏NotificationManager及自定义通知栏Notification的使用
- C++学习笔记(1):命名空间与头文件
- Struts.xml配置文件详解
- 带着一群小朋友玩Linux
- 用Python写网络爬虫系列(三)表单处理
- POJ 2342 Anniversary party (树形dp)