Skip to content

@relu-interactives/spatial-ecs


@relu-interactives/spatial-ecs / index / ObjectManagementSystem

Class: ObjectManagementSystem

Defined in: systems/ObjectManagementSystem.ts:91

Implements

Constructors

Constructor

ts
new ObjectManagementSystem(
   scene, 
   camera, 
   isEditor?): ObjectManagementSystem;

Defined in: systems/ObjectManagementSystem.ts:102

Parameters

ParameterTypeDefault value
sceneSceneundefined
cameraPerspectiveCameraundefined
isEditorbooleanfalse

Returns

ObjectManagementSystem

Methods

register()

ts
register(kind, factory): void;

Defined in: systems/ObjectManagementSystem.ts:112

Parameters

ParameterType
kindEcsEntityKind
factoryEntityFactory

Returns

void


registerComponentFactory()

ts
registerComponentFactory(kind, factory): void;

Defined in: systems/ObjectManagementSystem.ts:116

Parameters

ParameterType
kindEcsComponentFactoryKind
factoryComponentFactory

Returns

void


getOrCreateAudioListener()

ts
getOrCreateAudioListener(): AudioListener;

Defined in: systems/ObjectManagementSystem.ts:123

Returns

AudioListener


isEditorMode()

ts
isEditorMode(): boolean;

Defined in: systems/ObjectManagementSystem.ts:135

Returns

boolean


getComponentFactory()

ts
getComponentFactory(kind): ComponentFactory | null;

Defined in: systems/ObjectManagementSystem.ts:139

Parameters

ParameterType
kindEcsComponentFactoryKind

Returns

ComponentFactory | null


createComponentNow()

ts
createComponentNow(
   kind, 
   world, 
   entityId, ...
   args): unknown;

Defined in: systems/ObjectManagementSystem.ts:143

Parameters

ParameterType
kindEcsComponentFactoryKind
worldWorld
entityIdnumber
...argsany[]

Returns

unknown


requestCreate()

ts
requestCreate(
   kind, 
   payload?, 
   onCreated?): void;

Defined in: systems/ObjectManagementSystem.ts:157

Parameters

ParameterType
kindEcsEntityKind
payloadCreatePayload
onCreated?(entityId) => void

Returns

void


createNow()

ts
createNow(
   kind, 
   world, 
   payload?): number;

Defined in: systems/ObjectManagementSystem.ts:165

Parameters

ParameterType
kindEcsEntityKind
worldWorld
payloadCreatePayload

Returns

number


deleteEntity()

ts
deleteEntity(
   world, 
   entityId, 
   dispose?): boolean;

Defined in: systems/ObjectManagementSystem.ts:217

Removes an entity from the ECS world and its associated Object3D from the THREE.js scene graph.

Parameters

ParameterTypeDefault valueDescription
worldWorldundefinedThe world the entity belongs to.
entityIdnumberundefinedThe entity to remove.
disposebooleanfalseWhen true, traverses the entity's Object3D subtree and calls .dispose() on every BufferGeometry and Material found. Pass true when the entity will not be reused and you want to free GPU memory immediately (e.g. dynamically spawned objects). Defaults to false.

Returns

boolean

true if the entity existed and was removed; false if the entity was not found.

Example

ts
// Remove from scene, keep GPU resources (safe if geometry is shared)
objects.deleteEntity(world, entityId);

// Remove from scene and free GPU memory (use for one-off spawned objects)
objects.deleteEntity(world, entityId, true);

setParent()

ts
setParent(
   world, 
   entityId, 
   parentId, 
   options?): boolean;

Defined in: systems/ObjectManagementSystem.ts:246

Parameters

ParameterType
worldWorld
entityIdnumber
parentIdnumber | null
options?{ preserveWorldTransform?: boolean; }
options.preserveWorldTransform?boolean

Returns

boolean


reconcileSceneFromWorld()

ts
reconcileSceneFromWorld(world): void;

Defined in: systems/ObjectManagementSystem.ts:336

Parameters

ParameterType
worldWorld

Returns

void


update()

ts
update(world): void;

Defined in: systems/ObjectManagementSystem.ts:380

Parameters

ParameterType
worldWorld

Returns

void

Implementation of

EcsSystem.update