public void OnDetectHit(IHitboxOwner target) { if (!registeredHits.Contains(target)) { registeredHits.Add(target); this.Notify(Message.Combat_DetectHit, target); } }
public void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Hitbox") { IHitboxOwner monoBehaviour = other.gameObject.transform.parent.gameObject.GetComponent <IHitboxOwner>(); if (monoBehaviour != null) { Manager.ResolveCollision(monoBehaviour.GetCombatantManager()); } } }
private void AssignComponents() { coll = GetComponent <Collider>(); owner = GetComponentInParent <IHitboxOwner>(); if (!coll.isTrigger) { Debug.LogError("ERROR: Hitbox \"" + this.name + "\" Collider is not trigger! Deactivating component."); this.enabled = false; } else if (owner == null) { Debug.LogError("ERROR: Hitbox \"" + this.name + "\" has no owner! Deactivating component."); this.enabled = false; } }