private IEnumerator DisplayCalibrationResult(CalibrationCompletedArgs e) { switch (e.Result) { case CalibrationStatus.Success: _instance.GetComponent <Renderer>().material.color = Color.green; Debug.Log("TobiiPro: Successfully calibrated the user."); break; case CalibrationStatus.Failure: _instance.GetComponent <Renderer>().material.color = Color.red; Debug.LogWarning("TobiiPro: Failed to calibrate the user."); break; default: throw new ArgumentOutOfRangeException(); } var progress = 0f; // 0 - 1 while (progress < 1f) { progress += Time.deltaTime * (1f / 0.1f); var derp = Easings.QuadraticEaseOut(progress); _instance.transform.localScale = Vector3.Lerp(Vector3.zero, _originalScale, derp); yield return(null); } yield return(new WaitForSeconds(0.35f)); _calibration.WaitingOnIntroAnimation -= StartIntroAnimation; _calibration.WaitingOnOutroAnimation -= StartOutroAnimation; _calibration.OnCalibrationCompleted -= OnCalibrationCompleted; Destroy(_instance); _instance = null; }
private void OnCalibrationCompleted(object sender, CalibrationCompletedArgs e) { StartCoroutine(DisplayCalibrationResult(e)); }