void HandleInput()
    {
        if (Time.time >= nextSwitchTime)
        {
            if (!usingAxe && !usingRod)
            {
                if (Input.GetButtonDown("InventoryLeft"))
                {
                    playerSoundManager.PlayItemSwitch();
                    CycleInventory("left");
                    nextSwitchTime = Time.time + 1f / switchRate;
                }
                if (Input.GetButtonDown("InventoryRight") || Input.GetKeyDown(KeyCode.Tab))
                {
                    playerSoundManager.PlayItemSwitch();
                    CycleInventory("right");
                    nextSwitchTime = Time.time + 1f / switchRate;
                }
            }
        }

        if ((Input.GetButtonDown("Button A") || Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Space)) && !isMoving)
        {
            //Debug.Log("Button");

            if (!usingAxe && !usingRod)
            {
                if (carryingCanoe)
                {
                    if (inRangeOfLaunchingZone)
                    {
                        targetFound     = true;
                        interactionType = "beginLaunch";
                    }
                    else if (inRangeParkingSpace)
                    {
                        targetFound     = true;
                        interactionType = "putdown";
                    }
                }
                else if (!carryingCanoe && montyStateVariables.distFromPlayer < montyStateVariables.distanceToFollow && montyStateManager.currentState == "sit")
                {
                    anim.SetTrigger("pet");
                    montyAnim.SetTrigger("pet");

                    DisablePlayerInput();

                    if (!firstPet)
                    {
                        montyStateManager.GetComponent <Interaction>().MarkAsComplete();
                        firstPet = true;
                    }
                }
                else if (!carryingCanoe && montyStateManager.inFetch)
                {
                    if (montyStateVariables.GetPlayerNearStick())
                    {
                        playingFetch    = true;
                        interactionType = "pickUpStick";
                    }
                    else if (montyStateVariables.playerHasStick)
                    {
                        playingFetch    = true;
                        interactionType = "throw";
                    }
                    else if (inRangeOfCanoe && !montyStateVariables.GetPlayerNearStick())
                    {
                        targetFound     = true;
                        interactionType = "pickUpCanoe";
                    }
                    else
                    {
                        targetFound     = false;
                        playingFetch    = false;
                        interactionType = "";
                    }
                }

                else if (!carryingCanoe && interactionsManager.inRange && !interactionsManager.interaction.GetComplete())
                {
                    if (currentInventoryIndex == 1 && interactionsManager.interaction.requiredTool == 1 && inventory.hasAxe)
                    {
                        if ((interactionsManager.interaction.forceFaceRight && facingRight) || (!interactionsManager.interaction.forceFaceRight && !facingRight))
                        {
                            usingAxe = true;
                        }
                    }
                    if (currentInventoryIndex == 2 && interactionsManager.interaction.requiredTool == 2 && !individualInteractions.fishing && inventory.hasRod)
                    {
                        if ((interactionsManager.interaction.forceFaceRight && facingRight) || (!interactionsManager.interaction.forceFaceRight && !facingRight))
                        {
                            usingRod = true;
                        }
                    }

                    if (currentInventoryIndex == 0 && interactionsManager.interaction.requiredTool == 0)
                    {
                        usingHands = true;
                    }



                    if (currentInventoryIndex != 2 && canLaunch && inventory.hasAxe && inventory.hasRod)
                    {
                        targetFound     = true;
                        interactionType = "launch";
                    }
                    else if (currentInventoryIndex != 2 && !carryingCanoe && inRangeOfCanoe)
                    {
                        targetFound     = true;
                        interactionType = "pickUpCanoe";
                    }
                    else if (currentInventoryIndex != interactionsManager.interaction.requiredTool && interactionsManager.interaction != null)
                    {
                        if (currentInventoryIndex == 3)
                        {
                            UseItem();
                        }
                        else if (currentInventoryIndex == 4)
                        {
                            Debug.Log("take screenshot");
                            anim.SetTrigger("cannot");
                            DisablePlayerInput();
                            EnablePlayerInput(1f);

                            string date = System.DateTime.Now.ToString();
                            date = date.Replace("/", "-");
                            date = date.Replace(" ", "_");
                            date = date.Replace(":", "-");

                            ScreenCapture.CaptureScreenshot(Application.dataPath + "/Screenshots/Screenshot_" + date + ".png");
                            Debug.Log("Screenshot Saved");
                        }
                        else
                        {
                            anim.SetTrigger("cannot");
                            DisablePlayerInput();
                        }
                    }
                }
                else if (!carryingCanoe)
                {
                    if (itemToPickUp != null)
                    {
                        if (itemToPickUp.GetComponent <item>().name == "Axe")
                        {
                            playerSoundManager.PlayItemSwitch();
                            inventory.tools.Add(itemToPickUp.GetComponent <item>().itemId);
                            inventory.tools.Sort();
                            inventory.hasAxe = true;
                            Destroy(itemToPickUp);
                        }

                        if (itemToPickUp.GetComponent <item>().name == "Rod")
                        {
                            playerSoundManager.PlayItemSwitch();
                            inventory.tools.Add(itemToPickUp.GetComponent <item>().itemId);
                            inventory.tools.Sort();
                            inventory.hasRod = true;
                            Destroy(itemToPickUp);
                        }
                    }
                    else if (inRangeOfCanoe && !canLaunch)
                    {
                        targetFound     = true;
                        interactionType = "pickUpCanoe";
                    }
                    else if (inRangeOfCanoe && canLaunch && inventory.hasRod && inventory.hasAxe)
                    {
                        targetFound     = true;
                        interactionType = "launch";
                    }
                    else
                    {
                        targetFound     = false;
                        interactionType = "";


                        if (currentInventoryIndex == 3)
                        {
                            UseItem();
                        }
                        else if (currentInventoryIndex == 4)
                        {
                            Debug.Log("take screenshot");
                            anim.SetTrigger("cannot");
                            DisablePlayerInput();
                            EnablePlayerInput(1f);

                            string date = System.DateTime.Now.ToString();
                            date = date.Replace("/", "-");
                            date = date.Replace(" ", "_");
                            date = date.Replace(":", "-");

                            ScreenCapture.CaptureScreenshot(Application.dataPath + "/Screenshots/Screenshot_" + date + ".png");
                            Debug.Log("Screenshot Saved");
                        }
                        else
                        {
                            anim.SetTrigger("cannot");
                            DisablePlayerInput();
                        }
                    }
                }
            }
        }
        else
        {
            playingFetch = false;
            //targetFound = false;
            //usingRod = false;
        }


        if (Input.GetButtonDown("Button X") || Input.GetKeyDown(KeyCode.Q))
        {
            WhistleMonty();
        }
    }