Question by 
               Evil-ProHack · Dec 30, 2020 at 11:45 PM · 
                2dscripting problemphysics2dcollider2dhitbox  
              
 
              Problem with hitboxes and hurtboxes
This script should detect the collision with the colliders of the Hurtbox layer (using OverlapBoxAll)but it does not work I have the matrix layer configured well and the variables assigned in the inspector so I do not know what my error is.
My collision layer matrix 2d: 
The scene and hierarchy: 
The script:
 public class Hitbox : MonoBehaviour
 {
     public string owner = "-1";
     public Vector3 boxSize;
     public Vector3 position;
     public Quaternion rotation;
 
     public LayerMask mask;
     public bool useSphere = false;
 
     public float radius = 0.5f;
 
     public Color inactiveColor;
 
     public Color collisionOpenColor;
 
     public Color collidingColor;
     private ColliderState _state;
     // ignoreList = ds_List_create()
     public float hitStun = 60;
     private IHitboxResponder _responder = null;
    
     // Update is called once per frame
     void Update()
     {
         HitboxUpdate();
 
 
     }
     public void StartCheckingCollision()
     {
         _state = ColliderState.Open;
 
     }
 
     public void StopCheckingCollision()
     {
         _state = ColliderState.Closed;
 
     }
 
 
     void OnDrawGizmos()
     {
         // Draw a yellow sphere at the transform's position
 
         Debug.Log("draw hitbox gizmos");
         CheckGizmoColor();
 
         Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, transform.localScale);
         if (useSphere)
         {
             Gizmos.DrawSphere(Vector3.zero, radius);         }
         else
         {
 
             Gizmos.DrawCube(position, new Vector3(boxSize.x * 2, boxSize.y * 2, boxSize.z * 2)); 
         }
     }
     private void CheckGizmoColor()
     {
         switch (_state)
         {
 
             case ColliderState.Closed:
 
                 Gizmos.color = inactiveColor;
                 Debug.Log("Closed");
                 break;
 
             case ColliderState.Open:
 
                 Gizmos.color = collisionOpenColor;
                 Debug.Log("Open");
                 break;
 
             case ColliderState.Colliding:
 
                 Gizmos.color = collidingColor;
                 Debug.Log("colliding");
                 break;
 
         }
 
     }
     public void HitboxUpdate()
     {
 
         StartCheckingCollision();
 
         if (_state == ColliderState.Closed)
         {
             Debug.Log("Collider cloded");
             return;
         }
         Debug.Log("Collider  open hit");
         Collider2D[] colliders = Physics2D.OverlapBoxAll(position, boxSize, transform.eulerAngles.z ,mask);
         if (colliders.Length > 0)
         {
             _state = ColliderState.Colliding;
             Debug.Log("We hit something hitbox");
         }
         if (colliders.Length > 0)
         {
             for (int i = 0; i < colliders.Length; i++)
             {
                 if (colliders[i].gameObject.GetComponent<Hurtbox>() != null)
                 {
                     if (colliders[i].gameObject.GetComponent<Hurtbox>().owner == owner)
                     {
                         Debug.Log("collider skiped");
 
                         colliders = colliders.Skip(i).ToArray();
                     }
                 }
                 Debug.Log("Hit " + colliders[i].gameObject.name);
 
 
             }
         }
         for (int i = 0; i < colliders.Length; i++)
         {
             Collider2D aCollider = colliders[i];
             Debug.Log("Works");
             _responder?.CollisionedWith(aCollider);
 
         }
 
 
         _state = colliders.Length > 0 ? ColliderState.Colliding : ColliderState.Open;
 
 
     }
     public void UseResponder(IHitboxResponder responder)
     {
         _responder = responder;
 
     }
 }
 public enum ColliderState
 {
 
     Closed,
 
     Open,
 
     Colliding
 
 }
 
                 
                sin-titulo.png 
                (14.0 kB) 
               
 
                
                 
                scene.png 
                (302.0 kB) 
               
 
              
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                