Exemplo n.º 1
0
    public static bool TestCollision(CollisionHull2D a, CollisionHull2D b)
    {
        CollisionHullType2D hullTypeA = a.type;
        CollisionHullType2D hullTypeB = b.type;

        if (hullTypeA == CollisionHullType2D.hull_circle)
        {
            if (hullTypeB == CollisionHullType2D.hull_circle)
            {
                collided = a.TestCollsionVsCircle(b.GetComponent <CirlceCollisionHull2D>());
            }

            if (hullTypeB == CollisionHullType2D.hull_aabb)
            {
                collided = a.TestCollsionVsAABB(b.GetComponent <AABBCollisionHull2D>());
            }
            if (hullTypeB == CollisionHullType2D.hull_obb)
            {
                collided = a.TestCollsionVsOBB(b.GetComponent <OBBCollisionHull2D>());
            }
        }

        else if (hullTypeA == CollisionHullType2D.hull_aabb)
        {
            if (hullTypeB == CollisionHullType2D.hull_circle)
            {
                collided = a.TestCollsionVsCircle(b.GetComponent <CirlceCollisionHull2D>());
            }

            if (hullTypeB == CollisionHullType2D.hull_aabb)
            {
                collided = a.TestCollsionVsAABB(b.GetComponent <AABBCollisionHull2D>());
            }
            if (hullTypeB == CollisionHullType2D.hull_obb)
            {
                collided = a.TestCollsionVsOBB(b.GetComponent <OBBCollisionHull2D>());
            }
        }

        else if (hullTypeA == CollisionHullType2D.hull_obb)
        {
            if (hullTypeB == CollisionHullType2D.hull_circle)
            {
                collided = a.TestCollsionVsCircle(b.GetComponent <CirlceCollisionHull2D>());
            }

            if (hullTypeB == CollisionHullType2D.hull_aabb)
            {
                collided = a.TestCollsionVsAABB(b.GetComponent <AABBCollisionHull2D>());
            }
            if (hullTypeB == CollisionHullType2D.hull_obb)
            {
                collided = a.TestCollsionVsOBB(b.GetComponent <OBBCollisionHull2D>());
            }
        }

        return(collided);
    }
Exemplo n.º 2
0
 public CollisionPairKey(CollisionHullType2D collTypeA, CollisionHullType2D collTypeB)
 {
     if (collTypeA <= collTypeB)
     {
         _collTypes[0] = collTypeA;
         _collTypes[1] = collTypeB;
     }
     else
     {
         _collTypes[0] = collTypeB;
         _collTypes[1] = collTypeA;
     }
 }
Exemplo n.º 3
0
 protected CollisionHull2D(CollisionHullType2D hullType)
 {
     type = hullType;
 }
Exemplo n.º 4
0
 protected CollisionHull2D(CollisionHullType2D type_set)
 {
     type = type_set;
 }
Exemplo n.º 5
0
 protected CollisionHull2D(CollisionHullType2D _type)
 {
     type = _type;
 }
Exemplo n.º 6
0
 protected void fake_constructor(CollisionHullType2D type_set, CollisionHull2D self)
 {
     type = type_set;
 }
Exemplo n.º 7
0
 protected CollisionHull2D(CollisionHullType2D collisionType)
 {
     particle = GetComponent <Particle2D>();
     type     = collisionType;
 }