BattleInfoPlugin.Models.Repositories.EnemyDataProvider.RemoveDuplicate C# (CSharp) Метод

RemoveDuplicate() приватный Метод

private RemoveDuplicate ( ) : bool
Результат bool
        internal bool RemoveDuplicate()
        {
            var modified = false;
            if (this.EnemyData.EnemyEncounterRank != null)
            {
                this.EnemyData.EnemyRank = this.EnemyData.EnemyRank
                    .Merge(this.EnemyData.EnemyEncounterRank.ToDictionary(x => x.Key, x => x.Value.Max()));

                this.EnemyData.EnemyEncounterRank = null;
                modified = true;
            }

            var keysList = this.EnemyData.MapEnemyData.Values.SelectMany(x => x.Values).ToArray();
            var allKeys = keysList.Merge();

            foreach (var keys in keysList)
            {
                keys.GroupBy(key => key, new EnemyDataComparer(this.EnemyData))
                    .SelectMany(x => x.Skip(1))
                    .ToList()
                    .ForEach(key => keys.Remove(key));
            }

            var restKeys = keysList.Merge();
            allKeys.ExceptWith(restKeys);
            foreach (var key in allKeys)
            {
                this._RemoveEnemy(key);
            }

            return modified || allKeys.Count > 0;
        }