public void SetPlaybackStateInternal(PlaybackStateChangedRequest changedRequest)
        {
            _loadedGameState = LoadedGameState.Loading;
            switch (changedRequest.State)
            {
            case PlaybackState.Loading:
                _loadedGameState = LoadedGameState.Loading;
                break;

            case PlaybackState.Loaded:
                _loadedGameState = LoadedGameState.Loaded;
                break;

            case PlaybackState.Playing:
                _loadedGameState = LoadedGameState.Playing;
                break;

            case PlaybackState.Paused:
                _loadedGameState = LoadedGameState.Paused;
                break;
            }

            if (changedRequest.StartTime == null)
            {
                _playingStartTime = null;
            }
            else
            {
                var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
                dtDateTime        = dtDateTime.AddSeconds(changedRequest.StartTime.UnixTimestamp);
                _playingStartTime = dtDateTime;
            }
        }
示例#2
0
 public override Task <PlaybackStateChangedResponse> PlaybackStateChanged(PlaybackStateChangedRequest request, ServerCallContext context)
 {
     _loadedGame.Value.SetPlaybackStateInternal(request);
     return(Task.FromResult(new PlaybackStateChangedResponse()));
 }