private void AchievementReportDidComplete(bool success) { if (this.m_achievementsQueue.Count <= 0) { return; } if (!this.m_achievementsQueue[0].id.Equals(this.m_currentlySyncing)) { return; } if (success) { AchievementData.AchievementDataHolder achievement = Singleton <AchievementData> .Instance.GetAchievement(this.m_achievementsQueue[0].id); if (this.m_achievementsQueue[0].progress >= 100.0 && !achievement.synced) { this.m_achievementPopup.Show(this.m_achievementsQueue[0].id); achievement.synced = true; Singleton <AchievementData> .Instance.SetAchievement(this.m_achievementsQueue[0].id, achievement); } } this.m_currentlySyncing = null; this.m_achievementsQueueSemaphore = false; this.m_achievementsQueue.RemoveAt(0); }
public void ReportAchievementProgress(string achievementId, double progress) { if (this.Authenticated && !Application.isEditor) { AchievementQueueBlock item; item.id = achievementId; item.progress = progress; AchievementData.AchievementDataHolder achievement = Singleton <AchievementData> .Instance.GetAchievement(achievementId); achievement.progress = ((progress <= achievement.progress) ? achievement.progress : progress); achievement.completed = (progress >= 100.0); Singleton <AchievementData> .Instance.SetAchievement(achievementId, achievement); this.m_achievementsQueue.Add(item); } }