Example #1
0
 /// <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);
 }
Example #2
0
 /// <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);
 }