public string GenerateFirstName(Gender gender) { string femaleName = GetRandomString(StringListId.FemaleNames); string maleName = GetRandomString(StringListId.MaleNames); string ungenderedName = GetRandomString(StringListId.UngenderedNames); List <string> possibleNames = new List <string>(); if (gender != Gender.Female) { AddNonNull(femaleName, possibleNames); } else if (gender != Gender.Male) { AddNonNull(maleName, possibleNames); } else if (gender != Gender.Male && gender != Gender.Female) { AddNonNull(ungenderedName, possibleNames); } // if we have no possible names, then (hopefully it's just because ungendered is empty // so throw in both of the others if (possibleNames.Count == 0) { AddNonNull(femaleName, possibleNames); AddNonNull(maleName, possibleNames); AddNonNull(ungenderedName, possibleNames); } return(Rng.RandomListElement <string>(possibleNames)); }
List <IdType> _keys = new List <IdType>(); // faster for iteration, or for picking randomly public T GetRandom() { if (_keys == null || _keys.Count == 0) { Dbg.Log("No valid keys loaded!"); return(null); } return(Get(Rng.RandomListElement <IdType>(_keys))); }
public string GetRandom() { return(IsValid() ? Rng.RandomListElement <string>(Strings) : null); }