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); } }
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(); }
public void SubscribeToAtack(IAtackable atackable) { atackable.OnAtack += OnAtack; }