public void equipAccessory(Accessory accessory) { for (int i = 0; i < accessory.EquipableIn.Count; i++) { switch (accessory.EquipableIn[i]) { case Slots.Neck: necklace = accessory; break; case Slots.Finger_One: if (rings[0] != null && rings[1] == null) { rings[1] = accessory; } else { rings[0] = accessory; } break; } } }
public Accessory removeAccessory(Accessory type, int removedRingIndex = -1) { Accessory removedAccessory = null; if (removedRingIndex != -1) { removedAccessory = rings[removedRingIndex]; rings[removedRingIndex] = null; } bool found = false; if (type != null) { for (int i = 0; i < type.EquipableIn.Count && !found; i++) { switch (type.EquipableIn[i]) { case Slots.Neck: removedAccessory = necklace; necklace = null; found = true; break; case Slots.Finger_One: if (rings[0] != null && rings[1] != null) { removedAccessory = rings[0]; found = true; rings[0] = null; } break; } } } return removedAccessory; }
public bool isAccessoryEquipable(Accessory accessory, Classes heroRole, int level) { bool result = false; if (accessory != null) { bool equipable = false; for (int i = 0; i < accessory.UsedBy.Count && !equipable; i++) { equipable = (accessory.UsedBy[i] == heroRole); } result = (equipable && accessory.LevelReq <= level); } if (!result) { Engine.Engine.Log("You can't equip this accessory."); } return result; }