private void Document_GeneratorRemoved(string name, HeightRender.Generator generator) { if (name == generatorName) { Close(); } }
//Setting public static bool SetGenerator(string name, HeightRender.Generator generator, CSScript script = null) { if (name != null && name.Length > 0) { if (script == null) { script = new CSScript(); script.Source = "double Generate(int x, int y, HeightField heightField)\r\n{\r\n\t//Your code goes here\r\n}"; } GeneratorScript gs; if (!generators.TryGetValue(name, out gs)) { gs = new GeneratorScript() { generator = generator, script = script } } ; else { gs.generator = generator; } generators[name] = gs; if (generatorSet != null) { generatorSet(name, gs.generator); } return(true); } else { return(false); } }
private void executeGeneratorToolStripMenuItem_Click(object sender, EventArgs e) { if (Document.SelectedRender != null && Document.ContainsGenerator((string)generatorListBox.SelectedItem)) { HeightRender.Generator generator = Document.GetGenerator((string)generatorListBox.SelectedItem); if (generator != null && MessageBox.Show("Applying a generator will modify or replace the current height map. This action cannot be undone.\n\nWould you like to continue?", "Apply Generator", MessageBoxButtons.YesNo) == DialogResult.Yes) { lock (undoQueue) undoQueue.Clear(); lock (redoQueue) redoQueue.Clear(); HeightField field = Document.SelectedRender.HeightField; lock (field) { try { for (int u = 0; u < field.Width; u++) { for (int v = 0; v < field.Height; v++) { field[u, v] = (float)generator(u, v, field); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "There was a runtime error with your generator script."); } finally { UpdateRender(); } } } } }
private void Document_GeneratorRemoved(string name, HeightRender.Generator generator) { generatorListBox.Items.Clear(); foreach (string s in Document.GeneratorNames) { generatorListBox.Items.Add(s); } }
private void Document_GeneratorRemoved(string name, HeightRender.Generator generator) { RefreshNameList(); RefreshInfo(); }
private void Document_GeneratorSet(string name, HeightRender.Generator generator) { GeneratorName = name; }