void CheckForInteractableInput() { if (interactionData.IsEmpty()) { return; } if (interactionInputData.InteractedClicked) { m_interacting = true; m_holdTimer = 0f; } if (interactionInputData.InteractedRelease) { m_interacting = false; m_holdTimer = 0f; uiPanel.UpdateProgressBar(0); } if (m_interacting) { if (!interactionData.Interactable.IsInteractable) { return; } if (interactionData.Interactable.HoldInteract) { m_holdTimer += Time.deltaTime; float heldPercent = m_holdTimer / interactionData.Interactable.HoldDuration; uiPanel.UpdateProgressBar(heldPercent); if (heldPercent > 1) { interactionData.Interact(); m_interacting = false; } } else { interactionData.Interact(); m_interacting = false; } } }
void CheckForInteractableInput() { if (interactionData.IsEmpty()) { return; } if (InputManager.Instance.InteractedTriggered()) { m_interacting = true; m_holderTimer = 0f; } if (interactionInputData.InteractedReleased) { m_interacting = false; m_holderTimer = 0f; uiPanel.UpdateProgressBar(m_holderTimer); } if (m_interacting) { if (!interactionData.Interactable.IsInteractable) { return; } if (interactionData.Interactable.HoldInteract) { m_holderTimer += Time.deltaTime; float heldPercent = m_holderTimer / interactionData.Interactable.HoldDuration; uiPanel.UpdateProgressBar(heldPercent); if (heldPercent > 1f) { StartInteract(interactionData.Interactable.gameObject); interactionData.ResetData(); m_interacting = false; } } else { StartInteract(interactionData.Interactable.gameObject); interactionData.ResetData(); m_interacting = false; } } }