Skip to content

@relu-interactives/spatial-ecs


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

Class: ObjectManagementSystem ​

Defined in: systems/ObjectManagementSystem.ts:112

Implements ​

Constructors ​

Constructor ​

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

Defined in: systems/ObjectManagementSystem.ts:123

Parameters ​

ParameterTypeDefault value
sceneSceneundefined
cameraPerspectiveCameraundefined
isEditorbooleanfalse

Returns ​

ObjectManagementSystem

Methods ​

register() ​

ts
register(kind, factory): void;

Defined in: systems/ObjectManagementSystem.ts:133

Parameters ​

ParameterType
kindEcsEntityKind
factoryEntityFactory

Returns ​

void


registerComponentFactory() ​

ts
registerComponentFactory(kind, factory): void;

Defined in: systems/ObjectManagementSystem.ts:137

Parameters ​

ParameterType
kindEcsComponentFactoryKind
factoryComponentFactory

Returns ​

void


getOrCreateAudioListener() ​

ts
getOrCreateAudioListener(): AudioListener;

Defined in: systems/ObjectManagementSystem.ts:144

Returns ​

AudioListener


isEditorMode() ​

ts
isEditorMode(): boolean;

Defined in: systems/ObjectManagementSystem.ts:156

Returns ​

boolean


getComponentFactory() ​

ts
getComponentFactory(kind): ComponentFactory | null;

Defined in: systems/ObjectManagementSystem.ts:160

Parameters ​

ParameterType
kindEcsComponentFactoryKind

Returns ​

ComponentFactory | null


createComponentNow() ​

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

Defined in: systems/ObjectManagementSystem.ts:164

Parameters ​

ParameterType
kindEcsComponentFactoryKind
worldWorld
entityIdnumber
...argsany[]

Returns ​

unknown


requestCreate() ​

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

Defined in: systems/ObjectManagementSystem.ts:178

Parameters ​

ParameterType
kindEcsEntityKind
payloadCreatePayload
onCreated?(entityId) => void

Returns ​

void


createNow() ​

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

Defined in: systems/ObjectManagementSystem.ts:186

Parameters ​

ParameterType
kindEcsEntityKind
worldWorld
payloadCreatePayload

Returns ​

number


deleteEntity() ​

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

Defined in: systems/ObjectManagementSystem.ts:238

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:272

Parameters ​

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

Returns ​

boolean


reconcileSceneFromWorld() ​

ts
reconcileSceneFromWorld(world): void;

Defined in: systems/ObjectManagementSystem.ts:362

Parameters ​

ParameterType
worldWorld

Returns ​

void


update() ​

ts
update(world): void;

Defined in: systems/ObjectManagementSystem.ts:406

Parameters ​

ParameterType
worldWorld

Returns ​

void

Implementation of ​

EcsSystem.update