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); }
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); } }