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 Interact() { interactionData.Interact(); m_interacting = false; m_firstInteractingInput = false; holdPercentage = 0f; }
private void CheckForInteractionInput() { //on press, interact if (!interactionData.IsEmpty()) { if (interactionData.Interactable.IsInteractable) { if (interactionInputData.InteractPress) { interactionData.Interact(); interactionData.Reset(); hoverUIController.ResetUI(); } } } interactionInputData.Reset(); }