Unity 扩展菜单命令
2015-10-28 11:36
344 查看
//******************************************************************** // 文件名: ApplicationEditor.cs // 描述: 菜单命令打开场景 // 作者: 李伟 // 创建时间: 2015-03-26 // // 修改历史: // 2015-03-26 李伟创建 // 2015-10-28 windows本地交互 //******************************************************************** using UnityEngine; using System.Collections; using UnityEditor; using System.Diagnostics; using System.IO; using System; public class ApplicationEditor : Editor { #region OepnScene enum SceneType { Login = 0, Main = 1, Test = 2, Max } [SerializeField] private static SceneType currentSceneType = SceneType.Max; [MenuItem("OepnScene/Login/Open")] public static void OpenLoginScene() { if(currentSceneType != SceneType.Login) { Open(SceneType.Login); } } [MenuItem("OepnScene/Login/Open Run")] public static void OpenLoginRunScene() { OpenLoginScene (); if(!EditorApplication.isPlaying) { EditorApplication.isPlaying = true; } } [MenuItem("OepnScene/Main/Open")] public static void OpenMainScene() { if(currentSceneType != SceneType.Main) { Open(SceneType.Main); } } [MenuItem("OepnScene/Main/Open Run")] public static void OpenMainRunScene() { if(currentSceneType != SceneType.Main) { Open(SceneType.Main); } if(!EditorApplication.isPlaying) { EditorApplication.isPlaying = true; } } [MenuItem("OepnScene/Test")] public static void OpenTestScene() { if(currentSceneType != SceneType.Test) { Open(SceneType.Test); } } private static void Open(SceneType sceneType) { if(EditorApplication.SaveCurrentSceneIfUserWantsTo()) { currentSceneType = sceneType; int sceneId = (int)sceneType; if(sceneId >= 0 && sceneId < EditorBuildSettings.scenes.Length) { EditorApplication.OpenScene (EditorBuildSettings.scenes [sceneId].path); } } } #endregion #region AddChild [MenuItem("GameObject/Add Child")] static void AddChild() { var transforms = Selection.GetTransforms(SelectionMode.TopLevel | SelectionMode.OnlyUserModifiable); foreach (var transform in transforms) { GameObject child = new GameObject("_child"); child.transform.parent = transform; } } #endregion [MenuItem("MYTOOLS/OpenCurrentDirectory")] static void CurrentDirectory() { Process.Start(Environment.CurrentDirectory); } [MenuItem("MYTOOLS/GoToGoogleWebsite")] static void GoToGoogleWebsite() { ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe"); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.Arguments = "www.google.com"; Process.Start(startInfo); } [MenuItem("MYTOOLS/StartUpGameServer")] static void StartUpGameServer() { string serverPath = "E:\\Server\\Debug"; string serverApplicationName = "server.exe"; ProcessStartInfo startInfo = new ProcessStartInfo(Path.Combine(serverPath, serverApplicationName)); startInfo.WindowStyle = ProcessWindowStyle.Maximized; //端口号 startInfo.Arguments = "9918"; Process.Start(startInfo); } }
相关文章推荐
- Unity3d 制作物品平滑运动
- unity 后台
- Unity3d 用TextAsset打包加密
- 如何在unity3D里面引用dll
- Unity摄像机跟随Target快速位移和旋转
- Unity3D开发一些初级问题
- Unity:镜面反射
- unity3d 虚拟现实在各行业的应用
- Unity3D 内存 释放
- Unity3d 动态读取外部文件
- unity3d 屏幕截图
- unity3d 动态改变模型大小、方向(展示必用)
- Unity3d 场景打包与加载
- unity3d 动态改变模型大小
- unity3d 资源文件从MAX或者MAYA中导出的注意事项
- Unity3d 调用外部视频
- Unity3D 自动光照 shader
- Unity 中的向量的 相关使用1
- 全面理解Unity加载和内存管理机制之二:进一步深入和细节
- Unity5中优化VR 应用的12个技巧