private void HandleDrag(SceneView scene, Vector2 mousePosition) { var result = CursorUtility.GetWorldPointFromMouse(scene, mousePosition); if (!result.IsSuccess || result.GridCornerPosition == cursorGridPos) { return; } cursorGridPos = result.GridCornerPosition; RecalculateWalls(); }
private void StartDragging(SceneView scene, Vector2 mousePosition) { var result = CursorUtility.GetWorldPointFromMouse(scene, mousePosition); if (!result.IsSuccess) { return; } wallStart = result.GridCornerPosition; wallEnd = wallStart; isDraggingWall = true; wallResolver.CacheExistingWalls(); }
private void PositionCursor(SceneView scene, Vector2 mousePosition) { if (wallCursor == null) { return; } if (isDraggingWall) { wallCursor.position = wallEnd; } else { var result = CursorUtility.GetWorldPointFromMouse(scene, mousePosition); if (!result.IsSuccess) { return; } wallCursor.position = result.GridCornerPosition; } }
private void PositionDoor(SceneView scene, Vector2 mousePosition) { var result = CursorUtility.GetWorldPointFromMouse(scene, mousePosition); if (!result.IsSuccess) { return; } door.position = result.GridEdgePosition; if (result.Direction == Directions.Horizontal) { door.eulerAngles = Vector3.zero; } else { door.eulerAngles = new Vector3(0f, -90f, 0f); } CheckOverlappingWalls(result); }