fix: null guard for unassigned LevelDefinition

This commit is contained in:
2026-05-14 01:20:20 +02:00
parent f507707251
commit 8edb5cfbb5
2 changed files with 13 additions and 3 deletions

View File

@@ -133,8 +133,11 @@ namespace Infrastructure.Unity
// Note: Generator uses negative offsets: 0, -15, -30.
// So Floor 0 is at Y=0. Floor 1 is at Y=-15.
var heightDist = levelGenerator.Definition.FloorHeightDistance;
var maxFloors = levelGenerator.Definition.FloorCount;
var def = levelGenerator.Definition;
if (def == null) return;
var heightDist = def.FloorHeightDistance;
var maxFloors = def.FloorCount;
var rawFloor = Mathf.RoundToInt(-playerY / heightDist);
_currentPlayerFloorIndex = Mathf.Clamp(rawFloor, 0, maxFloors - 1);

View File

@@ -30,6 +30,13 @@ namespace Infrastructure.Unity
public IEnumerator GenerateAsync(SoundManager soundManager, TileRegistry registry, CameraController camera, RumbleManager rumble, Action onComplete)
{
if (levelDefinition == null)
{
Debug.LogError("LevelGenerator: levelDefinition is not assigned. Assign a LevelDefinition asset in the Inspector.");
onComplete?.Invoke();
yield break;
}
_tilePool = new TilePool(tilePrefab, transform);
var stopwatch = new Stopwatch();