예제 #1
0
        public override bool IsColliding(PhysCollider collider, out CollisionContact manifold, out bool isBodyA)
        {
            if (collider is PhysBoxCollider2D)
            {
                PhysBoxCollider2D other = collider as PhysBoxCollider2D;

                isBodyA = false;
                return(CollisionDetector.IsCollidingRect(other.CollisionBodyWS, CollisionBodyWS, out manifold));
            }
            else if (collider is PhysSphereCollider2D)
            {
                PhysSphereCollider2D other = collider as PhysSphereCollider2D;

                isBodyA = true;
                return(CollisionDetector.IsCollidingSphere(CollisionBodyWS, other.CollisionBodyWS, out manifold));
            }
            else if (collider is PhysPolyCollider2D)
            {
                PhysPolyCollider2D other = collider as PhysPolyCollider2D;

                isBodyA = false;
                return(CollisionDetector.IsCollidingPoly(other.CollisionBodyWS, CollisionBodyWS, out manifold));
            }

            isBodyA  = false;
            manifold = null;
            return(false);
        }
예제 #2
0
 public virtual bool IsColliding(PhysCollider collider, out CollisionContact manifold, out bool isBodyA)
 {
     manifold = null;
     isBodyA  = true;
     return(false);
 }