/// <summary> /// 开始一段旁白 /// isPause=暂停 /// isUnPauseOnEndTalk=对话结束后取消暂停 /// </summary> /// <param name="id"></param> public virtual NarrationFragment Start(string id) { CurData = TDLuaMgr.Get <TData>(id); if (CurData == null) { CLog.Error($"没有找到这个Plot:{id}"); return(null); } //如果剧情只显示一次,则返回 if (CurData.IsShowOnce && Showed.Contains(id)) { return(null); } CurNarrationIndex = 0; if (IsHave()) { Showed.Add(id); var ret = CurData.Fragments[CurNarrationIndex]; Callback_OnStartNarration?.Invoke(CurData, ret); Callback_OnChangeNarration?.Invoke(CurData); IsStartNarration = true; if (!PauseFlag) { BattleMgr.LockBattleStartFlow(true); PlotMgr?.SetPlotPause(true); } PauseFlag = true; return(ret); } return(null); }
/// <summary> /// 开始一段旁白 /// isPause=暂停 /// isUnPauseOnEndTalk=对话结束后取消暂停 /// </summary> /// <param name="id"></param> public virtual NarrationFragment Start(string id) { CurData = Table.Find(id); if (CurData == null) { CLog.Error($"没有找到这个Plot:{id}"); return(null); } CurNarrationIndex = 0; if (IsHave()) { var ret = CurData.Fragments[CurNarrationIndex]; Callback_OnStartNarration?.Invoke(CurData, ret); IsStartNarration = true; if (!PauseFlag) { SelfBaseGlobal.BattleMgr.LockGameStartFlow(true); SelfBaseGlobal.PlotMgr.EnablePlotMode(true); } PauseFlag = true; return(ret); } return(null); }