private void OnSubeditorChanged(IEntryEditor <IDbImage> subeditor) { Panel.Controls.Clear(); if (subeditor == null) { return; } if (subeditor is ImageFromFileEditorVM) { var control = new ImageFromFileEditorCtrl(); control.Initialize((ImageFromFileEditorVM)vm.Subeditor); control.Dock = DockStyle.Fill; Panel.Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbActionSet> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is ActionSetEmbeddedEditorVM) { var control = new ActionSetEmbeddedEditorCtrl(); control.Initialize((ActionSetEmbeddedEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbEntityTemplate> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is EntityTemplateFromFileEditorVM) { var control = new EntityTemplateFromFileCtrl(); control.Initialize((EntityTemplateFromFileEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbTileAtlas> subeditor) { Panel.Controls.Clear(); if (subeditor == null) { return; } if (subeditor is TileSetFromBlkEditorVM) { var control = new TileSetFromBlkEditorCtrl(); control.Initialize((TileSetFromBlkEditorVM)_vm.Subeditor); control.Dock = DockStyle.Fill; Panel.Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbScript> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is ScriptEmbeddedEditorVM) { var control = new ScriptEmbeddedCtrl(); control.Initialize((ScriptEmbeddedEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } else if (subeditor is ScriptFromFileEditorVM) { var control = new ScriptFromFileCtrl(); control.Initialize((ScriptFromFileEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbText> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is TextEmbeddedEditorVM) { var control = new TextEmbeddedEditorCtrl(); control.Initialize((TextEmbeddedEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } else if (subeditor is TextFromMapEditorVM) { var control = new TextFromMapEditorCtrl(); control.Initialize((TextFromMapEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbSpriteAtlas> subeditor) { Panel.Controls.Clear(); if (subeditor == null) { return; } if (subeditor is SpriteSetFromSprEditorVM) { var control = new SpriteSetFromSprEditorCtrl(); control.Initialize((SpriteSetFromSprEditorVM)_vm.Subeditor); control.Dock = DockStyle.Fill; Panel.Controls.Add(control); } else if (subeditor is SpriteSetFromImageEditorVM) { var control = new SpriteSetFromImageEditorCtrl(); control.Initialize((SpriteSetFromImageEditorVM)_vm.Subeditor); control.Dock = DockStyle.Fill; Panel.Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbDataSource> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is EpfArchiveFileDataSourceEditorVM) { var control = new EpfArchiveDataSourceCtrl(); control.Initialize((EpfArchiveFileDataSourceEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } else if (subeditor is FileDataSourceEditorVM) { var control = new FileDataSourceCtrl(); control.Initialize((FileDataSourceEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
private void OnSubeditorChanged(IEntryEditor <IDbPalette> subeditor) { Controls.Clear(); if (subeditor == null) { return; } if (subeditor is PaletteFromBinaryEditorVM) { var control = new PaletteFromBinaryCtrl(); control.Initialize((PaletteFromBinaryEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } else if (subeditor is PaletteFromMapEditorVM) { var control = new PaletteFromMapCtrl(); control.Initialize((PaletteFromMapEditorVM)subeditor); control.Dock = DockStyle.Fill; Controls.Add(control); } }
public void EditEntry(int index, bool forceHex = false) { BundleEntry entry = GetEntry(index); if (EntryTypeRegistry.IsRegistered(entry.Type) && !forceHex) { IEntryData data = EntryTypeRegistry.GetHandler(entry.Type); TextureCache.ResetCache(); LoadingDialog loader = new LoadingDialog(); loader.Status = "Loading: " + entry.ID.ToString("X8"); Thread loadInstanceThread = null; bool failure = false; loader.Done += (cancelled, value) => { if (cancelled) { loadInstanceThread?.Abort(); } else { if (failure) { MessageBox.Show(this, "Failed to load Entry", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { loader.Hide(); IEntryEditor editor = data.GetEditor(entry); if (editor != null) { editor.ShowDialog(this); } else { DebugUtil.ShowDebug(this, data); } if (ForceOnlySpecificEntry) { Environment.Exit(0); } } } TextureCache.ResetCache(); }; loadInstanceThread = new Thread(() => { try { try { failure = !data.Read(entry, loader); } catch (ReadFailedError ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); failure = true; throw; } } catch (Exception) { MessageBox.Show("Failed to load Entry", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); failure = true; } loader.IsDone = true; }); loadInstanceThread.Start(); loader.ShowDialog(this); } else { EntryEditor editor = new EntryEditor(); editor.ForceHex = forceHex; Task.Run(() => openEditor(editor, index)); editor.ShowDialog(this); } }