private void UpdateContainerBarsSizeDynamically() { Monsterscomponent config = ConfigManager.Settings.Overlay.MonstersComponent; NumberOfPartsDisplayed = MonsterPartsContainer.Children.Cast <MonsterPart>() .Where(p => p.IsVisible) .Count(); NumberOfAilmentsDisplayed = MonsterAilmentsContainer.Children.Cast <MonsterAilment>() .Where(a => a.IsVisible) .Count(); double partsContainerWidth = MonsterPartsContainer.MaxWidth / Math.Max(1, Math.Min(config.MaxPartColumns, Math.Max(1, Math.Ceiling(NumberOfPartsDisplayed / (double)config.MaxNumberOfPartsAtOnce)))); double ailmentsContainerWidth = MonsterAilmentsContainer.MaxWidth / Math.Max(1, Math.Min(config.MaxPartColumns, Math.Max(1, Math.Ceiling(NumberOfAilmentsDisplayed / (double)config.MaxNumberOfPartsAtOnce)))); MonsterPartsContainer.ItemWidth = double.IsInfinity(partsContainerWidth) ? (MonsterPartsContainer.Width - 2) / 2 : partsContainerWidth; MonsterAilmentsContainer.ItemWidth = double.IsInfinity(ailmentsContainerWidth) ? (MonsterPartsContainer.Width - 2) / 2 : ailmentsContainerWidth; foreach (MonsterPart part in MonsterPartsContainer.Children) { part.UpdateHealthSize(MonsterPartsContainer.ItemWidth); } foreach (MonsterAilment ailment in MonsterAilmentsContainer.Children) { ailment.UpdateSize(MonsterAilmentsContainer.ItemWidth); } }
public void ChangeBarsSizes(double NewSize) { Monsterscomponent config = ConfigManager.Settings.Overlay.MonstersComponent; // Parts MonsterPartsContainer.MaxWidth = config.EnableMonsterAilments ? (NewSize - 2) / 2 : (NewSize - 1); MonsterAilmentsContainer.MaxWidth = config.EnableMonsterParts || config.EnableRemovableParts ? (NewSize - 2) / 2 : (NewSize - 1); UpdateContainerBarsSizeDynamically(); MonsterHealthBar.MaxSize = NewSize - 69; MonsterStaminaBar.MaxSize = NewSize - 72; UpdateHealthBar(MonsterHealthBar, Context.Health, Context.MaxHealth); UpdateHealthBar(MonsterStaminaBar, Context.Stamina, Context.MaxStamina); }
public void ApplySettings() { Monsterscomponent config = ConfigManager.Settings.Overlay.MonstersComponent; MonsterPartsContainer.Visibility = !config.EnableMonsterParts && !config.EnableRemovableParts ? Visibility.Collapsed : Visibility.Visible; MonsterAilmentsContainer.Visibility = !config.EnableMonsterAilments ? Visibility.Collapsed : Visibility.Visible; ActionVisibility = config.ShowMonsterActionName ? Visibility.Visible : Visibility.Collapsed; foreach (MonsterPart part in MonsterPartsContainer.Children) { part.ApplySettings(); } foreach (MonsterAilment ailment in MonsterAilmentsContainer.Children) { ailment.ApplySettings(); } if (Context != null) { SetMonsterHealthBarText(Context.Health, Context.MaxHealth); } }