Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
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);
        }
    }