Exemple #1
0
 public override void ActivateAbility(Action action, PassiveAbilityInstance instance)
 {
     Debug.Log("Blooooock!");
     if (action is AttackAction)
     {
         CardInstance attacker = ((AttackAction)action).attacker;
         if (attacker.owner != instance.owner.owner)
         {
             Debug.Log("Block activated ------------");
             ChangeTarget((AttackAction)action, instance.owner);
             if (canCounter)
             {
                 if (actionSystem != null)
                 {
                     actionSystem.ExecuteAction(new AttackAction(attacker, instance.owner, counterPower));
                 }
             }
         }
     }
     else
     {
         throw new System.Exception("Invalid Action Exception - Block Ability can only handle AttackAction");
     }
 }
Exemple #2
0
 public abstract void ActivateAbility(Action action, PassiveAbilityInstance instance);
 public void UnregisterListener(PassiveAbilityInstance ability)
 {
     this.abilities.Remove(ability);
 }
Exemple #4
0
    public override AbilityInstance GetInstance(CardInstance owner)
    {
        PassiveAbilityInstance blockAbilityInstance = new PassiveAbilityInstance(owner, this, triggerEvent);

        return(blockAbilityInstance);
    }
 public void RegisterListener(PassiveAbilityInstance ability)
 {
     this.abilities.Add(ability);
 }