refactor: move build_tool/TileImage to new package

This commit is contained in:
Jason Long 2014-08-09 14:24:13 -04:00
parent 1ec35c1d56
commit a3afcde7bb
3 changed files with 25 additions and 20 deletions

View file

@ -1,5 +1,6 @@
package micropolisj.build_tool; package micropolisj.build_tool;
import micropolisj.graphics.TileImage;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;

View file

@ -1,6 +1,7 @@
package micropolisj.build_tool; package micropolisj.build_tool;
import micropolisj.engine.TileSpec; import micropolisj.engine.TileSpec;
import micropolisj.graphics.TileImage;
import java.awt.*; import java.awt.*;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.*; import java.io.*;
@ -11,7 +12,7 @@ import javax.swing.ImageIcon;
import javax.xml.stream.*; import javax.xml.stream.*;
import static micropolisj.engine.TileSpec.generateTileNames; import static micropolisj.engine.TileSpec.generateTileNames;
import static micropolisj.build_tool.TileImage.*; import static micropolisj.graphics.TileImage.*;
import static micropolisj.XML_Helper.*; import static micropolisj.XML_Helper.*;
public class MakeTiles public class MakeTiles
@ -78,8 +79,7 @@ public class MakeTiles
TileImageSprite prepareTile(Dimension size) TileImageSprite prepareTile(Dimension size)
{ {
TileImageSprite s = new TileImageSprite(); TileImageSprite s = new TileImageSprite(this);
s.source = this;
s.offsetY = this.nextOffsetY + size.height - TILE_SIZE; s.offsetY = this.nextOffsetY + size.height - TILE_SIZE;
this.nextOffsetY += size.height; this.nextOffsetY += size.height;
this.maxWidth = Math.max(maxWidth, size.width); this.maxWidth = Math.max(maxWidth, size.width);
@ -326,8 +326,7 @@ public class MakeTiles
TileImage img = loadAnimation(parts[0]); TileImage img = loadAnimation(parts[0]);
if (parts.length >= 2) { if (parts.length >= 2) {
TileImageSprite sprite = new TileImageSprite(); TileImageSprite sprite = new TileImageSprite(img);
sprite.source = img;
String offsetInfo = parts[1]; String offsetInfo = parts[1];
parts = offsetInfo.split(","); parts = offsetInfo.split(",");
@ -531,8 +530,7 @@ public class MakeTiles
if (tmp != null) { if (tmp != null) {
String [] coords = tmp.split(","); String [] coords = tmp.split(",");
if (coords.length == 2) { if (coords.length == 2) {
TileImageSprite sprite = new TileImageSprite(); TileImageSprite sprite = new TileImageSprite(img);
sprite.source = img;
sprite.offsetX = Integer.parseInt(coords[0]); sprite.offsetX = Integer.parseInt(coords[0]);
sprite.offsetY = Integer.parseInt(coords[1]); sprite.offsetY = Integer.parseInt(coords[1]);
img = sprite; img = sprite;

View file

@ -1,4 +1,4 @@
package micropolisj.build_tool; package micropolisj.graphics;
import java.awt.*; import java.awt.*;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
@ -20,10 +20,10 @@ public abstract class TileImage
public abstract int getFrameEndTime(int frameTime); public abstract int getFrameEndTime(int frameTime);
static class TileImageLayer extends TileImage public static class TileImageLayer extends TileImage
{ {
TileImageLayer below; public TileImageLayer below;
TileImage above; public TileImage above;
@Override @Override
public void drawWithTimeTo(Graphics2D gr, int time, int destX, int destY, int srcX, int srcY) public void drawWithTimeTo(Graphics2D gr, int time, int destX, int destY, int srcX, int srcY)
@ -56,11 +56,16 @@ public abstract class TileImage
} }
} }
static class TileImageSprite extends TileImage public static class TileImageSprite extends TileImage
{ {
TileImage source; public final TileImage source;
int offsetX; public int offsetX;
int offsetY; public int offsetY;
public TileImageSprite(TileImage source)
{
this.source = source;
}
@Override @Override
public void drawWithTimeTo(Graphics2D gr, int time, int destX, int destY, int srcX, int srcY) public void drawWithTimeTo(Graphics2D gr, int time, int destX, int destY, int srcX, int srcY)
@ -74,13 +79,14 @@ public abstract class TileImage
} }
} }
static class SourceImage extends TileImage public static class SourceImage extends TileImage
{ {
Image image; public final Image image;
int basisSize; public final int basisSize;
int targetSize; public final int targetSize;
SourceImage(Image image, int basisSize, int targetSize) { public SourceImage(Image image, int basisSize, int targetSize)
{
this.image = image; this.image = image;
this.basisSize = basisSize; this.basisSize = basisSize;
this.targetSize = targetSize; this.targetSize = targetSize;