public void update() { float time = m_time + Time.unscaledDeltaTime; int maxFrameId = (int)(time * FrameSync.LOGIC_FPS); if (maxFrameId == m_maxFrameId) { m_time = time; _processCurrentFrame(m_time - m_maxFrameId / (float)FrameSync.LOGIC_FPS); } else { RAL.LogicFrame msg; while (_playBackList.pop(maxFrameId, out msg)) { _processNewFrame(msg, time - msg.frameId / (float)FrameSync.LOGIC_FPS); } m_maxFrameId = maxFrameId; m_time = time; } }