1 module prova.collision.pointcollider; 2 3 import prova.collision, 4 prova.collision.intersects, 5 prova.collision.resolve, 6 prova.core, 7 prova.graphics, 8 prova.math; 9 10 /// 11 class PointCollider : Collider2D 12 { 13 /// 14 this() 15 { 16 super(Shape.POINT); 17 } 18 19 /// 20 override Vector2 getSize() 21 { 22 return Vector2(1, 1); 23 } 24 25 /// 26 override bool intersects(RectCollider collider) 27 { 28 return pointIntersectsRect(this, collider); 29 } 30 31 /// 32 override bool intersects(CircleCollider collider) 33 { 34 return pointIntersectsCircle(this, collider); 35 } 36 37 /// 38 override bool intersects(PointCollider collider) 39 { 40 return pointIntersectsPoint(this, collider); 41 } 42 43 alias intersects = Collider2D.intersects; 44 45 /// 46 override Vector2 resolve(PointCollider collider) 47 { 48 return resolvePointPoint(this, collider); 49 } 50 51 /// 52 override Vector2 resolve(CircleCollider collider) 53 { 54 return resolvePointCircle(this, collider); 55 } 56 57 /// 58 override Vector2 resolve(RectCollider collider) 59 { 60 return resolvePointRect(this, collider); 61 } 62 63 alias resolve = Collider2D.resolve; 64 }