public override void OnInspectorGUI() { GUI.changed = false; OrbitEllipse orbit = (OrbitEllipse)target; OrbitEllipse.evolveType evolveMode = orbit.evolveMode; evolveMode = (OrbitEllipse.evolveType)EditorGUILayout.EnumPopup(new GUIContent("Evolve Mode", modeTip), orbit.evolveMode); if (GUI.changed) { Undo.RecordObject(orbit, "OrbitEllipse Change"); orbit.evolveMode = evolveMode; EditorUtility.SetDirty(orbit); } base.OnInspectorGUI(); // Display the Hill Radius as a guide for where to place moons... float r_hill = 0; if (orbit.GetCenterObject() != null) { r_hill = OrbitUtils.HillRadius(orbit.GetCenterObject(), orbit.transform.gameObject); } EditorGUILayout.LabelField(new GUIContent(string.Format("Hill Radius: {0}", r_hill), hillTip)); // EditorGUILayout.LabelField(new GUIContent(string.Format("Orbit Period: {0}", orbit.GetPeriod()), periodTip)); if (axisUpdated) { orbit.ApplyScale(GravityEngine.Instance().GetLengthScale()); } }