Пример #1
0
            internal CustomMunScene(MunSceneInfo info)
            {
                // Sky
                if (info.atmosphere != null)
                {
                    atmosphere = new MenuObject(info.atmosphere);
                }

                bodies = Parse(info.bodies, bodies);

                // Terrain
                if (info.terrain != null)
                {
                    terrain = new MenuObject(info.terrain);
                }

                // Scatter
                boulders = ParseBoulders(info.scatter);
                scatter  = ParseScatter(info.scatter);

                // ShipWreck
                if (info.wreck != null)
                {
                    wreck = new MenuObject(info.wreck);
                }
                if (info.ground != null)
                {
                    ground = new MenuObject(info.ground);
                }

                // Kerbals
                kerbals = Parse(info.kerbals, kerbals);
            }
Пример #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);
                }
            }