Esempio n. 1
0
        private void Update()
        {
            Manager m         = m_Manager;
            float   deltaTime = Time.deltaTime;
            float   timestamp = Time.unscaledTime;

            if (m != null)
            {
                m.Update(deltaTime, RoutinePhase.Update);
                if (m.Fibers.GetYieldCount(YieldPhase.WaitForUpdate) > 0)
                {
                    m.UpdateYield(deltaTime, YieldPhase.WaitForUpdate);
                }

                float thinkCustomDelta;
                if (m.AdvanceThinkUpdate(deltaTime, timestamp, out thinkCustomDelta))
                {
                    m.Update(thinkCustomDelta, RoutinePhase.ThinkUpdate);
                    if (m.Fibers.GetYieldCount(YieldPhase.WaitForThinkUpdate) > 0)
                    {
                        m.UpdateYield(thinkCustomDelta, YieldPhase.WaitForThinkUpdate);
                    }
                }

                if (m.AdvanceCustomUpdate(deltaTime, timestamp, out thinkCustomDelta))
                {
                    m.Update(thinkCustomDelta, RoutinePhase.CustomUpdate);
                    if (m.Fibers.GetYieldCount(YieldPhase.WaitForCustomUpdate) > 0)
                    {
                        m.UpdateYield(thinkCustomDelta, YieldPhase.WaitForCustomUpdate);
                    }
                }
            }
        }
Esempio n. 2
0
        private void Update()
        {
            m_Manager.MarkFrameStart();

            Manager m         = m_Manager;
            float   deltaTime = Time.deltaTime;
            float   timestamp = Time.unscaledTime;

            if (m != null)
            {
                // update phase
                m.Update(deltaTime, RoutinePhase.Update);
                if (m.Fibers.GetYieldCount(YieldPhase.WaitForUpdate) > 0)
                {
                    m.UpdateYield(deltaTime, YieldPhase.WaitForUpdate);
                }

                // thinkupdate
                float thinkCustomDelta;
                if (m.AdvanceThinkUpdate(deltaTime, timestamp, out thinkCustomDelta))
                {
                    m.Update(thinkCustomDelta, RoutinePhase.ThinkUpdate);
                    if (m.Fibers.GetYieldCount(YieldPhase.WaitForThinkUpdate) > 0)
                    {
                        m.UpdateYield(thinkCustomDelta, YieldPhase.WaitForThinkUpdate);
                    }
                }

                // customupdate
                if (m.AdvanceCustomUpdate(deltaTime, timestamp, out thinkCustomDelta))
                {
                    m.Update(thinkCustomDelta, RoutinePhase.CustomUpdate);
                    if (m.Fibers.GetYieldCount(YieldPhase.WaitForCustomUpdate) > 0)
                    {
                        m.UpdateYield(thinkCustomDelta, YieldPhase.WaitForCustomUpdate);
                    }
                }

                // realtimeupdate
                float realDeltaTime = Time.unscaledDeltaTime;
                m.Update(realDeltaTime, RoutinePhase.RealtimeUpdate);
                if (m.Fibers.GetYieldCount(YieldPhase.WaitForRealtimeUpdate) > 0)
                {
                    m.UpdateYield(realDeltaTime, YieldPhase.WaitForRealtimeUpdate);
                }
            }
        }