BulletMan.MainScreen.CreateBulletMan C# (CSharp) Метод

CreateBulletMan() приватный Метод

Create ragdoll
private CreateBulletMan ( Vector2 offset ) : void
offset Vector2
Результат void
        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
        }