public BoxShape(float diameterX, float diameterY, PhysicsParams p) { diameterX *= 2; diameterY *= 2; Width = diameterX; Height = diameterY; Body = BodyFactory.CreateRectangle(PhysConfig.world, diameterX, diameterY, p.Density); Body.Position = new Vector2(p.X, p.Y); Body.IsBullet = !p.CanSleep; Body.Awake = !p.IsSleeping; Body.Rotation = p.Angle; Body.AngularDamping = p.AngularDamping; Body.AngularVelocity = p.AngularVelocity; Body.FixedRotation = p.FixedRotation; Body.LinearDamping = p.LinearDamping; Body.LinearVelocity = new Vector2(p.LinearVelocityX, p.LinearVelocityY); Body.Friction = p.Friction; Body.Restitution = p.Restitution; Body.IsStatic = p.Static; }
public CapsuleShape(float height, float radius, PhysicsParams p) { height *= 2; radius *= 2; Width = radius; Height = height + radius; Body = BodyFactory.CreateCapsule(PhysConfig.world, height, radius, p.Density); Body.Position = new Vector2(p.X, p.Y); Body.IsBullet = !p.CanSleep; Body.Awake = !p.IsSleeping; Body.Rotation = p.Angle; Body.AngularDamping = p.AngularDamping; Body.AngularVelocity = p.AngularVelocity; Body.FixedRotation = p.FixedRotation; Body.LinearDamping = p.LinearDamping; Body.LinearVelocity = new Vector2(p.LinearVelocityX, p.LinearVelocityY); Body.Friction = p.Friction; Body.Restitution = p.Restitution; Body.IsStatic = p.Static; }