public override void OnInspectorGUI() { AllSetters.RemoveNullOrUnpopulated(); serializedObject.ApplyModifiedProperties(); ListDisplayEditor.Init(); serializedObject.Update(); }
private void OnEnable() { if (target == null) { return; } Setter = (AllSetters)target; ListDisplayEditor = new ListDisplayEditor <AllSetters>(this); }
static ModelAccess() { var t = typeof(T); var fields = t.GetAllFields(); var props = t.GetFilteredProperties(fields); AllGetters = GetAllGetters(props, fields); AllSetters = GetAllSetters(props, fields); Getters = AllGetters .GroupBy(x => x.Name, StringComparer.OrdinalIgnoreCase) .Select(x => x.OrderBy(y => y.ModelInfo.Depth).First()) .ToDictionary(x => x.Name, x => x, StringComparer.OrdinalIgnoreCase); Setters = AllSetters .GroupBy(x => x.Name, StringComparer.OrdinalIgnoreCase) .Select(x => x.OrderBy(y => y.ModelInfo.Depth).First()) .ToDictionary(x => x.Name, x => x, StringComparer.OrdinalIgnoreCase); }