private void MaterialMasking(Rect Area, DynamicDecalSettings Settings)
        {
            if (Settings.maskMethod == DecalMaskMethod.Material || Settings.maskMethod == DecalMaskMethod.Both)
            {
                GUI.BeginGroup(Area);

                //Header
                if (Settings.maskMethod == DecalMaskMethod.Both)
                {
                    EditorGUI.LabelField(new Rect(0, 0, Area.width, 16), materials, EditorStyles.boldLabel);
                }

                //Background
                EditorGUI.DrawRect(new Rect(0, 16, Area.width, 108), LlockhamEditorUtility.BackgroundColor);

                //Create drop area
                Rect DropArea = new Rect(4, 20, Area.width - 8, 100);

                //Drag and drop materials
                if (DropArea.Contains(Event.current.mousePosition))
                {
                    switch (Event.current.type)
                    {
                    case EventType.DragUpdated:
                        if (DraggedMaterials.Count > 0)
                        {
                            DragAndDrop.visualMode = DragAndDropVisualMode.Link;
                        }
                        else
                        {
                            DragAndDrop.visualMode = DragAndDropVisualMode.Rejected;
                        }

                        Event.current.Use();
                        break;

                    case EventType.DragPerform:
                        DragAndDrop.AcceptDrag();
                        foreach (Material material in DraggedMaterials)
                        {
                            Settings.AddMaterial(material);
                        }
                        Event.current.Use();
                        break;

                    case EventType.MouseUp:
                        DragAndDrop.PrepareStartDrag();
                        break;
                    }
                }

                //Material scroll view
                materialScrollPosition = GUI.BeginScrollView(DropArea, materialScrollPosition, new Rect(0, 0, Area.width - 8, Settings.Materials.Count * 20), GUIStyle.none, GUIStyle.none);
                for (int i = 0; i < Settings.Materials.Count; i++)
                {
                    EditorGUI.DrawRect(new Rect(0, i * 20, Area.width - 8, 18), LlockhamEditorUtility.ForegroundColor);
                    EditorGUI.LabelField(new Rect(4, i * 20, 120, 18), Settings.Materials[i].name);
                    if (GUI.Button(new Rect(Area.width - 34, 3 + (i * 20), 20, 12), " - "))
                    {
                        Settings.RemoveMaterial(i);
                    }
                }

                GUI.EndScrollView();
                GUI.EndGroup();
            }
        }