Exemplo n.º 1
0
 private void Document_GeneratorRemoved(string name, HeightRender.Generator generator)
 {
     if (name == generatorName)
     {
         Close();
     }
 }
Exemplo n.º 2
0
 //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);
     }
 }
Exemplo n.º 3
0
 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();
                 }
             }
         }
     }
 }
Exemplo n.º 4
0
 private void Document_GeneratorRemoved(string name, HeightRender.Generator generator)
 {
     generatorListBox.Items.Clear();
     foreach (string s in Document.GeneratorNames)
     {
         generatorListBox.Items.Add(s);
     }
 }
Exemplo n.º 5
0
 private void Document_GeneratorRemoved(string name, HeightRender.Generator generator)
 {
     RefreshNameList();
     RefreshInfo();
 }
Exemplo n.º 6
0
 private void Document_GeneratorSet(string name, HeightRender.Generator generator)
 {
     GeneratorName = name;
 }