public AbilityTargeter(Unit unit, TargetAbility ability, Action <Targeter> onComplete, Action <Targeter> onCancel = null) { this.unit = unit; this.ability = ability; this.onComplete = onComplete; this.onCancel = onCancel; }
public bool isCardTargetingCharacter(CombatCharacter character) { foreach (BaseAbility ability in abilities) { if (ability is TargetAbility) { TargetAbility tarAbility = ability as TargetAbility; if (tarAbility.target is CombatCharacter) { CombatCharacter tarCharacter = tarAbility.target as CombatCharacter; if (tarCharacter == character) { return(true); } } } else if (ability is MultiTargetAbility) { MultiTargetAbility tarAbility = ability as MultiTargetAbility; foreach (Targetable target in tarAbility.targets) { if (target is CombatCharacter) { CombatCharacter tarCharacter = target as CombatCharacter; if (tarCharacter == character) { return(true); } } } } } return(false); }
public MoveAbilityTargeter(Unit unit, TargetAbility ability, float freeMovement, float paidMovement, Action <Targeter> onComplete, Action <Targeter> onCancel = null) : base(unit, ability, freeMovement + paidMovement, onComplete, onCancel) { this.freeMovement = freeMovement; this.paidMovement = paidMovement; }
public PathConfirmAbilityTargeter(Unit unit, TargetAbility ability, float maxCost, Action <Targeter> onComplete, Action <Targeter> onCancel = null) : base(unit, ability, onComplete, onCancel) { pather ??= Pathers.For(ability.rangeMode); cc ??= CostCalculators.For(ability.rangeMode); field = Pathing.GetCostField(unit.tile, maxCost: maxCost, pather: pather, costCalculator: cc); }
public ConfirmTileAbilityTargeter(Unit unit, TargetAbility ability, Action <Targeter> onComplete, Action <Targeter> onCancel) : base(unit, ability, onComplete, onCancel) { }