/// <summary>
 /// On component draw GUI.
 /// </summary>
 protected virtual void OnGUI()
 {
     if (CheckFocusEnter())
     {
         var ray = targetCamera.ScreenPointToRay(Input.mousePosition);
         if (Physics.Raycast(ray, out RaycastHit hitInfo, maxDistance, layerMask))
         {
             var alignMark = hitInfo.transform.GetComponent <AlignMark>();
             if (alignMark)
             {
                 if (IsFocus == false)
                 {
                     defaultAlign = new AlignTarget(alignCamera.target, alignCamera.CurrentAngles,
                                                    alignCamera.CurrentDistance, alignCamera.angleRange, alignCamera.distanceRange);
                     IsFocus = true;
                 }
                 alignCamera.AlignVeiwToTarget(alignMark.alignTarget);
             }
         }
     }
     else if (IsFocus && CheckFocusExit())
     {
         alignCamera.AlignVeiwToTarget(defaultAlign);
         IsFocus = false;
     }
 }
Beispiel #2
0
 private void AlignCameraToMark(AlignMark alignMark)
 {
     if (isAlign == false)
     {
         isAlign      = true;
         defaultAlign = new AlignTarget(alignCamera.target, alignCamera.CurrentAngles,
                                        alignCamera.CurrentDistance, alignCamera.angleRange, alignCamera.distanceRange);
     }
     alignCamera.AlignVeiwToTarget(alignMark.alignTarget);
 }