public void Initialize(Rect guiRect) { var uiScaleMultiplier = GameSettings.UI_SCALE; // the supplied rect will have the UI scalar already factored in // // to respect the player's UI scale wishes, work out what the unscaled rect // would be. Then we'll apply the scale again in OnGUI so all of our GUILayout elements // will respect the multiplier var correctedRect = new Rect(guiRect.x, guiRect.y, guiRect.width / uiScaleMultiplier, guiRect.height / uiScaleMultiplier); _areaRect = correctedRect; _guiPivot = new Vector2(_areaRect.x, _areaRect.y); _guiScalar = new Vector2(GameSettings.UI_SCALE, GameSettings.UI_SCALE); //var applicants = HighLogic.CurrentGame.CrewRoster.Applicants.ToList(); var rand = new System.Random(); for (int i = 0; i < 10; i++) { KNames[0, i] = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Male, rand); KNames[1, i] = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Female, rand); KNames2Gender[i] = (rand.Next() % 2 == 0 ? ProtoCrewMember.Gender.Male : ProtoCrewMember.Gender.Female); KNames[2, i] = (KNames2Gender[i] == ProtoCrewMember.Gender.Male ? KNames[0, i] : KNames[1, i]); } enabled = true; traits = new Traits(); }
public void Initialize(Rect guiRect) { // the supplied rect will have the UI scalar already factored in var correctedRect = new Rect(guiRect.x, guiRect.y, guiRect.width, guiRect.height); _areaRect = correctedRect; _guiPivot = new Vector2(_areaRect.x, _areaRect.y); //var applicants = HighLogic.CurrentGame.CrewRoster.Applicants.ToList(); var rand = new System.Random(); for (int i = 0; i < MAX_HIRE_COUNT; i++) { KNames[0, i] = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Male, rand); KNames[1, i] = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Female, rand); KNames2Gender[i] = (rand.Next() % 2 == 0 ? ProtoCrewMember.Gender.Male : ProtoCrewMember.Gender.Female); KNames[2, i] = (KNames2Gender[i] == ProtoCrewMember.Gender.Male ? KNames[0, i] : KNames[1, i]); } enabled = true; traits = new Traits(); }
private string GenerateKerbalName(CivPopKerbalGender gender) { string res; if (CivPopKerbalGender.MALE.Equals(gender)) { res = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Male); } else { res = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Female); } return(res); }
protected override bool Generate() { List <Resource> resList = new List <Resource>(); resList.Add(new Resource("Steel", 2, 80208299)); resList.Add(new Resource("Wood", 5, 2702029)); resList.Add(new Resource("Diamond", 20, -975259340)); resList.Add(new Resource("Liquid Fuel", 0.8, 374119730)); resList.Add(new Resource("Oxydizer", 0.005, -1823983486)); resList.Add(new Resource("Mono Propellant", 0.6, 2001413032)); resList.Add(new Resource("Xenon Gas", 1.2, 1447111193)); resource = resList.ElementAt(UnityEngine.Random.Range(0, resList.Count)); resourceAmount = UnityEngine.Random.Range(5, 50) * 100; List <string> ships = new List <string> { "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\DR1-LL3-R_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\freighter large ( long range)_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\freighter medium ( long range)_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\freighter Medium_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\freighter small_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\Kirk MKI_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\Kortana the asrtroid huntress_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\luna slave transport_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\S-7 Scientific Vessel_refuel.craft", "GameData\\KerbalKommander\\Assets\\ships\\refuelContract\\Slave-7_refuel.craft", }; vesselName = CrewGenerator.GetRandomName(ProtoCrewMember.Gender.Male); synopsis = vesselName + " ran out of fuel, he need " + resourceAmount + " of " + resource + " in exchange of a reward.\nYou just need to carry the resources to his ship and dock whith it."; vesselName = vesselName + "'s ship"; CelestialBody body = FlightGlobals.Bodies[UnityEngine.Random.Range(1, FlightGlobals.Bodies.Count)]; Orbit orbit = new Orbit(UnityEngine.Random.Range(0, 360), UnityEngine.Random.Range(0, 0.3f), UnityEngine.Random.Range(Convert.ToSingle(body.Radius + body.atmosphereDepth), Convert.ToSingle(body.sphereOfInfluence)), UnityEngine.Random.Range(0, 360), 0000000000000000, 0, HighLogic.CurrentGame.UniversalTime, body); vessel = Tools.VesselSpawner.SpawnVessel(vesselName, ships.ElementAt(UnityEngine.Random.Range(0, ships.Count)), HighLogic.CurrentGame.flagURL, VesselType.Ship, Planetarium.fetch.Home, orbit, new List <ProtoCrewMember>()); name = "Refuel " + vessel.vesselName; reward = Convert.ToSingle(Math.Round(resourceAmount * resource.unitCost * 300)); targetBody = Planetarium.fetch.Home; this.AddParameter(new refuelingParameter(resource, vessel, resourceAmount, reward)); base.SetExpiry(25, 100); base.SetScience(0f, targetBody); base.SetDeadlineYears(10f, targetBody); base.SetReputation(0f, 0f, targetBody); base.SetFunds(0f, reward, 0f, targetBody); return(true); }
public static string KerbalName(ProtoCrewMember.Gender gender) { string defaultKerbalName = ""; do { defaultKerbalName = CrewGenerator.GetRandomName(gender, random); }while (nameCache.ContainsKey(defaultKerbalName)); string kerbalName = ""; do { kerbalName = DraftTwitchViewers.KerbalName(defaultKerbalName); }while (nameCache.ContainsKey(kerbalName)); nameCache.Add(kerbalName, 0); return(kerbalName); }
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(); }