public override void OnInspectorGUI() { GUIStyle boldFoldout = new GUIStyle(EditorStyles.foldout); boldFoldout.fontStyle = FontStyle.Bold; GearboxTransmission targetScript = (GearboxTransmission)target; GearboxTransmission[] allTargets = new GearboxTransmission[targets.Length]; isPrefab = F.IsPrefab(targetScript); for (int i = 0; i < targets.Length; i++) { Undo.RecordObject(targets[i], "Transmission Change"); allTargets[i] = targets[i] as GearboxTransmission; } DrawDefaultInspector(); if (!isPrefab && targetScript.gameObject.activeInHierarchy) { showButtons = EditorGUILayout.Foldout(showButtons, "Quick Actions", boldFoldout); EditorGUI.indentLevel++; if (showButtons) { if (GUILayout.Button("Calculate RPM Ranges")) { foreach (GearboxTransmission curTarget in allTargets) { curTarget.CalculateRpmRanges(); } } } EditorGUI.indentLevel--; } if (GUI.changed) { EditorUtility.SetDirty(targetScript); } }