using cfg.DialogueCfg;
using Cysharp.Threading.Tasks;
using Framework;
using Gameplay;
using PhxhSDK;
using System;
using System.Collections.Generic;
using Random = UnityEngine.Random;
///
/// 台词管理器
///
public class DialogueManager : Singlenton, IInitable
{
///
/// 台词配置数据,key:角色id, value:台词配置数据
///
private Dictionary> dicDialogueData;
///
/// 是否初始化
///
private bool isInit;
#region 临时数据
///
/// 符合条件的台词数据
///
private readonly List listDicDialogueData = new();
#endregion
public void Init()
{
isInit = false;
dicDialogueData = new();
EventManager.Instance.Register(EventManager.EventName.AllConfigLoad, InitData);
}
public void Release()
{
EventManager.Instance.Unregister(EventManager.EventName.AllConfigLoad, InitData);
isInit = false;
dicDialogueData.Clear();
dicDialogueData = null;
}
///
/// 播放台词
///
///
///
public async UniTask