fix: null guard for unassigned LevelDefinition
This commit is contained in:
@@ -133,8 +133,11 @@ namespace Infrastructure.Unity
|
|||||||
// Note: Generator uses negative offsets: 0, -15, -30.
|
// Note: Generator uses negative offsets: 0, -15, -30.
|
||||||
// So Floor 0 is at Y=0. Floor 1 is at Y=-15.
|
// So Floor 0 is at Y=0. Floor 1 is at Y=-15.
|
||||||
|
|
||||||
var heightDist = levelGenerator.Definition.FloorHeightDistance;
|
var def = levelGenerator.Definition;
|
||||||
var maxFloors = levelGenerator.Definition.FloorCount;
|
if (def == null) return;
|
||||||
|
|
||||||
|
var heightDist = def.FloorHeightDistance;
|
||||||
|
var maxFloors = def.FloorCount;
|
||||||
|
|
||||||
var rawFloor = Mathf.RoundToInt(-playerY / heightDist);
|
var rawFloor = Mathf.RoundToInt(-playerY / heightDist);
|
||||||
_currentPlayerFloorIndex = Mathf.Clamp(rawFloor, 0, maxFloors - 1);
|
_currentPlayerFloorIndex = Mathf.Clamp(rawFloor, 0, maxFloors - 1);
|
||||||
|
|||||||
@@ -30,6 +30,13 @@ namespace Infrastructure.Unity
|
|||||||
|
|
||||||
public IEnumerator GenerateAsync(SoundManager soundManager, TileRegistry registry, CameraController camera, RumbleManager rumble, Action onComplete)
|
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);
|
_tilePool = new TilePool(tilePrefab, transform);
|
||||||
|
|
||||||
var stopwatch = new Stopwatch();
|
var stopwatch = new Stopwatch();
|
||||||
|
|||||||
Reference in New Issue
Block a user