Exemple #1
0
    /// <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();
        }
    }