private void CheckFireAchievements(int currentFire) { //Debug.Log("fireachindex:" + fireAchievementIndex); FireExtinctAchievement achievement = fireAchievements[fireAchievementIndex]; bool achievementReached = currentFire == achievement.targetCount; //Debug.Log("[" + fireAchievementIndex + "]Checking fire achievement " + currentFire + " / " + achievement.targetCount); if (achievementReached) { onReachAchievement?.Invoke(achievement); if (fireAchievementIndex < fireAchievements.Count - 1) { fireAchievementIndex++; dataHandler.SetFireAchievementIndex(fireAchievementIndex); } } }
private void LoadAchievements() { fireAchievements = new List <FireExtinctAchievement>(); distanceAchievements = new List <DistanceAchievement>(); ICollection keys = LocalizationSystem.GetKeys(); foreach (string key in keys) { if (key.StartsWith("_ach_t_f-")) //fire achievements { string[] countText = key.Split('-')[1].Split('_'); int count = int.Parse(countText[0]); int index = int.Parse(countText[1]); string title = "_ach_t_f-" + count + "_" + index; string description = "_ach_d_f-" + count + "_" + index;; FireExtinctAchievement achievement = new FireExtinctAchievement(); achievement.achievementTitle = title; achievement.achievmentDescription = description; achievement.targetCount = count; fireAchievements.Add(achievement); } if (key.StartsWith("_ach_t_d-")) //distance achievements { string[] countText = key.Split('-')[1].Split('_'); int count = int.Parse(countText[0]); int index = int.Parse(countText[1]); string title = "_ach_t_d-" + count + "_" + index; string description = "_ach_d_d-" + count + "_" + index;; DistanceAchievement achievement = new DistanceAchievement(); achievement.achievementTitle = title; achievement.achievmentDescription = description; achievement.targetCount = count; distanceAchievements.Add(achievement); } } fireAchievementIndex = dataHandler.fireAchievementIndex; distanceAchievementIndex = dataHandler.distanceAchievementIndex; //Debug.Log("Achievements loaded"); }