using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Threading; using BITKit; using BITKit.Mod; using Cysharp.Threading.Tasks; using UnityEngine; namespace Net.Project.B.Emoji { public class UnityEmojiService : IEmojiService { public event Func, CancellationToken, UniTask> OnPlayAsync; public async UniTask>> GetAllEmojis() { var value = await ModService.LoadAssets("scriptable_emojis"); return value.SelectMany(x => x.GetEmojis).ToArray(); } public async UniTask Play(IEmojiData emojiData, CancellationToken cancellationToken = default) { await OnPlayAsync.UniTaskFunc(emojiData, cancellationToken); } } }