Пример #1
0
 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);
         }
     }
 }
Пример #2
0
        // 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);
            }
        }