Esempio n. 1
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        GUILayout.BeginVertical("Box");
        EditorGUI.indentLevel++;
        EditorGUI.BeginChangeCheck();
        GUILayout.BeginVertical("Box");
        showFinalSlot = EditorGUILayout.Foldout(showFinalSlot, "FinalSlot");
        if (showFinalSlot)
        {
            EditorGUI.indentLevel++;
            finalSlotPositionX.intValue = EditorGUILayout.IntSlider("Position X", finalSlotPositionX.intValue, -cS.getSizeX() / 2, cS.getSizeX() / 2);
            finalSlotPositionY.intValue = EditorGUILayout.IntSlider("Position Y", finalSlotPositionY.intValue, -cS.getSizeY() / 2, cS.getSizeY() / 2);
            if (EditorGUI.EndChangeCheck())
            {
                cS.setPositionFinalSlot();
            }
            EditorGUI.indentLevel--;
        }
        GUILayout.EndVertical();

        GUILayout.BeginVertical("Box");
        showArrow = EditorGUILayout.Foldout(showArrow, "Arrows");
        if (showArrow)
        {
            EditorGUI.indentLevel++;
            EditorGUI.BeginChangeCheck();
            showLeftArrow = EditorGUILayout.Foldout(showLeftArrow, "LeftArrow");
            if (showLeftArrow)
            {
                EditorGUI.indentLevel++;
                leftArrowPositionX.intValue = EditorGUILayout.IntSlider("Position X", leftArrowPositionX.intValue, -cS.getSizeX() / 2, cS.getSizeX() / 2);
                leftArrowPositionY.intValue = EditorGUILayout.IntSlider("Position Y", leftArrowPositionY.intValue, -cS.getSizeY() / 2, cS.getSizeY() / 2);
                leftArrowRotation.intValue  = EditorGUILayout.IntSlider("Rotation", leftArrowRotation.intValue, 0, 360);
                if (EditorGUI.EndChangeCheck())
                {
                    cS.setArrowSettings();
                }
                EditorGUI.indentLevel--;
            }

            showRightArrow = EditorGUILayout.Foldout(showRightArrow, "RightArrow");
            if (showRightArrow)
            {
                EditorGUI.indentLevel++;
                EditorGUI.BeginChangeCheck();
                rightArrowPositionX.intValue = EditorGUILayout.IntSlider("Position X", rightArrowPositionX.intValue, -cS.getSizeX() / 2, cS.getSizeX() / 2);
                rightArrowPositionY.intValue = EditorGUILayout.IntSlider("Position Y", rightArrowPositionY.intValue, -cS.getSizeY() / 2, cS.getSizeY() / 2);
                rightArrowRotation.intValue  = EditorGUILayout.IntSlider("Rotation", rightArrowRotation.intValue, 0, 360);
                if (EditorGUI.EndChangeCheck())
                {
                    cS.setArrowSettings();
                }
                EditorGUI.indentLevel--;
            }
            EditorGUI.indentLevel--;
        }
        GUILayout.EndVertical();

        GUILayout.BeginVertical("Box");
        showDesign = EditorGUILayout.Foldout(showDesign, "Design");
        if (showDesign)
        {
            EditorGUI.indentLevel++;
            EditorGUI.BeginChangeCheck();
            showFinalSlotDesign = EditorGUILayout.Foldout(showFinalSlotDesign, "Finalslot");
            if (showFinalSlotDesign)
            {
                EditorGUI.indentLevel++;
                cS.finalSlotImage.sprite   = (Sprite)EditorGUILayout.ObjectField("Source Image", cS.finalSlotImage.sprite, typeof(Sprite), true);
                cS.finalSlotImage.color    = EditorGUILayout.ColorField("Color", cS.finalSlotImage.color);
                cS.finalSlotImage.material = (Material)EditorGUILayout.ObjectField("Material", cS.finalSlotImage.material, typeof(Material), true);
                string[] imageTypes = new string[4]; imageTypes[0] = "Filled"; imageTypes[1] = "Simple"; imageTypes[2] = "Sliced"; imageTypes[3] = "Tiled";
                imageTypeofFinalSlot = EditorGUILayout.Popup("Image Type", imageTypeofFinalSlot, imageTypes, EditorStyles.popup);
                if (imageTypeofFinalSlot == 0)
                {
                    cS.finalSlotImage.type = Image.Type.Filled; imageTypeofFinalSlot = 0;
                }
                else if (imageTypeofFinalSlot == 1)
                {
                    cS.finalSlotImage.type = Image.Type.Simple; imageTypeofFinalSlot = 1;
                }
                else if (imageTypeofFinalSlot == 2)
                {
                    cS.finalSlotImage.type = Image.Type.Sliced; imageTypeofFinalSlot = 2;
                }
                else if (imageTypeofFinalSlot == 3)
                {
                    cS.finalSlotImage.type = Image.Type.Tiled; imageTypeofFinalSlot = 3;
                }
                cS.finalSlotImage.fillCenter = EditorGUILayout.Toggle("Fill Center", cS.finalSlotImage.fillCenter);
                EditorGUI.indentLevel--;
            }

            showArrowDesign = EditorGUILayout.Foldout(showArrowDesign, "Arrows");
            if (showArrowDesign)
            {
                EditorGUI.indentLevel++;
                cS.arrowImage.sprite   = (Sprite)EditorGUILayout.ObjectField("Source Image", cS.arrowImage.sprite, typeof(Sprite), true);
                cS.arrowImage.color    = EditorGUILayout.ColorField("Color", cS.arrowImage.color);
                cS.arrowImage.material = (Material)EditorGUILayout.ObjectField("Material", cS.arrowImage.material, typeof(Material), true);
                string[] imageTypes = new string[4]; imageTypes[0] = "Filled"; imageTypes[1] = "Simple"; imageTypes[2] = "Sliced"; imageTypes[3] = "Tiled";
                imageTypeofArrows = EditorGUILayout.Popup("Image Type", imageTypeofArrows, imageTypes, EditorStyles.popup);
                if (imageTypeofArrows == 0)
                {
                    cS.arrowImage.type = Image.Type.Filled; imageTypeofArrows = 0;
                }
                else if (imageTypeofArrows == 1)
                {
                    cS.arrowImage.type = Image.Type.Simple; imageTypeofArrows = 1;
                }
                else if (imageTypeofArrows == 2)
                {
                    cS.arrowImage.type = Image.Type.Sliced; imageTypeofArrows = 2;
                }
                else if (imageTypeofArrows == 3)
                {
                    cS.arrowImage.type = Image.Type.Tiled; imageTypeofArrows = 3;
                }
                cS.arrowImage.fillCenter = EditorGUILayout.Toggle("Fill Center", cS.arrowImage.fillCenter);
                EditorGUI.indentLevel--;
            }
            if (EditorGUI.EndChangeCheck())
            {
                cS.setImages();
            }
            EditorGUI.indentLevel--;
        }
        GUILayout.EndVertical();

        EditorGUI.indentLevel--;
        serializedObject.ApplyModifiedProperties();
        SceneView.RepaintAll();
        EditorGUI.indentLevel--;
        GUILayout.EndVertical();
    }