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
            });
        }