Ejemplo n.º 1
0
            internal CustomOrbitScene(OrbitSceneInfo info)
            {
                Debug.Log("CustomOrbitScene", "Custom Orbit Scene name = " + info.name);

                // Bodies
                planet = Parse(info.planet, planet);
                moons  = Parse(info.moons, moons);

                // Scatter
                scatter = Parse(info.scatter, scatter);

                // Kerbals
                kerbals = Parse(info.kerbals, kerbals);
            }
Ejemplo n.º 2
0
            void Awake()
            {
                // Orbit Scene Settings
                ConfigNode[] OrbitInfoNodes = UserSettings.ConfigNode?.GetNodes("OrbitScene");
                for (int i = 0; i < OrbitInfoNodes?.Length; i++)
                {
                    if (OrbitSceneInfo.DataBase == null)
                    {
                        OrbitSceneInfo.DataBase = new List <MenuSceneInfo>();
                    }

                    OrbitSceneInfo info = new OrbitSceneInfo(OrbitInfoNodes[i]);
                    AddUnique(OrbitSceneInfo.DataBase, info);
                }

                // Mun Scene Settings
                ConfigNode[] MunInfoNodes = UserSettings.ConfigNode?.GetNodes("MunScene");
                for (int i = 0; i < MunInfoNodes?.Length; i++)
                {
                    MunSceneInfo info = new MunSceneInfo(MunInfoNodes[i]);
                    AddUnique(MunSceneInfo.DataBase, info);
                }

                // Add Stock MunScene
                AddUnique(MunSceneInfo.DataBase, new MunSceneInfo("MunScene"));

                // Removed Non-Enabled
                if (OrbitSceneInfo.DataBase?.Count > 0)
                {
                    OrbitSceneInfo.DataBase.RemoveAll(i => !i.enabled);
                }
                if (MunSceneInfo.DataBase?.Count > 0)
                {
                    MunSceneInfo.DataBase.RemoveAll(i => !i.enabled);
                }
            }