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);
        }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
        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();
            }
        }
Beispiel #5
0
 private void HandleReset()
 {
     MaterialLinker.UnlinkAll(materials[0]);
 }
Beispiel #6
0
 private void HandleReset()
 {
     MaterialLinker.UnlinkAll(editorData.materials[0]);
 }
Beispiel #7
0
 private void HandleReset()
 {
     MaterialLinker.UnlinkAll(Materials[0]);
     ShaderOptimizer.DeleteTags(Materials);
 }