private void ResetState()
 {
     state = State.IDLE;
     // Remove existing landmark preview on state reset
     if (landmarkPreview != null)
     {
         Destroy(landmarkPreview.gameObject);
         landmarkPreview = null;
     }
 }
 private void InputStartBuilding(Grid startGrid)
 {
     if (Input.GetMouseButtonDown(InputUtils.MOUSE_BUTTON_LEFT))
     {
         if (startGrid != null)
         {
             state           = State.BUILDING;
             landmarkPreview = Instantiate(
                 landmarkFactory.GetLandmarkPreviewPrefab(landmarkAssetId),
                 startGrid.transform.position - new Vector3(0.5f, 0.0f, 0.5f), Quaternion.identity,
                 transform);
             landmarkPreview.StartGrid = startGrid;
         }
         else
         {
             // Invalid start grid, cancel road building operation
             ResetState();
         }
     }
 }