Пример #1
0
 public void SetController(Slicer2DInputController inputController, Slicer2DVisuals visualsSettings, Slice2DLayer layerObject, Slicer2DControllerEventHandling eventHandling)
 {
     input        = inputController;
     visuals      = visualsSettings;
     sliceLayer   = layerObject;
     eventHandler = eventHandling;
 }
    public void EditorVisuals(Slicer2DVisuals id)
    {
        EditorGUI.indentLevel = EditorGUI.indentLevel + 1;
        id.drawSlicer         = EditorGUILayout.Toggle("Enable Visuals", id.drawSlicer);

        if (id.drawSlicer == true)
        {
            id.zPosition   = EditorGUILayout.FloatField("Slicer Z", id.zPosition);
            id.slicerColor = (Color)EditorGUILayout.ColorField("Slicer Color", id.slicerColor);
            id.visualScale = EditorGUILayout.Slider("Slicer Scale", id.visualScale, 0.5f, 50f);

            id.lineBorder = EditorGUILayout.Toggle("Border", id.lineBorder);

            if (id.lineBorder == true)               // Disable?
            {
                id.borderScale = EditorGUILayout.Slider("Border Scale", id.borderScale, 1f, 5f);
            }

            id.lineWidth = EditorGUILayout.Slider("Line Width", id.lineWidth, 0.05f, 5f);

            id.minVertexDistance = EditorGUILayout.Slider("Min Vertex Distance", id.minVertexDistance, 0.05f, 5f);

            id.vertexSpace = EditorGUILayout.Slider("Vertex Space", id.vertexSpace, 0f, 1f);

            id.customMaterial = EditorGUILayout.Toggle("Custom Material", id.customMaterial);

            lineEndFoldout = EditorGUILayout.Foldout(lineEndFoldout, "Line Ending");
            if (lineEndFoldout)
            {
                EditorGUI.indentLevel = EditorGUI.indentLevel + 2;

                id.lineEndingType = (Slicer2DLineEndingType)EditorGUILayout.EnumPopup("Type", id.lineEndingType);
                if (id.lineEndingType == Slicer2DLineEndingType.Circle)
                {
                    id.lineEndingEdgeCount = (int)EditorGUILayout.Slider("Edges", id.lineEndingEdgeCount, 3, 30);
                }

                id.lineEndWidth = EditorGUILayout.Slider("Width", id.lineEndWidth, 0.05f, 5f);
                id.lineEndSize  = EditorGUILayout.Slider("Size", id.lineEndSize, 0.05f, 5f);

                id.customEndingsImage = EditorGUILayout.Toggle("Custom Image", id.customEndingsImage);

                if (id.customEndingsImage)
                {
                    id.customEndingImageMaterial = (Material)EditorGUILayout.ObjectField("Ending Material", id.customEndingImageMaterial, typeof(Material), true);
                }

                EditorGUI.indentLevel = EditorGUI.indentLevel - 2;
            }

            if (id.customMaterial)
            {
                id.customFillMaterial    = (Material)EditorGUILayout.ObjectField("Fill", id.customFillMaterial, typeof(Material), true);
                id.customBoarderMaterial = (Material)EditorGUILayout.ObjectField("Boarder", id.customBoarderMaterial, typeof(Material), true);
            }

            if (id.lineWidth < 0.01f)
            {
                id.lineWidth = 0.01f;
            }

            if (id.lineEndSize < 0.05f)
            {
                id.lineEndSize = 0.05f;
            }

            if (id.minVertexDistance < 0.05f)
            {
                id.minVertexDistance = 0.05f;
            }
        }

        EditorGUI.indentLevel = EditorGUI.indentLevel - 1;
    }