Skip to main content

CameraManager

@zylem/game-lib


@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