void ButtonHit(AbilityButton button, PlayerActivatedPower ability) { button.ToggleSelected(); //This feels hacky. Better way to do this? var modifier = ability as PlayerAbilityModifier; if (button.IsSelected()) { modifierSelected(modifier); } else { modifierUnselected(modifier); } buttons.ForEach(b => b.UpdateButtonStatus()); }