public override void OnInspectorGUI() { serializedObject.Update(); CustomUtilities.DrawScriptableObjectField <MaterialsProperties>((MaterialsProperties)target); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray, 8); EditorGUILayout.LabelField("Default material", EditorStyles.boldLabel); EditorGUILayout.HelpBox("A default material parameter corresponds to any ground or spatial volume without a specific \"material tag\". " + "A Surface affects grounded movement, while a Volume affects not grounded movement.", MessageType.Info); GUILayout.Space(10); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray); EditorGUILayout.LabelField("Default surface", EditorStyles.boldLabel); CustomUtilities.DrawArrayElement(defaultSurface, null, true); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray); EditorGUILayout.LabelField("Default volume", EditorStyles.boldLabel); CustomUtilities.DrawArrayElement(defaultVolume, null, true); // -------------------------------------------------------------------------------------------------------- GUILayout.Space(10); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray); EditorGUILayout.LabelField("Tagged materials", EditorStyles.boldLabel); GUILayout.Space(10); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray, 8); EditorGUILayout.LabelField("Surfaces", EditorStyles.boldLabel); CustomUtilities.DrawArray(surfaces, "tagName"); CustomUtilities.DrawEditorLayoutHorizontalLine(Color.gray, 8); EditorGUILayout.LabelField("Volumes", EditorStyles.boldLabel); CustomUtilities.DrawArray(volumes, "tagName"); serializedObject.ApplyModifiedProperties(); }