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)); }
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; } } }
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); }