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;
        }
Example #2
0
        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();
        }