예제 #1
0
 public void FindEnemies()
 {
     Hit = Physics2D.OverlapCircleAll(transform.position, 200 << LayerMask.NameToLayer("Default"));
     for (int i = 0; i < Hit.Length; i++)
     {
         if (!IsEnemy && Hit[i].tag == "Enemy" && Hit[i].GetComponent <BaseKnightMovement>().Attackable)
         {
             FK = Hit[i].GetComponent <BaseKnightMovement>();
             if (FK.GetComponent <Archer>())
             {
                 FK.GetComponent <Archer>().ArcherOpponent = this;
             }
             FK.Attackable = false;
             FK.FK         = this;
             FK.OnDeath   += TargetDied;
             OnDeath      += FK.TargetDied;
             break;
         }
         else if (IsEnemy && Hit[i].tag == "Friendly" && Hit[i].GetComponent <BaseKnightMovement>().Attackable)
         {
             FK = Hit[i].GetComponent <BaseKnightMovement>();
             if (FK.GetComponent <Archer>())
             {
                 FK.GetComponent <Archer>().ArcherOpponent = this;
             }
             FK.Attackable = false;
             //FK.OnDeath += TargetDied;
             OnDeath += FK.TargetDied;
             break;
         }
     }
 }
예제 #2
0
 public void TakeDamage(int Damage, BaseKnightMovement Sender)
 {
     Health -= Damage;
     if (Sender.GetComponent <Mage>())
     {
         AOEEffect.SetActive(true);
         EffectActive = true;
     }
     if (Health <= 0)
     {
         //OnDeath(FK);
         HasDied();
     }
     //StartCoroutine(RepeatAttack(Damage));
 }