예제 #1
0
 public MaterialEditor(Material CurrentMaterial)
 {
     InitializeComponent();
     this.Text  = CurrentMaterial.Name + " - Material";
     this.Title = CurrentMaterial.Name + " - Material";
     MaterialEditorUIGenerator.MaterialToUI(CurrentMaterial, this.Editor);
     this._CurrentMaterial = CurrentMaterial;
     for (int i = 0; i < ShaderMaterialTranslator.Translator.Entries.Count; i++)
     {
         ToolStripMenuItem NewItem = new ToolStripMenuItem(ShaderMaterialTranslator.Translator.Entries[i].ID);
         NewItem.Tag       = i;
         NewItem.ForeColor = Color.White;
         NewItem.BackColor = Color.FromArgb(30, 30, 30);
         NewItem.Click    += new EventHandler(AddMaterialNode);
         if (ShaderMaterialTranslator.Translator.Entries[i].Type == ShaderMaterialTranslatorEntryType.Generic)
         {
             genericToolStripMenuItem.DropDownItems.Add(NewItem);
         }
         if (ShaderMaterialTranslator.Translator.Entries[i].Type == ShaderMaterialTranslatorEntryType.Surface)
         {
             surfaceToolStripMenuItem.DropDownItems.Add(NewItem);
         }
         if (ShaderMaterialTranslator.Translator.Entries[i].Type == ShaderMaterialTranslatorEntryType.Texture)
         {
             textureToolStripMenuItem.DropDownItems.Add(NewItem);
         }
     }
 }
예제 #2
0
        private void AddMaterialNode(object sender, EventArgs e)
        {
            ToolStripMenuItem Item = sender as ToolStripMenuItem;
            int          Index     = Convert.ToInt32(Item.Tag);
            MaterialNode NewNode   = ShaderMaterialTranslator.Translator.Entries[Index].ToMaterialNode(_CurrentMaterial);

            _CurrentMaterial.Nodes.Add(NewNode);
            MaterialEditorUIGenerator.MaterialNodeToUI(_CurrentMaterial, NewNode, this.Editor);
        }