public override void LoadContent() { base.LoadContent(); World.Gravity = Vector2.Zero; _border = new Border(World, Lines, Framework.GraphicsDevice); for (int i = 0; i < 3; i++) { VerticesContainer verticesContainer = Framework.Content.Load <VerticesContainer>("Pipeline/BreakableBody"); List <VerticesExt> def = verticesContainer["Cookie"]; _breakableCookie[i] = CreateBreakable(def); _breakableCookie[i].Strength = 120f; _breakableCookie[i].MainBody.Position = new Vector2(-20.33f + 15f * i, -5.33f); } _breakableSprite = new List <Sprite>(); List <Texture2D> textures = ContentWrapper.BreakableTextureFragments(_breakableCookie[0], "Cookie"); for (int i = 0; i < _breakableCookie[0].Parts.Count; i++) { AABB bounds; Transform transform; _breakableCookie[0].Parts[i].Body.GetTransform(out transform); _breakableCookie[0].Parts[i].Shape.ComputeAABB(ref transform, 0, out bounds); Vector2 origin = ConvertUnits.ToDisplayUnits(_breakableCookie[0].Parts[i].Body.Position - bounds.LowerBound); _breakableSprite.Add(new Sprite(textures[i], origin)); } _completeSprite = new Sprite(ContentWrapper.GetTexture("Cookie"), Vector2.Zero); }
public override void LoadContent() { base.LoadContent(); World.Gravity = new Vector2(0f, 10f); _loadedVertices = Framework.Content.Load <VerticesContainer>("Pipeline/Body"); _heartBody = Create(_loadedVertices["Heart"]); _heart = new Sprite(Managers.TextureManager.GetTexture("Heart"), Managers.TextureManager.CalculateOrigin(_heartBody)); _clubBody = Create(_loadedVertices["Club"]); _club = new Sprite(Managers.TextureManager.GetTexture("Club"), Managers.TextureManager.CalculateOrigin(_clubBody)); _spadeBody = Create(_loadedVertices["Spade"]); _spade = new Sprite(Managers.TextureManager.GetTexture("Spade"), Managers.TextureManager.CalculateOrigin(_spadeBody)); _diamondBody = Create(_loadedVertices["Diamond"]); _diamond = new Sprite(Managers.TextureManager.GetTexture("Diamond"), Managers.TextureManager.CalculateOrigin(_diamondBody)); }
public override void LoadContent() { base.LoadContent(); World.Gravity = Vector2.Zero; for (int i = 0; i < 3; i++) { VerticesContainer verticesContainer = Framework.Content.Load <VerticesContainer>("Pipeline/BreakableBody"); List <VerticesExt> def = verticesContainer["Cookie"]; _breakableCookie[i] = CreateBreakable(def); _breakableCookie[i].Strength = 120f; _breakableCookie[i].MainBody.Position = new Vector2(-20.33f + 15f * i, -5.33f); } _breakableSprite = new List <Sprite>(); IList <Texture2D> textures = Managers.TextureManager.BreakableTextureFragments(_breakableCookie[0], "Cookie"); for (int i = 0; i < _breakableCookie[0].Parts.Count; i++) { _breakableCookie[0].Parts[i].Body.GetTransform(out Transform transform); _breakableCookie[0].Parts[i].Shape.ComputeAABB(ref transform, 0, out AABB bounds);
public override VerticesContainer Process(List <PathDefinition> input, ContentProcessorContext context) { if (ScaleFactor < 1) { throw new Exception("Pixel to meter ratio must be greater than zero."); } if (BezierIterations < 1) { throw new Exception("Cubic bézier iterations must be greater than zero."); } Matrix matScale = Matrix.CreateScale(_scaleFactor, _scaleFactor, 1f); SVGPathParser parser = new SVGPathParser(BezierIterations); VerticesContainer container = new VerticesContainer(); foreach (PathDefinition d in input) { List <VerticesExt> vertices = parser.ParseSVGPath(d.Path, d.Transformation * matScale); List <VerticesExt> c = container.ContainsKey(d.Id) ? container[d.Id] : (container[d.Id] = new List <VerticesExt>()); if (vertices.Count == 1) { c.Add(vertices[0]); } else { for (int i = 0; i < vertices.Count; i++) { c.Add(vertices[i]); } } } return(container); }