public override void OnInspectorGUI() { if (!target) { target = (TerrainTransparency)base.target; } bool changeMade = DrawDefaultInspector(); if (GUILayout.Button("Update Transparency Map")) { target.UpdateTransparencyMap(); target.ApplyTransparencyMap(); } // if auto-update is enabled, and just-drawn inspector made changes or an undo/redo has occurred if (target.autoUpdateTransparencyMap && (changeMade || (new[] { EventType.ValidateCommand, EventType.Used }.Contains(Event.current.type) && Event.current.commandName == "UndoRedoPerformed"))) { target.UpdateTransparencyMap(); } }