void CaptureGaze(GazeTarget target, RaycastHit hit) { if (currentGazeTarget == target) { target.GazeJustEntered = false; target.GazeHitPoint = hit; OnGazeStay?.Invoke(target, hit); return; } if (currentGazeTarget != null) { BreakGaze(); } target.GazeJustEntered = true; target.GazeActive = true; target.GazeHitPoint = hit; currentGazeTarget = target; OnGazeEnter?.Invoke(target, hit); }
// Use this for initialization void Start() { EventSystem = GameObject.FindObjectOfType <EventSystem>(); onClick = target => ExecuteEvents.Execute( target, new BaseEventData(EventSystem), ExecuteEvents.submitHandler ); onGazeEnter = target => ExecuteEvents.Execute( target, new PointerEventData(EventSystem), ExecuteEvents.pointerEnterHandler ); onGazeExit = target => ExecuteEvents.Execute( target, new PointerEventData(EventSystem), ExecuteEvents.pointerExitHandler ); }