Ejemplo n.º 1
0
 public void OnAttacked(AttackManager.Attack attack)
 {
     if (attack.GetTarget() == gameObject)
     {
         if (healthBar.TakeDamage(attack.GetDamage()))
         {
             if (attack.GetAbility() != null)
             {
                 attack.GetAbility().DoAbilityEffect(attack.GetOwner(), gameObject);
             }
         }
         else
         {
             isDead = true;
             attackManager.Unsubscribe(this);
             animator.enabled = true;
             animator.SetTrigger("Die");
         }
     }
 }
Ejemplo n.º 2
0
    protected override void DoOtherEffects(AttackManager.Attack attack)
    {
        GameObject leftSubProjectile = Instantiate(
            subProjectilePrefab,
            transform.position,
            transform.rotation * Quaternion.Euler(0, 90, 0));

        leftSubProjectile.GetComponent <SplittingRaySubProjectileScript>().setOriginTarget(attack.GetTarget());
        GameObject rightSubProjectile = Instantiate(
            subProjectilePrefab,
            transform.position,
            transform.rotation * Quaternion.Euler(0, 270, 0));

        rightSubProjectile.GetComponent <SplittingRaySubProjectileScript>().setOriginTarget(attack.GetTarget());
    }