public void ResetAllConversations() { defaultConvos.Clear(); conversation = null; missionsOffered.Clear(); currentMissionConvos = null; }
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; } } }
private void HandleEndMissionFinishConversation(Conversation finishedConversation) { if (finishedConversation != conversation) { return; } DialogueManager.Instance.OnFinishConversation -= HandleEndMissionFinishConversation; ReactiveActionFinishConversation(); currentMissionConvos = null; }