public override System.Drawing.Rectangle Bounds(S2RingEntry rng, Point camera) { switch (rng.Direction) { case Direction.Horizontal: return new Rectangle(rng.X + img.X - camera.X, rng.Y + img.Y - camera.Y, ((rng.Count - 1) * spacing) + img.Width, img.Height); case Direction.Vertical: return new Rectangle(rng.X + img.X - camera.X, rng.Y + img.Y - camera.Y, img.Width, ((rng.Count - 1) * spacing) + img.Height); } return Rectangle.Empty; }
public override System.Drawing.Rectangle GetBounds(S2RingEntry rng, Point camera) { switch (rng.Direction) { case Direction.Horizontal: return(new Rectangle(rng.X + spr.X - camera.X, rng.Y + spr.Y - camera.Y, ((rng.Count - 1) * spacing) + spr.Width, spr.Height)); case Direction.Vertical: return(new Rectangle(rng.X + spr.X - camera.X, rng.Y + spr.Y - camera.Y, spr.Width, ((rng.Count - 1) * spacing) + spr.Height)); } return(Rectangle.Empty); }
public override Sprite GetSprite(S2RingEntry rng) { List<Sprite> sprs = new List<Sprite>(); for (int i = 0; i < rng.Count; i++) { switch (rng.Direction) { case SonicRetro.SonLVL.Direction.Horizontal: sprs.Add(new Sprite(img.Image, new Point(img.X + (i * spacing), img.Y))); break; case SonicRetro.SonLVL.Direction.Vertical: sprs.Add(new Sprite(img.Image, new Point(img.X, img.Y + (i * spacing)))); break; } } Sprite spr = new Sprite(sprs.ToArray()); spr.Offset = new Point(spr.X + rng.X, spr.Y + rng.Y); return spr; }
public override Sprite GetSprite(S2RingEntry rng) { List <Sprite> sprs = new List <Sprite>(); for (int i = 0; i < rng.Count; i++) { switch (rng.Direction) { case Direction.Horizontal: sprs.Add(new Sprite(spr.Image, new Point(spr.X + (i * spacing), spr.Y))); break; case Direction.Vertical: sprs.Add(new Sprite(spr.Image, new Point(spr.X, spr.Y + (i * spacing)))); break; } } Sprite result = new Sprite(sprs.ToArray()); result.Offset = new Point(spr.X + rng.X, spr.Y + rng.Y); return(result); }