UnityEditor中DelayCall

public DelayedCall(float delay, Action callback)
    {
        this.delay = delay;
        this.callback = callback;
        this._startupTime = Time.realtimeSinceStartup;
        EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.update, new EditorApplication.CallbackFunction(this.Update));
    }

    private void Update()
    {
        if (Time.realtimeSinceStartup - this._startupTime >= this.delay)
        {
            if (EditorApplication.update != null)
            {
                EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Remove(EditorApplication.update, new EditorApplication.CallbackFunction(this.Update));
            }
            if (this.callback != null)
            {
                this.callback();
            }
        }
    }

在别人插件中看到的一种写法,可以很方便的在Editor中实现DelayCall和在Editor中实现Update 虽然没什么用吧 逃0.0

本人知识不足,水平有限,如有疏漏或错误,欢迎指正

你可能感兴趣的:(Unity)