Beispiel #1
0
    protected static void doneCallback(ref LerpCallback curDoneCallback, ComponentLerp component)
    {
        // 先保存回调,然后再调用回调之前就清空回调,确保在回调函数执行时已经完全完成
        LerpCallback tempCallback = curDoneCallback;

        component.clearCallback();
        tempCallback?.Invoke(component, false);
    }
Beispiel #2
0
    //----------------------------------------------------------------------------------------------------------------------------
    protected static void setCallback(LerpCallback callback, ref LerpCallback curCallback, ComponentLerp component)
    {
        LerpCallback tempCallback = curCallback;

        curCallback = null;
        // 如果回调函数当前不为空,则是中断了正在进行的变化
        tempCallback?.Invoke(component, true);
        curCallback = callback;
    }
Beispiel #3
0
 protected void afterApplyLerp(bool done)
 {
     mLerpingCallBack?.Invoke(this, false);
     if (done)
     {
         setActive(false);
         // 强制停止组件
         stop(true);
         doneCallback(ref mLerpDoneCallBack, this);
     }
 }