Beispiel #1
0
    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());
        }
    }