Esempio n. 1
0
        private void HandleDrag(SceneView scene, Vector2 mousePosition)
        {
            var result = CursorUtility.GetWorldPointFromMouse(scene, mousePosition);

            if (!result.IsSuccess || result.GridCornerPosition == cursorGridPos)
            {
                return;
            }

            cursorGridPos = result.GridCornerPosition;
            RecalculateWalls();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
        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);
        }