Unity编辑器拓展(Atrribute/Event.current)

常用Atrribute

1.InitializeOnLoad  //加载脚本时初始化

2.InitializeOnLoadMethod //在 Unity 加载时初始化编辑器类方法

3.DidReloadScripts //重新加载脚本后调用方法

4.PostProcessScene //加载场景调用方法

5.PostProcessBuild //打包完成调用方法

6.OnOpenAsset //用于打开 Unity 中某个资源的回调属性

Event.current

检测鼠标键盘输入

UnityEngine.Event - Unity 脚本 APIhttps://docs.unity.cn/cn/2020.3/ScriptReference/Event.html

using UnityEngine;
using UnityEditor;

public class EventCurrentTest : EditorWindow
{
    [MenuItem("EventCurrentTest/Event")]
    static void Open()
    {
        EditorWindow.GetWindow<EventCurrentTest>().Show();
    }

    private void OnGUI()
    {
        Event e = Event.current;

        EditorGUILayout.Toggle("alt", e.alt);
        EditorGUILayout.IntField("button", e.button);
        EditorGUILayout.Toggle("capsLock", e.capsLock);
        EditorGUILayout.IntField(nameof(e.clickCount), e.clickCount);
        EditorGUILayout.Toggle(nameof(e.command), e.command);
        EditorGUILayout.Vector2Field("delta", e.delta);
        EditorGUILayout.EnumPopup("keyCode", e.keyCode);

        Repaint();
    }
}

编辑器免费课程:

独立游戏《Unity打造关卡编辑器》Unity 独立游戏 关卡编辑器icon-default.png?t=LA92https://bycwedu.vipwan.cn/promotion_channels/72762192

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
NullReferenceException: Object reference not set to an instance of an object Inventory.OnClickPickUp () (at Assets/Script/Inventory.cs:39) UnityEngine.Events.InvokableCall.Invoke () (at <ff7b004c24954ff98f68a709be4708c3>:0) UnityEngine.Events.UnityEvent.Invoke () (at <ff7b004c24954ff98f68a709be4708c3>:0) UnityEngine.UI.Button.Press () (at D:/Program Files/Unity/Hub/Editor/2019.4.14f1c1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:68) UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at D:/Program Files/Unity/Hub/Editor/2019.4.14f1c1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:110) UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at D:/Program Files/Unity/Hub/Editor/2019.4.14f1c1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:50) UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at D:/Program Files/Unity/Hub/Editor/2019.4.14f1c1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261) UnityEngine.EventSystems.EventSystem:Update() (at D:/Program Files/Unity/Hub/Editor/2019.4.14f1c1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:377)
最新发布
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寒大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值