/// <summary> /// Called when the value needs to be edited. /// </summary> /// <param name="context">Context of editing.</param> /// <param name="provider">Provider of editing.</param> /// <param name="value">Original value to edit.</param> /// <returns>Edited version of original value.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { EmitterEditorWindow emitterDesignerWindow = new EmitterEditorWindow(); (value as EmitterNode).CopyTo(emitterDesignerWindow.Emitter); // Result of dialog is not really required. emitterDesignerWindow.ShowDialog(); emitterDesignerWindow.Emitter.CopyTo(value as EmitterNode); return value as EmitterNode; }
/// <summary> /// Called when the value needs to be edited. /// </summary> /// <param name="context">Context of editing.</param> /// <param name="provider">Provider of editing.</param> /// <param name="value">Original value to edit.</param> /// <returns>Edited version of original value.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { EmitterEditorWindow emitterDesignerWindow = new EmitterEditorWindow(); (value as EmitterNode).CopyTo(emitterDesignerWindow.Emitter); // Result of dialog is not really required. emitterDesignerWindow.ShowDialog(); emitterDesignerWindow.Emitter.CopyTo(value as EmitterNode); return(value as EmitterNode); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (projectTreeView.SelectedNode == null) { return; } switch (Path.GetExtension(projectTreeView.SelectedNode.FullPath.ToLower())) { case ".wav": case ".ogg": { MusicPlayerWindow window = new MusicPlayerWindow(projectTreeView.SelectedNode.FullPath); window.Show(this.Parent); break; } case ".fso": case ".fs": case ".fsl": { ScriptEditorWindow window = new ScriptEditorWindow(projectTreeView.SelectedNode.FullPath); window.FormClosing += new FormClosingEventHandler(ScriptEditorClosed); window.Show(this); } break; //case ".pk": //case ".dll": // break; case ".fef": { EmitterEditorWindow window = new EmitterEditorWindow(); if (IOMethods.FileSize(projectTreeView.SelectedNode.FullPath.ToLower()) > 3) { Stream stream = StreamFactory.RequestStream(projectTreeView.SelectedNode.FullPath, StreamMode.Open); BinaryReader reader = new BinaryReader(stream); reader.ReadBytes(3); window.Emitter = new EmitterNode(); window.Emitter.Load(reader); reader.Close(); stream.Close(); } //if (window.ShowDialog() == DialogResult.OK) //{ // Stream stream = StreamFactory.RequestStream(projectTreeView.SelectedNode.FullPath, StreamMode.Truncate); // BinaryWriter writer = new BinaryWriter(stream); // writer.Write(new byte[] { (byte)'F', (byte)'E', (byte)'F' }); // window.Emitter.Save(writer); // writer.Close(); // stream.Close(); //} break; } case ".fmp": Editor.GlobalInstance.Window.OpenMap(projectTreeView.SelectedNode.FullPath); break; case ".xml": { if (projectTreeView.SelectedNode.FullPath.ToLower().StartsWith(Fusion.Editor.Editor.GlobalInstance.TilesetPath.ToLower())) { if (IOMethods.FileSize(projectTreeView.SelectedNode.FullPath.ToLower()) == 0) { MessageBox.Show("This tileset configuration file is empty, unable to open tileset viewer.", "Empty", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } TilesetWindow window = new TilesetWindow(projectTreeView.SelectedNode.FullPath); window.SelectionChanged += new EventHandler(tilesetWindow_TilesetSelectionChanged); window.ColorChanged += new EventHandler(tilesetWindow_TilesetColorChanged); window.Show(this.Parent); } else { ScriptEditorWindow window = new ScriptEditorWindow(projectTreeView.SelectedNode.FullPath); window.IsPlainFile = true; window.Show(this); } break; } case ".png": case ".bmp": case ".tga": { ImageWindow window = new ImageWindow(projectTreeView.SelectedNode.FullPath); window.Show(this.Parent); break; } default: Process process = new Process(); process.StartInfo.FileName = @"explorer"; process.StartInfo.Arguments = projectTreeView.SelectedNode.FullPath; process.StartInfo.Verb = "Open"; process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; process.Start(); break; } }
/// <summary> /// Shows the effects manager. /// </summary> private void ShowEffectsDesigner() { if (_effectsDesignerWindow == null || _effectsDesignerWindow.IsDisposed == true) { _effectsDesignerWindow = new EmitterEditorWindow(); _effectsDesignerWindow.Show(this); } else { if (_effectsDesignerWindow.Visible == false) _effectsDesignerWindow.Show(this); _effectsDesignerWindow.Focus(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (projectTreeView.SelectedNode == null) return; switch (Path.GetExtension(projectTreeView.SelectedNode.FullPath.ToLower())) { case ".wav": case ".ogg": { MusicPlayerWindow window = new MusicPlayerWindow(projectTreeView.SelectedNode.FullPath); window.Show(this.Parent); break; } case ".fso": case ".fs": case ".fsl": { ScriptEditorWindow window = new ScriptEditorWindow(projectTreeView.SelectedNode.FullPath); window.FormClosing += new FormClosingEventHandler(ScriptEditorClosed); window.Show(this); } break; //case ".pk": //case ".dll": // break; case ".fef": { EmitterEditorWindow window = new EmitterEditorWindow(); if (IOMethods.FileSize(projectTreeView.SelectedNode.FullPath.ToLower()) > 3) { Stream stream = StreamFactory.RequestStream(projectTreeView.SelectedNode.FullPath, StreamMode.Open); BinaryReader reader = new BinaryReader(stream); reader.ReadBytes(3); window.Emitter = new EmitterNode(); window.Emitter.Load(reader); reader.Close(); stream.Close(); } //if (window.ShowDialog() == DialogResult.OK) //{ // Stream stream = StreamFactory.RequestStream(projectTreeView.SelectedNode.FullPath, StreamMode.Truncate); // BinaryWriter writer = new BinaryWriter(stream); // writer.Write(new byte[] { (byte)'F', (byte)'E', (byte)'F' }); // window.Emitter.Save(writer); // writer.Close(); // stream.Close(); //} break; } case ".fmp": Editor.GlobalInstance.Window.OpenMap(projectTreeView.SelectedNode.FullPath); break; case ".xml": { if (projectTreeView.SelectedNode.FullPath.ToLower().StartsWith(Fusion.Editor.Editor.GlobalInstance.TilesetPath.ToLower())) { if (IOMethods.FileSize(projectTreeView.SelectedNode.FullPath.ToLower()) == 0) { MessageBox.Show("This tileset configuration file is empty, unable to open tileset viewer.", "Empty", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } TilesetWindow window = new TilesetWindow(projectTreeView.SelectedNode.FullPath); window.SelectionChanged += new EventHandler(tilesetWindow_TilesetSelectionChanged); window.ColorChanged += new EventHandler(tilesetWindow_TilesetColorChanged); window.Show(this.Parent); } else { ScriptEditorWindow window = new ScriptEditorWindow(projectTreeView.SelectedNode.FullPath); window.IsPlainFile = true; window.Show(this); } break; } case ".png": case ".bmp": case ".tga": { ImageWindow window = new ImageWindow(projectTreeView.SelectedNode.FullPath); window.Show(this.Parent); break; } default: Process process = new Process(); process.StartInfo.FileName = @"explorer"; process.StartInfo.Arguments = projectTreeView.SelectedNode.FullPath; process.StartInfo.Verb = "Open"; process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; process.Start(); break; } }