2020-05-27 18:52:56 +02:00

78 lines
2.1 KiB
Java

package ruscz.game.gameOfProd.Inventory;
import java.util.Objects;
public class Item {
private ItemAction itemAction;
private String name;
private int multiplicity;
private int image;
public Item(String name, int multiplicity, int image, String itemAction) {
this.name = parseName(name);
this.image = image;
this.multiplicity = multiplicity;
setItemActionByName(itemAction);
}
public Item(String name, int image, String itemAction) {
this.name = parseName(name);
this.image = image;
this.multiplicity = 1;
setItemActionByName(itemAction);
}
private String parseName(String name) {
name = name.replace("-", " ");
name = name.substring(0, 1).toUpperCase() + name.substring(1);
return name;
}
private void setItemActionByName(String action) {
switch (action) {
case "heal":
itemAction = ItemAction.HEAL;
break;
case "mana":
itemAction = ItemAction.MANA;
break;
case "def":
itemAction = ItemAction.DEFENCE;
break;
case "str":
itemAction = ItemAction.STRENGTH;
break;
case "key":
itemAction = ItemAction.KEY;
break;
}
}
public String getName() { return name; }
public int getImage() { return image; }
public int getMultiplicity() { return multiplicity; }
public void setMultiplicity(int multiplicity) { this.multiplicity = multiplicity; }
public ItemAction getItemAction() {
return itemAction;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Item item = (Item) o;
return image == item.image &&
itemAction == item.itemAction &&
name.equals(item.name);
}
@Override
public int hashCode() {
return Objects.hash(itemAction, name, image);
}
}