void ShowHeaderContextMenu(Rect position, ShaderPart property, Material material) { var menu = new GenericMenu(); menu.AddItem(new GUIContent("Reset"), false, delegate() { property.CopyFromMaterial(new Material(material.shader)); List <Material> linked_materials = MaterialLinker.GetLinked(property.materialProperty); if (linked_materials != null) { foreach (Material m in linked_materials) { property.CopyToMaterial(m); } } }); menu.AddItem(new GUIContent("Copy"), false, delegate() { Mediator.copy_material = new Material(material); }); menu.AddItem(new GUIContent("Paste"), false, delegate() { property.CopyFromMaterial(Mediator.copy_material); List <Material> linked_materials = MaterialLinker.GetLinked(property.materialProperty); if (linked_materials != null) { foreach (Material m in linked_materials) { property.CopyToMaterial(m); } } }); menu.DropDown(position); }
private void DrawLinkSettings(Rect rect, Event e) { if (GuiHelper.Button(rect, Styles.icon_style_linked, Styles.COLOR_ICON_ACTIVE_CYAN, MaterialLinker.IsLinked(ShaderEditor.active.currentProperty.materialProperty))) { ShaderEditor.input.Use(); List <Material> linked_materials = MaterialLinker.GetLinked(ShaderEditor.active.currentProperty.materialProperty); MaterialLinker.Popup(rect, linked_materials, ShaderEditor.active.currentProperty.materialProperty); } }
private void HandleLinkedMaterials() { List <Material> linked_materials = MaterialLinker.GetLinked(materialProperty); if (linked_materials != null) { foreach (Material m in linked_materials) { this.CopyToMaterial(m); } } }
private void DrawLinkSettings(Rect rect, Event e) { Rect buttonRect = new Rect(rect); buttonRect.width = 20; buttonRect.x += rect.width - 45; buttonRect.y += 1; buttonRect.height -= 4; List <Material> linked_materials = MaterialLinker.GetLinked(ThryEditor.currentlyDrawing.currentProperty.materialProperty); Texture2D icon = Styles.inactive_link_icon; if (linked_materials != null) { icon = Styles.active_link_icon; } if (GUI.Button(buttonRect, icon, EditorStyles.largeLabel)) { MaterialLinker.Popup(buttonRect, linked_materials, ThryEditor.currentlyDrawing.currentProperty.materialProperty); e.Use(); } }
private void HandleReset() { MaterialLinker.UnlinkAll(materials[0]); }
private void HandleReset() { MaterialLinker.UnlinkAll(editorData.materials[0]); }
private void HandleReset() { MaterialLinker.UnlinkAll(Materials[0]); ShaderOptimizer.DeleteTags(Materials); }