Beispiel #1
0
    public void SyncQuest(DailyQuestData data)
    {
        QuestProgress baseProgress;

        if (!dailyQuest.ContainsKey(data.id))
        {
            baseProgress = data.CreateInstance();
            dailyQuest.Add(data.id, baseProgress);
        }
        else
        {
            baseProgress        = data.CreateInstance(dailyQuest[data.id].progress, dailyQuest[data.id].state);
            dailyQuest[data.id] = baseProgress;
        }

        baseProgress.SetState(data.required);
    }
        int Add일일Quest(DailyQuestData questData, ref DBUserQuests userQuestInfo)
        {
            userQuestInfo.DQTick = Manager.일일퀘스트_기준시간().Ticks;
            userQuestInfo.DQID   = questData.ID;
            userQuestInfo.DQIsC  = false;

            for (int i = 0; i < userQuestInfo.DQList.Count; ++i)
            {
                userQuestInfo.DQList[i].ID  = questData.QuestIDs[i];
                userQuestInfo.DQList[i].IsC = false;
                userQuestInfo.DQList[i].RT  = 1;
                userQuestInfo.DQList[i].ST  = 1;
                userQuestInfo.DQList[i].PR  = 0;
            }

            return(userQuestInfo.DQList.Count);
        }
Beispiel #3
0
    public void SetData(DailyQuestData questData, Action <int> reloadData, int index)
    {
        this.questData     = questData;
        this.questProgress = questData.GetProgress();
        this.reloadData    = reloadData;
        this.index         = index;

        progressTxt.text = questProgress.progress + "/" + questData.required;
        type.text        = ((QuestType)questData.type).ToString();
        id.text          = "id: " + questData.id;

        var fill = (float)questProgress.progress / questData.required;

        progress.fillAmount = fill;

        claimBtn.interactable = questProgress.GetState() == QuestState.Done;

        InitOrUpdateView();
    }