protected float Compare(float a, float b, MinMaxType compareType) { if (compareType == MinMaxType.Maximum) { return(Mathf.Max(a, b)); } return(Mathf.Min(a, b)); }
private void CheckMinMax(int i, float spaceMult, MinMaxType type, float spaceOffset, float offsetMod) { if (varList[i].minMax) { GUILayout.Space(spaceOffset); // Int Min/Max if (type == MinMaxType.Int) { EditorGUI.LabelField(new Rect(spaceOffset, posRect.y + 2.5f + (spaceMult), 200, 18), "Minimum"); varList[i].min = EditorGUI.IntField(new Rect(spaceOffset + 75 - offsetMod, posRect.y + (spaceMult), 75 - offsetMod, 18), (int)varList[i].min); EditorGUI.LabelField(new Rect(spaceOffset + 175, posRect.y + 2.5f + (spaceMult), 200, 18), "Maximum"); varList[i].max = EditorGUI.IntField(new Rect(spaceOffset + 250 - offsetMod, posRect.y + (spaceMult), 75 - offsetMod, 18), (int)varList[i].max); } // Float Min/Max else if (type == MinMaxType.Float) { EditorGUI.LabelField(new Rect(spaceOffset, posRect.y + 2.5f + (spaceMult), 200, 18), "Minimum"); varList[i].min = EditorGUI.FloatField(new Rect(spaceOffset + 75 - offsetMod, posRect.y + (spaceMult), 75 - offsetMod, 18), varList[i].min); EditorGUI.LabelField(new Rect(spaceOffset + 175, posRect.y + 2.5f + (spaceMult), 200, 18), "Maximum"); varList[i].max = EditorGUI.FloatField(new Rect(spaceOffset + 250 - offsetMod, posRect.y + (spaceMult), 75 - offsetMod, 18), varList[i].max); } // Checks to make sure min and max values do not exceed logical boundaries if (varList[i].max < varList[i].min) { varList[i].max = varList[i].min; } else if (varList[i].min > varList[i].max) { varList[i].min = varList[i].max; } } else { GUILayout.Space(space); } }
public override void OnInspectorGUI() { serializedObject.Update(); GUI.enabled = false; SerializedProperty prop = serializedObject.FindProperty("m_Script"); EditorGUILayout.PropertyField(prop, true, new GUILayoutOption[0]); GUI.enabled = true; EditorGUILayout.PropertyField(serializedObject.FindProperty("minMaxType")); GUILayout.Space(20); MinMaxType minMaxType = (MinMaxType)serializedObject.FindProperty("minMaxType").objectReferenceValue; if (minMaxType == null) { EditorGUILayout.PropertyField(serializedObject.FindProperty("min")); EditorGUILayout.PropertyField(serializedObject.FindProperty("max")); EditorGUILayout.PropertyField(serializedObject.FindProperty("defaultValue")); } serializedObject.ApplyModifiedProperties(); }