private void NotifyTaskTimerTick(Quest quest, QuestTask task) { OnTaskTimerTick?.Invoke(quest, task); if (QuestManager.SavingLoading.autoSave) { QuestManager.Save(); } }
private void NotifyTaskProgressChanged(Quest quest, QuestTask task) { OnTaskProgressChanged?.Invoke(quest, task); if (QuestManager.SavingLoading.autoSave) { QuestManager.Save(); } }
public void NotifyObserver() { Quest current = QuestManager.current.GetQuest(this.m_Quest.Name); if (current != null && current.Status == Status.Active) { QuestTask task = current.tasks.FirstOrDefault(x => x.Name == m_TaskName); if (task.Status == Status.Active) { task.AddProgress(this.m_Progress); } } }
public override ActionStatus OnUpdate() { Quest current = QuestManager.current.GetQuest(quest.Name); if (current != null && current.Status == Status.Active) { QuestTask task = current.tasks.FirstOrDefault(x => x.Name == m_TaskName); if (task.Status == Status.Active) { task.AddProgress(this.m_Progress); return(ActionStatus.Success); } } Debug.Log("Fail"); return(ActionStatus.Failure); }
public void Repaint(QuestTask task) { if (this.m_TaskProgress != null) { this.m_TaskProgress.color = this.m_DefaultColor; if (task.Status == Status.Completed) { this.m_TaskProgress.color = this.m_CompletedColor; } if (task.Status == Status.Failed) { this.m_TaskProgress.color = this.m_FailedColor; } this.m_TaskProgress.text = task.ProgressMessage; } if (this.m_TaskDescription != null) { this.m_TaskDescription.color = this.m_DefaultColor; if (task.Status == Status.Completed) { this.m_TaskDescription.color = this.m_CompletedColor; } if (task.Status == Status.Failed) { this.m_TaskDescription.color = this.m_FailedColor; } this.m_TaskDescription.text = task.Description; } this.m_LastTask = task; }
public void UpdateQuestIndicator() { availableQuest.SetActive(false); completeableQuest.SetActive(false); questTask.SetActive(false); for (int i = 0; i < taskSets.Count; i++) { Quest quest = QuestManager.current.ActiveQuests.FirstOrDefault(x => x.Name == taskSets[i].quest.Name); if (quest != null) { QuestTask task = quest.tasks.FirstOrDefault(x => x.Name == taskSets[i].task); if (task != null && task.Status == Status.Active) { questTask.SetActive(true); } } } if (this.m_QuestCollection != null) { Quest combleteable = this.m_QuestCollection.FirstOrDefault(x => x.CanComplete()); if (combleteable != null) { completeableQuest.SetActive(true); return; } Quest available = this.m_QuestCollection.FirstOrDefault(x => x.CanActivate()); if (available != null) { availableQuest.SetActive(true); } } }
public virtual void SetObjectData(Dictionary <string, object> data) { string name = (string)data["Name"]; this.m_Status = (Status)data["Status"]; if (data.ContainsKey("Tasks")) { List <object> mTasks = data["Tasks"] as List <object>; for (int i = 0; i < mTasks.Count; i++) { Dictionary <string, object> taskData = mTasks[i] as Dictionary <string, object>; if (taskData != null) { QuestTask task = tasks.FirstOrDefault(x => x.Name == (string)taskData["Name"]); task.owner = this; if (task != null) { task.SetObjectData(taskData); } } } } }
public virtual void GetObjectData(Dictionary <string, object> data) { data.Add("Name", this.Name); data.Add("Status", (int)this.Status); if (tasks.Count > 0) { List <object> mTasks = new List <object>(); for (int i = 0; i < tasks.Count; i++) { QuestTask task = tasks[i]; if (task != null) { Dictionary <string, object> taskData = new Dictionary <string, object>(); task.GetObjectData(taskData); mTasks.Add(taskData); } else { mTasks.Add(null); } } data.Add("Tasks", mTasks); } }
private void OnTaskStatusChanged(Quest quest, QuestTask task) { QuestSlot slot = GetOrCreateSlot(quest); slot.Repaint(quest); }
public void NotifyTaskTimerTick(QuestTask task) { OnTaskTimerTick?.Invoke(this, task); }
public void NotifyTaskProgressChange(QuestTask task) { OnTaskProgressChanged?.Invoke(this, task); }
private void OnTaskChanged(Quest quest, QuestTask task) { UpdateQuestIndicator(); }