void OnTriggerEnter(Collider collider)
 {
     if (collider.tag == "Atackable")
     {
         IAtackable item = collider.GetComponent <IAtackable> ();
         Hit(item.GetDamage(), item.IsFatallity());
         item.Disable();
     }
 }
 void Start()
 {
     isActive         = false;
     myT              = transform;
     playerT          = FindObjectOfType <PlayerController>().transform;
     grip             = myT.GetChild(0);
     playerAttackable = FindObjectOfType <PlayerController>().GetComponent <IAtackable>();
     attackEffect     = GetComponentInChildren <ParticleSystem>();
 }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        IAtackable atackable = collision.GetComponent <IAtackable>();

        if (atackable != null)
        {
            atackable.GetDamage(damage);
        }
    }
示例#4
0
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (Atackable == null)
        {
            Atackable = animator.gameObject.GetComponent <IAtackable>();
            if (Atackable == null)
            {
                Debug.LogError("IAtackable is absent on " + animator.gameObject.name);
            }
        }

        Atackable.Atack();
    }
示例#5
0
 public void SubscribeToAtack(IAtackable atackable)
 {
     atackable.OnAtack += OnAtack;
 }