31 lines
897 B
C#
31 lines
897 B
C#
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<AnimationClip>
|
|
{
|
|
public event Func<IEmojiData<AnimationClip>, CancellationToken, UniTask> OnPlayAsync;
|
|
|
|
public async UniTask<IReadOnlyCollection<IEmojiData<AnimationClip>>> GetAllEmojis()
|
|
|
|
{
|
|
var value = await ModService.LoadAssets<ScriptableEmojiCollection>("scriptable_emojis");
|
|
return value.SelectMany(x => x.GetEmojis).ToArray();
|
|
}
|
|
|
|
public async UniTask Play(IEmojiData<AnimationClip> emojiData, CancellationToken cancellationToken = default)
|
|
{
|
|
await OnPlayAsync.UniTaskFunc(emojiData, cancellationToken);
|
|
}
|
|
}
|
|
|
|
}
|