public void DropWeaponToGround(bool throwWeaponForce, WeaponItemRuntime weaponToDrop)
        {
            bool isDualWielded = false;

            if (weaponToDrop.weaponItemData.weaponType == WeaponType.RANGED)
            {
                WeaponItemRuntimeRanged rangedComponent = weaponToDrop as WeaponItemRuntimeRanged;
                if (rangedComponent.isDualWielded == true)
                {
                    isDualWielded = true;
                }
            }

            if (isDualWielded == false)
            {
                if (throwWeaponForce)
                {
                    WorldInteractionEvent_PickupWeaponRuntime pickupWeaponInteraction = WeaponStaticUtils.DropWeaponToGround(weaponToDrop, worldInteractionParentGroup, searcherController.controllerData.worldInteractionPrefab);
                    currentWeaponItemRuntime.OnDropWeaponToGround();
                    WeaponStaticUtils.ThrowWeaponWithForce(pickupWeaponInteraction, weaponToDrop.weaponItemData.throwDistanceForce, transform.forward);
                }
            }
            else
            {
                WeaponItemRuntimeRangedDualWielded dualWieldComponent = weaponToDrop as WeaponItemRuntimeRangedDualWielded;
                dualWieldComponent.DestroyDualWield();
            }

            inventoryWeapons.Remove(weaponToDrop);

            currentWeaponItemRuntime = null;
            currentWeaponItem        = null;

            if (playerHealthController.isDead == false)
            {
                WeaponToggle();
            }
        }