private void Update() { if (SRanipal_Eye_Framework.Status != SRanipal_Eye_Framework.FrameworkStatus.WORKING && SRanipal_Eye_Framework.Status != SRanipal_Eye_Framework.FrameworkStatus.NOT_SUPPORT) { return; } if (SRanipal_Eye_Framework.Instance.EnableEyeDataCallback == true && eye_callback_registered == false) { SRanipal_Eye.WrapperRegisterEyeDataCallback(Marshal.GetFunctionPointerForDelegate((SRanipal_Eye.CallbackBasic)EyeCallback)); eye_callback_registered = true; } else if (SRanipal_Eye_Framework.Instance.EnableEyeDataCallback == false && eye_callback_registered == true) { SRanipal_Eye.WrapperUnRegisterEyeDataCallback(Marshal.GetFunctionPointerForDelegate((SRanipal_Eye.CallbackBasic)EyeCallback)); eye_callback_registered = false; } foreach (GazeIndex index in GazePriority) { Ray GazeRay; int dart_board_layer_id = LayerMask.NameToLayer("NoReflection"); bool eye_focus; if (eye_callback_registered) { eye_focus = SRanipal_Eye.Focus(index, out GazeRay, out FocusInfo, 0, MaxDistance, (1 << dart_board_layer_id), eyeData); } else { eye_focus = SRanipal_Eye.Focus(index, out GazeRay, out FocusInfo, 0, MaxDistance, (1 << dart_board_layer_id)); } if (eye_focus) { DartBoard dartBoard = FocusInfo.transform.GetComponent <DartBoard>(); if (dartBoard != null) { dartBoard.Focus(FocusInfo.point); } break; } } }
private void Update() { if (SRanipal_Eye_Framework.Status != SRanipal_Eye_Framework.FrameworkStatus.WORKING && SRanipal_Eye_Framework.Status != SRanipal_Eye_Framework.FrameworkStatus.NOT_SUPPORT) { return; } foreach (GazeIndex index in GazePriority) { Ray GazeRay; if (SRanipal_Eye.Focus(index, out GazeRay, out FocusInfo, MaxDistance)) { DartBoard dartBoard = FocusInfo.transform.GetComponent <DartBoard>(); if (dartBoard != null) { dartBoard.Focus(FocusInfo.point); } break; } } }