コード例 #1
0
 public void OnDetectHit(IHitboxOwner target)
 {
     if (!registeredHits.Contains(target))
     {
         registeredHits.Add(target);
         this.Notify(Message.Combat_DetectHit, target);
     }
 }
コード例 #2
0
 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());
         }
     }
 }
コード例 #3
0
    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;
        }
    }