Exemple #1
0
        //Moved here, as it's used in both the Parser report generator and the GraphPlayerTabVM
        public string GenerateDamageSummary()
        {
            StringBuilder sb = new StringBuilder($"[ {Name} - {RelativeDPS * 100f:0.00}% - {FilteredDamage.TotalDamage:#,##0} dmg ]");

            sb.AppendLine();
            Dictionary <string, AttackInfo> instanceContainer = new Dictionary <string, AttackInfo>();

            foreach (var damageInstance in FilteredDamage.GetFilteredDamageInstances())
            {
                if (!instanceContainer.ContainsKey(damageInstance.AttackName))
                {
                    instanceContainer.Add(damageInstance.AttackName, new AttackInfo(damageInstance.AttackName, damageInstance.AttackId));
                }

                var container = instanceContainer[damageInstance.AttackName];
                container.AddDamageInstance(damageInstance);
            }

            foreach (var container in instanceContainer.OrderByDescending(kvp => kvp.Value.TotalDamage))
            {
                container.Value.WriteSummaryToStringBuilder(sb, FilteredDamage.TotalDamage);
            }

            return(sb.ToString());
        }
Exemple #2
0
 public void RecalculateDPS(TimeSpan clockTime)
 {
     foreach (var tracker in allTrackers)
     {
         tracker.Update(clockTime);
     }
     foreach (var info in AttackInfoList)
     {
         info.Value.Update(clockTime);
     }
     FilteredDamage.Update();
 }
Exemple #3
0
 /// <summary>
 /// Bitflags to include related tracker damage in TotalDamage
 /// </summary>
 /// <param name="trackers"></param>
 public void SetTrackersToIncludeInTotalDamage(PSO2DamageTrackers trackers)
 {
     trackersToSum = trackers;
     FilteredDamage.ChangeEnabledTrackers(trackers);
 }