/// <summary> /// Draws a field belonging to the object with the specified field name. /// </summary> /// <param name="obj">The object being drawn.</param> /// <param name="name">The name of the field.</param> public static void DrawField(object obj, string name) { var field = GetField(obj, name); if (field != null) { var prevValue = field.GetValue(obj); var value = ObjectInspector.DrawObject(new GUIContent(SplitCamelCase(name), GetFieldTooltip(field)), field.FieldType, prevValue, name, 0, null, null, field, true); if (prevValue != value && GUI.changed) { field.SetValue(obj, value); } } else { Debug.LogError("Error: Unable to find a field with name " + name + " on object " + obj); } }
/// <summary> /// Draws a field belonging to the object with the specified field name. /// </summary> /// <param name="obj">The object being drawn.</param> /// <param name="name">The name of the field.</param> public static void DrawField(object obj, string name) { var field = GetField(obj, name); if (field != null) { try { var prevValue = field.GetValue(obj); var value = ObjectInspector.DrawObject(new GUIContent(Shared.Editor.Utility.EditorUtility.SplitCamelCase(name), GetFieldTooltip(field)), field.FieldType, obj, prevValue, name, 0, null, null, field, true); if (prevValue != value && GUI.changed) { field.SetValue(obj, value); } } catch (Exception /*e*/) { } } else { Debug.LogError($"Error: Unable to find a field with name {name} on object {obj}."); } }