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"); } } }
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()); }