78 lines
2.1 KiB
Java
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);
|
|
}
|
|
}
|