Update() public method

public Update ( PlayerDamageDealt playerDamageDealt, EntityInformation entityInformation, Database skills, PlayerAbnormals buffs, bool timedEncounter ) : void
playerDamageDealt DamageMeter.Database.Structures.PlayerDamageDealt
entityInformation DamageMeter.Database.Structures.EntityInformation
skills Database
buffs PlayerAbnormals
timedEncounter bool
return void
Esempio n. 1
0
        public void Repaint(PlayerInfo playerInfo, PlayerAbnormals buffs, long totalDamage, long firstHit, long lastHit, Entity currentBoss, bool timedEncounter)
        {
            PlayerInfo      = playerInfo;
            _buffs          = buffs;
            _currentBoss    = currentBoss;
            _firstHit       = firstHit;
            _lastHit        = lastHit;
            _timedEncounter = timedEncounter;

            LabelDps.Content      = GlobalDps;
            LabelDps.ToolTip      = "Individual dps: " + Dps;
            LabelCritRate.Content = CritRate;
            var intervalTimespan = TimeSpan.FromSeconds(playerInfo.Dealt.Interval(_currentBoss));

            LabelCritRate.ToolTip   = "Hits received: " + HitReceived + " - Damage received: " + DamageReceived + " - Fight Duration: " + intervalTimespan.ToString(@"mm\:ss");
            LabelDamagePart.Content = DamagePart(totalDamage);
            LabelDamagePart.ToolTip = "Damage done: " + Damage;


            var skills    = Skills(_timedEncounter);
            var allskills = AllSkills(_timedEncounter);

            _windowSkill?.Update(skills, allskills, playerInfo, _buffs, _currentBoss, _timedEncounter, firstHit, lastHit);
            DpsIndicator.Width = 265 * PlayerInfo.Dealt.DamageFraction(_currentBoss, totalDamage, _timedEncounter) / 100;
        }
Esempio n. 2
0
        public void Repaint(PlayerDamageDealt playerDamageDealt, PlayerHealDealt playerHealDealt, EntityInformation entityInformation,
                            Database.Structures.Skills skills, PlayerAbnormals buffs, bool timedEncounter)
        {
            PlayerHealDealt       = playerHealDealt;
            EntityInformation     = entityInformation;
            PlayerDamageDealt     = playerDamageDealt;
            _buffs                = buffs;
            _timedEncounter       = timedEncounter;
            Skills                = skills;
            LabelDps.Content      = GlobalDps;
            LabelDps.ToolTip      = $"{LP.Individual_dps}: {Dps}";
            LabelCritRate.Content = PlayerDamageDealt.Source.IsHealer && BasicTeraData.Instance.WindowData.ShowHealCrit
                ? CritRateHeal
                : BasicTeraData.Instance.WindowData.ShowCritDamageRate
                    ? CritDamageRate
                    : CritRate;
            var intervalTimespan = TimeSpan.FromSeconds(PlayerDamageDealt.Interval / TimeSpan.TicksPerSecond);

            LabelCritRate.ToolTip    = $"{LP.Fight_Duration}: {intervalTimespan.ToString(@"mm\:ss")}";
            LabelCritRate.Foreground = PlayerDamageDealt.Source.IsHealer && BasicTeraData.Instance.WindowData.ShowHealCrit
                ? Brushes.LawnGreen
                : BasicTeraData.Instance.WindowData.ShowCritDamageRate
                    ? Brushes.Orange
                    : Brushes.LightCoral;
            LabelDamagePart.Content = DamagePart;
            LabelDamagePart.ToolTip = $"{LP.Damage_done}: {Damage}";

            _windowSkill?.Update(PlayerDamageDealt, EntityInformation, Skills, _buffs, _timedEncounter);
            Spacer.Width = 0;
            GridStats.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
            var SGrid = ((MainWindow)((FrameworkElement)((FrameworkElement)((FrameworkElement)Parent).Parent).Parent).Parent).SGrid;
            var EGrid = ((MainWindow)((FrameworkElement)((FrameworkElement)((FrameworkElement)Parent).Parent).Parent).Parent).EGrid;

            SGrid.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
            var mainWidth = SGrid.DesiredSize.Width;

            Spacer.Width = mainWidth > GridStats.DesiredSize.Width ? mainWidth - GridStats.DesiredSize.Width : 0;
            var an = new DoubleAnimation(DpsIndicator.ActualWidth, EntityInformation.TotalDamage == 0 ? mainWidth : mainWidth * PlayerDamageDealt.Amount / EntityInformation.TotalDamage, TimeSpan.FromMilliseconds(400))
            {
                EasingFunction = new QuadraticEase()
            };

            DpsIndicator.BeginAnimation(WidthProperty, an);
            EGrid.MaxWidth = Math.Max(mainWidth, GridStats.DesiredSize.Width);
        }
Esempio n. 3
0
        private void ShowSkills(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
            var skills    = Skills(_timedEncounter);
            var allSkills = AllSkills(_timedEncounter);

            if (_windowSkill == null)
            {
                _windowSkill = new Skills(skills, allSkills, this, PlayerInfo, _buffs, _currentBoss, _timedEncounter, _firstHit, _lastHit)
                {
                    Title      = PlayerName,
                    CloseMeter = { Content = PlayerInfo.Class + " " + PlayerName + ": CLOSE" }
                };
                _windowSkill.Show();
                return;
            }

            _windowSkill.Update(skills, allSkills, PlayerInfo, _buffs, _currentBoss, _timedEncounter, _firstHit, _lastHit);
            _windowSkill.Show();
        }
Esempio n. 4
0
        public void Repaint(PlayerInfo playerInfo, long totalDamage, long firstHit, long lastHit)
        {
            PlayerInfo       = playerInfo;
            LabelDps.Content = Dps;

            LabelCritRate.Content       = CritRate;
            LabelDamagePart.Content     = DamagePart(totalDamage);
            LabelDamageReceived.Content = DamageReceived;
            LabelHitsReceived.Content   = HitReceived;
            var intervalTimespan = TimeSpan.FromSeconds(playerInfo.Dealt.Interval);

            Timer.Content = intervalTimespan.ToString(@"mm\:ss");

            var skills    = Skills();
            var allskills = AllSkills();

            _windowSkill?.Update(skills, allskills, playerInfo);
            LabelDamage.Content = Damage;
            DpsIndicator.Width  = 450 * PlayerInfo.Dealt.DamageFraction(totalDamage) / 100;
        }
Esempio n. 5
0
        private void ShowSkills(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
            var skills    = Skills();
            var allSkills = AllSkills();

            if (_windowSkill == null)
            {
                _windowSkill = new Skills(skills, allSkills, this, PlayerInfo)
                {
                    Title      = PlayerName,
                    CloseMeter = { Content = PlayerInfo.Class + " " + PlayerName + ": CLOSE" }
                };
                _windowSkill.Show();
                return;
            }

            _windowSkill.Update(skills, allSkills, PlayerInfo);
            _windowSkill.Show();
        }