public void AddQuestProgress(BaseListenerData data) { if (playerQuestData.OnQuestNotify(data)) { Save(); } }
public static void NotifyListener(BaseListenerData data) { if (ResgisteredModules.ContainsKey(data.subjectType)) { var listeners = ResgisteredModules[data.subjectType]; for (int i = 0; i < listeners.Count; i++) { listeners[i].Execute(data); } } }
public bool OnQuestNotify(BaseListenerData data) { bool isChanged = false; foreach (var questProgress in dailyQuest) { if (questProgress.Value.IsShouldNotify(data)) { isChanged = true; var required = LoadResourceController.GetDailyQuestCollection().GetDailyQuestData(questProgress.Key) .required; questProgress.Value.AddProgress(data); questProgress.Value.SetState(required); } } return(isChanged); }
public override bool IsShouldNotify(BaseListenerData baseQuestData) { return(baseQuestData.subjectType == SubjectType.PlayCampaign); }
public virtual bool IsShouldNotify(BaseListenerData baseQuestData) { return(true); }
public virtual void AddProgress(BaseListenerData baseQuestData) { progress += baseQuestData.number; }
public virtual void Execute(BaseListenerData data) { var playerQuest = DataPlayer.GetModule <PlayerDailyQuest>(); playerQuest.AddQuestProgress(data); }
public override bool IsShouldNotify(BaseListenerData baseQuestData) { return(baseQuestData.subjectType == SubjectType.WatchAds); }