package vooga.rts.leveleditor.components;
import java.awt.Image;
import vooga.rts.gamedesign.sprite.gamesprites.Resource;
import vooga.rts.util.Location3D;
import vooga.rts.util.Pixmap;
/**
* This class represents the available resource types the designer can choose from
*
* @author Yang Yang
*
*/
public class EditableResource extends Resource {
private int myID;
private String myImageName;
private int myAmount;
/**
* the constructor for editable resource
* @param image of the resource
* @param center of the resource
* @param id of the resource
* @param name of the resource
* @param imageName of the resource
* @param amount of the resource
*/
public EditableResource(Pixmap image, Location3D center , int id,
String name , String imageName, int amount) {
super(image, center, image.getMyDimension(), 0, amount, name);
myID = id;
myImageName = imageName;
myAmount = amount;
}
/**
* constructor for editableResource
* @param image image for this resource
* @param x x position
* @param y y position
* @param z z position
* @param id id of the resource
* @param name of the resource
* @param imageName of the resource
* @param amount of the resource
*/
public EditableResource(Pixmap image, int x , int y , int z ,
int id, String name , String imageName, int amount) {
this(image, new Location3D(x, y, z), id, name, imageName, amount);
}
/**
* constructor
* @param image image of the resource
* @param x x position
* @param y y position
* @param layerCount layer number
* @param layerHeight height of the layer
* @param id id of the resource
* @param name name of the resource
* @param imageName image name of the resource
* @param amount amount of the resource
*/
public EditableResource(Pixmap image, int x , int y ,
int layerCount , int layerHeight, int id, String name , String imageName, int amount) {
this(image, x, y, layerCount * layerHeight, id, name, imageName, amount);
}
/**
* return the id
* @return int
*/
public int getMyID () {
return myID;
}
/**
* get the image name
* @return String
*/
public String getMyImageName () {
return myImageName;
}
/**
* get the amount of resource
* @return int
*/
public int getMyAmount () {
return myAmount;
}
/**
* set the amount of resource
* @param amount resource amount
*/
public void setAmount(int amount) {
myAmount = amount;
}
/**
* return the image of the resource
* @return
*/
public Image getMyImage() {
return super.getImage().getImage();
}
}