コード例 #1
0
            private static string Name(FrameType type,
                                       CelestialBody selected)
            {
                switch (type)
                {
                case FrameType.BODY_CENTRED_NON_ROTATING:
                    return(L10N.CelestialString(
                               "#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating",
                               new[] { selected }));

                case FrameType.BARYCENTRIC_ROTATING:
                    if (selected.is_root())
                    {
                        throw Log.Fatal("Naming barycentric rotating frame of root body");
                    }
                    else
                    {
                        return("DEPRECATED");
                    }

                case FrameType.BODY_CENTRED_PARENT_DIRECTION:
                    if (selected.is_root())
                    {
                        throw Log.Fatal(
                                  "Naming parent-direction rotating frame of root body");
                    }
                    else
                    {
                        return(L10N.ZWSPToHyphenBetweenNonCJK(L10N.CelestialString(
                                                                  "#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection",
                                                                  new[] { selected, selected.referenceBody })));
                    }

                case FrameType.BODY_SURFACE:
                    return(L10N.CelestialString(
                               "#Principia_ReferenceFrameSelector_Name_BodySurface",
                               new[] { selected }));

                default:
                    throw Log.Fatal("Unexpected type " + type.ToString());
                }
            }