Example #1
0
    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);
            }
        }
    }
Example #2
0
    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");
    }