package br.com.while42.rpgcs.model.equip; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import br.com.while42.rpgcs.model.equip.armor.Armor; import br.com.while42.rpgcs.model.equip.weapons.SizeWeapon; import br.com.while42.rpgcs.model.equip.weapons.Weapon; import br.com.while42.rpgcs.model.equip.weapons.especial.EspecialWeapon; public class Equipments implements Serializable { private static final long serialVersionUID = 1L; private List<Weapon> weapons = new ArrayList<Weapon>(); private List<Armor> armors = new ArrayList<Armor>(); // -- Weapons public void addWeapon(Weapon weapon) { weapons.add(weapon); } public void addWeapon(Weapon weapon, SizeWeapon size) { weapon.setSize(size); weapons.add(weapon); } public void addWeapon(Weapon weapon, SizeWeapon size, Boolean equiped) { weapon.setSize(size); weapon.setEquiped(equiped); weapons.add(weapon); } public void addWeapon(EspecialWeapon weapon) { weapons.add(weapon); } public void addWeapon(EspecialWeapon weapon, Boolean equiped) { weapon.setEquiped(equiped); weapons.add(weapon); } public void removeWeapon(int index) { weapons.remove(index); } public void clearWeapon() { weapons.clear(); } public void setWeaponEquiped(int index, Boolean equiped) { weapons.get(index).setEquiped(equiped); } public List<Weapon> getWeapons() { return new ArrayList<Weapon>(weapons); } // -- Armors public void addArmors(Armor armor) { armors.add(armor); } public void removeArmor(int index) { armors.remove(index); } public void clearArmor() { armors.clear(); } public void setArmorEquiped(int index, Boolean equiped) { armors.get(index).setEquiped(equiped); } public List<Armor> getArmors() { return new ArrayList<Armor>(armors); } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Equipments)) return false; //Equipments eq = (Equipments) o; return true; } @Override public int hashCode() { return super.hashCode(); } @Override public String toString() { StringBuilder sb = new StringBuilder(); return sb.toString(); } }