package com.lucasdnd.ags.gameplay.market; import org.newdawn.slick.SpriteSheet; /** * This is the representation of an Asset on the market (size, usable tiles, level of awesome, * prices, etc). * It's the model to create the Assets (furniture, consoles, vending machines, etc). * @author tulio * */ public abstract class MarketAsset extends Product { private int xSize; // x Size, in Tiles private int ySize; // y Size, in Tiles private int[] usableXTiles; // Which Tiles are usable, in the x axis private int[] usableYTiles; // Which Tiles are usable, in the y axis private SpriteSheet spriteSheet; // The sprite sheet protected int maxOrganizationLevel; // Max organization /** * Constructor for Assets that take space on the Map (Tables, Shelves) * @param id * @param spriteSheet * @param name * @param price * @param releaseDate * @param xSize * @param ySize * @param usableXTiles * @param usableYTiles */ public MarketAsset(int id, SpriteSheet spriteSheet, String name, int price, long releaseDate, int xSize, int ySize, int[] usableXTiles, int[] usableYTiles, int maxOrganizationLevel) { // Super Constructor for basic attributes super(id, name, price, releaseDate); // Specific attributes for Assets only this.spriteSheet = spriteSheet; this.xSize = xSize; this.ySize = ySize; this.usableXTiles = usableXTiles; this.usableYTiles = usableYTiles; this.maxOrganizationLevel = maxOrganizationLevel; } public int getxSize() { return xSize; } public void setxSize(int xSize) { this.xSize = xSize; } public int getySize() { return ySize; } public void setySize(int ySize) { this.ySize = ySize; } public int[] getUsableXTiles() { return usableXTiles; } public void setUsableXTiles(int[] usableXTiles) { this.usableXTiles = usableXTiles; } public int[] getUsableYTiles() { return usableYTiles; } public void setUsableYTiles(int[] usableYTiles) { this.usableYTiles = usableYTiles; } public SpriteSheet getSpriteSheet() { return spriteSheet; } public void setSpriteSheet(SpriteSheet spriteSheet) { this.spriteSheet = spriteSheet; } public int getMaxOrganizationLevel() { return maxOrganizationLevel; } public void setMaxOrganizationLevel(int maxOrganizationLevel) { this.maxOrganizationLevel = maxOrganizationLevel; } }