// Update is called once per frame void Update() { if (!_characterInteraction.HoldingObject) { if (isFocus) { //Is player in the radius float distance = Vector3.Distance(player.position, transform.position); if (distance <= radius && !UIActive) { UIActive = true; //UIController.ActivateUiElement(UI_Controller.UI_element_names.Interact); } //Is The player out of focus else if (distance >= radius && UIActive) { UIActive = false; //UIController.DeactivateUiElement(UI_Controller.UI_element_names.Interact); } //player pressed for interaction if (Input.GetKey(interactKey) && UIActive && !hasInteracted) { hasInteracted = true; inHand = true; onInteraction.Invoke(); UIActive = false; _characterInteraction.HoldingObject = true; UIController.DeactivateUiElement(UI_Controller.UI_element_names.Interact); if (quitInteraction) { UIController.ActivateUiElement(UI_Controller.UI_element_names.PutDown); } } } } //Player pressed for quit interaction if (inHand && Input.GetKey(putDownKey)) { PutDown(); } if (UIActive && !UIEventCalled) { activeUI.Invoke(); UIEventCalled = true; UIController.ActivateUiElement(UI_Controller.UI_element_names.Interact); } else if (!UIActive && UIEventCalled) { UIEventCalled = false; UIController.DeactivateUiElement(UI_Controller.UI_element_names.Interact); } }
// Update is called once per frame void Update() { if (isFocus && lookedAtLight) { //Is player in the radius float distance = Vector3.Distance(player.position, transform.position); if (distance <= radius && logInHand)// &&// !UIActive) { //UIActive = true; UIController.ActivateUiElement(UI_Controller.UI_element_names.Place); if (!interactionEventRun && Input.GetKey(interactKey)) { firePlaceInteraction.Invoke(); interactionEventRun = true; } } //Is The player out of focus else if (distance >= radius && !interactionEventRun)// && UIActive) { //UIActive = false; UIController.DeactivateUiElement(UI_Controller.UI_element_names.Place); } } float distance2 = Vector3.Distance(player.position, transform.position); if (distance2 <= radius && allLogs && !igniteEventRun && interactionEventRun) { UIController.ActivateUiElement(UI_Controller.UI_element_names.LightFire); quitUI = false; if (Input.GetKey(igniteKey)) { igniteFireEvent.Invoke(); _audioManager.FadeSoundIn("Fireplace"); _winStateManager.CompletedPuzzleObject(); igniteEventRun = true; UIController.DeactivateUiElement(UI_Controller.UI_element_names.LightFire); } } else if (allLogs && distance2 >= radius && !igniteEventRun && !quitUI) { UIController.DeactivateUiElement(UI_Controller.UI_element_names.LightFire); quitUI = true; } if (numberOfLogs <= numberOfLogsInFire) { allLogs = true; } }
// Update is called once per frame void Update() { if (isFocus) { //Is player in the radius float distance = Vector3.Distance(player.position, transform.position); if (distance <= radius && bookInHand)// &&// !UIActive) { //UIActive = true; UIController.ActivateUiElement(UI_Controller.UI_element_names.Place); if (!interactionEventRun && Input.GetKey(interactKey)) { bookShelfInteraction.Invoke(); interactionEventRun = true; } } //Is The player out of focus else if (distance >= radius)// && UIActive) { //UIActive = false; UIController.DeactivateUiElement(UI_Controller.UI_element_names.Place); } } }