package com.weem.epicinventor.world.block; import java.awt.*; import java.awt.image.*; import java.io.*; public class Block implements Serializable { protected static final long serialVersionUID = 10000L; private int mapX, mapY; private BlockType blockType; private BlockManager blockManager; public Block(BlockManager bm, BlockType bt, int x, int y) { blockManager = bm; blockType = bt; mapX = x; mapY = y; } public int getMapX() { return mapX; } public int getMapY() { return mapY; } public BlockType getBlockType(){ return blockType; } public boolean isBackground() { return blockType.isBackground(); } public BufferedImage getImage() { return blockType.getImage(); } public void display(Graphics g) { int xPos = blockManager.mapToPanelX(mapX); int yPos = blockManager.mapToPanelY(mapY); //flip the yPos since drawing happens top down versus bottom up yPos = blockManager.getPHeight() - yPos; //subtract the block height since points are bottom left and drawing starts from top left yPos -= blockManager.getBlockHeight(); g.drawImage(blockType.getImage(), xPos, yPos, null); } private void readObject(ObjectInputStream aInputStream) throws Exception { aInputStream.defaultReadObject(); } private void writeObject(ObjectOutputStream aOutputStream) throws Exception { aOutputStream.defaultWriteObject(); } }