private void Update() { if (!_runOnce) { _runOnce = true; LevelManager starter = GameObject.FindWithTag("Level Manager").GetComponent <LevelManager>(); if (starter != null) { _myQuiver.Load(starter.loadoutName); _myQuiver.EquipType(0);//loads standard arrow by default } if (SaveManager.instance.activeSave.sceneName == SceneManager.GetActiveScene().name) { _myQuiver.EquipType(SaveManager.instance.activeSave.equippedType); _myQuiver.ReplaceRecords(SaveManager.instance.activeSave.recordStandard, SaveManager.instance.activeSave.recordBramble, SaveManager.instance.activeSave.recordWarp, SaveManager.instance.activeSave.recordAirburst); //_myQuiver.ReplaceLoadout(SaveManager.instance.activeSave.loadoutSaved); Debug.Log("Previous quiver recovered"); } } // begin camera based updates // interact with objects if (Physics.Raycast(_cam.transform.position, _cam.transform.forward, out var hit, 3.5f)) { if (hit.transform.tag == "Interactable") { //Modified by Warren to recognize when switches reset if ((hit.transform.GetComponent("Switch") as Switch) != null) { if (hit.transform.GetComponent <Switch>().isInteractable) { // display hint only under this condition interactionHintText.enabled = true; } else { interactionHintText.enabled = false; } } else { // display hint only under this condition interactionHintText.enabled = true; } } else { interactionHintText.enabled = false; } }