package Roguelike.Ability.ActiveAbility.CostType; import Roguelike.Ability.ActiveAbility.ActiveAbility; import Roguelike.Items.Item; import Roguelike.Items.Item.EquipmentSlot; import com.badlogic.gdx.utils.XmlReader.Element; public class CostTypeEquipped extends AbstractCostType { private String equipped; @Override public boolean isCostAvailable(ActiveAbility aa) { for (EquipmentSlot slot : EquipmentSlot.values()) { Item item = aa.getCaster().getInventory().getEquip(slot); if (item != null && item.type != null) { if (item.type.equals(equipped)) { return true; } } } return false; } @Override public String toString(ActiveAbility aa) { String colour = isCostAvailable(aa) ? "[GREEN]" : "[RED]"; return colour+"Requires "+equipped+" equipped."; } @Override public void spendCost(ActiveAbility aa) { } @Override public void parse(Element xml) { equipped = xml.getText().toLowerCase(); } @Override public AbstractCostType copy() { CostTypeEquipped cost = new CostTypeEquipped(); cost.equipped = equipped; return cost; } }