コード例 #1
0
 public void ResetAllConversations()
 {
     defaultConvos.Clear();
     conversation = null;
     missionsOffered.Clear();
     currentMissionConvos = null;
 }
コード例 #2
0
 private void LoadConversation()
 {
     // Load the conversation of the NPC based on mission progress
     if (missionsOffered.Count == 0)
     {
         // Random default convo (Temporary until better system is set for default convos)
         conversation = defaultConvos.Count > 0 ? defaultConvos[Random.Range(0, defaultConvos.Count)] : null;
     }
     else
     {
         currentMissionConvos = missionsOffered[0];
         if (startedMission == null)
         {
             conversation = currentMissionConvos.beforeConvo;
         }
         else if (startedMission != null && ProgressManager.Instance.GetMissionStatus(startedMission) == MissionStatusCode.Started)
         {
             conversation = currentMissionConvos.duringConvo;
         }
         // Objective of mission has been completed but now talking to NPC to close mission
         else if (startedMission != null && ProgressManager.Instance.GetMissionStatus(startedMission) == MissionStatusCode.Completed)
         {
             conversation = currentMissionConvos.afterConvo;
         }
     }
 }
コード例 #3
0
    private void HandleEndMissionFinishConversation(Conversation finishedConversation)
    {
        if (finishedConversation != conversation)
        {
            return;
        }
        DialogueManager.Instance.OnFinishConversation -= HandleEndMissionFinishConversation;

        ReactiveActionFinishConversation();

        currentMissionConvos = null;
    }