public DiscussionProgressInfo[] GetDetailedDiscussionProgresses(int questCode) { TotalDiscussionProgress totalProgress = null; if (totalProgressDic.TryGetValue(questCode, out totalProgress)) { return(totalProgress.Progress); } else { Debug.Log($"QuestProgress_Discussion -> TotalDiscussionProgress 탐색용 Dictionary에 {questCode} : 퀘스트가 존재하지 않음"); return(null); } }
public void StartQuest(int questCode, int[] targetNPCs) { TotalDiscussionProgress newProgress = new TotalDiscussionProgress(); newProgress.QuestCode = questCode; newProgress.Completed = false; newProgress.Progress = new DiscussionProgressInfo[targetNPCs.Length]; for (int i = 0; i < targetNPCs.Length; ++i) { newProgress.Progress[i] = new DiscussionProgressInfo(); newProgress.Progress[i].TargetNPC = targetNPCs[i]; newProgress.Progress[i].TalkCompleted = false; } totalProgressDic.Add(questCode, newProgress); }
// Getter public bool GetHasCompletedByQuestCode(int questCode) { TotalDiscussionProgress totalProgress = null; if (totalProgressDic.TryGetValue(questCode, out totalProgress)) { if (totalProgress.Completed) { return(true); } else { return(false); } } else { Debug.Log($"QuestProgress_Discussion -> TotalDiscussionProgress 탐색용 Dictionary에 {questCode} : 퀘스트가 존재하지 않음"); return(false); } }