Example #1
0
    void Start()
    {
        PlayerAchievementsData achievementsData = SaveManager.GetInstance().LoadPersistentData(SaveManager.ACHIEVMENTS_PATH).GetData <PlayerAchievementsData>();

        gravityUnlockable.SetActive(achievementsData.IsAchievementUnlocked(PlayerAchievementsData.SESSION_H_500K));
        gravFieldsUnlockable.SetActive(achievementsData.IsAchievementUnlocked(PlayerAchievementsData.SESSION_H_2M));
        gravTimeDilation1Unlockable.SetActive(achievementsData.IsAchievementUnlocked(PlayerAchievementsData.SESSION_30TD));
        gravTimeDilation2Unlockable.SetActive(achievementsData.IsAchievementUnlocked(PlayerAchievementsData.SESSION_45TD));
        velocityTimeDilationUnlockable.SetActive(achievementsData.IsAchievementUnlocked(PlayerAchievementsData.SESSION_VMAX));
    }
Example #2
0
    void Start()
    {
        achievementsData = SaveManager.GetInstance().LoadPersistentData(SaveManager.ACHIEVMENTS_PATH).GetData <PlayerAchievementsData>();
        achievements     = PersistentPrefs.GetInstance().GetAllAchievements();

        foreach (AchievementInfo achInfo in achievements)
        {
            GameObject instance = Instantiate(achievementPrefab);
            instance.transform.SetParent(layout.transform);
            Image image = instance.GetComponentInChildren <Image>();
            image.sprite = achInfo.sprite;
            instance.GetComponent <Text>().text = achInfo.description;
            instance.transform.localScale       = new Vector3(1, 1, 1);
            if (achievementsData.IsAchievementUnlocked(achInfo.id))
            {
                image.color = Color.cyan;
            }
        }
    }
Example #3
0
    public void CheckAchievements(PlayerManager.SessionStats stats)
    {
        playerAchievements = SaveManager.GetInstance().LoadPersistentData(SaveManager.ACHIEVMENTS_PATH).GetData <PlayerAchievementsData>();
        //TD
        if (stats.distortedTime > 1800)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_30TD));
        }
        if (stats.distortedTime > 2700)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_45TD));
        }
        if (stats.distortedTime > 3600)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_60TD));
        }
        if (stats.distortedTime > 9000)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_M_TD));
        }

        //SCORE
        if (stats.score >= 500000)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_H_500K));
        }
        if (stats.score >= 1000000)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_H_1M));
        }
        if (stats.score >= 2000000)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_H_2M));
        }
        if (stats.score >= 5000000)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_H_5M));
        }

        //HIT
        if (stats.obstaclesHit >= 10)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_HIT_10));
        }
        if (stats.obstaclesHit >= 20)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_HIT_20));
        }
        if (stats.obstaclesHit >= 30)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_HIT_30));
        }

        //TP
        if (stats.timePlayed >= 60)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_60TP));
        }
        if (stats.timePlayed >= 150)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_150TP));
        }
        if (stats.timePlayed >= 300)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_300TP));
        }

        //SPEED
        if (stats.maxSpeedReached == stats.maxSpeed)
        {
            NotifyAchievement(GetAchievementWithId(PlayerAchievementsData.SESSION_VMAX));
        }

        SaveManager.GetInstance().SavePersistentData <PlayerAchievementsData>(playerAchievements, SaveManager.ACHIEVMENTS_PATH);
    }