public KillMonsterProgressInfo[] GetDetailedKillMonsterProgresses(int questCode)
    {
        TotalKillMonsterProgress totalProgress = null;

        if (totalProgressDic.TryGetValue(questCode, out totalProgress))
        {
            return(totalProgress.Progress);
        }
        else
        {
            Debug.Log($"QuestProgress_KillMonster -> TotalKillMonsterProgress 탐색용 Dictionary에 {questCode} : 퀘스트가 존재하지 않음");
            return(null);
        }
    }
    public void StartQuest(int questCode, TargetMonsterData[] targets)
    {
        TotalKillMonsterProgress newProgress = new TotalKillMonsterProgress();

        newProgress.QuestCode = questCode;
        newProgress.Completed = false;
        newProgress.Progress  = new KillMonsterProgressInfo[targets.Length];
        for (int i = 0; i < targets.Length; ++i)
        {
            newProgress.Progress[i] = new KillMonsterProgressInfo();
            newProgress.Progress[i].TargetMonster    = targets[i].MonsterCode;
            newProgress.Progress[i].CurrentKillCount = 0;
            newProgress.Progress[i].GoalKillCount    = targets[i].KillCount;
        }
        totalProgressDic.Add(questCode, newProgress);
    }
    // Getter
    public bool GetHasCompletedByQuestCode(int questCode)
    {
        TotalKillMonsterProgress progress = null;

        if (totalProgressDic.TryGetValue(questCode, out progress))
        {
            if (progress.Completed)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            Debug.Log($"QuestProgress_KillMonster -> TotalKillMonsterProgress 탐색용 Dictionary에 {questCode} : 퀘스트가 존재하지 않음");
            return(false);
        }
    }