private void OnStateChange(TimeMachineState state) { _lastState = state; Shield.Visibility = state.IsPaused ? Visibility.Visible : Visibility.Collapsed; PauseButton.Visibility = state.IsPaused ? Visibility.Collapsed : Visibility.Visible; PlayButton.Visibility = state.IsPaused ? Visibility.Visible : Visibility.Collapsed; ActionPositionsSlider.Value = state.Position; ActionPositionsSlider.Maximum = state.Actions.Count; if (state.Position <= 0) { CurrentActionTypeTextBlock.Text = string.Empty; CurrentActionDescription.Text = string.Empty; } else { var currentAction = state.Actions[state.Position - 1]; CurrentActionTypeTextBlock.Text = currentAction.GetType().Name; CurrentActionDescription.Text = JsonConvert.SerializeObject(currentAction, Formatting.Indented); } }
private TState Unlift(TimeMachineState state) { return((TState)state.States[state.Position]); }