Net.Project.B/Src/Emoji/IEmojiData.cs

28 lines
758 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading;
using BITKit;
using Cysharp.Threading.Tasks;
namespace Net.Project.B.Emoji
{
public interface IEmojiData<T>:IDescription
{
public T Clip { get; }
}
public struct EmojiData<T>:IEmojiData<T>
{
public string Name { get; set; }
public string Description { get; set; }
public T Clip { get; set; }
}
public interface IEmojiService<T>
{
public event Func<IEmojiData<T>, CancellationToken, UniTask> OnPlayAsync;
public UniTask<IReadOnlyCollection<IEmojiData<T>>> GetAllEmojis();
public UniTask Play(IEmojiData<T> emojiData,CancellationToken cancellationToken=default);
}
}