Пример #1
0
 private void HandlingLast_Normal()
 {
     foreach (TalkObjectiveData to in currentTalker.GetData <TalkerData>().objectivesTalkToThis.Where(o => !o.IsComplete))
     {
         if (to.AllPrevComplete && !to.AnyNextOngoing)
         {
             buttonDatas.Add(new ButtonWithTextData(to.parent.Model.Title, delegate
             {
                 currentTalkObj = to;
                 CurrentType    = DialogueType.Objective;
                 ShowButtons(false, false, false, false);
                 StartDialogue(currentTalkObj.Model.Dialogue);
             }));
         }
     }
     foreach (SubmitObjectiveData so in currentTalker.GetData <TalkerData>().objectivesSubmitToThis.Where(o => !o.IsComplete))
     {
         if (so.AllPrevComplete && !so.AnyNextOngoing)
         {
             buttonDatas.Add(new ButtonWithTextData(so.Model.DisplayName, delegate
             {
                 if (CheckSumbitAble(so))
                 {
                     currentSubmitObj = so;
                     CurrentType      = DialogueType.Objective;
                     ShowButtons(false, false, false, false);
                     StartOneWords(new DialogueWords(currentWords.model.TalkerInfo, currentSubmitObj.Model.WordsWhenSubmit));
                 }
             }));
         }
     }
     currentTalker.OnTalkFinished();
 }
Пример #2
0
 private void Clear()
 {
     currentTalker    = null;
     currentQuest     = null;
     currentTalkObj   = null;
     currentSubmitObj = null;
     choiceOptionSaid.Clear();
     ClearOptions();
     HideQuestDescription();
 }
Пример #3
0
 public void GoBackDefault()
 {
     currentOption    = null;
     currentDialogue  = null;
     currentQuest     = null;
     currentSubmitObj = null;
     currentTalkObj   = null;
     currentWords     = null;
     choiceOptionSaid.Clear();
     ClearOptions();
     HideQuestDescription();
     StartTalking(currentTalker);
 }
Пример #4
0
 private void HandlingLast_TalkObj()
 {
     if (!currentWords.IsDone)
     {
         return;
     }
     currentTalkObj.UpdateTalkState();
     if (currentTalkObj.IsComplete)
     {
         QuestData qParent = currentTalkObj.parent;
         //该目标是任务的最后一个目标,则可以直接提交任务
         if (qParent.currentQuestHolder == currentTalker.GetData <TalkerData>() && qParent.IsComplete && qParent.Objectives.IndexOf(currentTalkObj) == qParent.Objectives.Count - 1)
         {
             buttonDatas.Add(new ButtonWithTextData("继续", delegate
             {
                 currentQuest = qParent;
                 CurrentType  = DialogueType.Quest;
                 StartDialogue(qParent.Model.CompleteDialogue);
             }));
         }
     }
     currentTalkObj = null;//重置管理器的对话目标以防出错
 }