public void OnCharacterIndicated(BattleCharacter character) { if (!SelectedCard.IsPresent) { return; } ChosenEffects.Add(new TargettedEffect(CurrentEffect, character.AsList())); while (++_effectIndex < SelectedCard.Value.Effects.Count && RequiresNoManualTargetting(CurrentEffect)) { ChosenEffects.Add(SelectInferredTargets(Source, Chars, CurrentEffect)); } if (_effectIndex < SelectedCard.Value.Effects.Count) { return; } var card = SelectedCard.Value; SelectedCard = Optional <Card> .Missing; Callback(new CardAction { Card = card, Source = Source, TargettedEffects = ChosenEffects }); }