void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit) && !EventSystem.current.IsPointerOverGameObject(-1) && !EventSystem.current.IsPointerOverGameObject(0)) { hitEvent.Invoke(); hitEventWithPoint.Invoke(hit.point); } } }
// Update is called once per frame void Update() { if (_lrPthCtrl == null) { return; } Vector3 gpos = _lrPthCtrl.GetPosAtT01(_T, true); _SendPos.Invoke(gpos); if (_bSendDir) { Vector3 pos0 = _lrPthCtrl.GetPosAtT01(_T - _DirDeltaLen); Vector3 pos1 = _lrPthCtrl.GetPosAtT01(_T + _DirDeltaLen); Vector3 dir = (pos1 - pos0).normalized; _SendDir.Invoke(dir); } }