在前几天举办的Unity SYNC上,在《天烧红》支持大规模开发和高速迭代的自制工具的秘密]的演出中,有一个关于创建和使用原创快捷窗口的故事..,好像很方便,所以试了一下。

Unityでのショートカットウィンドウの作成

源代码

这一次,我使用 IMGUI 创建窗口并使用 EditorApplication.ExecuteMenuItem 调用每个函数。
由于每个地方都有不同的解释,这次我就省略了。

暂时先打开编辑器播放、项目设置、构建设置。

快捷窗口.cs
using UnityEngine;
using UnityEditor;

public class ShortcutWindow : EditorWindow
{
    [MenuItem("Window/Shortcut")]
    static void Init()
    {
        ShortcutWindow window = (ShortcutWindow)EditorWindow.GetWindow<ShortcutWindow>("ショートカット");
        window.Show();
    }

    void OnGUI()
    {
		if( GUI.Button ( new Rect( 0.0f, 20.0f, 300.0f, 20.0f), "Play") ){
			EditorApplication.ExecuteMenuItem("Edit/Play");
		}

        if( GUI.Button ( new Rect( 0.0f, 60.0f, 300.0f, 20.0f), "Project Settings") ){
			EditorApplication.ExecuteMenuItem("Edit/Project Settings...");
		}

        if( GUI.Button ( new Rect( 0.0f, 100.0f, 300.0f, 20.0f), "Build Settings") ){
			EditorApplication.ExecuteMenuItem("File/Build Settings...");
		}
    }
}

按窗口→快捷方式显示快捷方式窗口。
此外,按下相应的按钮将播放编辑器或打开窗口。
Unityでのショートカットウィンドウの作成

在快捷窗口中注册在游戏开发等中经常使用的项目特定调试功能也是一个好主意。
让我们添加一些不错的伪调试功能,以便在每次按下按钮时翻转标志。

调试测试.cs
using UnityEngine;


public static class DebugInfo
{
    public static bool m_enable = false;
}

public class DebugTest : MonoBehaviour
{
    void Update()
    {
        if(DebugInfo.m_enable)
        {
            Debug.Log("有効");
        }
        else{
            Debug.Log("無効");
        }
    }
}
快捷窗口.cs
void OnGUI()
{
    if( GUI.Button ( new Rect( 0.0f, 140.0f, 300.0f, 20.0f), "Debug Test") ){
        DebugInfo.m_enable = !DebugInfo.m_enable;
    }
}

我认为每次按下按钮时都会切换控制台的显示。
Unityでのショートカットウィンドウの作成

概括

这一次,我根据 Unity SYNC 性能制作了自己的快捷窗口。
我使用 IMGUI 创建窗口,但如果使用 UIElements,则可以进行更详细的设置,因此在那里创建它可能是个好主意。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308632956.html

相关文章: