public override void OnInspectorGUI() { VehicleBehaviour vehicleBehaviour = (VehicleBehaviour)target; this.serializedObject.Update(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(vehicleModel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(physicsSphere); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(vehicleBody); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(vehicleType); vehicleBehaviour.VehicleWheelCount = (VehicleType)vehicleType.enumValueIndex; EditorGUILayout.EndHorizontal(); if (vehicleType.enumValueIndex == 0) { DisplayTwoWheels(); DisplayFourWheels(); } else if (vehicleType.enumValueIndex == 1) { DisplayTwoWheels(); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(vehicleSettings); EditorGUILayout.EndHorizontal(); serializedObject.ApplyModifiedProperties(); if (GUILayout.Button("Update Vehicle Settings", GUILayout.MinHeight(100), GUILayout.Height(50))) { vehicleBehaviour.SetVehicleSettings(); } }