using UnityEditor; using UnityEditor.UI; using UnityEngine; using UnityEngine.UI; [CanEditMultipleObjects] #if UNITY_3_5 [CustomEditor(typeof(ButtonIV))] #else [CustomEditor(typeof(ButtonIV), true)] #endif public class ButtonIVEditor : ButtonEditor { private static bool foldout2; private static bool foldout3; private static bool foldout4; private static bool foldout5; public override void OnInspectorGUI() { ButtonIV btn = (ButtonIV)target; EditorGUI.BeginChangeCheck(); EditorGUI.BeginChangeCheck(); #region Transition 2 EditorGUI.indentLevel++; EditorGUILayout.BeginVertical(GUI.skin.GetStyle("HelpBox")); { foldout2 = EditorGUILayout.Foldout(foldout2, "Transition 2"); if (foldout2) { btn.transition2 = (Selectable.Transition)EditorGUILayout.EnumPopup("Transition 2", btn.transition2); if (btn.transition2 == Selectable.Transition.ColorTint) { btn.targetGraphic2 = (Graphic)EditorGUILayout.ObjectField("Target 2", btn.targetGraphic2, typeof(Graphic), true); ColorBlock colorblock = btn.colors2; colorblock.normalColor = EditorGUILayout.ColorField("Normal Color", colorblock.normalColor); colorblock.pressedColor = EditorGUILayout.ColorField("Pressed Color", colorblock.pressedColor); colorblock.disabledColor = EditorGUILayout.ColorField("Disabled Color", colorblock.disabledColor); btn.colors2 = colorblock; } else if (btn.transition2 == Selectable.Transition.SpriteSwap) { btn.targetGraphic2 = (Graphic)EditorGUILayout.ObjectField("Target 2", btn.targetGraphic2, typeof(Graphic), true); SpriteState spritestate = btn.spriteState2; btn.normalSprite2 = (Sprite)EditorGUILayout.ObjectField("Normal Sprite", btn.normalSprite2, typeof(Sprite), true); spritestate.pressedSprite = (Sprite)EditorGUILayout.ObjectField("Pressed Sprite", spritestate.pressedSprite, typeof(Sprite), true); spritestate.disabledSprite = (Sprite)EditorGUILayout.ObjectField("Disabled Sprite", spritestate.disabledSprite, typeof(Sprite), true); btn.spriteState2 = spritestate; } EditorGUILayout.Space(3); } } EditorGUILayout.EndVertical(); EditorGUI.indentLevel--; #endregion Transition 2 #region Transition 3 EditorGUI.indentLevel++; EditorGUILayout.BeginVertical(GUI.skin.GetStyle("HelpBox")); { foldout3 = EditorGUILayout.Foldout(foldout3, "Transition 3"); if (foldout3) { btn.transition3 = (Selectable.Transition)EditorGUILayout.EnumPopup("Transition 3", btn.transition3); if (btn.transition3 == Selectable.Transition.ColorTint) { btn.targetGraphic3 = (Graphic)EditorGUILayout.ObjectField("Target 3", btn.targetGraphic3, typeof(Graphic), true); ColorBlock colorblock = btn.colors3; colorblock.normalColor = EditorGUILayout.ColorField("Normal Color", colorblock.normalColor); //colorblock.highlightedColor = EditorGUILayout.ColorField("Highlighted Color", colorblock.highlightedColor); colorblock.pressedColor = EditorGUILayout.ColorField("Pressed Color", colorblock.pressedColor); //colorblock.selectedColor = EditorGUILayout.ColorField("Selected Color", colorblock.selectedColor); colorblock.disabledColor = EditorGUILayout.ColorField("Disabled Color", colorblock.disabledColor); btn.colors3 = colorblock; } else if (btn.transition3 == Selectable.Transition.SpriteSwap) { btn.targetGraphic3 = (Graphic)EditorGUILayout.ObjectField("Target 3", btn.targetGraphic3, typeof(Graphic), true); SpriteState spritestate = btn.spriteState3; //GUILayout.BeginHorizontal(); btn.normalSprite3 = (Sprite)EditorGUILayout.ObjectField("Normal Sprite", btn.normalSprite3, typeof(Sprite), true); //spritestate.highlightedSprite = (Sprite)EditorGUILayout.ObjectField("Highlighted Sprite", spritestate.highlightedSprite, typeof(Sprite), true); spritestate.pressedSprite = (Sprite)EditorGUILayout.ObjectField("Pressed Sprite", spritestate.pressedSprite, typeof(Sprite), true); //spritestate.selectedSprite = (Sprite)EditorGUILayout.ObjectField("Selected Sprite", spritestate.selectedSprite, typeof(Sprite), true); spritestate.disabledSprite = (Sprite)EditorGUILayout.ObjectField("Disabled Sprite", spritestate.disabledSprite, typeof(Sprite), true); //GUILayout.EndHorizontal(); btn.spriteState3 = spritestate; } EditorGUILayout.Space(3); } } EditorGUILayout.EndVertical(); EditorGUI.indentLevel--; #endregion Transition 3 #region Transition 4 EditorGUI.indentLevel++; EditorGUILayout.BeginVertical(GUI.skin.GetStyle("HelpBox")); { foldout4 = EditorGUILayout.Foldout(foldout4, "Transition 4"); if (foldout4) { btn.transition4 = (Selectable.Transition)EditorGUILayout.EnumPopup("Transition 4", btn.transition4); if (btn.transition4 == Selectable.Transition.ColorTint) { btn.targetGraphic4 = (Graphic)EditorGUILayout.ObjectField("Target 4", btn.targetGraphic4, typeof(Graphic), true); ColorBlock colorblock = btn.colors4; colorblock.normalColor = EditorGUILayout.ColorField("Normal Color", colorblock.normalColor); //colorblock.highlightedColor = EditorGUILayout.ColorField("Highlighted Color", colorblock.highlightedColor); colorblock.pressedColor = EditorGUILayout.ColorField("Pressed Color", colorblock.pressedColor); //colorblock.selectedColor = EditorGUILayout.ColorField("Selected Color", colorblock.selectedColor); colorblock.disabledColor = EditorGUILayout.ColorField("Disabled Color", colorblock.disabledColor); btn.colors4 = colorblock; } else if (btn.transition4 == Selectable.Transition.SpriteSwap) { btn.targetGraphic4 = (Graphic)EditorGUILayout.ObjectField("Target 4", btn.targetGraphic4, typeof(Graphic), true); SpriteState spritestate = btn.spriteState4; //GUILayout.BeginHorizontal(); btn.normalSprite4 = (Sprite)EditorGUILayout.ObjectField("Normal Sprite", btn.normalSprite4, typeof(Sprite), true); //spritestate.highlightedSprite = (Sprite)EditorGUILayout.ObjectField("Highlighted Sprite", spritestate.highlightedSprite, typeof(Sprite), true); spritestate.pressedSprite = (Sprite)EditorGUILayout.ObjectField("Pressed Sprite", spritestate.pressedSprite, typeof(Sprite), true); //spritestate.selectedSprite = (Sprite)EditorGUILayout.ObjectField("Selected Sprite", spritestate.selectedSprite, typeof(Sprite), true); spritestate.disabledSprite = (Sprite)EditorGUILayout.ObjectField("Disabled Sprite", spritestate.disabledSprite, typeof(Sprite), true); //GUILayout.EndHorizontal(); btn.spriteState4 = spritestate; } EditorGUILayout.Space(3); } } EditorGUILayout.EndVertical(); EditorGUI.indentLevel--; #endregion Transition 4 #region Transition 5 EditorGUI.indentLevel++; EditorGUILayout.BeginVertical(GUI.skin.GetStyle("HelpBox")); { foldout5 = EditorGUILayout.Foldout(foldout5, "Transition 5"); if (foldout5) { btn.transition5 = (Selectable.Transition)EditorGUILayout.EnumPopup("Transition 5", btn.transition5); if (btn.transition5 == Selectable.Transition.ColorTint) { btn.targetGraphic5 = (Graphic)EditorGUILayout.ObjectField("Target 5", btn.targetGraphic5, typeof(Graphic), true); ColorBlock colorblock = btn.colors5; colorblock.normalColor = EditorGUILayout.ColorField("Normal Color", colorblock.normalColor); //colorblock.highlightedColor = EditorGUILayout.ColorField("Highlighted Color", colorblock.highlightedColor); colorblock.pressedColor = EditorGUILayout.ColorField("Pressed Color", colorblock.pressedColor); //colorblock.selectedColor = EditorGUILayout.ColorField("Selected Color", colorblock.selectedColor); colorblock.disabledColor = EditorGUILayout.ColorField("Disabled Color", colorblock.disabledColor); btn.colors5 = colorblock; } else if (btn.transition5 == Selectable.Transition.SpriteSwap) { btn.targetGraphic5 = (Graphic)EditorGUILayout.ObjectField("Target 5", btn.targetGraphic5, typeof(Graphic), true); SpriteState spritestate = btn.spriteState5; //GUILayout.BeginHorizontal(); btn.normalSprite5 = (Sprite)EditorGUILayout.ObjectField("Normal Sprite", btn.normalSprite5, typeof(Sprite), true); //spritestate.highlightedSprite = (Sprite)EditorGUILayout.ObjectField("Highlighted Sprite", spritestate.highlightedSprite, typeof(Sprite), true); spritestate.pressedSprite = (Sprite)EditorGUILayout.ObjectField("Pressed Sprite", spritestate.pressedSprite, typeof(Sprite), true); //spritestate.selectedSprite = (Sprite)EditorGUILayout.ObjectField("Selected Sprite", spritestate.selectedSprite, typeof(Sprite), true); spritestate.disabledSprite = (Sprite)EditorGUILayout.ObjectField("Disabled Sprite", spritestate.disabledSprite, typeof(Sprite), true); //GUILayout.EndHorizontal(); btn.spriteState5 = spritestate; } EditorGUILayout.Space(3); } } EditorGUILayout.EndVertical(); EditorGUI.indentLevel--; #endregion Transition 5 if(EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(btn); } base.OnInspectorGUI(); } }