Exemple #1
0
 public void Play()
 {
     if (!_init)
     {
         _gameReplayPlayer.Reset();
         _init = true;
     }
     _state = ReplayPlayerControlsState.Playing;
 }
Exemple #2
0
        public void Seek(float seekTime)
        {
            _state    = ReplayPlayerControlsState.Seeking;
            _seekTime = seekTime;

            if (_seekTime < _playbackTime)
            {
                _gameReplayPlayer.Reset();
                _playbackTime = 0.0f;
            }
        }
Exemple #3
0
        public void Update(float dt)
        {
            if (IsPaused())
            {
                return;
            }

            float maxDt = _gameReplayPlayer.GetMaxAllowedUpdateTime();

            if (_state == ReplayPlayerControlsState.Playing)
            {
                dt *= _playbackSpeed;

                if (dt > maxDt)
                {
                    dt = maxDt;
                }
            }
            else if (_state == ReplayPlayerControlsState.Seeking)
            {
                dt = maxDt;

                if (_playbackTime + dt > _seekTime)
                {
                    dt     = _seekTime - _playbackTime;
                    _state = ReplayPlayerControlsState.Paused;
                }
            }

            var totalTime = _gameReplayPlayer.GetTotalTime();

            if (_playbackTime + dt > totalTime)
            {
                dt     = totalTime - _playbackTime;
                _state = ReplayPlayerControlsState.Paused;
            }

            _playbackTime += dt;
            _gameReplayPlayer.Update(dt);
        }
Exemple #4
0
 public void Pause()
 {
     _state = ReplayPlayerControlsState.Paused;
 }