// Constructor public TextEditor2ViewModel(PluginManager pluginManager, IStateInfo koreFile) { _pluginManager = pluginManager; KoreFile = koreFile; _state = KoreFile.PluginState as ITextState; GameAdapters = pluginManager.GetGameAdapters().Select(ga => new GameAdapter(ga)).ToList(); // TODO: Implement game adapter persistence SelectedGameAdapter = GameAdapters.FirstOrDefault(); SelectedZoomLevel = 1; if (Keyboard.IsKeyDown(Key.LeftShift)) { SelectedGameAdapter = GameAdapters.FirstOrDefault(ga => ga.Adapter.PluginId == Guid.Parse("84D2BD62-7AC6-459B-B3BB-3A65855135F6")) ?? GameAdapters.First(); SelectedZoomLevel = 2; } else if (Keyboard.IsKeyDown(Key.LeftAlt)) { SelectedGameAdapter = GameAdapters.FirstOrDefault(ga => ga.Adapter.PluginId == Guid.Parse("B344166C-F1BE-49B2-9ADC-38771D0A15DA")) ?? GameAdapters.First(); SelectedZoomLevel = 1; } SelectedEntry = Entries?.FirstOrDefault(); }
// Constructor public TextEditor1ViewModel(IStateInfo koreFile) { KoreFile = koreFile; // TODO: What is display name //DisplayName = KoreFile.DisplayName; _state = KoreFile.PluginState as ITextState; if (_state != null) { Entries = new ObservableCollection <TextEntry>(_state.Texts); } SelectedEntry = Entries.First(); }
public TextForm(IStateInfo state, IFormCommunicator formCommunicator, IList <IGameAdapter> gameAdapters, IProgressContext progressContext) { InitializeComponent(); if (!(state.PluginState is ITextState textState)) { throw new InvalidOperationException($"The state is no '{nameof(ITextState)}'."); } _stateInfo = state; _textState = textState; _progressContext = progressContext; _formCommunicator = formCommunicator; _textEntries = textState.Texts; _gameAdapters = gameAdapters; LoadGameAdapters(); LoadEntries(); UpdatePreview(); UpdateForm(); }
public void ChangeState(ITextState state) { this.textState = state; }