Example #1
0
 /// <summary>
 /// 下一段对话
 /// </summary>
 public virtual TDBaseTalkFragment Next()
 {
     if (IsLockNextTalk)
     {
         return(null);
     }
     if (!IsStartTalk)
     {
         return(null);
     }
     if (IsInOption() && CurSelectOption.IsInv())
     {
         return(CurTalkFragment());
     }
     CurTalkIndex++;
     if (IsHave())
     {
         var ret = CurTalkFragment();
         Callback_OnNext?.Invoke(CurData, ret, CurTalkIndex);
         Callback_OnTalk?.Invoke(CurData, ret, CurTalkIndex);
         OnTalk(CurData, ret, CurTalkIndex);
         return(ret);
     }
     else
     {
         Stop();
         return(null);
     }
 }
Example #2
0
 public void Next()
 {
     Index++;
     if (Index >= Group.Count)
     {
         Callback_OnEnd?.Invoke();
         Index = -1;
         return;
     }
     Callback_OnNext?.Invoke(Group[Index], Index);
 }