public void EquipNewWeaponToInventory(WeaponItemRuntime itemRuntime)
        {
            bool canBeDualWielded = false;

            if (itemRuntime.weaponItemData.weaponType == WeaponType.RANGED)
            {
                WeaponItemRuntimeRanged rangedItem = itemRuntime as WeaponItemRuntimeRanged;
                if (rangedItem.rangedData.canBeDualWielded == true)
                {
                    //Check Inventory to see if we have the same item type
                    bool hasExistingWeaponInInventory = false;
                    int  wpnInList = 0;
                    for (int i = 0; i < inventoryWeapons.Count; i++)
                    {
                        if (inventoryWeapons[i].weaponItemData == itemRuntime.weaponItemData)
                        {
                            hasExistingWeaponInInventory = true;
                            wpnInList = i;
                            break;
                        }
                    }

                    if (hasExistingWeaponInInventory == true)
                    {
                        canBeDualWielded = true;
                        //If Reloading During Pickup Cancel
                        if (isPlayerReloading.value)
                        {
                            reloadController.ReloadCancelled();
                        }
                        //Change Our In Hand Weapon To That If We Have Not Got It (But Don't Execute usual logic)
                        if (currentWeaponItemRuntime != itemRuntime)
                        {
                            if (currentWeaponItemRuntime != null)
                            {
                                currentWeaponItemRuntime.gameObject.SetActive(false);
                            }
                            currentWeaponInList = wpnInList;
                            EquipWeaponExistingInInventory(inventoryWeapons[wpnInList]);
                        }
                        SetupDualWieldItem(itemRuntime);
                    }
                }
            }

            if (canBeDualWielded == false) //If Not Dual Wieldable We can pickup weapons normally
            {
                if (inventoryWeapons.Count == playerInventoryData.maxInventoryWeaponsAmount)
                {
                    DropWeaponToGround(false, currentWeaponItemRuntime);
                }
                else
                {
                    DisableInHandWeapon();
                }
                NewWeaponEquipped(itemRuntime.weaponItemData.weaponType, itemRuntime);
            }
        }