bool IsProfessionChecked(Human.ProfessionType prof) { switch (prof) { case Human.ProfessionType.Agent: return(AgentsFilter.isOn); case Human.ProfessionType.Operative: return(OperativesFilter.isOn); case Human.ProfessionType.Scientist: return(ScientistsFilter.isOn); case Human.ProfessionType.D_Personnel: return(DPersonnelFilter.isOn); } return(false); }
public Human GetNewHuman(Human.SexType Sex, Human.ProfessionType Profession, float SpecialChance) { if (Sex == Human.SexType.NoMatter) { Sex = Random.Range(0, 2) == 0 ? Human.SexType.Male : Human.SexType.Female; } HashSet <int> FreeSpecial; if (Sex == Human.SexType.Male) { FreeSpecial = FreePregeneratedMen; } else { FreeSpecial = FreePregeneratedWomen; } if (Random.value <= SpecialChance && FreeSpecial.Count > 0) { var Enum = FreeSpecial.GetEnumerator(); int elemPos = Random.Range(0, FreeSpecial.Count); for (int i = 0; i < elemPos; i++) { Enum.MoveNext(); } FreeSpecial.Add(Enum.Current); if (Sex == Human.SexType.Male) { return(GameData.Data.HumanGenerator.PreGeneratedMen[Enum.Current]); } else { return(GameData.Data.HumanGenerator.PreGeneratedWomen[Enum.Current]); } } else { return(GameData.Data.HumanGenerator.GenerateHuman(Sex)); } }