public bool TryExecute(GameModel state) { if (Character == null) { Character = state.CharacterCollection.Single(c => c.Id == CharacterId); } if (Ability == null) { Ability = Character.CharacterClass.Abilities.Single(a => a.Name == AbilityName); } return(Character.Cast(state.CharacterFinder, Ability, Target)); }