コード例 #1
0
        public void UpdateAchievments(GeneratorInfo[] generators)
        {
            foreach (GeneratorInfo generator in generators)
            {
                int unitCount = Services.TransportService.GetUnitTotalCount(generator.GeneratorId);
                IEnumerable <Level> achievmentLevels = LevelDb.GetLevelsForCount(unitCount);

                List <Level> validLevels = FilterForGenerator(generator.GeneratorId, achievmentLevels).ToList();
                if (validLevels.Count > 0)
                {
                    List <ExtendedAchievmentInfo> extendedList = new List <ExtendedAchievmentInfo>();
                    foreach (Level level in validLevels)
                    {
                        ExtendedAchievmentInfo info = new ExtendedAchievmentInfo(level.Id, $"{FirstSimbolUpper(generator.Data.Name)} Level Up",
                                                                                 LevelUpIcon, 5, level.RewardType, level.RewardValue);
                        extendedList.Add(info);
                        AddAchievment(generator.GeneratorId, level.Id);
                        AddAchievmentPoints(5);
                        RewardAchievment(generator.GeneratorId, level);
                    }
                    GameEvents.OnGeneratorAchievmentsReceived(generator.GeneratorId, extendedList);
                }
            }
        }