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); } } }
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); }