/// <summary>Draws a button that toggles on-scene trigger editing and the adding or removing of a Trigger Manager component</summary> /// <param name="railcam2DCore">The Railcam2DCore component selected in the Inspector</param> private void DrawTriggerEditingButton(Railcam2DCore railcam2DCore) { EditorGUILayout.BeginHorizontal(); ManagerLabel("Trigger Editing", "Enable on-scene trigger editing and add a Trigger Manager component to the game object"); var oldGUIColor = GUI.color; if (railcam2DCore.GetComponent(typeof(TriggerManager)) == null) { if (GUILayout.Button("Enable", GUILayout.Height(24f), GUILayout.Width(130f))) { Undo.AddComponent <TriggerManager>(railcam2DCore.gameObject); } } else { GUI.color = new Color32(154, 181, 217, 255); if (GUILayout.Button("Enabled", GUILayout.Height(24f), GUILayout.Width(130f))) { Undo.DestroyObjectImmediate(railcam2DCore.GetComponent(typeof(TriggerManager))); GUIUtility.ExitGUI(); } } GUI.color = oldGUIColor; EditorGUILayout.EndHorizontal(); }