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); }
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(); }