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