public void Update(long end) { List <CombatItem> damageData = DamageData.SelectMany(x => x.Value).ToList(); damageData.Sort((x, y) => x.Time.CompareTo(y.Time)); damageData.Reverse(); foreach (CombatItem c in damageData) { if (c.Time <= end) { break; } else if (c.Time <= end + 1000) { c.Time = end; } } }