Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
        }