public static string GetRandomEmoji(EmojiFlags flags) { Random rand = new Random(); IEnumerable <EmojiEntry> matches = emojiIndex.Where(e => e.mFlags.HasFlag(flags)); EmojiEntry selection = matches.ElementAt(rand.Next(matches.Count())); Emoji.UnicodeSequence outSequence = new Emoji.UnicodeSequence(1); outSequence.Add(selection.mEmoji); if (selection.mFlags.HasFlag(EmojiFlags.HasSkinTone)) { outSequence.Add(GetRandomSkinTone(rand)); } if (selection.mFlags.HasFlag(EmojiFlags.HasGender)) { Emoji.UnicodeString?gender = GetRandomGender(rand); if (gender != null) { outSequence.Add(ZWJ); outSequence.Add(gender.Value); outSequence.Add(Emoji.VariationSelectors.VS16); } } return(outSequence.ToString()); }
public void Initialize(string tableName) { dataDic = new Dictionary <int, EmojiEntry> (); ReadLines(tableName); for (int i = 0; i < linesList.Count; i++) { var item = linesList [i].Split('\t'); if (item.Length == 5) { EmojiEntry table = new EmojiEntry(item); dataDic.Add(table.Id, table); } } }