private void UpdateCurrentAttackPicker() { var sheet = CharacterSheetStorage.Instance.selectedCharacter; if (sheet == null) { return; } if (baseAttackBonus == null) { return; } if (baseAttackBonus.Count <= 0) { return; } var items = new List <CharacterSheet.IntPickerItem>(); var selectedIndex = -1; var cac = currentAttacksCount.GetTotal(sheet); var ac = Math.Min(attacksCount, cac); if (ac <= 0) { ac = attacksCount; } for (var i = 0; i < ac; i++) { if (i == currentAttack) { selectedIndex = i; } var item = new CharacterSheet.IntPickerItem() { Name = sheet.GetBaseAttackBonusForPicker(baseAttackBonus, i, true), Value = i, }; items.Add(item); } CurrentAttacksCount.Text = cac > 0 ? ac.ToString() : "(equals to attacks count)"; CurrentAttack.ItemsSource = items; CurrentAttack.SelectedIndex = selectedIndex; var oneAttack = ac < 2; CurrentAttack.InputTransparent = oneAttack; CurrentAttackFrame.BackgroundColor = oneAttack ? Color.LightGray : Color.White; }
private void UpdateCurrentAttackPicker() { var sheet = CharacterSheetStorage.Instance.selectedCharacter; if (sheet == null) { return; } var babs = sheet.baseAttackBonus; if (babs == null) { return; } var count = sheet.attacksCount; if (count <= 0) { return; } var items = new List <CharacterSheet.IntPickerItem>(); var selectedIndex = -1; for (var i = 0; i < count; i++) { if (i == currentAttack) { selectedIndex = i; } var item = new CharacterSheet.IntPickerItem() { Name = sheet.GetBaseAttackBonusForPicker(i), Value = i, }; items.Add(item); } CurrentBaseAttackBonus.ItemsSource = items; CurrentBaseAttackBonus.SelectedIndex = selectedIndex; var oneAttack = count < 2; CurrentBaseAttackBonus.InputTransparent = oneAttack; CurrentBaseAttackBonusFrame.BackgroundColor = oneAttack ? Color.LightGray : Color.White; }