예제 #1
0
    protected virtual void lateUpdate(float elapsedTime)
    {
        if (mFrameComponentUpdate == null)
        {
            return;
        }
        int count = mFrameComponentUpdate.Count;

        for (int i = 0; i < count; ++i)
        {
            // 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
            if (mFrameComponentUpdate == null)
            {
                return;
            }
            FrameComponent component = mFrameComponentUpdate[i];
            if (component != null && !component.isDestroy())
            {
                component.lateUpdate(elapsedTime);
            }
        }
    }
예제 #2
0
    protected virtual void drawGizmos()
    {
        if (mFrameComponentUpdate == null)
        {
            return;
        }
        int count = mFrameComponentUpdate.Count;

        for (int i = 0; i < count; ++i)
        {
            // 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
            if (mFrameComponentUpdate == null)
            {
                return;
            }
            FrameComponent component = mFrameComponentUpdate[i];
            if (component != null && !component.isDestroy())
            {
                component.onDrawGizmos();
            }
        }
    }
예제 #3
0
    protected virtual void fixedUpdate(float elapsedTime)
    {
        if (mFrameComponentUpdate == null)
        {
            return;
        }
        int count = mFrameComponentUpdate.Count;

        for (int i = 0; i < count; ++i)
        {
            // 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
            if (mFrameComponentUpdate == null)
            {
                return;
            }
            FrameComponent component = mFrameComponentUpdate[i];
            if (component != null && !component.isDestroy())
            {
                UnityProfiler.BeginSample(component.getName());
                component.fixedUpdate(elapsedTime);
                UnityProfiler.EndSample();
            }
        }
    }