unity3d ~黑科技~ 给你自己的编辑器窗口添加小锁图标!

先给原文磕个头:https://leahayes.wordpress.com/2013/04/30/adding-the-little-padlock-button-to-your-editorwindow/

还记得Inspector右上角那个小锁图标吗?
其实我们自己的窗口也可以添加它,这都得感谢unity 4.0偷偷添加的一个功能!

unity3d ~黑科技~ 给你自己的编辑器窗口添加小锁图标!_第1张图片

现在通过一个"IHasCustomMenu"接口你就可以给自己的EditorWindow右上角添加图标。

下面是例子(无节操的照搬了原文):

using UnityEngine;
using UnityEditor;
 
public class WindowWithLockIcon : EditorWindow, IHasCustomMenu {
 
    /// 
    /// Menu item to display our test window.
    /// 
    [MenuItem("Window/Window with Lock Icon")]
    static void Show() {
        GetWindow("Lock Test");
    }
 
    /// 
    /// Keep local copy of lock button style for efficiency.
    /// 
    [System.NonSerialized]
    GUIStyle lockButtonStyle;
    /// 
    /// Indicates whether lock is toggled on/off.
    /// 
    [System.NonSerialized]
    bool locked = false;
 
    /// 
    /// Magic method which Unity detects automatically.
    /// 
    /// Position of button.
    void ShowButton(Rect position) {
        if (lockButtonStyle == null)
            lockButtonStyle = "IN LockButton";
        locked = GUI.Toggle(position, locked, GUIContent.none, lockButtonStyle);
    }
 
    /// 
    /// Adds custom items to editor window context menu.
    /// 
    /// 
    /// This will only work for Unity 4.x+
    /// 
    /// Context menu.
    void IHasCustomMenu.AddItemsToMenu(GenericMenu menu) {
        menu.AddItem(new GUIContent("Lock"), locked, () => {
            locked = !locked;
        });
    }
 
}

你可能感兴趣的:(迷途吧的编辑器魔法)