Esempio n. 1
0
 void UpdateLiveGuidePosition(Vector2 mousePosition)
 {
     liveGuide = utils.GetWorldCoord(mousePosition);
     if (creatingHGuide)
     {
         liveGuide.x = 0;
     }
     else
     {
         liveGuide.y = 0;
     }
 }
        public void HandleInteraction()
        {
            if (!measureToolActive)
            {
                return;
            }
            EventType eventType = Event.current.type;

            Vector2 mousePosition = Event.current.mousePosition;

            mousePosition.y = viewPixelFrame.height - mousePosition.y + 5f;

            switch (eventType)
            {
            case EventType.MouseDown:
                if (IsInRenderBounds(mousePosition) && !guides.IsCreatingGuides())
                {
                    ClearMeasurement();
                    HotControl();
                    readyToMeasure = true;
                    startCoord     = utils.GetWorldCoord(mousePosition);
                }
                break;

            case EventType.MouseDrag:
                if (readyToMeasure)
                {
                    if (IsInRenderBounds(mousePosition))
                    {
                        measuring    = true;
                        currentCoord = utils.GetWorldCoord(mousePosition);
                        utils.RepaintSceneView();
                    }
                    else
                    {
                        CancelMeasurement();
                    }
                }
                break;

            case EventType.MouseUp:
                if (measuring)
                {
                    if (IsInRenderBounds(mousePosition))
                    {
                        CompleteMeasurement();
                    }
                    else
                    {
                        CancelMeasurement();
                    }
                }
                break;

            default:
                if (measuring && !IsInRenderBounds(mousePosition))
                {
                    CancelMeasurement();
                }
                break;
            }
        }