Ejemplo n.º 1
0
    private void UpdateQuestProgress(QuestData.TableRecord quest, int targetIndex)
    {
        var progress = quest.QuestProgress[targetIndex];
        var complete = quest.questCondition[targetIndex];

#if QUEST_DEBUG
        Debug.Log($"{quest.KEY} quest : {targetIndex}->{progress}/{complete}");
#endif
        if (progress < complete)
        {
            ++quest.QuestProgress[targetIndex];
            UpdateQuestListUI(quest);
        }
        else
        {
            // 해당 목표 초과 달성
        }

        bool completeQuest = true;
        for (int i = 0; i < quest.questCondition.Count; i++)
        {
            if (quest.questCondition[i] != quest.QuestProgress[i])
            {
                completeQuest = false;
                break;
            }
        }

        if (completeQuest)
        {
            QuestClear(quest.KEY);
            Debug.Log($"///Quest Clear/// Quest : {quest.KEY} {quest.questName}");
        }
    }
Ejemplo n.º 2
0
    public void UpdateQuestListUI(QuestData.TableRecord quest)
    {
        // 진행중인 퀘스트 목록 업데이트
        bool complete = true;

        for (int i = 0; i < quest.questCondition.Count; i++)
        {
            if (quest.questCondition[i] != quest.QuestProgress[i])
            {
                complete = false;
            }
        }

        QuestProgressUI.Instance.UpdateList(quest, complete);
    }
Ejemplo n.º 3
0
    private void UpdateNumberOfItem(QuestData.TableRecord quest, int targetIndex, int itemIndex)
    {
//        var num = InventoryManager.GetInstance[itemIndex]._Stack;
//        quest.QuestProgress[targetIndex] = num;
//        UpdateQuestListUI(quest);
    }