private void CreateBulletMan(Vector2 offset)
{
//Clear Ragdoll before
foreach (Sprite ball in balls)
{
layer.RemoveSprite(ball);
RemoveComponent(ball);
}
balls.Clear();
//Create parts
sHead = new Sprite("head", spriteSheet["head"]);
sBody = new Sprite("body", spriteSheet["body"]);
sRightArm = new Sprite("rarm", spriteSheet["right_arm"]);
sLeftArm = new Sprite("larm", spriteSheet["left_arm"]);
sRightLeg = new Sprite("rleg", spriteSheet["right_leg"]);
sLeftLeg = new Sprite("lleg", spriteSheet["left_leg"]);
AddComponent(sLeftArm, 50+offset.X, 0+offset.Y,BodyShape.SQUARE,BodyType.DYNAMIC,Category.Cat3);
AddComponent(sRightArm, 50+offset.X, 52+offset.Y,BodyShape.SQUARE,BodyType.DYNAMIC,Category.Cat3);
AddComponent(sRightLeg, 82+offset.X, 38+offset.Y,BodyShape.SQUARE,BodyType.DYNAMIC,Category.Cat4);
AddComponent(sLeftLeg, 84+offset.X, 13+offset.Y,BodyShape.SQUARE,BodyType.DYNAMIC,Category.Cat4);
AddComponent(sBody, 48+offset.X, 9+offset.Y,BodyShape.SQUARE,BodyType.DYNAMIC,Category.Cat2);
AddComponent(sHead, 0+offset.X, 12+offset.Y,BodyShape.CIRCLE,BodyType.DYNAMIC,Category.Cat1);
//Joints
PhysicWorld.AddJoint(sBody,sHead,new Vector2(50+offset.X,35+offset.Y),true, -MathHelper.PiOver4,MathHelper.PiOver4);
PhysicWorld.AddJoint(sBody, sLeftArm, new Vector2(53+offset.X, 14+offset.Y), true, 0, MathHelper.PiOver2);
PhysicWorld.AddJoint(sBody, sRightArm, new Vector2(53 + offset.X, 56 + offset.Y), true, -MathHelper.PiOver2, 0);
PhysicWorld.AddJoint(sBody, sLeftLeg, new Vector2(90 + offset.X, 24 + offset.Y), true, -MathHelper.PiOver2, MathHelper.PiOver2);
PhysicWorld.AddJoint(sBody, sRightLeg, new Vector2(90 + offset.X, 46 + offset.Y), true, -MathHelper.PiOver2, MathHelper.PiOver2);
sBody.Draggable = true;
//Add to clear list
balls.Add(sHead);
balls.Add(sBody);
balls.Add(sRightArm);
balls.Add(sLeftArm);
balls.Add(sRightLeg);
balls.Add(sLeftLeg);
//Add to layer
foreach (Sprite sprite in balls)
layer.AddSprite(sprite);
layer.Rotate(slOrientation.Value, sHead.Position); //TODO: No rotan los sprites
}