protected override void InitilizeInventorySlots() { base.InitilizeInventorySlots(); var count = 0; foreach (var equipmentSlot in SlotReferences) { var equipableSlot = new SlotEquipable(equipmentSlot.Value.SlotTransform, InventorySlotData[count + Capacity], count + Capacity); InventorySlots.Add(count + Capacity, equipableSlot); count++; // call the hook function or it won't initilize the LocalEquips if (equipableSlot.SlotData.Occupant()) { EquipmentSlotChanged(equipableSlot.SlotData, equipableSlot); } } }
private void EquipmentSlotChanged(ItemSlotData itemData, SlotEquipable equipableSlot) { // destroy localEquip if Exists if (equipableSlot.CurrentEquip) { Destroy(equipableSlot.CurrentEquip.gameObject); equipableSlot.CurrentEquip = null; } var equipableItem = equipableSlot.ItemReference as ItemEquipable; if (equipableItem == null) { return; } equipableSlot.CurrentEquip = Instantiate(equipableItem.EquipItem, equipableSlot.SlotTransform); equipableSlot.CurrentEquip.transform.localPosition = Vector3.zero; }