public void UseTargetedActions(IEnumerable<BattleAbility> actions, Unit target)
{
if (actions == null) throw new ArgumentNullException(nameof(actions));
if (target == null) throw new ArgumentNullException(nameof(target));
foreach (var action in actions)
{
MoveIntoActionRange(target, action);
_fface.Navigator.FaceHeading(target.Position);
Player.SetTarget(_fface, target);
if (ResourceHelper.IsSpell(action.Ability.AbilityType))
{
_fface.Navigator.Reset();
Thread.Sleep(100);
CastSpell(action);
}
else
{
CastAbility(action);
}
action.Usages++;
action.LastCast = DateTime.Now.AddSeconds(action.Recast);
Thread.Sleep(Config.Instance.GlobalCooldown);
}
}