private void OnTriggerStay(Collider other)
    {
        if (isReady)
        {
            if (other.tag == "Sword" && IPL.GetRightTriggerInteracted() || other.tag == "Wand" && IPL.GetRightTriggerInteracted() || other.tag == "Shield" && IPL.GetLeftTriggerInteracted())
            {
                switch (upgradeType)
                {
                case UpgradeType.Health:
                    scene.DeactivateGems();
                    scene.PlayAudio(player.GetComponent <AudioSource>(), upgradeAudio.upgradeAudio[Random.Range(0, upgradeAudio.upgradeAudio.Length)]);
                    player.IncreaseHealth(value);
                    scene.UpdateScrolls();
                    scene.StartCoroutine("Transition");
                    break;

                case UpgradeType.Attack:
                    scene.DeactivateGems();
                    Instantiate(swordUpgradeParticles, rightHand).transform.localPosition = Vector3.zero;
                    scene.PlayAudio(rightHand.gameObject.GetComponent <AudioSource>(), upgradeAudio.upgradeAudio[Random.Range(0, upgradeAudio.upgradeAudio.Length)]);
                    player.IncreaseAttack(value);
                    scene.UpdateScrolls();
                    scene.StartCoroutine("Transition");
                    break;

                case UpgradeType.Defense:
                    scene.DeactivateGems();
                    Instantiate(swordUpgradeParticles, leftHand).transform.localPosition = Vector3.zero;
                    scene.PlayAudio(leftHand.gameObject.GetComponent <AudioSource>(), upgradeAudio.upgradeAudio[Random.Range(0, upgradeAudio.upgradeAudio.Length)]);
                    player.IncreaseDefense(value);
                    scene.UpdateScrolls();
                    scene.StartCoroutine("Transition");
                    break;

                default:
                    break;
                }
            }
        }
    }
    private void OnTriggerStay(Collider other)
    {
        switch (weaponType)
        {
        case WeaponType.Weapon2:
            if ((other.tag == "Sword" || other.tag == "Wand") && IPL.GetRightTriggerInteracted())
            {
                player.IncreaseAttack(value);

                rightHand = Singleton_Service.GetSingleton <RightHand>();
                rightHand.SetSword(transform.parent.gameObject, new Vector3(0f, 0f, 0.22f), new Vector3(180, 0, 90)) /*.transform.parent.localScale = new Vector3(maxScale / minScale, maxScale / minScale, maxScale / minScale)*/;

                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();

                Destroy(transform.parent.gameObject);
            }
            break;

        case WeaponType.Weapon3:
            if ((other.tag == "Sword" || other.tag == "Wand") && IPL.GetRightTriggerInteracted())
            {
                player.IncreaseAttack(value);

                rightHand = Singleton_Service.GetSingleton <RightHand>();
                rightHand.SetSword(transform.parent.gameObject, new Vector3(0f, 0f, 0.25f), new Vector3(180, -90, -90)) /*.transform.parent.localScale = new Vector3(maxScale / minScale, maxScale / minScale, maxScale / minScale)*/;

                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();

                Destroy(transform.parent.gameObject);
            }
            break;

        case WeaponType.Weapon4:
            if ((other.tag == "Sword" || other.tag == "Wand") && IPL.GetRightTriggerInteracted())
            {
                player.IncreaseAttack(value);

                rightHand = Singleton_Service.GetSingleton <RightHand>();
                rightHand.SetSword(transform.parent.gameObject, new Vector3(0f, 0f, 0.15f), new Vector3(0, 90, 90)) /*.transform.parent.localScale = new Vector3(maxScale / minScale, maxScale / minScale, maxScale / minScale)*/;

                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();
                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();

                Destroy(transform.parent.gameObject);
            }
            break;

        case WeaponType.Shield2:
            if (other.tag == "Shield" && IPL.GetLeftTriggerInteracted())
            {
                player.IncreaseDefense(value);

                leftHand = Singleton_Service.GetSingleton <LeftHand>();
                leftHand.SetShield(transform.parent.gameObject, new Vector3(0f, 0f, 0f), new Vector3(45, 180, 180)) /*.transform.parent.localScale = new Vector3(maxScale / minScale, maxScale / minScale, maxScale / minScale)*/;

                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();

                Destroy(transform.parent.gameObject);
            }
            break;

        case WeaponType.Shield3:
            if (other.tag == "Shield" && IPL.GetLeftTriggerInteracted())
            {
                player.IncreaseDefense(value);

                leftHand = Singleton_Service.GetSingleton <LeftHand>();
                leftHand.SetShield(transform.parent.gameObject, new Vector3(0f, 0f, -0.12f), new Vector3(-75, 180, 0)) /*.transform.parent.localScale = new Vector3(maxScale / minScale, maxScale / minScale, maxScale / minScale)*/;

                transform.parent.parent.parent.gameObject.GetComponent <ChestTable>().DecrementNumWeapons();

                Destroy(transform.parent.gameObject);
            }
            break;
        }
    }