public static ConsoleUIController Create( IConsoleModel model, IConsoleUIView view, IConsoleInputDetectorModel inputDetector, IConsoleHintModel hint ) { return(new ConsoleUIController( model, view, inputDetector, hint )); }
public ConsoleUIController( IConsoleModel model, IConsoleUIView view, IConsoleInputDetectorModel input, IConsoleHintModel hintModel ) { this.model = model; this.view = view; this.hintModel = hintModel; model.OnEnableChange += HandleModelEnableChange; model.OnOutputUpdate += HandleOutputUpdate; hintModel.OnHintSelected += HandleHintSelected; input.OnToggleVisibility += HandleOnToggleVisibility; input.OnSubmit += HandleOnSubmit; view.Enabled = false; }
public static void Initialize() { if (model != null) { return; } IConsoleSettings settings = ConsoleSettings.Instance; IConsoleInputHistoryModel historyModel = ConsoleInputHistoryModelFactory.Create(settings); ICommandsCollectionModel commandsCollection = CommandsCollectionFactory.Create(settings); model = ConsoleModelFactory.Create(historyModel, commandsCollection); IConsoleHintModel hintModel = ConsoleHintModelFactory.Create( historyModel, commandsCollection, settings ); ConsoleUIView view = ConsoleUIViewFactory.Create(settings); IConsoleInputDetectorModel inputDetector = ConsoleInputDetectorModelFactory.Create( view, model, settings ); ConsoleUIControllerFactory.Create(model, view, inputDetector, hintModel); ConsoleHintUIControllerFactory.Create( hintModel, view.HintUI, view, inputDetector, settings ); Task.Run(commandsCollection.Initialize); inputDetector.Initialize(); }