public void ResetValues() { m_currentPoint = Vector3.zero; m_grabPoint = Vector3.zero; m_pullState = ePullState.PULL_IDLE; m_grabbing = false; }
private void UpdateIdle() { if (leftController.GetTriggerDown()) { m_grabPoint = leftController.transform.position; m_grabbing = true; m_pullState = ePullState.PULLING_WITH_LEFT; leftController.TriggerHapticPulse(); if (leftController.hoveringRope) { cont.InvokePullStartEvent(); } } if (rightController.GetTriggerDown()) { m_grabPoint = rightController.transform.position; m_grabbing = true; m_pullState = ePullState.PULLING_WITH_RIGHT; rightController.TriggerHapticPulse(); if (rightController.hoveringRope) { cont.InvokePullStartEvent(); } } }
private void UpdateRightPull() { m_currentPoint = rightController.transform.position; float dist = Vector3.Distance(m_grabPoint, m_currentPoint); float rigDist = Vector3.Distance(m_currentPoint, transform.root.position); Vector3 dir = m_grabPoint - m_currentPoint; //transform.root.GetComponent<UnityEngine.AI.NavMeshAgent>().Move(dir); transform.root.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false; if (!climbOnTrigger) { transform.root.position += dir; } else if (climbOnTrigger && rightController.hoveringRope) { transform.root.position += new Vector3(0, dir.y, 0); } if (leftController.GetTriggerDown()) { m_grabPoint = leftController.transform.position; m_grabbing = true; m_pullState = ePullState.PULLING_WITH_LEFT; leftController.TriggerHapticPulse(); if (leftController.hoveringRope) { cont.InvokePullStartEvent(); } } // On trigger release go back to idle if (rightController.GetTriggerUp()) { //transform.root.GetComponent<UnityEngine.AI.NavMeshAgent>().speed = 0; m_currentPoint = Vector3.zero; m_grabPoint = Vector3.zero; m_pullState = ePullState.PULL_IDLE; rigDist = 0; m_grabbing = false; } }