示例#1
0
文件: Hitbox.cs 项目: edkek/Sharp2D
        private static void Project(Vector2 axis, Hitbox hitbox, ref float min, ref float max)
        {
            var dotProduct = Vector2.Dot(axis, hitbox[0]);

            min = dotProduct;
            max = dotProduct;

            for (var i = 1; i < hitbox.VertexCount; i++)
            {
                dotProduct = Vector2.Dot(hitbox[i], axis);

                if (dotProduct < min)
                {
                    min = dotProduct;
                }
                else if (dotProduct > max)
                {
                    max = dotProduct;
                }
            }
        }
示例#2
0
 public CollisionResult CollidesWith(ICollidable c)
 {
     return(Hitbox.CheckCollision(this, c, new Vector2(0, 0)));
 }
示例#3
0
 protected override void OnUnload()
 {
     Hitbox.RemoveCollidable(this);
 }