Skip to content

Commit 1f68fe6

Browse files
committed
Subscribe to camera change events during paused time to render
1 parent 37d0801 commit 1f68fe6

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/managers/GameManager.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { WebGLRenderer } from "three"
22

33
import defaultGameBuilder from "../builders/GameBuilder"
44
import EventBus from "../eventbus/EventBus"
5+
import {
6+
addCameraChangeListener,
7+
removeCameraChangeListener,
8+
} from "../eventbus/events/cameraChange"
59
import {
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

Comments
 (0)