package vooga.rts.util;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import vooga.rts.resourcemanager.ResourceManager;
public class SpriteSheet {
private Dimension mySpriteSize;
private Dimension myImageSize;
private BufferedImage mySpriteSheet;
private int mySpritesX;
private int mySpritesY;
private String myFile;
private BufferedImage[][] mySprites;
public SpriteSheet(String image, Dimension spritesize) {
mySpriteSheet = ResourceManager.getInstance().<BufferedImage>getFile(image, BufferedImage.class);
myFile = image.substring(image.lastIndexOf("/") + 1);
mySpriteSize = spritesize;
myImageSize = new Dimension(mySpriteSheet.getWidth(), mySpriteSheet.getHeight());
mySpritesX = (int) Math.floor(myImageSize.getWidth() / mySpriteSize.getWidth());
mySpritesY = (int) Math.floor(myImageSize.getHeight() / mySpriteSize.getHeight());
mySprites = new BufferedImage[mySpritesX][mySpritesY];
splitImages();
}
private void splitImages() {
for (int x = 0; x < mySpritesX; x++) {
for (int y = 0; y < mySpritesY; y++) {
mySprites[x][y] = mySpriteSheet.getSubimage(x, y, (int)mySpriteSize.getWidth(), (int)mySpriteSize.getHeight());
}
}
}
public BufferedImage getImage(int x, int y) {
if (x >= 0 && y >= 0 && x < mySpritesX && y < mySpritesY) {
return mySprites[x][y];
}
return null;
}
}