Ejemplo n.º 1
0
 public bool StartCasting(TargetingAI aiTargeting = null)
 {
     if (Template.Targeting.IsAutoTarget)
     {
         AutoTarget(currentCast);
         if (!currentCast.CheckTargets())
         {
             currentCast.Cancel();
             return(false);
         }
         currentCast.Execute();
     }
     else
     {
         if (currentCast.Caster.AIHandler.IsAI)
         {
             UseAITargets(currentCast, aiTargeting);
             if (!currentCast.CheckTargets())
             {
                 currentCast.Cancel();
                 return(false);
             }
             currentCast.Execute();
         }
         else
         {
             ManualTarget(currentCast);
         }
     }
     return(true);
 }
Ejemplo n.º 2
0
    void ManualTarget(AbilityInstance abilityInstance)
    {
        TargetingController targetingController = abilityInstance.Caster.Team.TargetingController;

        targetingController.ChooseNewTargets(Template.Targeting.NumTargetsRequired,
                                             character => Template.Targeting.SelectTargetCheck(character, abilityInstance),
                                             targets =>
        {
            abilityInstance.Targets.AddRange(targets);
            abilityInstance.Execute();
        },
                                             abilityInstance.Cancel);
    }