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; } }