Unity Button按钮延迟

1.把下面脚本放到Editor文件夹下,这样脚本继承Button之后,新声明的public变量才能在Inspector面板显示出来。

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;

[CustomEditor(typeof(MyButton), true)]
[CanEditMultipleObjects]
public class MyButtonEditor : ButtonEditor
{
    private SerializedProperty delayTime;

    protected override void OnEnable()
    {
        base.OnEnable();
        delayTime = serializedObject.FindProperty("delayTime");
    }

    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.Space();
        serializedObject.Update();
        EditorGUILayout.PropertyField(delayTime);
        serializedObject.ApplyModifiedProperties();
    }
}
View Code

 

2.把下面脚本当成Button组件用,在Inspector面板的delayTime输入想延迟的时间就行了。

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;

[CustomEditor(typeof(MyButton), true)]
[CanEditMultipleObjects]
public class MyButtonEditor : ButtonEditor
{
    private SerializedProperty delayTime;

    protected override void OnEnable()
    {
        base.OnEnable();
        delayTime = serializedObject.FindProperty("delayTime");
    }

    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.Space();
        serializedObject.Update();
        EditorGUILayout.PropertyField(delayTime);
        serializedObject.ApplyModifiedProperties();
    }
}
View Code

 

原文地址:https://www.cnblogs.com/Peng18233754457/p/11435657.html