void Update() { if (m_CurrentlyHooked) { if (m_HookedObj.IsAttached()) // has player grabbed it? { m_CurrentlyHooked = false; List <InteractableItemBase> postGameBucket = m_currentBucket == m_HookableObjects_Long ? m_PostGameHookableObjects_Long : m_PostGameHookableObjects_Medium; //remove this catch from the list if (m_currentBucket.Count > 0) { m_currentBucket.RemoveAt(0); } //if we've caught everything, add a random "extra" if (m_currentBucket.Count == 0) { m_currentBucket.Add(postGameBucket[Random.Range(0, postGameBucket.Count)]); } m_currentBucket = null; ResetBite(); } } else if (!m_CurrentlyHooked && m_timeTillBite == 0) { WaitingForHook(); } if (!m_CurrentlyHooked && m_Bobber.transform.position.y < transform.position.y + 0.05f) { m_BobberBounce.DoBounce(); } m_bobberEffectTimer = Mathf.Max(0, m_bobberEffectTimer - Time.deltaTime); }
void OnTriggerStay(Collider other) { if (m_triggerUsed) { return; } bool inputGripDown = m_device.GetPressDown(Valve.VR.EVRButtonId.k_EButton_Grip); bool inputTriggerDown = m_device.GetPressDown(Valve.VR.EVRButtonId.k_EButton_SteamVR_Trigger); if (m_device != null && (inputGripDown || inputTriggerDown)) { if (m_heldObject == null) { InteractableItemBase item = other.GetComponentInParent <InteractableItemBase>(); if (item != null) { if (!item.IsAttached()) { m_triggerUsed = true; } if (item.Attachable) { AttachItem(item); } else { if (!inputGripDown) { PickupItem(item); } } } } } }