/// <summary> /// Otherwise do the same thing as MoveItem in inventory Script. /// But we need to reconstruct the invetory to the player. /// </summary> /// <param name="clicked"></param> public override void MoveItem(GameObject clicked) { base.MoveItem(clicked); foreach (Slot slot in equipmentSlots) { Transform equipmentTransform = player.transform.FindChild(slot.name); if (equipmentTransform != null) { EquipmentSlot equipment = equipmentTransform.GetComponent <EquipmentSlot>(); if (slot.isEmpty && !equipment.IsEmpty()) { equipment.RemoveItem(); } else if (!slot.isEmpty) { if (equipment.IsEmpty() || equipment.Item.Item != slot.CurrentItem.Item) { equipment.SetItem(slot.CurrentItem); } } } } }
/// <summary> /// Reconstruct single slot's equipment stats. /// </summary> /// <param name="clothing"></param> private void SetClothing(string clothing) { EquipmentSlot equipment = player.transform.FindChild(clothing).GetComponent <EquipmentSlot>(); Slot slot = GetSlot(clothing); if (slot.isEmpty && !equipment.IsEmpty()) { equipment.RemoveItem(); } else if (!slot.isEmpty) { if (equipment.Item == null || equipment.Item.Item != slot.CurrentItem.Item) { equipment.SetItem(slot.CurrentItem); } } }
public bool SlotIsEquipped(string inSlotName) { EquipmentSlot slot = GetEquipmentSlot(inSlotName); return(slot != null && !slot.IsEmpty()); }