示例#1
0
        protected override void Update()
        {
            if (!GameSession.IsPlaying)
            {
                return;
            }

            curTime = MusicController.CurrentTime;

            // Allocate next frame data
            nextFrame = null;
            if (replayWriter != null)
            {
                nextFrame = replayWriter.NextWriteItem;
                nextFrame?.Reset();
            }

            // Process update for other game modules.
            inputter.UpdateInputs(curTime);
            HitObjectHolder.UpdateObjects(curTime);

            // Record replay frame
            if (nextFrame != null)
            {
                nextFrame.Time = curTime;
                replayWriter.WriteData(nextFrame);
            }
        }