TileImages: refactor: move SimpleTileImage to graphics package
This commit is contained in:
parent
02ee143ce9
commit
0c29bbfcf8
2 changed files with 33 additions and 30 deletions
|
@ -2,6 +2,9 @@ package micropolisj.graphics;
|
|||
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import javax.xml.stream.*;
|
||||
|
||||
import static micropolisj.XML_Helper.*;
|
||||
|
||||
public abstract class TileImage
|
||||
{
|
||||
|
@ -88,9 +91,38 @@ public abstract class TileImage
|
|||
}
|
||||
}
|
||||
|
||||
public static class SimpleTileImage extends TileImage
|
||||
{
|
||||
public BufferedImage srcImage;
|
||||
public int offsetY;
|
||||
|
||||
@Override
|
||||
public void drawFragment(Graphics2D gr, int destX, int destY, int srcX, int srcY) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
||||
public interface LoaderContext
|
||||
{
|
||||
BufferedImage getDefaultImage();
|
||||
BufferedImage getImage(String name);
|
||||
}
|
||||
|
||||
public static SimpleTileImage readSimpleImage(XMLStreamReader in, LoaderContext ctx)
|
||||
throws XMLStreamException
|
||||
{
|
||||
SimpleTileImage img = new SimpleTileImage();
|
||||
String srcImageName = in.getAttributeValue(null, "src");
|
||||
if (srcImageName != null) {
|
||||
img.srcImage = ctx.getImage(srcImageName);
|
||||
}
|
||||
else {
|
||||
img.srcImage = ctx.getDefaultImage();
|
||||
}
|
||||
String tmp = in.getAttributeValue(null, "offsetY");
|
||||
img.offsetY = tmp != null ? Integer.parseInt(tmp) : 0;
|
||||
|
||||
skipToEndElement(in);
|
||||
return img;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ import micropolisj.engine.*;
|
|||
import micropolisj.graphics.TileImage;
|
||||
import static micropolisj.engine.TileConstants.*;
|
||||
import static micropolisj.XML_Helper.*;
|
||||
import static micropolisj.graphics.TileImage.LoaderContext;
|
||||
import static micropolisj.graphics.TileImage.*;
|
||||
|
||||
public class TileImages
|
||||
{
|
||||
|
@ -31,17 +31,6 @@ public class TileImages
|
|||
TileImage [] tileImageMap;
|
||||
Map<SpriteKind, Map<Integer, Image> > spriteImages;
|
||||
|
||||
static class SimpleTileImage extends TileImage
|
||||
{
|
||||
BufferedImage srcImage;
|
||||
int offsetY;
|
||||
|
||||
@Override
|
||||
public void drawFragment(Graphics2D gr, int destX, int destY, int srcX, int srcY) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
||||
static class AnimatedTile extends TileImage
|
||||
{
|
||||
SimpleTileImage [] frames;
|
||||
|
@ -71,24 +60,6 @@ public class TileImages
|
|||
return "/" + name + "/tiles.png";
|
||||
}
|
||||
|
||||
static SimpleTileImage readSimpleImage(XMLStreamReader in, LoaderContext ctx)
|
||||
throws XMLStreamException
|
||||
{
|
||||
SimpleTileImage img = new SimpleTileImage();
|
||||
String srcImageName = in.getAttributeValue(null, "src");
|
||||
if (srcImageName != null) {
|
||||
img.srcImage = ctx.getImage(srcImageName);
|
||||
}
|
||||
else {
|
||||
img.srcImage = ctx.getDefaultImage();
|
||||
}
|
||||
String tmp = in.getAttributeValue(null, "offsetY");
|
||||
img.offsetY = tmp != null ? Integer.parseInt(tmp) : 0;
|
||||
|
||||
skipToEndElement(in);
|
||||
return img;
|
||||
}
|
||||
|
||||
static AnimatedTile readAnimation(XMLStreamReader in, LoaderContext ctx)
|
||||
throws XMLStreamException
|
||||
{
|
||||
|
|
Reference in a new issue