示例#1
0
 private void OnHealthChange(object source, MonsterPartEventArgs args)
 {
     System.Windows.Visibility visibility;
     if (Context.IsRemovable)
     {
         visibility = UserSettings.PlayerConfig.Overlay.MonstersComponent.EnableRemovableParts ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
     }
     else
     {
         if (UserSettings.PlayerConfig.Overlay.MonstersComponent.EnableMonsterParts)
         {
             visibility = UserSettings.PlayerConfig.Overlay.MonstersComponent.EnabledPartGroups.Contains(Context.Group) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
         }
         else
         {
             visibility = System.Windows.Visibility.Collapsed;
         }
     }
     Dispatch(() => {
         this.PartHealth.MaxHealth = args.TotalHealth;
         this.PartHealth.Health    = args.Health;
         this.PartHealthText.Text  = $"{args.Health:0}/{args.TotalHealth:0}";
         this.Visibility           = visibility;
         StartVisibilityTimer();
     });
 }
示例#2
0
 private void OnHealthChange(object source, MonsterPartEventArgs args)
 {
     Dispatch(() => {
         this.PartHealth.MaxHealth = args.TotalHealth;
         this.PartHealth.Health    = args.Health;
         this.PartHealthText.Text  = $"{args.Health:0}/{args.TotalHealth:0}";
         this.Visibility           = System.Windows.Visibility.Visible;
         StartVisibilityTimer();
     });
 }
示例#3
0
        private void OnHealthChange(object source, MonsterPartEventArgs args)
        {
            Visibility visibility = GetVisibility();

            Dispatch(() =>
            {
                UpdateHealthText();
                Visibility = visibility;
                StartVisibilityTimer();
            });
        }
示例#4
0
        private void OnBrokenCounterChange(object source, MonsterPartEventArgs args)
        {
            Visibility visibility = GetVisibility();

            Dispatch(() =>
            {
                UpdatePartBrokenCounter();
                Visibility = visibility;
                StartVisibilityTimer();
            });
        }
示例#5
0
        private void OnTenderizeStateChange(object source, MonsterPartEventArgs args)
        {
            Visibility visibility = args.Duration > 0 ? Visibility.Visible : Visibility.Collapsed;

            Dispatch(() =>
            {
                TenderizeBar.Value      = args.MaxDuration - args.Duration;
                TenderizeBar.MaxValue   = args.MaxDuration;
                TenderizeBar.Visibility = visibility;
                Visibility = GetVisibility();
                StartVisibilityTimer();
            });
        }
示例#6
0
        private void OnHealthChange(object source, MonsterPartEventArgs args)
        {
            Visibility visibility = GetVisibility();

            Dispatch(() =>
            {
                if (args.HasBreakConditions)
                {
                    HandleSpecialBrokenCounter();
                }

                UpdateHealthText();
                Visibility = visibility;
                StartVisibilityTimer();
            });
        }
示例#7
0
 private void OnBrokenCounterChange(object source, MonsterPartEventArgs args)
 {
     Dispatch(() => {
         this.PartBrokenCounter.Text = $"{args.BrokenCounter}";
     });
 }