public override void OnInspectorGUI() { DrawDefaultInspector(); if (LazyField(() => EditorGUILayout.FloatField("Radius", Scale.Value), out var scale)) { Scale.Value = scale; } if (LazyField(() => EditorGUILayout.IntField("Offset", Offset.Value), out var offset)) { Offset.Value = offset; } if (self.UnityEditorOnly_Abilities != null) { foreach (var(name, value, setter) in self.UnityEditorOnly_Abilities) { LazyField( () => EditorGUILayout.IntSlider(name, value, self.Range.x, self.Range.y), setter ); } self.UpdateStatus(); } }