private SpriteSheet1D(Texture2D texture, int count, SpriteSheetOrientation orientation) { Count = count; Orientation = orientation; var size = new Vector2(texture.Width, texture.Height); switch (orientation) { case SpriteSheetOrientation.Horizontal: UnitWidth = size.X / count; UnitHeight = size.Y; break; case SpriteSheetOrientation.Vertical: UnitWidth = size.X; UnitHeight = size.Y / count; break; default: throw new ArgumentOutOfRangeException(nameof(orientation), orientation, null); } _texture = texture; }
private SpriteSheet2D(Texture2D texture, float unitWidth, float unitHeight, int stride, int arrayCount, SpriteSheetOrientation orientation) { Stride = stride; Orientation = orientation; UnitWidth = unitWidth; UnitHeight = unitHeight; ArrayCount = arrayCount; _texture = texture; }
public static SpriteSheet2D LoadSpriteSheet2D([NotNull] GraphicsDevice graphics, [NotNull] Bitmap bitmap, [NotNull] ImageFormat format, float unitWidth, float unitHeight, int stride, int arrayCount, SpriteSheetOrientation orientation) { var texture = LoadTexture(graphics, bitmap, format); return(SpriteSheet2D.Wrap(texture, unitWidth, unitHeight, stride, arrayCount, orientation)); }
public static SpriteSheet1D LoadSpriteSheet1D([NotNull] GraphicsDevice graphics, [NotNull] Bitmap bitmap, [NotNull] ImageFormat format, int count, SpriteSheetOrientation orientation) { var texture = LoadTexture(graphics, bitmap, format); return(SpriteSheet1D.Wrap(texture, count, orientation)); }
public static SpriteSheet1D LoadSpriteSheet1D([NotNull] GraphicsDevice graphics, [NotNull] string filePath, int count, SpriteSheetOrientation orientation) { var texture = LoadTexture(graphics, filePath); return(SpriteSheet1D.Wrap(texture, count, orientation)); }
public static SpriteSheet2D Wrap(Texture2D texture, float unitWidth, float unitHeight, int stride, int arrayCount, SpriteSheetOrientation orientation) { return(new SpriteSheet2D(texture, unitWidth, unitHeight, stride, arrayCount, orientation)); }
public static SpriteSheet1D Wrap(Texture2D texture, int count, SpriteSheetOrientation orientation) { return(new SpriteSheet1D(texture, count, orientation)); }