/// <summary> /// Check if a move order is valid and define its parameters. /// </summary> /// <param name="waypoints"></param> void Startmove(bool waypoints) { RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, 1000)) { ButtonPressedMessageSender hitscripttemp = hit.transform.gameObject.GetComponent <ButtonPressedMessageSender>(); if (hitscripttemp == null) { startmoveactual(waypoints); } } else { startmoveactual(waypoints); } }
/// <summary> /// the update function that performes the haptics and menu interactions. /// </summary> void Update() { framestiilnexthaptic++; RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, 1000)) { ButtonPressedMessageSender hitscripttemp = hit.transform.gameObject.GetComponent <ButtonPressedMessageSender>(); if (hitscripttemp != null) { if (hit.collider.gameObject != lastobj) { TriggerHapticPulse(); lastobj = hit.collider.gameObject; } lineren.enabled = true; lineren.SetPosition(0, transform.position); lineren.SetPosition(1, hit.point); hitobj = hitscripttemp; ButtonHoverMessageSender hovertemp = hit.transform.gameObject.GetComponent <ButtonHoverMessageSender>(); if (hovertemp != null) { hovertemp.SendMessage(); } } else { disablelineren(); } } else { hitobj = null; disablelineren(); } }