// Update is called once per frame void Update() { if (triggered && Time.time > delayTime) { DemoController.AdvanceDemo(); gameObject.transform.Rotate(0.5f, 0.5f, 0.3f); isBeingLookedAt = false; triggered = false; } if (DemoController.step == activeStep) { if (isBeingLookedAt) { targetMesh.material = lookingAt; if (gaze.HasGazeFocus == false) { isBeingLookedAt = false; } if (Time.time - timestamp > 0.7f && triggered == false) { triggered = true; ping.Play(); delayTime += Time.time; } } else { targetMesh.material = notLookingAt; if (gaze.HasGazeFocus) { isBeingLookedAt = true; timestamp = Time.time; } } } }