// Start is called before the first frame update
    void Start()
    {
        Switch1image = Switch1.GetComponent <SpriteRenderer>();
        Switch2image = Switch2.GetComponent <SpriteRenderer>();
        Switch3image = Switch3.GetComponent <SpriteRenderer>();
        Switch4image = Switch4.GetComponent <SpriteRenderer>();
        Switch5image = Switch5.GetComponent <SpriteRenderer>();
        Switch6image = Switch6.GetComponent <SpriteRenderer>();
        Switch7image = Switch7.GetComponent <SpriteRenderer>();
        Switch8image = Switch8.GetComponent <SpriteRenderer>();

        Switch1OnOff = Switch1.GetComponent <LeverActivate>();
        Switch2OnOff = Switch2.GetComponent <LeverActivate>();
        Switch3OnOff = Switch3.GetComponent <LeverActivate>();
        Switch4OnOff = Switch4.GetComponent <LeverActivate>();
        Switch5OnOff = Switch5.GetComponent <LeverActivate>();
        Switch6OnOff = Switch6.GetComponent <LeverActivate>();
        Switch7OnOff = Switch7.GetComponent <LeverActivate>();
        Switch8OnOff = Switch8.GetComponent <LeverActivate>();

        Switch1active = false;
        Switch2active = false;
        Switch3active = false;
        Switch4active = false;
        Switch5active = false;
        Switch6active = false;
        Switch7active = false;
        Switch8active = false;

        states = 0;
    }
    // Start is called before the first frame update
    void Start()
    {
        //initiallize anything not dopped in from Unity
        Switch1move = Switch1.GetComponent <Transform>();
        Switch2move = Switch2.GetComponent <Transform>();
        Switch3move = Switch3.GetComponent <Transform>();
        Switch4move = Switch4.GetComponent <Transform>();

        Switch1image = Switch1.GetComponent <SpriteRenderer>();
        Switch2image = Switch2.GetComponent <SpriteRenderer>();
        Switch3image = Switch3.GetComponent <SpriteRenderer>();
        Switch4image = Switch4.GetComponent <SpriteRenderer>();

        Switch1OnOff = Switch1.GetComponent <LeverActivate>();
        Switch2OnOff = Switch2.GetComponent <LeverActivate>();
        Switch3OnOff = Switch3.GetComponent <LeverActivate>();
        Switch4OnOff = Switch4.GetComponent <LeverActivate>();

        Switch1active = false;
        Switch2active = false;
        Switch3active = false;
        Switch4active = false;

        states = 0;
    }
    // Start is called before the first frame update
    void Start()
    {
        Switch1image = Switch1.GetComponent <SpriteRenderer>();
        Switch2image = Switch2.GetComponent <SpriteRenderer>();
        Switch3image = Switch3.GetComponent <SpriteRenderer>();

        Switch1OnOff = Switch1.GetComponent <LeverActivate>();
        Switch2OnOff = Switch2.GetComponent <LeverActivate>();
        Switch3OnOff = Switch3.GetComponent <LeverActivate>();

        Switch1active = false;
        Switch2active = false;
        Switch3active = false;

        states = 0;
    }
    // Update is called once per frame
    void Update()
    {
        RaycastHit interactInfoRay;
        bool       centerRay = Physics.Raycast(playerCam.transform.position, playerCam.transform.forward, out interactInfoRay, interactRange);

        if (centerRay)
        {
            if (interactInfoRay.transform.name.Contains("Lever"))
            {
                interactText.text = "Lever";
            }
            else if (interactInfoRay.transform.name.Contains("FirePotionPickup"))
            {
                interactText.text = "Fire Potion";
            }
            else if (interactInfoRay.transform.name.Contains("CheckpointTable"))
            {
                interactText.text = "Check Point Table";
            }
            else if (interactInfoRay.transform.name.Contains("chest_epic_gems"))
            {
                interactText.text = "Treasure Chest";
            }
            else if (interactInfoRay.transform.name.Contains("Big O' Bottle O' Spicy Sauce"))
            {
                interactText.text = "Big O' Bottle O' Spicy Sauce";
            }
            else if (interactInfoRay.transform.name.Contains("Timmy"))
            {
                interactText.text = "Timmy";
            }
        }
        else
        {
            interactText.text = "";
        }

        if (Input.GetButtonDown("Fire2") && centerRay)
        {
            LeverActivate lever = interactInfoRay.collider.GetComponent <LeverActivate>();
            if (lever)
            {
                lever.ActivateLever();
                playerAnim.SetTrigger("ActivateObject");
            }
            CheckPoint cp = interactInfoRay.collider.GetComponent <CheckPoint>();
            if (cp)
            {
                cp.checkpoint();
                playerAnim.SetTrigger("ActivateObject");
            }
            PotionPickup potPickup = interactInfoRay.collider.GetComponent <PotionPickup>();
            if (potPickup)
            {
                potPickup.pickupPotion();
                playerAnim.SetTrigger("ActivateObject");
                sounds[1].Play();
            }

            ChestInteract treasureChest = interactInfoRay.collider.GetComponentInParent <ChestInteract>();
            if (treasureChest)
            {
                treasureChest.openChest();
                playerAnim.SetTrigger("ActivateObject");
            }
        }
    }