/// <summary> /// Removes criteria progress from the player. /// </summary> /// <param name="achievementCriteriaId"></param> /// <returns></returns> public bool RemoveProgress(AchievementCriteriaId achievementCriteriaId) { AchievementProgressRecord achievementProgressRecord; if (m_progressRecords.TryGetValue(achievementCriteriaId, out achievementProgressRecord)) { RemoveProgress(achievementProgressRecord); return true; } return false; }
/// <summary> /// Returns progress with given achievement's criteria /// </summary> /// <param name="achievementCriteriaId"></param> /// <returns></returns> public AchievementProgressRecord GetAchievementCriteriaProgress(AchievementCriteriaId achievementCriteriaId) { AchievementProgressRecord entry; m_progressRecords.TryGetValue(achievementCriteriaId, out entry); return entry; }
/// <summary> /// Returns the corresponding ProgressRecord. Creates a new one if the player doesn't have progress record. /// </summary> /// <param name="achievementCriteriaId"></param> /// <returns></returns> internal AchievementProgressRecord GetOrCreateProgressRecord(AchievementCriteriaId achievementCriteriaId) { AchievementProgressRecord achievementProgressRecord; if (!m_progressRecords.TryGetValue(achievementCriteriaId, out achievementProgressRecord)) { achievementProgressRecord = AchievementProgressRecord.CreateAchievementProgressRecord(Owner, achievementCriteriaId, 0); AddProgressRecord(achievementProgressRecord); } return achievementProgressRecord; }