/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package vee;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.Iterator;
import vee.items.Equipment;
import vee.types.EquipmentSlot;
public class EquippedItems {
private EnumMap<EquipmentSlot, Equipment> equipment;
public EquippedItems() {
this.equipment = new EnumMap<>(EquipmentSlot.class);
this.equipment.put(EquipmentSlot.Helm, null);
this.equipment.put(EquipmentSlot.Chest, null);
this.equipment.put(EquipmentSlot.Belt, null);
this.equipment.put(EquipmentSlot.Legs, null);
this.equipment.put(EquipmentSlot.Feet, null);
this.equipment.put(EquipmentSlot.MainHand, null);
this.equipment.put(EquipmentSlot.OffHand, null);
}
public Equipment getHelm() {
return this.equipment.get(EquipmentSlot.Helm);
}
public void setHelm(Equipment helm) {
this.equipment.put(EquipmentSlot.Helm, helm);
}
public Equipment getChest() {
return this.equipment.get(EquipmentSlot.Chest);
}
public void setChest(Equipment chest) {
this.equipment.put(EquipmentSlot.Chest, chest);
}
public Equipment getBelt() {
return this.equipment.get(EquipmentSlot.Belt);
}
public void setBelt(Equipment belt) {
this.equipment.put(EquipmentSlot.Belt, belt);
}
public Equipment getLegs() {
return this.equipment.get(EquipmentSlot.Legs);
}
public void setLegs(Equipment legs) {
this.equipment.put(EquipmentSlot.Legs, legs);
}
public Equipment getFeet() {
return this.equipment.get(EquipmentSlot.Feet);
}
public void setFeet(Equipment feet) {
this.equipment.put(EquipmentSlot.Feet, feet);
}
public Equipment getMainHand() {
return this.equipment.get(EquipmentSlot.MainHand);
}
public void setMainHand(Equipment mainhand) {
this.equipment.put(EquipmentSlot.MainHand, mainhand);
}
public Equipment getOffHand() {
return this.equipment.get(EquipmentSlot.OffHand);
}
public void setOffHand(Equipment offhand) {
this.equipment.put(EquipmentSlot.OffHand, offhand);
}
public Equipment equip(Equipment equipment) {
if(!equipment.isEquippable()) {
return null;
}
Equipment currentEquipment = this.unequip(equipment);
this.equipment.put(equipment.getSlot(), equipment);
return currentEquipment;
}
public Equipment unequip(Equipment equipment) {
Equipment currentEquipment = this.equipment.get(equipment.getSlot());
this.equipment.put(equipment.getSlot(), null);
return currentEquipment;
}
public boolean isEquipped(Equipment equipment) {
Equipment currentEquipment = this.equipment.get(equipment.getSlot());
return equipment == currentEquipment;
}
// public ArrayList<Equipment> allEquipment() {
// Iterator<EquipmentSlot> equipmentIterator = this.equipment.keySet().iterator();
// ArrayList<Equipment> listOfEquipment = new ArrayList();
// while(equipmentIterator.hasNext()) {
// listOfEquipment.add(equipment.get(equipmentIterator.next()));
// }
// return listOfEquipment;
// }
}