package cactusServer.entities;
import net.arnx.jsonic.JSONHint;
public class Item extends Entity {
private String name;
private int amount;
@JSONHint(ignore = true)
public static final int UNIQUE_ID_LENGTH = 12;
private Item() {
// JSONDecode時の呼び出し用
}
public Item(String name, int amount) {
setName(name);
setAmount(amount);
}
public String getName() {
return name;
}
public int getAmount() {
return amount;
}
public boolean isEmpty() {
return (amount == 0);
}
public void setName(String name) {
this.name = name;
}
public void setAmount(int amount) {
this.amount = amount;
}
public Item changeAmount(int amountOfChange) {
amount = Math.max(amount + amountOfChange, 0);
return this;
}
@Override
public int hashCode() {
int result = 17;
result = result * 31 + name.hashCode();
return result;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof Item) {
Item item = (Item) obj;
if (this.name.equals(item.name)) {
return true; // 同名のアイテムは等価
}
}
return false;
}
}