refactor: eliminar doble inicialització d'enemies_ a GameScene
El ctor de GameScene ja construïa cada Enemy amb el renderer, però init() (cridat des del propi ctor) tornava a assignar enemies_[i] = Enemy(sdl_.getRenderer()) sobre la mateixa instància. Treball perdut, a més d'incoherent amb ships_ i bullets_, que no es reassignen a init() sinó que es limiten a init()/addBody. Eliminem la reassignació i deixem només setShipPosition i addBody, alineat amb la resta d'entitats. Hallazgo #34 de CODE_REVIEW.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -138,11 +138,12 @@ void GameScene::init() {
|
||||
}
|
||||
}
|
||||
|
||||
// [MODIFIED] Initialize enemies as inactive (stage system will spawn them).
|
||||
// Initialize enemies as inactive (stage system will spawn them).
|
||||
// Registramos el body al world incluso inactivo: con radius=0 no colisiona
|
||||
// ni se mueve, y al init() del stage system se activa sin re-registrar.
|
||||
// La construcció dels Enemy ja s'ha fet al ctor de GameScene; ací només
|
||||
// configurem la referència a la nau i registrem el body.
|
||||
for (auto& enemy : enemies_) {
|
||||
enemy = Enemy(sdl_.getRenderer());
|
||||
enemy.setShipPosition(&ships_[0].getCenter()); // Set ship reference (P1 for now)
|
||||
physics_world_.addBody(&enemy.getBody());
|
||||
// DON'T call enemy.init() here - stage system handles spawning
|
||||
|
||||
Reference in New Issue
Block a user