void CreatePath() { for (int i = 0; i < 30; i++) { var pos = _lastTilePos; bool movingByX = Random.Range(0f, 1f) < .5f; if (movingByX) { pos.x++; } else { pos.z++; } PlaceTile(pos); _crystalController.PlaceCrystal(pos); _lastTilePos = pos; switch (_difficulty) { case DifficultyLevel.Easy: if (movingByX) { PlaceTile(new Vector3(pos.x, pos.y, pos.z + 1)); PlaceTile(new Vector3(pos.x, pos.y, pos.z - 1)); } else { PlaceTile(new Vector3(pos.x + 1, pos.y, pos.z)); PlaceTile(new Vector3(pos.x - 1, pos.y, pos.z)); } break; case DifficultyLevel.Medium: if (movingByX) { pos.z++; } else { pos.x++; } PlaceTile(pos); break; case DifficultyLevel.Hard: break; default: throw new ArgumentOutOfRangeException(); } } }