Пример #1
0
 private WeaponHolderSlot GetWeaponHolderSlot(WeaponSlotID slotID)
 {
     switch(slotID)
     {
         case WeaponSlotID.RightHandSlot:
             return rightHandSlot;
         case WeaponSlotID.LeftHandSlot:
             return leftHandSlot;
         case WeaponSlotID.BackSlot:
             return backSlot;
         default:
             throw new Exception("Invalid weapon slot ID");
     }
 }
Пример #2
0
        public void LoadWeaponOnSlot(WeaponItem weaponItem, WeaponSlotID slotID)
        {
            WeaponHolderSlot slot = GetWeaponHolderSlot(slotID);
            if (slot.slotID == WeaponSlotID.LeftHandSlot)
            {
                leftHandSlot.currentWeapon = weaponItem;
                leftHandSlot.LoadWeaponModel(weaponItem);
                LoadLeftWeaponDamageCollider();
                quickSlotsUI.UpdateWeaponQuickSlotsUI(true, weaponItem);

                if (weaponItem != null && weaponItem.Left_Hand_Idle != null)
                {
                    animator.CrossFade(weaponItem.Left_Hand_Idle, 0.2f);
                }
                else
                {
                    animator.CrossFade("Left Arm Empty", 0.2f);
                }
            }
            else
            {
                if (InputHandler.twoHandFlag)
                {
                    backSlot.LoadWeaponModel(leftHandSlot.currentWeapon);
                    leftHandSlot.UnloadItemModelAndDestroy();
                    animator.CrossFade(weaponItem.Two_Hand_Idle, 0.2f);
                }
                else
                {
                    backSlot.UnloadItemModelAndDestroy();
                    animator.CrossFade("Both Arms Empty", 0.2f);
                    if (weaponItem != null && weaponItem.Right_Hand_Idle != null)
                    {
                        animator.CrossFade(weaponItem.Right_Hand_Idle, 0.2f);
                    }
                    else
                    {
                        animator.CrossFade("Right Arm Empty", 0.2f);
                    }
                }

                rightHandSlot.currentWeapon = weaponItem;
                rightHandSlot.LoadWeaponModel(weaponItem);
                LoadRightWeaponDamageCollider();
                quickSlotsUI.UpdateWeaponQuickSlotsUI(false, weaponItem);
            }
        }
Пример #3
0
 public void UnloadWeaponOnSlot(WeaponSlotID slotID)
 {
     GetWeaponHolderSlot(slotID).UnloadItemModel();
 }