Пример #1
0
 public void Update()
 {
     AttackName        = attackInfo.Name;
     AttackCount       = attackInfo.TotalHits.ToString();
     AttackTotalDamage = attackInfo.TotalDamage.ToString("#,##0");
     if (attackInfo.IsJustAttackValid)
     {
         AttackJAPercent = attackInfo.JustAttackPercent.ToString("0.00");
     }
     else
     {
         AttackJAPercent = "N/A";
     }
     AttackCritPercent   = attackInfo.CritPercent.ToString("0.00");
     AttackMinDamage     = attackInfo.MinDamage.ToString("#,##0");
     AttackAverageDamage = attackInfo.AverageDamage.ToString("#,##0");
     AttackMaxDamage     = attackInfo.MaxDamage.ToString("#,##0");
     AttackDPS           = DamageParser.FormatDPSNumber(attackInfo.DPS);
 }
Пример #2
0
        /// <summary>
        /// Called by owner VM to indicate that the parser has ticked
        /// </summary>
        public void ParserUpdate()
        {
            Name = AssociatedPlayer.Name;
            double totalDamagePercent = AssociatedPlayer.RelativeDPS;

            TotalDamagePercent = (totalDamagePercent * 100.0).ToString("0.00");
            TotalDamageDealt   = $"{AssociatedPlayer.FilteredDamage.TotalDamage:#,##0}";
            TotalDamageTaken   = $"{AssociatedPlayer.DamageTaken.TotalDamage:#,##0}";
            TotalDPS           = DamageParser.FormatDPSNumber(AssociatedPlayer.FilteredDamage.TotalDPS);
            JustAttackPercent  = $"{AssociatedPlayer.FilteredDamage.JustAttackPercent:0.00}";
            CritPercent        = $"{AssociatedPlayer.FilteredDamage.CritPercent:0.00}";
            MaxHitInfo         = $"{AssociatedPlayer.MaxHit:#,##0} {AssociatedPlayer.MaxHitName}";

            TotalDamage = AssociatedPlayer.FilteredDamage.TotalDamage;

            if (totalDamagePercent > 0)
            {
                var scaledDamagePercent = totalDamagePercent;
                if (parser.HighestDpsPlayer != null)
                {
                    double highestPlayerDamagePercent = parser.HighestDpsPlayer.RelativeDPS;
                    scaledDamagePercent /= highestPlayerDamagePercent;
                }
                if (parent.HighlightDPS)
                {
                    BackgroundBrush.GradientStops.Clear();
                    BackgroundBrush.GradientStops.Add(new GradientStop(HighlightColor, 0));
                    BackgroundBrush.GradientStops.Add(new GradientStop(HighlightColor, scaledDamagePercent));
                    BackgroundBrush.GradientStops.Add(new GradientStop(Colors.Transparent, scaledDamagePercent));
                    BackgroundBrush.GradientStops.Add(new GradientStop(Colors.Transparent, 1));
                }
                else if (BackgroundBrush.GradientStops.Count > 0)
                {
                    BackgroundBrush.GradientStops.Clear();                                               //no highlight dps, but we have leftover gradient stops, clear em all out.
                }
            }
        }
Пример #3
0
 private void Parser_UpdateTick(object sender, UpdateTickEventArgs e)
 {
     StatusBarText = $"{e.ElapsedTime.ToString(@"h\:mm\:ss")} - Total Damage : {CurrentDamageParser.TotalFriendlyDamage:#,##0} - {DamageParser.FormatDPSNumber(CurrentDamageParser.TotalFriendlyDPS)} DPS";
     App.Current.Dispatcher.Invoke(synchronizeTabState); //ew.
 }