void Start() { this.Log("Start"); if (gameSettings.Enabled) { button.Visible = true; CrewRoster crewRoster = HighLogic.CurrentGame.CrewRoster; var knownCrew = gameSettings.knownCrew; foreach (ProtoCrewMember crewMember in crewRoster) { if (crewMember.rosterStatus != ProtoCrewMember.RosterStatus.ASSIGNED && knownCrew.ContainsKey(crewMember.name)) { this.Log("Deleting crew member: " + crewMember.name); knownCrew.Remove(crewMember.name); } } GameEvents.onCrewOnEva.Add(OnCrewOnEva); GameEvents.onCrewBoardVessel.Add(OnCrewBoardVessel); GameEvents.onGameSceneLoadRequested.Add(OnGameSceneLoadRequested); } else { button.Visible = false; monitoringWindow.SetVisible(false); Destroy(this); } }
void Start() { this.Log("Start, new game = " + gameSettings.IsNewSave); button.Visible = true; if (gameSettings.IsNewSave) { this.Log("New save detected!"); configWindow.SetVisible(true); gameSettings.IsNewSave = false; } AddLifeSupport als = new AddLifeSupport(globalSettings); als.run(); CrewRoster crewRoster = HighLogic.CurrentGame.CrewRoster; var knownCrew = gameSettings.knownCrew; foreach (ProtoCrewMember crewMember in crewRoster) { if (crewMember.rosterStatus != ProtoCrewMember.RosterStatus.ASSIGNED && knownCrew.ContainsKey(crewMember.name)) { this.Log("Deleting crew member: " + crewMember.name); knownCrew.Remove(crewMember.name); } } }
protected override void DrawWindowContents(int windowID) { scrollPosition = GUILayout.BeginScrollView(scrollPosition); GUILayout.BeginVertical(); double currentTime = Planetarium.GetUniversalTime(); CrewRoster crewRoster = HighLogic.CurrentGame.CrewRoster; GUILayout.Label("Number of crew: " + crewRoster.GetList().Count, headerStyle); foreach (ProtoCrewMember crewMember in crewRoster) { string respawnTime = ""; if (crewMember.rosterStatus == ProtoCrewMember.RosterStatus.MISSING) { respawnTime = ", Respawn in " + Utilities.FormatTime(crewMember.UTaR - currentTime); } string vessel = (crewMember.KerbalRef != null) ? crewMember.KerbalRef.InVessel.vesselName : "Unknown"; string part = (crewMember.KerbalRef != null) ? crewMember.KerbalRef.InPart.ToString() : "Unknown"; GUILayout.Label(crewMember.name + ", " + crewMember.rosterStatus + ", " + vessel + ", " + part + respawnTime, labelStyle); } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.Space(8); }
public string GetRandomName(CrewRoster roster) { int i = 10; string name; do { name = names [Random.Range (0, names.Count)]; i--; } while (i > 0 && NameInRoster (name, roster)); return name; }
private bool NameInRoster(string name, CrewRoster roster) { bool found = false; foreach (ProtoCrewMember crew in roster) { if (crew.name == name) { found = true; } } foreach (ProtoCrewMember crew in roster.Applicants) { if (crew.name == name) { found = true; } } return found; }