//Handles all weapon logic
    void WeaponLogic()
    {
        if (!weaponHandler)
        {
            return;
        }

        aiming = Input.GetButton(input.aimButton) || debugAim;

        weaponHandler.Aim(aiming);

        other.requireInputForTurn = !aiming;

        weaponHandler.FingerOnTrigger(Input.GetButton(input.fireButton));

        if (Input.GetButtonDown(input.reloadButton))
        {
            weaponHandler.Reload();
        }

        if (Input.GetButtonDown(input.dropWeaponButton))
        {
            weaponHandler.DropCurWeapon();
        }

        if (Input.GetButtonDown(input.switchWeaponButton))
        {
            weaponHandler.SwitchWeapons();
        }

        if (!weaponHandler.currentWeapon)
        {
            return;
        }

        weaponHandler.currentWeapon.shootRay = new Ray(TPSCamera.transform.position, TPSCamera.transform.forward);
    }