CameraManager
@zylem/game-lib / core / CameraManager
Class: CameraManager
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:17
CameraManager orchestrates multiple cameras per stage.
Responsibilities:
- Named camera registry (add/remove/get by name or reference)
- Active camera list management (determines which cameras render)
- Always-available debug camera with orbit controls
- Per-frame update of all active cameras' perspective controllers
- Coordinating rendering via RendererManager for all active viewports
Constructors
Constructor
new CameraManager():
CameraManager
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:42
Returns
CameraManager
Accessors
activeCameras
Get Signature
get activeCameras(): readonly
ZylemCamera[]
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:49
Get the list of currently active cameras.
Returns
readonly ZylemCamera[]
allCameras
Get Signature
get allCameras(): readonly
ZylemCamera[]
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:77
Get all registered cameras.
Returns
readonly ZylemCamera[]
debugCamera
Get Signature
get debugCamera():
ZylemCamera|null
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:63
Get the debug camera.
Returns
ZylemCamera | null
preDebugPrimary
Get Signature
get preDebugPrimary():
ZylemCamera|null
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:70
Gameplay primary camera that was active before debug mode was enabled.
Returns
ZylemCamera | null
primaryCamera
Get Signature
get primaryCamera():
ZylemCamera|null
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:56
Get the primary active camera (first in the active list).
Returns
ZylemCamera | null
Methods
activateDebugCamera()
activateDebugCamera():
boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:232
Switch the primary viewport to the debug orbit camera, remembering the previous primary so gameplay cameras (e.g. first-person) can be restored.
Returns
boolean
addActiveCamera()
addActiveCamera(
nameOrRef):boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:169
Add a camera as an additional active camera (for split-screen or PiP).
Parameters
nameOrRef
string | ZylemCamera
Returns
boolean
addCamera()
addCamera(
camera,name?):string
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:90
Add a camera to the manager. If no name is provided, one is auto-generated. The first camera added becomes the active camera.
Parameters
camera
ZylemCamera
The ZylemCamera instance to add
name?
string
Optional name for lookup
Returns
string
The assigned name
deactivateCamera()
deactivateCamera(
nameOrRef):boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:182
Remove a camera from the active render list (does not remove from registry).
Parameters
nameOrRef
string | ZylemCamera
Returns
boolean
deactivateDebugCamera()
deactivateDebugCamera():
boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:248
Restore the gameplay primary camera that was active before activateDebugCamera.
Returns
boolean
dispose()
dispose():
void
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:331
Dispose all cameras and cleanup.
Returns
void
ensureDefaultCamera()
ensureDefaultCamera():
ZylemCamera
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:317
Create a default third-person camera if no cameras have been added.
Returns
ZylemCamera
getCamera()
getCamera(
name):ZylemCamera|null
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:197
Get a camera by name.
Parameters
name
string
Returns
ZylemCamera | null
removeCamera()
removeCamera(
nameOrRef):boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:107
Remove a camera by name or reference. Cannot remove the debug camera via this method.
Parameters
nameOrRef
string | ZylemCamera
Returns
boolean
render()
render(
scene):void
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:277
Render all active cameras through the renderer manager. RTT cameras (those with a renderTarget) are rendered first to their offscreen textures, then viewport cameras are rendered to the screen.
Parameters
scene
Scene
Returns
void
setActiveCamera()
setActiveCamera(
nameOrRef):boolean
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:150
Set a camera as the primary active camera (replaces all active cameras except additional viewport cameras).
Parameters
nameOrRef
string | ZylemCamera
Camera name or reference to activate
Returns
boolean
setup()
setup(
scene,rendererManager):Promise<void>
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:205
Setup all cameras with the given scene and renderer manager. Also creates the debug camera.
Parameters
scene
Scene
rendererManager
RendererManager
Returns
Promise<void>
update()
update(
delta):void
Defined in: packages/game-lib/src/lib/camera/camera-manager.ts:266
Update all active cameras' controllers.
Parameters
delta
number
Returns
void