Пример #1
0
        public void DoSetForce_AchievementProgress(string strAchievementKey, EAchieveProgress eProgress, bool bIsNotifyObserver = true)
        {
            AchievementData pData = DoGet_AchievementData(strAchievementKey);

            pData.pProgressData.eAchieveProgress = eProgress;

            if (bIsNotifyObserver)
            {
                pData.OnUpdateAchieve.DoNotify(pData);
            }
        }
            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 + " 에러");
                }
            }
        public EAchieveProgress Calculate_AchievementProgress(AchievementDataManager.AchievementData pData, EAchieveProgress eCurrentProgress)
        {
            if (eCurrentProgress == EAchieveProgress.Fail || eCurrentProgress == EAchieveProgress.GiveUp)
            {
                return(eCurrentProgress);
            }

            if (pData.pProgressData.eAchieveProgress == EAchieveProgress.None && pData.pProgressData.iAchievementCount == 0)
            {
                return(EAchieveProgress.None);
            }

            if (pData.pAchievementData.iAchievementCount > pData.pProgressData.iAchievementCount)
            {
                return(EAchieveProgress.In_Progress);
            }
            else
            {
                return(EAchieveProgress.Success);
            }
        }