private static Kaomoji GetRandom(bool clone) { //Load data if not already loaded. if (!KaomojiDataHandler.IsLoaded) { KaomojiDataHandler.Load(); } //Find a random value in the registry. Random rnd = new Random(); Kaomoji k = Registry[rnd.Next(0, Registry.Count)]; if (clone) { k = (Kaomoji)k.Clone(); } return(k); }
/// <summary> /// Finds a random Kaomoji with the specified filter parameters. /// </summary> public static Kaomoji GetRandom(RegistryFilter filter, KaomojiFlags.Category flag) { Kaomoji kaomoji = GetRandom(false); if (filter == RegistryFilter.AllowOnly) { while (!kaomoji.Flags.ContainsFlag(flag)) { kaomoji = GetRandom(false); } } //if(filter == RegistryFilter.Exclude) //TODO change this if more filters are added! else { while (kaomoji.Flags.ContainsFlag(flag)) { kaomoji = GetRandom(false); } } return((Kaomoji)kaomoji.Clone()); }