void DrawHireCrewWindow(int windowID) { GUILayout.BeginVertical(); foreach (ProtoCrewMember Crew in crewToHire) { GUILayout.BeginHorizontal(); if (Crew.gender == ProtoCrewMember.Gender.Female) { GUILayout.Label(KerbalePortrait); } else { GUILayout.Label(KerbalPortrait); } GUILayout.Label(Crew.name + "\n" + Crew.trait, HighLogic.Skin.label); if (Crew.experienceLevel >= 1) { GUILayout.Label(starTrue); } else { GUILayout.Label(starFalse); } if (Crew.experienceLevel >= 2) { GUILayout.Label(starTrue); } else { GUILayout.Label(starFalse); } if (Crew.experienceLevel >= 3) { GUILayout.Label(starTrue); } else { GUILayout.Label(starFalse); } if (Crew.experienceLevel >= 4) { GUILayout.Label(starTrue); } else { GUILayout.Label(starFalse); } if (Crew.experienceLevel >= 5) { GUILayout.Label(starTrue); } else { GUILayout.Label(starFalse); } GUILayout.Label("Price: " + (Crew.experienceLevel * 10000 + 10000), HighLogic.Skin.label); if (GUILayout.Button("Hire", HighLogic.Skin.button)) { if (Funding.Instance.Funds < Crew.experienceLevel * 10000 + 10000) { ScreenMessages.PostScreenMessage("Not enough funds", 5.0f, ScreenMessageStyle.UPPER_CENTER); } else { foreach (Part CrewPart in vessel.Parts) { if (CrewPart.protoModuleCrew.Count < CrewPart.CrewCapacity) { Funding.Instance.AddFunds(-(Crew.experienceLevel * 10000 + 10000), TransactionReasons.CrewRecruited); CrewPart.AddCrewmember(Crew); crewToHire.Remove(Crew); CrewPart.Actions.part.SpawnIVA(); CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); ScreenMessages.PostScreenMessage("Crew Added !", 5.0f, ScreenMessageStyle.UPPER_CENTER); break; } } } } GUILayout.EndHorizontal(); } if (GUILayout.Button("Refresh", HighLogic.Skin.button)) { crewToHire.Clear(); GenerateCrew(); } if (GUILayout.Button("Close", HighLogic.Skin.button)) { foreach (Part parts in vessel.Parts) { parts.SpawnIVA(); if (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraFlight(); } CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); } hireCrewWindow = false; MainMenu.menuWindow = true; } GUILayout.EndVertical(); }
void DrawGUISlaves(int windowID) { GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("Hello! When trafficking slaves, make sure the police don't find out!", HighLogic.Skin.label); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Male " + " Price: " + slavePrice.ToString(), HighLogic.Skin.label); if (GUILayout.Button("Buy Slave", HighLogic.Skin.button)) { if (Funding.Instance.Funds < 1000) { ScreenMessages.PostScreenMessage("Not enough eunds", 5.0f, ScreenMessageStyle.UPPER_CENTER); } else { Funding.Instance.AddFunds(-slavePrice, TransactionReasons.CrewRecruited); ProtoCrewMember slave = HighLogic.CurrentGame.CrewRoster.GetNewKerbal(ProtoCrewMember.KerbalType.Tourist); slave.ChangeName(CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Male) + " (slave)"); slave.gender = ProtoCrewMember.Gender.Male; slave.courage = 1; slave.stupidity = 1; slave.isBadass = true; foreach (Part CrewPart in vessel.Parts) { if (CrewPart.protoModuleCrew.Count < CrewPart.CrewCapacity) { CrewPart.AddCrewmemberAt(slave, CrewPart.protoModuleCrew.Count); CrewPart.SpawnIVA(); if (CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); } break; } } ScreenMessages.PostScreenMessage("New Slave Added (male)", 5.0f, ScreenMessageStyle.UPPER_CENTER); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Female" + " Price: " + slavePrice.ToString(), HighLogic.Skin.label); if (GUILayout.Button("Buy Slave", HighLogic.Skin.button)) { if (Funding.Instance.Funds < 900) { ScreenMessages.PostScreenMessage("Not enough funds", 5.0f, ScreenMessageStyle.UPPER_CENTER); } else { Funding.Instance.AddFunds(-slavePrice, TransactionReasons.CrewRecruited); ProtoCrewMember slave = HighLogic.CurrentGame.CrewRoster.GetNewKerbal(ProtoCrewMember.KerbalType.Tourist); slave.type = ProtoCrewMember.KerbalType.Tourist; slave.ChangeName(CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Female) + " (slave)"); slave.gender = ProtoCrewMember.Gender.Female; slave.courage = 1; slave.stupidity = 1; slave.isBadass = true; foreach (Part CrewPart in vessel.Parts) { if (CrewPart.protoModuleCrew.Count < CrewPart.CrewCapacity) { CrewPart.AddCrewmemberAt(slave, CrewPart.protoModuleCrew.Count); CrewPart.SpawnIVA(); if (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraFlight(); } CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); break; } } ScreenMessages.PostScreenMessage("New Slave Added (female)", 5.0f, ScreenMessageStyle.UPPER_CENTER); } } GUILayout.EndHorizontal(); GUILayout.Label("Sell Slaves:", HighLogic.Skin.label); scrollPos = GUILayout.BeginScrollView(scrollPos, HighLogic.Skin.scrollView); foreach (Part vPart in vessel.Parts) { foreach (ProtoCrewMember slaves in vPart.protoModuleCrew) { if (slaves.type == ProtoCrewMember.KerbalType.Tourist) { GUILayout.BeginHorizontal(); GUILayout.Label("Name: " + slaves.name, HighLogic.Skin.label); GUILayout.Label("Gender: " + slaves.gender.ToString()); GUILayout.Label("Price: " + slavePrice.ToString()); if (GUILayout.Button("Sell", HighLogic.Skin.button)) { ScreenMessages.PostScreenMessage("Slave selled", 5.0f, ScreenMessageStyle.UPPER_CENTER); Funding.Instance.AddFunds(slavePrice, TransactionReasons.CrewRecruited); vPart.protoModuleCrew.Remove(slaves); vPart.DespawnIVA(); if (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraFlight(); } CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); vPart.SpawnIVA(); if (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraFlight(); } CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); break; } GUILayout.EndHorizontal(); } } } GUILayout.EndScrollView(); if (GUILayout.Button("Close", HighLogic.Skin.button)) { slaveWindow = false; MainMenu.menuWindow = true; foreach (Part parts in vessel.Parts) { parts.SpawnIVA(); if (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Flight) { CameraManager.Instance.SetCameraFlight(); } CameraManager.Instance.SetCameraMap(); CameraManager.Instance.SetCameraFlight(); } } GUILayout.EndVertical(); }