Unity 扩展菜单命令

//********************************************************************
// 文件名: 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);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值