@@ -2,6 +2,10 @@ import { WebGLRenderer } from "three"
22
33import defaultGameBuilder from "../builders/GameBuilder"
44import EventBus from "../eventbus/EventBus"
5+ import {
6+ addCameraChangeListener ,
7+ removeCameraChangeListener ,
8+ } from "../eventbus/events/cameraChange"
59import {
610 addCanvasResizeListener ,
711 CanvasResizeEvent ,
@@ -41,6 +45,7 @@ export class GameManager {
4145 addPlayPauseListener ( this . onPlayPause )
4246 addFrameListener ( this . animate )
4347 addCanvasResizeListener ( this . updateSize )
48+ addCameraChangeListener ( this . render )
4449 }
4550
4651 onPlayPause = ( { paused } : PlayPauseEvent ) => {
@@ -60,7 +65,7 @@ export class GameManager {
6065 return this . renderer . domElement
6166 }
6267
63- render ( ) {
68+ private readonly render = ( ) => {
6469 const { scene } = SceneManager . getInstance ( )
6570 const { activeCamera } = CameraManager . getInstance ( )
6671 this . renderer . render ( scene , activeCamera )
@@ -102,6 +107,7 @@ export class GameManager {
102107 removePlayPauseListener ( instance . onPlayPause )
103108 removeFrameListener ( instance . animate )
104109 removeCanvasResizeListener ( instance . updateSize )
110+ removeCameraChangeListener ( instance . render )
105111 instance . clock . reset ( )
106112 EventBus . reset ( )
107113 GameManager . instance = undefined
0 commit comments