private void OnUpdateAchievement_Subscribe(IAchievementProgressData pProgressData) { foreach (var pLogic in OnCalculateAchieve) { pProgressData.eAchieveProgress = pLogic.Calculate_AchievementProgress(this, pProgressData.eAchieveProgress); } OnUpdateAchieve.DoNotify(this); }
public void Event_SetProgressData(IAchievementProgressData pProgressData) { this.pProgressData = pProgressData; if (pProgressData != null) { OnUpdateAchievement_Subscribe(pProgressData); pProgressData.OnUpdateAchievemenet.Subscribe += OnUpdateAchievement_Subscribe; } }
public void DoAdd_AchievementProgress(IAchievementProgressData pProgressData) { string strKey = pProgressData.strAchievementKey; if (_mapAchievementData.ContainsKey(strKey)) { Debug.LogError($"{name} - {nameof(DoAdd_AchievementProgress)} - Error Already ContainKey({strKey})"); return; } _mapAchievementData[strKey].Event_SetProgressData(pProgressData); }
public string GetAchievementProgressDescription(IAchievementProgressData pProgressData, EAchieveProgress eQuestProgress) { switch (eQuestProgress) { case EAchieveProgress.None: return(strAchievementKey + " 퀘스트 안받고있음"); case EAchieveProgress.In_Progress: return(strAchievementKey + " 퀘스트 진행중"); case EAchieveProgress.Success: return(strAchievementKey + " 퀘스트 성공"); case EAchieveProgress.Fail: return(strAchievementKey + " 퀘스트 실패"); case EAchieveProgress.GiveUp: return(strAchievementKey + " 퀘스트 포기"); default: return(strAchievementKey + " 에러"); } }