public MainWindow(ILogger <MainWindow> logger, IConnector connector, DrawingLogic drawingLogic, ExportLogic exportLogic, VersionLogic versionLogic, Orchestrator orchestrator, WindowFactory windowFactory) : base(orchestrator.ThreadLogic, orchestrator.StateMachine, orchestrator.ViewModel, orchestrator.ReplayLogic) { InitializeComponent(); this.logger = logger; this.connector = connector; this.drawingLogic = drawingLogic; this.exportLogic = exportLogic; this.windowFactory = windowFactory; this.recorderLogic = orchestrator.RecorderLogic; stateMachine.StateChanged += StateMachine_StateChanged; connector.AircraftPositionUpdated += Connector_AircraftPositionUpdated; connector.Closed += Connector_Closed; DataContext = viewModel; currentVersion = versionLogic.GetVersion(); Title += " " + currentVersion; }
public StateMachine(ILogger <StateMachine> logger, MainViewModel viewModel, IRecorderLogic recorderLogic, IReplayLogic replayLogic, IDialogLogic dialogLogic, VersionLogic versionLogic) : base(logger, dialogLogic, viewModel) { logger.LogDebug("Creating instance of {class}", nameof(StateMachine)); this.viewModel = viewModel; this.recorderLogic = recorderLogic; this.replayLogic = replayLogic; this.currentVersion = versionLogic.GetVersion(); InitializeStateMachine(); }