diff --git a/src/levels/config/levelDeserializer.ts b/src/levels/config/levelDeserializer.ts index ef2968b..de272cc 100644 --- a/src/levels/config/levelDeserializer.ts +++ b/src/levels/config/levelDeserializer.ts @@ -67,7 +67,7 @@ export class LevelDeserializer { startBase: AbstractMesh | null; sun: AbstractMesh; planets: AbstractMesh[]; - asteroids: AbstractMesh[]; + asteroidCount: number; }> { log.debug(`[LevelDeserializer] Deserializing meshes (hidden: ${hidden})`); this._scoreObservable = scoreObservable; @@ -80,13 +80,13 @@ export class LevelDeserializer { const planets = this.createPlanets(); // Create asteroid meshes (no physics) - const asteroids = await this.createAsteroidMeshes(scoreObservable, hidden); + await this.createAsteroidMeshes(scoreObservable, hidden); return { startBase: baseResult?.baseMesh || null, sun, planets, - asteroids + asteroidCount: this.config.asteroids.length }; } @@ -239,9 +239,7 @@ export class LevelDeserializer { private async createAsteroidMeshes( scoreObservable: Observable, hidden: boolean - ): Promise { - const asteroids: AbstractMesh[] = []; - + ): Promise { for (let i = 0; i < this.config.asteroids.length; i++) { const asteroidConfig = this.config.asteroids[i]; const useOrbitConstraints = this.config.useOrbitConstraints !== false; @@ -279,15 +277,9 @@ export class LevelDeserializer { asteroidConfig.targetMode, rotation ); - - const mesh = this.scene.getMeshByName(asteroidConfig.id); - if (mesh) { - asteroids.push(mesh); - } } - log.debug(`[LevelDeserializer] Created ${asteroids.length} asteroid meshes (hidden: ${hidden})`); - return asteroids; + log.debug(`[LevelDeserializer] Created ${this.config.asteroids.length} asteroid meshes (hidden: ${hidden})`); } diff --git a/src/levels/level1.ts b/src/levels/level1.ts index 54206d4..33d2211 100644 --- a/src/levels/level1.ts +++ b/src/levels/level1.ts @@ -406,7 +406,7 @@ export class Level1 implements Level { ); this._startBase = entities.startBase; - this._asteroidCount = entities.asteroids.length; + this._asteroidCount = entities.asteroidCount; // Initialize scoreboard with asteroid count this._ship.scoreboard.setRemainingCount(this._asteroidCount);