connected-spaces-platform.web 5.22.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -205,6 +205,33 @@ export declare namespace Web {
205
205
  ResponseNetworkAuthenticationRequired = 511
206
206
  }
207
207
  }
208
+ export declare namespace Multiplayer {
209
+ /**
210
+ * @description Enumerates the supported states for an avatar.
211
+ * These are used to establish the related animation that the avatar will use on its state machine.
212
+ */
213
+ enum AvatarState {
214
+ Idle = 0,
215
+ Walking = 1,
216
+ Running = 2,
217
+ Flying = 3,
218
+ Jumping = 4,
219
+ Falling = 5,
220
+ Num = 6
221
+ }
222
+ }
223
+ export declare namespace Multiplayer {
224
+ /**
225
+ * @description Enumerates the supported play mode for the avatar.
226
+ */
227
+ enum AvatarPlayMode {
228
+ Default = 0,
229
+ AR = 1,
230
+ VR = 2,
231
+ Creator = 3,
232
+ Num = 4
233
+ }
234
+ }
208
235
  export declare namespace Multiplayer {
209
236
  /**
210
237
  * @description Enum used to indicate the failure state of a multiplayer request.
@@ -300,8 +327,8 @@ export declare namespace Common {
300
327
  * @description Enum of concrete types of RealtimeEngines.
301
328
  */
302
329
  enum RealtimeEngineType {
303
- OnlineMultiUser = 0,
304
- OnlineSingleUser = 1
330
+ Online = 0,
331
+ Offline = 1
305
332
  }
306
333
  }
307
334
  export declare namespace Common {
@@ -351,8 +378,9 @@ export declare namespace Multiplayer {
351
378
  Text = 25,
352
379
  Hotspot = 26,
353
380
  CinematicCamera = 27,
354
- spare = 28,
355
- values = 29,
381
+ ScreenSharing = 28,
382
+ spare = 29,
383
+ values = 30,
356
384
  Delete = 56
357
385
  }
358
386
  }
@@ -385,7 +413,11 @@ export declare namespace Multiplayer {
385
413
  SET_ALLOW_SELF_MESSAGING = 10,
386
414
  SET_SCOPES = 11,
387
415
  START_LISTENING = 12,
388
- STOP_LISTENING = 13
416
+ STOP_LISTENING = 13,
417
+ ON_OBJECT_MESSAGE = 14,
418
+ ON_OBJECT_PATCH = 15,
419
+ ON_REQUEST_TO_SEND_OBJECT = 16,
420
+ ON_REQUEST_TO_DISCONNECT = 17
389
421
  }
390
422
  }
391
423
  export declare namespace Multiplayer {
@@ -518,33 +550,6 @@ export declare namespace Multiplayer {
518
550
  Num = 11
519
551
  }
520
552
  }
521
- export declare namespace Multiplayer {
522
- /**
523
- * @description Enumerates the supported states for an avatar.
524
- * These are used to establish the related animation that the avatar will use on its state machine.
525
- */
526
- enum AvatarState {
527
- Idle = 0,
528
- Walking = 1,
529
- Running = 2,
530
- Flying = 3,
531
- Jumping = 4,
532
- Falling = 5,
533
- Num = 6
534
- }
535
- }
536
- export declare namespace Multiplayer {
537
- /**
538
- * @description Enumerates the supported play mode for the avatar.
539
- */
540
- enum AvatarPlayMode {
541
- Default = 0,
542
- AR = 1,
543
- VR = 2,
544
- Creator = 3,
545
- Num = 4
546
- }
547
- }
548
553
  export declare namespace Multiplayer {
549
554
  /**
550
555
  * @description Enumerates the supported locomotion models available for the avatar movements.
@@ -934,6 +939,24 @@ export declare namespace Multiplayer {
934
939
  UnitBox = 1
935
940
  }
936
941
  }
942
+ export declare namespace Multiplayer {
943
+ /**
944
+ * @description Enumerates the list of properties that can be replicated for a screen sharing component.
945
+ */
946
+ enum ScreenSharingPropertyKeys {
947
+ Position = 0,
948
+ Rotation = 1,
949
+ Scale = 2,
950
+ IsVisible = 3,
951
+ IsARVisible = 4,
952
+ IsShadowCaster = 5,
953
+ UserId = 6,
954
+ DefaultImageCollectionId = 7,
955
+ DefaultImageAssetId = 8,
956
+ AttenuationRadius = 9,
957
+ Num = 10
958
+ }
959
+ }
937
960
  export declare namespace Multiplayer {
938
961
  /**
939
962
  * @description Enumerates the supported scopes of a script.
@@ -3784,24 +3807,24 @@ export declare namespace Common {
3784
3807
  }
3785
3808
  }
3786
3809
  export declare namespace Common {
3787
- class InvalidInterfaceUseError extends NativeClassWrapper implements INativeResource {
3810
+ class IJSScriptRunner extends NativeClassWrapper implements INativeResource {
3788
3811
  /** @internal */
3789
3812
  constructor(pointer: NativePointer);
3790
- static create_msg(msg: string): InvalidInterfaceUseError;
3813
+ /**
3814
+ * @description Virtual destructor.
3815
+ */
3791
3816
  delete(): void;
3792
- get msg(): string;
3793
- set msg(value: string);
3817
+ runScript(contextId: bigint, scriptText: string): boolean;
3794
3818
  }
3795
3819
  }
3796
3820
  export declare namespace Common {
3797
- class IJSScriptRunner extends NativeClassWrapper implements INativeResource {
3821
+ class InvalidInterfaceUseError extends NativeClassWrapper implements INativeResource {
3798
3822
  /** @internal */
3799
3823
  constructor(pointer: NativePointer);
3800
- /**
3801
- * @description Virtual destructor.
3802
- */
3824
+ static create_msg(msg: string): InvalidInterfaceUseError;
3803
3825
  delete(): void;
3804
- runScript(contextId: bigint, scriptText: string): boolean;
3826
+ get msg(): string;
3827
+ set msg(value: string);
3805
3828
  }
3806
3829
  }
3807
3830
  export declare namespace Common {
@@ -3819,22 +3842,28 @@ export declare namespace Common {
3819
3842
  /**
3820
3843
  * @description Create and add a SpaceEntity with type Avatar, and relevant components and default states as specified.
3821
3844
  * @param name - The entity name of the newly created avatar entity.
3845
+ * @param userId - Id of the user creating this avatar. If your backend data store requires authentication, this will
3846
+ * probably be your username or some similar unique identifier.
3822
3847
  * @param spaceTransform - The initial transform to set the SpaceEntity to.
3823
- * @param state - The initial Avatar State to set.
3848
+ * @param isVisible - Whether the avatar defaults to being visible.
3849
+ * @param avatarState - The initial Avatar State to set.
3824
3850
  * @param avatarId - The ID to be set on the AvatarSpaceComponent
3825
3851
  * @param avatarPlayMode - The Initial AvatarPlayMode to set.
3826
3852
  * @param callback - Csp::multiplayer::entitycreatedcallback a callback that executes when the creation is complete,
3827
3853
  * which will provide a non-owning pointer to the new SpaceEntity so that it can be used on the local client.
3828
3854
  */
3829
- createAvatar(name: string, spaceTransform: Multiplayer.SpaceTransform, state: Multiplayer.AvatarState, avatarId: string, avatarPlayMode: Multiplayer.AvatarPlayMode): Promise<Multiplayer.SpaceEntity>;
3855
+ createAvatar(name: string, userId: string, spaceTransform: Multiplayer.SpaceTransform, isVisible: boolean, avatarState: Multiplayer.AvatarState, avatarId: string, avatarPlayMode: Multiplayer.AvatarPlayMode): Promise<Multiplayer.SpaceEntity>;
3830
3856
  /**
3831
3857
  * @description Create and add a SpaceEntity, with relevant default values.
3832
3858
  * @param name - The name of the newly created SpaceEntity.
3833
3859
  * @param spaceTransform - The initial transform to set the SpaceEntity to.
3860
+ * @param parentID - ID of another entity in the space that this entity should be created as a child to. If
3861
+ * empty, entity is created as a root entity.
3834
3862
  * @param callback - A callback that executes when the creation is complete,
3835
3863
  * which will provide a non-owning pointer to the new SpaceEntity so that it can be used on the local client.
3836
3864
  */
3837
- createEntity(name: string, spaceTransform: Multiplayer.SpaceTransform): Promise<Multiplayer.SpaceEntity>;
3865
+ createEntity(name: string, spaceTransform: Multiplayer.SpaceTransform, parentID: bigint | null): Promise<Multiplayer.SpaceEntity>;
3866
+ addEntity(entityToAdd: Multiplayer.SpaceEntity): void;
3838
3867
  /**
3839
3868
  * @description Destroy the specified entity.
3840
3869
  * @param entity - A non-owning pointer to the entity to be destroyed.
@@ -3844,6 +3873,8 @@ export declare namespace Common {
3844
3873
  /**
3845
3874
  * @description Sets a callback to be executed when an entity is fully created.
3846
3875
  * /// Only one EntityCreatedCallback may be registered, calling this function again will override whatever was previously set.
3876
+ * The better way to set this and avoid initialisation race conditions is via passing this in the constructor, only use this if you wish to
3877
+ * override or remove this callback.
3847
3878
  * /// @param Callback csp::multiplayer::EntityCreatedCallback : the callback to execute.
3848
3879
  */
3849
3880
  setEntityCreatedCallback(callback: (arg1: Multiplayer.SpaceEntity) => void): void;
@@ -3910,10 +3941,14 @@ export declare namespace Common {
3910
3941
  */
3911
3942
  getRootHierarchyEntities(): Common.List<Multiplayer.SpaceEntity>;
3912
3943
  /**
3913
- * @description Sets a callback to be executed when all existing entities have been retrieved after entering a space.
3914
- * @param callback - A callback that executes when all existing entities have been retrieved.
3944
+ * @description Set Callback that notifies when the OnlineRealtimeEngine is in a valid state
3945
+ * after entering a space, and entity mutation can begin. Users should not mutate entities before receiving this callback.
3946
+ * This callback should be emitted in response to FetchAllEntitiesAndPopulateBuffers completing, either syncronously or asyncronously.
3947
+ * This callback must be set prior to entering a space.
3948
+ * @param fetchCompleteCallback - Callback that notifies when the RealtimeEngine has completed initial
3949
+ * entity fetch
3915
3950
  */
3916
- setInitialEntitiesRetrievedCallback(callback: (arg1: boolean) => void): void;
3951
+ setEntityFetchCompleteCallback(callback: (arg1: number) => void): void;
3917
3952
  /**
3918
3953
  * @description Adds an entity to a list of entities to be updated when ProcessPendingEntityOperations is called.
3919
3954
  * From a client perspective, ProcessPendingEntityOperations is normally called via the CSPFoundation::Tick method.
@@ -4072,11 +4107,11 @@ export declare namespace Multiplayer {
4072
4107
  /**
4073
4108
  * @description Constructor for CSPSceneDescription by deserializing a SceneDescription json file.
4074
4109
  * @param sceneDescriptionJson - The SceneDescription to deserialize.
4075
- * @param entitySystem - The SpaceEntitySystem for this session.
4076
- * @param logSystem - The SpaceEntitySystem for this session.
4110
+ * @param entitySystem - The OnlineRealtimeEngine for this session.
4111
+ * @param logSystem - The OnlineRealtimeEngine for this session.
4077
4112
  * @param remoteScriptRunner - The ScriptRunner for this session.
4078
4113
  */
4079
- static create_sceneDescriptionJson_entitySystem_logSystem_remoteScriptRunner(sceneDescriptionJson: string, entitySystem: Multiplayer.SpaceEntitySystem, logSystem: Common.LogSystem, remoteScriptRunner: Common.IJSScriptRunner): CSPSceneDescription;
4114
+ static create_sceneDescriptionJson_entitySystem_logSystem_remoteScriptRunner(sceneDescriptionJson: string, entitySystem: Multiplayer.OnlineRealtimeEngine, logSystem: Common.LogSystem, remoteScriptRunner: Common.IJSScriptRunner): CSPSceneDescription;
4080
4115
  delete(): void;
4081
4116
  get entities(): Common.Array<Multiplayer.SpaceEntity>;
4082
4117
  set entities(value: Common.Array<Multiplayer.SpaceEntity>);
@@ -4129,6 +4164,12 @@ export declare namespace Multiplayer {
4129
4164
  * @return True if self messaging is allowed, false otherwise.
4130
4165
  */
4131
4166
  getAllowSelfMessagingFlag(): boolean;
4167
+ /**
4168
+ * @description Get the currently set realtime engine.
4169
+ * @return Non-owning pointer to currently set realtime engine. This should be non-null when in a space, and null before entering, or after
4170
+ * exiting a space.
4171
+ */
4172
+ getOnlineRealtimeEngine(): Multiplayer.OnlineRealtimeEngine;
4132
4173
  delete(): void;
4133
4174
  }
4134
4175
  }
@@ -4238,7 +4279,7 @@ export declare namespace Multiplayer {
4238
4279
  /**
4239
4280
  * @description Creates a SpaceEntity instance using the space entity system provided.
4240
4281
  */
4241
- static create_entitySystem_scriptRunner_logSystem(entitySystem: Multiplayer.SpaceEntitySystem, scriptRunner: Common.IJSScriptRunner, logSystem: Common.LogSystem): SpaceEntity;
4282
+ static create_entitySystem_scriptRunner_logSystem(entitySystem: Multiplayer.OnlineRealtimeEngine, scriptRunner: Common.IJSScriptRunner, logSystem: Common.LogSystem): SpaceEntity;
4242
4283
  /**
4243
4284
  * @description Destroys the SpaceEntity instance.
4244
4285
  */
@@ -4349,11 +4390,6 @@ export declare namespace Multiplayer {
4349
4390
  * @return The SpaceEntityType enum value.
4350
4391
  */
4351
4392
  getEntityType(): Multiplayer.SpaceEntityType;
4352
- /**
4353
- * @description Get SpaceEntitySystem Object
4354
- * @return SpaceEntitySystem
4355
- */
4356
- getSpaceEntitySystem(): Multiplayer.SpaceEntitySystem;
4357
4393
  /**
4358
4394
  * @description Sets the parent for this entity
4359
4395
  * QueueUpdate() should be called afterwards to enable changes to the parent.
@@ -4495,236 +4531,6 @@ export declare namespace Multiplayer {
4495
4531
  isLocked(): boolean;
4496
4532
  }
4497
4533
  }
4498
- export declare namespace Multiplayer {
4499
- /**
4500
- * @description Class for creating and managing multiplayer objects known as space entities.
4501
- * /// This provides functions to create and manage multiple player avatars and other objects.
4502
- * It manages things like queueing updated entities and triggering tick events. Callbacks
4503
- * can be registered for certain events that occur within the entity system so clients can
4504
- * react appropriately.
4505
- */
4506
- class SpaceEntitySystem extends NativeClassWrapper implements INativeResource {
4507
- /** @internal */
4508
- constructor(pointer: NativePointer);
4509
- /**
4510
- * @description Creates a SpaceEntity with type Avatar, and relevant components and default states as specified.
4511
- * @param inName - The name to give the new SpaceEntity.
4512
- * @param inSpaceTransform - The initial transform to set the SpaceEntity to.
4513
- * @param isVisible - The initial visibility of the Avatar.
4514
- * @param inState - The initial Avatar State to set.
4515
- * @param inAvatarId - The Initial AvatarID to set.
4516
- * @param inAvatarPlayMode - The Initial AvatarPlayMode to set.
4517
- * @param callback - EntityCreatedCallback A callback that executes when the creation is complete,
4518
- * which contains a pointer to the new SpaceEntity so that it can be used on the local client.
4519
- */
4520
- createAvatar(name: string, loginState: Common.LoginState, spaceTransform: Multiplayer.SpaceTransform, isVisible: boolean, state: Multiplayer.AvatarState, avatarId: string, avatarPlayMode: Multiplayer.AvatarPlayMode): Promise<Multiplayer.SpaceEntity>;
4521
- /**
4522
- * @description Creates a SpaceEntity of type Object, and relevant default values.
4523
- * @param inName - The name to give the new SpaceEntity.
4524
- * @param inSpaceTransform - The initial transform to set the SpaceEntity to.
4525
- * @param callback - A callback that executes when the creation is complete,
4526
- * which contains a pointer to the new SpaceEntity so that it can be used on the local client.
4527
- */
4528
- createObject(name: string, spaceTransform: Multiplayer.SpaceTransform): Promise<Multiplayer.SpaceEntity>;
4529
- /**
4530
- * @description Destroys both the remote view and the local view of the specified entity.
4531
- * @param entity - The entity to be destroyed.
4532
- * @param callback - The callback to execute.
4533
- */
4534
- destroyEntity(entity: Multiplayer.SpaceEntity): Promise<boolean>;
4535
- /**
4536
- * @description Destroys the local client's view of the specified entity.
4537
- * @param entity - The entity to be destroyed locally.
4538
- */
4539
- localDestroyEntity(entity: Multiplayer.SpaceEntity): void;
4540
- /**
4541
- * @description Finds the first SpaceEntity that matches InName.
4542
- * @param inName - The name to search.
4543
- * @return A pointer to the first found match SpaceEntity.
4544
- */
4545
- findSpaceEntity(name: string): Multiplayer.SpaceEntity;
4546
- /**
4547
- * @description Finds the first SpaceEntity that has the ID EntityId.
4548
- * @param entityId - The Id to look for.
4549
- * @return A pointer to the first found match SpaceEntity.
4550
- */
4551
- findSpaceEntityById(entityId: bigint): Multiplayer.SpaceEntity;
4552
- /**
4553
- * @description Finds the first SpaceEntity of type Avatar that matches InName.
4554
- * @param inName - The name to search.
4555
- * @return A pointer to the first found match SpaceEntity.
4556
- */
4557
- findSpaceAvatar(name: string): Multiplayer.SpaceEntity;
4558
- /**
4559
- * @description Finds the first SpaceEntity of type Object that matches InName.
4560
- * @param inName - The name to search.
4561
- * @return A pointer to the first found match SpaceEntity.
4562
- */
4563
- findSpaceObject(name: string): Multiplayer.SpaceEntity;
4564
- /**
4565
- * @description Locks the entity mutex.
4566
- */
4567
- lockEntityUpdate(): void;
4568
- /**
4569
- * @description Unlocks the entity mutex.
4570
- */
4571
- unlockEntityUpdate(): void;
4572
- /**
4573
- * @description Get the number of total entities in the system (both Avatars and Objects).
4574
- * @return The total number of entities.
4575
- */
4576
- getNumEntities(): number;
4577
- /**
4578
- * @description Get the number of total Avatars in the system.
4579
- * @return The total number of Avatar entities.
4580
- */
4581
- getNumAvatars(): number;
4582
- /**
4583
- * @description Get the number of total Objects in the system.
4584
- * @return The total number of object entities.
4585
- */
4586
- getNumObjects(): number;
4587
- /**
4588
- * @description Get an Entity (Avatar or Object) by its index.
4589
- * /// Note this is not currently thread safe and should only be called from the main thread.
4590
- * /// @param EntityIndex size_t : The index of the entity to get.
4591
- * @return A pointer to the entity with the given index.
4592
- */
4593
- getEntityByIndex(entityIndex: number): Multiplayer.SpaceEntity;
4594
- /**
4595
- * @description Get an Avatar by its index.
4596
- * /// Note this is not currently thread safe and should only be called from the main thread.
4597
- * /// @param AvatarIndex size_t : The index of the avatar entity to get.
4598
- * @return A pointer to the avatar entity with the given index.
4599
- */
4600
- getAvatarByIndex(avatarIndex: number): Multiplayer.SpaceEntity;
4601
- /**
4602
- * @description Get an Object by its index.
4603
- * /// Note this is not currently thread safe and should only be called from the main thread.
4604
- * /// @param ObjectIndex size_t : The index of the object entity to get.
4605
- * @return A pointer to the object entity with the given index.
4606
- */
4607
- getObjectByIndex(objectIndex: number): Multiplayer.SpaceEntity;
4608
- /**
4609
- * @description Add a new entity to the system.
4610
- * /// This can be called at any time from any thread and internally add the entity to a pending
4611
- * list which is then updated in a thread safe manner when ProcessPendingEntityOperations
4612
- * is called from the main thread.
4613
- * /// @param EntityToAdd SpaceEntity : Pointer to the entity to be added.
4614
- */
4615
- addEntity(entityToAdd: Multiplayer.SpaceEntity): void;
4616
- /**
4617
- * @description Sets a callback to be executed when an entity is remotely created.
4618
- * /// Only one callback may be registered, calling this function again will override whatever was previously set.
4619
- * If this is not set, some patch functions may fail.
4620
- * /// @param Callback EntityCreatedCallback : the callback to execute.
4621
- */
4622
- setEntityCreatedCallback(callback: (arg1: Multiplayer.SpaceEntity) => void): void;
4623
- /**
4624
- * @description Sets a callback to be executed when all existing entities have been retrieved after entering a space.
4625
- * @param callback - The callback to execute.
4626
- */
4627
- setInitialEntitiesRetrievedCallback(callback: (arg1: boolean) => void): void;
4628
- /**
4629
- * @description Sets a callback to be executed when the script system is ready to run scripts.
4630
- * @param callback - The callback to execute.
4631
- */
4632
- setScriptSystemReadyCallback(callback: (arg1: boolean) => void): void;
4633
- /**
4634
- * @description Triggers queuing of the SpaceEntities updated components and replicated data.
4635
- * /// Causes the replication of a SpaceEntities data on next Tick() or ProcessPendingEntityOperations(). However, this is bound by an
4636
- * entities rate limit and will only be replicated if there has been sufficient time since the last time the entity sent a message.
4637
- * /// @param EntityToUpdate SpaceEntity : A pointer to the SpaceEntity to update.
4638
- */
4639
- queueEntityUpdate(entityToUpdate: Multiplayer.SpaceEntity): void;
4640
- /**
4641
- * @description Processes pending entity operations and then calls tick on scripts if necessary.
4642
- */
4643
- tickEntities(): void;
4644
- registerEntityScriptAsModule(newEntity: Multiplayer.SpaceEntity): void;
4645
- bindNewEntityToScript(newEntity: Multiplayer.SpaceEntity): void;
4646
- /**
4647
- * @description Sets the script owner for the given entity to the current client
4648
- * @param entity - A pointer to the entity
4649
- */
4650
- claimScriptOwnership(entity: Multiplayer.SpaceEntity): void;
4651
- /**
4652
- * @description Adds the entity to a list of entities to be updated on tick
4653
- * @param entity - A pointer to the entity to be added
4654
- */
4655
- markEntityForUpdate(entity: Multiplayer.SpaceEntity): void;
4656
- /**
4657
- * @description Process pending entity adds/removes and Patch message send and receives.
4658
- * /// Note this should only be called from main thread
4659
- */
4660
- processPendingEntityOperations(): void;
4661
- /**
4662
- * @description Retrieves all entities from the endpoint, calls "GetAllScopedObjects" currently.
4663
- * /// Note this will generate new entity objects for every entity in the current scopes.
4664
- * If this is called by a client manually without first deleting all existing tracked entities, it is possible there will be duplicates.
4665
- * It is highly advised not to call this function unless you know what you are doing.
4666
- */
4667
- retrieveAllEntities(): void;
4668
- /**
4669
- * @description Destroys the client's local view of all currently known entities.
4670
- * /// They still reside on the server, however they will not be accessible in the client application.
4671
- */
4672
- localDestroyAllEntities(): void;
4673
- /**
4674
- * @description Sets the selected state of an entity, if the operation is acceptable.
4675
- * /// Criteria:
4676
- * For Selection:
4677
- * - Entity must be deselected currently
4678
- * For Deselection:
4679
- * - Entity must be selected currently
4680
- * - Entity must be selected by the client attempting the deselection (SpaceEntity::GetSelectingClientID will return this information)
4681
- * /// @param SelectedState bool : The state to set the entity to, Selected = True, Deselected = false.
4682
- * @param entity - A pointer to the entity to modify selection state on.
4683
- * @return True if a selection state change has occurred, false if no change was made (due to one of the above criteria not being met).
4684
- */
4685
- setSelectionStateOfEntity(selectedState: boolean, entity: Multiplayer.SpaceEntity): boolean;
4686
- /**
4687
- * @description Enable Leader Election feature.
4688
- */
4689
- enableLeaderElection(): void;
4690
- /**
4691
- * @description Disable Leader Election feature.
4692
- */
4693
- disableLeaderElection(): void;
4694
- /**
4695
- * @description Check if the Leader Election feature is enabled.
4696
- * @return True if enabled, false otherwise.
4697
- */
4698
- isLeaderElectionEnabled(): boolean;
4699
- /**
4700
- * @description Debug helper to get the id of the currently elected script leader.
4701
- * @return The id of the leader.
4702
- */
4703
- getLeaderId(): bigint;
4704
- /**
4705
- * @description Retrieve the state of the patch rate limiter. If true, patches are limited for each individual entity to a fixed rate.
4706
- * @return True if enabled, false otherwise.
4707
- */
4708
- getEntityPatchRateLimitEnabled(): boolean;
4709
- /**
4710
- * @description Set the state of the patch rate limiter. If true, patches are limited for each individual entity to a fixed rate.
4711
- * /// This feature is enabled by default and should only be disabled if you are encountering issues.
4712
- * /// @param Enabled : sets if the feature should be enabled or not.
4713
- * \rst
4714
- * .. note::
4715
- * If disabling this feature, more requests will be made to Magnopus Connected Services,
4716
- * and consequently more patch merges may occur on the server as a result.
4717
- * \endrst
4718
- */
4719
- setEntityPatchRateLimitEnabled(enabled: boolean): void;
4720
- /**
4721
- * @description Retrieves all entities that exist at the root level (do not have a parent entity).
4722
- * @return A list of root entities.
4723
- */
4724
- getRootHierarchyEntities(): Common.List<Multiplayer.SpaceEntity>;
4725
- delete(): void;
4726
- }
4727
- }
4728
4534
  export declare namespace Multiplayer {
4729
4535
  /**
4730
4536
  * @description Simple class for holding the position, rotation and scale of a transform.
@@ -5090,6 +4896,11 @@ export declare namespace Systems {
5090
4896
  * @return Pointer to the log system class
5091
4897
  */
5092
4898
  getLogSystem(): Common.LogSystem;
4899
+ /**
4900
+ * @description Retrieves the Application Settings system.
4901
+ * @return Pointer to the application settings system class
4902
+ */
4903
+ getApplicationSettingsSystem(): Systems.ApplicationSettingsSystem;
5093
4904
  /**
5094
4905
  * @description Retrieves the Settings system.
5095
4906
  * @return Pointer to the settings system class
@@ -5135,9 +4946,9 @@ export declare namespace Systems {
5135
4946
  * @return Pointer to the hotspotsequencesystem system class
5136
4947
  */
5137
4948
  getHotspotSequenceSystem(): Systems.HotspotSequenceSystem;
5138
- getSpaceEntitySystem(): Multiplayer.SpaceEntitySystem;
5139
4949
  getMultiplayerConnection(): Multiplayer.MultiplayerConnection;
5140
4950
  getEventBus(): Multiplayer.NetworkEventBus;
4951
+ makeOnlineRealtimeEngine(): Multiplayer.OnlineRealtimeEngine;
5141
4952
  }
5142
4953
  }
5143
4954
  export declare namespace Systems {
@@ -5951,6 +5762,26 @@ export declare namespace Systems {
5951
5762
  set metaData(value: Common.Map<string, string>);
5952
5763
  }
5953
5764
  }
5765
+ export declare namespace Systems {
5766
+ /**
5767
+ @ingroup Application Settings System
5768
+ * @description Represents configuration settings for an application context.
5769
+ */
5770
+ class ApplicationSettings extends NativeClassWrapper implements INativeResource {
5771
+ /** @internal */
5772
+ constructor(pointer: NativePointer);
5773
+ static create(): ApplicationSettings;
5774
+ delete(): void;
5775
+ get applicationName(): string;
5776
+ set applicationName(value: string);
5777
+ get context(): string;
5778
+ set context(value: string);
5779
+ get allowAnonymous(): boolean;
5780
+ set allowAnonymous(value: boolean);
5781
+ get settings(): Common.Map<string, string>;
5782
+ set settings(value: Common.Map<string, string>);
5783
+ }
5784
+ }
5954
5785
  export declare namespace Systems {
5955
5786
  /**
5956
5787
  @ingroup Settings System
@@ -6445,8 +6276,211 @@ export declare namespace Common {
6445
6276
  }
6446
6277
  export declare namespace Multiplayer {
6447
6278
  /**
6448
- @ingroup AnimatedModelSpaceComponent
6449
- * @description Adds animated skeletal meshes to a SpaceEntity.
6279
+ * @description Class for creating and managing multiplayer objects known as space entities.
6280
+ * /// This provides functions to create and manage multiple player avatars and other objects.
6281
+ * It manages things like queueing updated entities and triggering tick events. Callbacks
6282
+ * can be registered for certain events that occur within the entity system so clients can
6283
+ * react appropriately.
6284
+ */
6285
+ class OnlineRealtimeEngine extends Common.IRealtimeEngine implements INativeResource {
6286
+ /** @internal */
6287
+ constructor(pointer: NativePointer);
6288
+ static fromIRealtimeEngine(baseInstance: Common.IRealtimeEngine): Multiplayer.OnlineRealtimeEngine;
6289
+ /**
6290
+ * @description OnlineRealtimeEngine constructor
6291
+ * @param inMultiplayerConnection - The multiplayer connection to construct the onlinerealtimeengine with
6292
+ * @param logSystem - Logger such that this system can print status and debug output
6293
+ * @param networkEventBus - Reference the the network event bus, used for leadership election messaging.
6294
+ * @param remoteScriptRunner - Object capable of running a script. Called to execute scripts when the leader
6295
+ * election system
6296
+ */
6297
+ static create_multiplayerConnection_logSystem_networkEventBus_remoteScriptRunner(multiplayerConnection: Multiplayer.MultiplayerConnection, logSystem: Common.LogSystem, networkEventBus: Multiplayer.NetworkEventBus, remoteScriptRunner: Common.IJSScriptRunner): OnlineRealtimeEngine;
6298
+ /**
6299
+ * @description Returns the concrete type of the instantiation of the abstract IRealtimeEngine.
6300
+ */
6301
+ getRealtimeEngineType(): Common.RealtimeEngineType;
6302
+ /**
6303
+ * @description Create and add a SpaceEntity with type Avatar, and relevant components and default states as specified.
6304
+ * @param name - The entity name of the newly created avatar entity.
6305
+ * @param userId - The Id of the user creating the avatar. This can be fetched from csp::systems::UserSystem::GetLoginState
6306
+ * @param spaceTransform - The initial transform to set the SpaceEntity to.
6307
+ * @param state - The initial Avatar State to set.
6308
+ * @param avatarId - The ID to be set on the AvatarSpaceComponent
6309
+ * @param avatarPlayMode - The Initial AvatarPlayMode to set.
6310
+ * @param callback - Csp::multiplayer::entitycreatedcallback a callback that executes when the creation is complete,
6311
+ * which will provide a non-owning pointer to the new SpaceEntity so that it can be used on the local client.
6312
+ */
6313
+ createAvatar(name: string, userId: string, spaceTransform: Multiplayer.SpaceTransform, isVisible: boolean, state: Multiplayer.AvatarState, avatarId: string, avatarPlayMode: Multiplayer.AvatarPlayMode): Promise<Multiplayer.SpaceEntity>;
6314
+ /**
6315
+ * @description Create and add a SpaceEntity, with relevant default values.
6316
+ * @param name - The name of the newly created SpaceEntity.
6317
+ * @param spaceTransform - The initial transform to set the SpaceEntity to.
6318
+ * @param parentID - ID of another entity in the space that this entity should be created as a child to. If empty,
6319
+ * entity is created as a root entity.
6320
+ * @param callback - A callback that executes when the creation is complete,
6321
+ * which will provide a non-owning pointer to the new SpaceEntity so that it can be used on the local client.
6322
+ */
6323
+ createEntity(name: string, spaceTransform: Multiplayer.SpaceTransform, parentID: bigint | null): Promise<Multiplayer.SpaceEntity>;
6324
+ /**
6325
+ * @description Add a new entity to the system.
6326
+ * /// This can be called at any time from any thread and internally add the entity to a pending
6327
+ * list which is then updated in a thread safe manner when ProcessPendingEntityOperations
6328
+ * is called from the main thread.
6329
+ * /// @param EntityToAdd SpaceEntity : Pointer to the entity to be added.
6330
+ */
6331
+ addEntity(entityToAdd: Multiplayer.SpaceEntity): void;
6332
+ /**
6333
+ * @description Destroy the specified entity.
6334
+ * @param entity - A non-owning pointer to the entity to be destroyed.
6335
+ * @param callback - A callback that executes when the entity destruction is complete.
6336
+ */
6337
+ destroyEntity(entity: Multiplayer.SpaceEntity): Promise<boolean>;
6338
+ /**
6339
+ * @description Sets a callback to be executed when an entity is fully created.
6340
+ * /// Only one EntityCreatedCallback may be registered, calling this function again will override whatever was previously set.
6341
+ * /// @param Callback csp::multiplayer::EntityCreatedCallback : the callback to execute.
6342
+ */
6343
+ setEntityCreatedCallback(callback: (arg1: Multiplayer.SpaceEntity) => void): void;
6344
+ /**
6345
+ * @description Finds the first found SpaceEntity of a matching Name.
6346
+ * @param name - The name to search.
6347
+ * @return A non-owning pointer to the first found matching SpaceEntity.
6348
+ */
6349
+ findSpaceEntity(name: string): Multiplayer.SpaceEntity;
6350
+ /**
6351
+ * @description Finds the first found SpaceEntity that has the ID EntityId.
6352
+ * @param entityId - The Id to look for.
6353
+ * @return A non-owning pointer to the first found matching SpaceEntity.
6354
+ */
6355
+ findSpaceEntityById(entityId: bigint): Multiplayer.SpaceEntity;
6356
+ /**
6357
+ * @description Finds the first found SpaceEntity of a matching Name. The found SpaceEntity will contain an AvatarSpaceComponent.
6358
+ * @param name - The name to search for.
6359
+ * @return A pointer to the first found matching SpaceEntity.
6360
+ */
6361
+ findSpaceAvatar(name: string): Multiplayer.SpaceEntity;
6362
+ /**
6363
+ * @description Finds the first found SpaceEntity of a matching Name. The found SpaceEntity will not contain an AvatarSpaceComponent.
6364
+ * @param name - The name to search for.
6365
+ * @return A pointer to the first found matching SpaceEntity.
6366
+ */
6367
+ findSpaceObject(name: string): Multiplayer.SpaceEntity;
6368
+ /**
6369
+ * @description Get an Entity by its index.
6370
+ * /// @param EntityIndex size_t : The index of the entity to get.
6371
+ * @return A non-owning pointer to the entity at the given index.
6372
+ */
6373
+ getEntityByIndex(entityIndex: number): Multiplayer.SpaceEntity;
6374
+ /**
6375
+ * @description Get an Avatar by its index. The returned pointer will be an entity that contains an AvatarSpaceComponent.
6376
+ * /// @param AvatarIndex size_t : The index of the avatar entity to get.
6377
+ * @return A non-owning pointer to the avatar entity with the given index.
6378
+ */
6379
+ getAvatarByIndex(avatarIndex: number): Multiplayer.SpaceEntity;
6380
+ /**
6381
+ * @description Get an Object by its index. The returned pointer will be an entity that does not contain an AvatarSpaceComponent.
6382
+ * /// @param ObjectIndex size_t : The index of the object entity to get.
6383
+ * @return A non-owning pointer to the object entity with the given index.
6384
+ */
6385
+ getObjectByIndex(objectIndex: number): Multiplayer.SpaceEntity;
6386
+ /**
6387
+ * @description Get the number of total entities in the system.
6388
+ * @return The total number of entities.
6389
+ */
6390
+ getNumEntities(): number;
6391
+ /**
6392
+ * @description Get the number of total Avatars in the system. Avatars are entities that contain AvatarSpaceComponents.
6393
+ * @return The total number of Avatar entities.
6394
+ */
6395
+ getNumAvatars(): number;
6396
+ /**
6397
+ * @description Get the number of total Objects in the system. Objects are entities that do not contain AvatarSpaceComponents.
6398
+ * @return The total number of object entities.
6399
+ */
6400
+ getNumObjects(): number;
6401
+ /**
6402
+ * @description Retrieves all entities that exist at the root level (do not have a parent entity).
6403
+ * @return A list of root entities containing non-owning pointers to entities.
6404
+ */
6405
+ getRootHierarchyEntities(): Common.List<Multiplayer.SpaceEntity>;
6406
+ /**
6407
+ * @description Adds an entity to a list of entities to be updated when ProcessPendingEntityOperations is called.
6408
+ * From a client perspective, ProcessPendingEntityOperations is normally called via the CSPFoundation::Tick method.
6409
+ * @param entity - A non-owning pointer to the entity to be marked.
6410
+ */
6411
+ markEntityForUpdate(entity: Multiplayer.SpaceEntity): void;
6412
+ /**
6413
+ * @description Applies any pending changes to entities that have been marked for update.
6414
+ */
6415
+ processPendingEntityOperations(): void;
6416
+ /**
6417
+ * @description Sets a callback to be executed when the script system is ready to run scripts.
6418
+ * @param callback - The callback to execute.
6419
+ */
6420
+ setScriptLeaderReadyCallback(callback: (arg1: boolean) => void): void;
6421
+ /**
6422
+ * @description Sets the script owner for the given entity to the current client
6423
+ * @param entity - A pointer to the entity
6424
+ */
6425
+ claimScriptOwnership(entity: Multiplayer.SpaceEntity): void;
6426
+ /**
6427
+ * @description Enable Leader Election feature.
6428
+ */
6429
+ enableLeaderElection(): void;
6430
+ /**
6431
+ * @description Disable Leader Election feature.
6432
+ */
6433
+ disableLeaderElection(): void;
6434
+ /**
6435
+ * @description Check if the Leader Election feature is enabled.
6436
+ * @return True if enabled, false otherwise.
6437
+ */
6438
+ isLeaderElectionEnabled(): boolean;
6439
+ /**
6440
+ * @description Debug helper to get the id of the currently elected script leader.
6441
+ * @return The id of the leader.
6442
+ */
6443
+ getLeaderId(): bigint;
6444
+ /**
6445
+ * @description Retrieve the state of the patch rate limiter. If true, patches are limited for each individual entity to a fixed rate.
6446
+ * @return True if enabled, false otherwise.
6447
+ */
6448
+ getEntityPatchRateLimitEnabled(): boolean;
6449
+ /**
6450
+ * @description Set the state of the patch rate limiter. If true, patches are limited for each individual entity to a fixed rate.
6451
+ * /// This feature is enabled by default and should only be disabled if you are encountering issues.
6452
+ * /// @param Enabled : sets if the feature should be enabled or not.
6453
+ * \rst
6454
+ * .. note::
6455
+ * If disabling this feature, more requests will be made to Magnopus Connected Services,
6456
+ * and consequently more patch merges may occur on the server as a result.
6457
+ * \endrst
6458
+ */
6459
+ setEntityPatchRateLimitEnabled(enabled: boolean): void;
6460
+ /**
6461
+ * @description Locks the entity mutex.
6462
+ */
6463
+ lockEntityUpdate(): void;
6464
+ /**
6465
+ * @description Unlocks the entity mutex.
6466
+ */
6467
+ unlockEntityUpdate(): void;
6468
+ /**
6469
+ * @description Queues a specific entity to update. Used in SpaceEntity to queue updates via passing the this pointer
6470
+ */
6471
+ queueEntityUpdate(entityToUpdate: Multiplayer.SpaceEntity): void;
6472
+ /**
6473
+ * @description "Resolves" the entity heirarchy, such that the entity is parented appropriately, and internal buffers are populated appropriately.
6474
+ * (Vague, need more understanding about what this does)
6475
+ */
6476
+ resolveEntityHierarchy(entity: Multiplayer.SpaceEntity): void;
6477
+ delete(): void;
6478
+ }
6479
+ }
6480
+ export declare namespace Multiplayer {
6481
+ /**
6482
+ @ingroup AnimatedModelSpaceComponent
6483
+ * @description Adds animated skeletal meshes to a SpaceEntity.
6450
6484
  * /// These are used for objects that need to move or act within the space, such as characters or animated props.
6451
6485
  * This component makes it possible to play, pause, or loop animations.
6452
6486
  */
@@ -8854,6 +8888,139 @@ export declare namespace Multiplayer {
8854
8888
  delete(): void;
8855
8889
  }
8856
8890
  }
8891
+ export declare namespace Multiplayer {
8892
+ /**
8893
+ @ingroup ScreenSharingSpaceComponent
8894
+ * @description Enables screen sharing within the space.
8895
+ * /// The screen sharing component facilitates the sharing of a user's screen within a space.
8896
+ * The component itself does not make assumptions about the mechanism by which the screen is shared.
8897
+ * It provides properties to define a default image to be displayed when no users are
8898
+ * sharing their screen, as well a UserId property to store the Id of the user currently sharing their screen.
8899
+ */
8900
+ class ScreenSharingSpaceComponent extends Multiplayer.ComponentBase implements Multiplayer.IShadowCasterComponent, Multiplayer.ITransformComponent, Multiplayer.IVisibleComponent, INativeResource {
8901
+ /** @internal */
8902
+ constructor(pointer: NativePointer);
8903
+ static fromComponentBase(baseInstance: Multiplayer.ComponentBase): Multiplayer.ScreenSharingSpaceComponent;
8904
+ /**
8905
+ * @description Constructs the screen sharing component, and associates it with the specified Parent space entity.
8906
+ * @param parent - The Space entity that owns this component.
8907
+ */
8908
+ static create_logSystem_parent(logSystem: Common.LogSystem, parent: Multiplayer.SpaceEntity): ScreenSharingSpaceComponent;
8909
+ /**
8910
+ * @description Gets the ID of the user who is currently sharing their screen to this component.
8911
+ * NOTE: An empty string means that no user is currently sharing their screen to this component.
8912
+ * @return The ID of the user who is currently sharing their screen to this component.
8913
+ */
8914
+ getUserId(): string;
8915
+ /**
8916
+ * @description Sets the ID of the user who is sharing their screen to this component.
8917
+ * @param value - The ID of the user who is sharing their screen to this component. This must be set to an empty string when
8918
+ * the user finishes sharing.
8919
+ */
8920
+ setUserId(value: string): void;
8921
+ /**
8922
+ * @description Gets the ID of the asset collection associated with the default image for this component.
8923
+ * NOTE: To retrieve this component's default image, both the DefaultImageCollectionId and the DefaultImageAssetId are required.
8924
+ * @return The ID of the default image asset collection associated with this component.
8925
+ */
8926
+ getDefaultImageCollectionId(): string;
8927
+ /**
8928
+ * @description Sets the ID of the asset collection associated with the default image for this component.
8929
+ * NOTE: To retrieve this component's default image, both the DefaultImageCollectionId and the DefaultImageAssetId are required.
8930
+ * @param value - The ID of the default image asset collection associated with this component.
8931
+ */
8932
+ setDefaultImageCollectionId(value: string): void;
8933
+ /**
8934
+ * @description Gets the ID of the asset associated with the default image for this component.
8935
+ * NOTE: To retrieve this component's default image, both the DefaultImageCollectionId and the DefaultImageAssetId are required.
8936
+ * @return The ID of the default image asset associated with this component.
8937
+ */
8938
+ getDefaultImageAssetId(): string;
8939
+ /**
8940
+ * @description Sets the ID of the asset associated with the default image for this component.
8941
+ * NOTE: To retrieve this component's default image, both the DefaultImageCollectionId and the DefaultImageAssetId are required.
8942
+ * @param value - The ID of the default image asset associated with this component.
8943
+ */
8944
+ setDefaultImageAssetId(value: string): void;
8945
+ /**
8946
+ * @description Gets the radius from this component origin within which the audio of this video can be heard by the user.
8947
+ * NOTE: Only when the user position is within this radius the audio of the video should be heard.
8948
+ * @return The radius within which the audio of the video can be heard by the user.
8949
+ */
8950
+ getAttenuationRadius(): number;
8951
+ /**
8952
+ * @description Sets the radius from this component origin within which the audio of this video can be heard by the user.
8953
+ * NOTE: Only when the user position is within this radius the audio of the video should be heard.
8954
+ * @param value - The radius within which the audio of the video can be heard by the user.
8955
+ */
8956
+ setAttenuationRadius(value: number): void;
8957
+ /**
8958
+ * \addtogroup ITransformComponent
8959
+ @{
8960
+ @copydoc IPositionComponent::GetPosition()
8961
+ */
8962
+ getPosition(): Common.Vector3;
8963
+ /**
8964
+ @copydoc IPositionComponent::SetPosition()
8965
+ */
8966
+ setPosition(value: Common.Vector3): void;
8967
+ /**
8968
+ @copydoc IRotationComponent::GetRotation()
8969
+ */
8970
+ getRotation(): Common.Vector4;
8971
+ /**
8972
+ @copydoc IRotationComponent::SetRotation()
8973
+ */
8974
+ setRotation(value: Common.Vector4): void;
8975
+ /**
8976
+ @copydoc IScaleComponent::GetScale()
8977
+ */
8978
+ getScale(): Common.Vector3;
8979
+ /**
8980
+ @copydoc IScaleComponent::SetScale()
8981
+ */
8982
+ setScale(value: Common.Vector3): void;
8983
+ /**
8984
+ @copydoc ITransformComponent::GetTransform()
8985
+ */
8986
+ getTransform(): Multiplayer.SpaceTransform;
8987
+ /**
8988
+ @copydoc ITransformComonent::SetTransform()
8989
+ */
8990
+ setTransform(value: Multiplayer.SpaceTransform): void;
8991
+ /**
8992
+ @}
8993
+ * \addtogroup IVisibleComponent
8994
+ @{
8995
+ @copydoc IVisibleComponent::GetIsVisible()
8996
+ */
8997
+ getIsVisible(): boolean;
8998
+ /**
8999
+ @copydoc IVisibleComponent::SetIsVisible()
9000
+ */
9001
+ setIsVisible(value: boolean): void;
9002
+ /**
9003
+ @copydoc IVisibleComponent::GetIsARVisible()
9004
+ */
9005
+ getIsARVisible(): boolean;
9006
+ /**
9007
+ @copydoc IVisibleComponent::SetIsARVisible()
9008
+ */
9009
+ setIsARVisible(value: boolean): void;
9010
+ /**
9011
+ @}
9012
+ * \addtogroup IShadowCasterComponent
9013
+ @{
9014
+ @copydoc IShadowCasterComponent::GetIsShadowCaster()
9015
+ */
9016
+ getIsShadowCaster(): boolean;
9017
+ /**
9018
+ @copydoc IShadowCasterComponent::SetIsShadowCaster()
9019
+ */
9020
+ setIsShadowCaster(value: boolean): void;
9021
+ delete(): void;
9022
+ }
9023
+ }
8857
9024
  export declare namespace Multiplayer {
8858
9025
  /**
8859
9026
  @ingroup ScriptSpaceComponent
@@ -11210,6 +11377,49 @@ export declare namespace Systems {
11210
11377
  deregisterSystemCallback(): void;
11211
11378
  }
11212
11379
  }
11380
+ export declare namespace Systems {
11381
+ /**
11382
+ @ingroup Application Settings System
11383
+ * @description Represents the result of a request for application settings.
11384
+ */
11385
+ class ApplicationSettingsResult extends Systems.ResultBase implements INativeResource {
11386
+ /** @internal */
11387
+ constructor(pointer: NativePointer);
11388
+ static fromResultBase(baseInstance: Systems.ResultBase): Systems.ApplicationSettingsResult;
11389
+ getApplicationSettings(): Systems.ApplicationSettings;
11390
+ delete(): void;
11391
+ }
11392
+ }
11393
+ export declare namespace Systems {
11394
+ /**
11395
+ @ingroup Application Settings System
11396
+ * @description Public facing system that allows interfacing with Magnopus Connected Services' application settings service.
11397
+ */
11398
+ class ApplicationSettingsSystem extends Systems.SystemBase {
11399
+ /** @internal */
11400
+ constructor(pointer: NativePointer);
11401
+ static fromSystemBase(baseInstance: Systems.SystemBase): Systems.ApplicationSettingsSystem;
11402
+ /**
11403
+ * @description Asynchronously retrieves application settings for a specific context.
11404
+ * @param applicationName - The name of the application for which settings are requested.
11405
+ * @param context - The specific context whose settings should be retrieved.
11406
+ * @param keys - Array of setting keys to retrieve. If not provided, all settings
11407
+ * for the context are returned.
11408
+ * @param callback - Callback when asynchronous task finishes.
11409
+ */
11410
+ getSettingsByContext(applicationName: string, context: string, keys: Common.Array<string> | null): Promise<Systems.ApplicationSettingsResult>;
11411
+ /**
11412
+ * @description Asynchronously retrieves application settings for a specific context without requiring authentication.
11413
+ * @param tenant - The tenant identifier under which the application and settings are scoped.
11414
+ * @param applicationName - The name of the application for which settings are requested.
11415
+ * @param context - The specific context whose settings should be retrieved.
11416
+ * @param keys - Array of setting keys to retrieve. If not provided, all settings
11417
+ * for the context are returned.
11418
+ * @param callback - Callback when asynchronous task finishes.
11419
+ */
11420
+ getSettingsByContextAnonymous(tenant: string, applicationName: string, context: string, keys: Common.Array<string> | null): Promise<Systems.ApplicationSettingsResult>;
11421
+ }
11422
+ }
11213
11423
  export declare namespace Systems {
11214
11424
  /**
11215
11425
  @ingroup Settings System
@@ -11236,10 +11446,17 @@ export declare namespace Systems {
11236
11446
  constructor(pointer: NativePointer);
11237
11447
  static fromResultBase(baseInstance: Systems.ResultBase): Systems.AvatarInfoResult;
11238
11448
  /**
11239
- * @description A getter which returns the String passed via the result.
11449
+ * @description Returns the type of avatar selected by the user.
11240
11450
  */
11241
11451
  getAvatarType(): Systems.AvatarType;
11452
+ /**
11453
+ * @description Returns the string used to identify or locate the avatar.
11454
+ */
11242
11455
  getAvatarIdentifier(): string;
11456
+ /**
11457
+ * @description Returns whether or not the user's avatar is intended to be visible or not.
11458
+ */
11459
+ getAvatarVisible(): boolean;
11243
11460
  delete(): void;
11244
11461
  }
11245
11462
  }
@@ -11345,9 +11562,10 @@ export declare namespace Systems {
11345
11562
  * @description Sets the avatar type and identifier for a user.
11346
11563
  * @param inType - The type of avatar (predefined, Ready Player Me, or custom).
11347
11564
  * @param inIdentifier - A string used to identify or locate the avatar.
11565
+ * @param inAvatarVisible - A bool used to identify whether the user's avatar should be visible or not.
11348
11566
  * @param callback - Callback to call when task finishes.
11349
11567
  */
11350
- setAvatarInfo(type: Systems.AvatarType, identifier: string): Promise<Systems.NullResult>;
11568
+ setAvatarInfo(type: Systems.AvatarType, identifier: string, avatarVisible: boolean): Promise<Systems.NullResult>;
11351
11569
  /**
11352
11570
  * @description Retrieves the avatar type and identifier for a user.
11353
11571
  * @param callback - Callback to call when task finishes.
@@ -11587,14 +11805,18 @@ export declare namespace Systems {
11587
11805
  static fromSystemBase(baseInstance: Systems.SystemBase): Systems.SpaceSystem;
11588
11806
  /**
11589
11807
  * @description Enter a space if you have permission to, based on the Space settings.
11590
- * This includes setting scopes (and toggling event listening in order to set the scope).
11591
- * It also retrieves all entities in the space. Ensure Connect is called prior to this.
11808
+ * Registers the user as in the space on the backend service, and calls csp::common::IRealtimeEngine::FetchAllEntitiesAndPopulateBuffers.
11809
+ * The initial load behaviour will differ based on the concrete IRealtimeEngine passed to this function.
11592
11810
  * If user does not have permission to discover or enter the space, callback will be called with EResultCode::Failed and
11593
11811
  * ERequestFailureReason::UserSpaceAccessDenied
11594
- * @param space - Space to enter into
11812
+ * @param spaceId - Space id to enter into
11813
+ * @param realtimeEngine - RealtimeEngine to load the space with. This object belongs to the caller, and does not
11814
+ * transfer ownership. Once the space is loaded, the caller should be sure to maintain the lifetime of the RealtimeEngine so long
11815
+ * as the space is active. Once the caller has called csp::systems::SpaceSystem::ExitSpace and received the callback, then they are
11816
+ * free to release the memory.
11595
11817
  * @param callback - Callback when asynchronous task finishes
11596
11818
  */
11597
- enterSpace(spaceId: string): Promise<Systems.NullResult>;
11819
+ enterSpace(spaceId: string, realtimeEngine: Common.IRealtimeEngine): Promise<Systems.SpaceResult>;
11598
11820
  /**
11599
11821
  * @description Exits the space and deregisters from the space scope.
11600
11822
  */
@@ -11637,7 +11859,7 @@ export declare namespace Systems {
11637
11859
  createSpaceWithBuffer(name: string, description: string, attributes: Systems.SpaceAttributes, inviteUsers: Systems.InviteUserRoleInfoCollection | null, metadata: Common.Map<string, string>, thumbnail: Systems.BufferAssetDataSource, tags: Common.Array<string> | null): Promise<Systems.SpaceResult>;
11638
11860
  /**
11639
11861
  * @description Updates the name and/or the description of a Space
11640
- * @param space - The space to update
11862
+ * @param spaceId - The space id to update
11641
11863
  * @param name - If a new name is provided it will be used to update the space name
11642
11864
  * @param description - If a new description is provided it will be used to update the space
11643
11865
  * description
@@ -11648,7 +11870,7 @@ export declare namespace Systems {
11648
11870
  updateSpace(spaceId: string, name: string | null, description: string | null, type: Systems.SpaceAttributes | null, tags: Common.Array<string> | null): Promise<Systems.BasicSpaceResult>;
11649
11871
  /**
11650
11872
  * @description Deletes a given space and the associated objects that belong to it. Including UserService group, Metadata, and Thumbnail.
11651
- * @param space - Space to delete
11873
+ * @param spaceId - Space id to delete
11652
11874
  * @param callback - Callback when asynchronous task finishes
11653
11875
  */
11654
11876
  deleteSpace(spaceId: string): Promise<Systems.NullResult>;
@@ -11694,7 +11916,7 @@ export declare namespace Systems {
11694
11916
  getSpace(spaceId: string): Promise<Systems.SpaceResult>;
11695
11917
  /**
11696
11918
  * @description Invites a given email to a specific space.
11697
- * @param space - Space to invite to
11919
+ * @param spaceId - Space id to invite to
11698
11920
  * @param email - Email to invite to space
11699
11921
  * @param isModeratorRole - If present and true sets the user's role in the space to "moderator", pass false or
11700
11922
  * nullptr to leave role as default
@@ -11705,67 +11927,67 @@ export declare namespace Systems {
11705
11927
  inviteToSpace(spaceId: string, email: string, isModeratorRole: boolean | null, emailLinkUrl: string | null, signupUrl: string | null): Promise<Systems.NullResult>;
11706
11928
  /**
11707
11929
  * @description Invites all the given emails to a specific space.
11708
- * @param space - Space to invite to
11930
+ * @param spaceId - Space id to invite to
11709
11931
  * @param inviteUsers - Collection containing the email link URL and the users to invite with their emails and roles
11710
11932
  * @param callback - Callback when asynchronous task finishes
11711
11933
  */
11712
11934
  bulkInviteToSpace(spaceId: string, inviteUsers: Systems.InviteUserRoleInfoCollection): Promise<Systems.NullResult>;
11713
11935
  /**
11714
11936
  * @description Returns an array of obfuscated email addresses, addresses of users that have not yet accepted the space invite
11715
- * @param space - Space for which the invites where sent
11937
+ * @param spaceId - Space ID for which the invites where sent
11716
11938
  * @param callback - Callback when asynchronous task finishes
11717
11939
  */
11718
11940
  getPendingUserInvites(spaceId: string): Promise<Systems.PendingInvitesResult>;
11719
11941
  /**
11720
11942
  * @description Returns an array of ids of users that accepted the space invite
11721
- * @param space - Space for which the invites where sent
11943
+ * @param spaceId - Space ID for which the invites where sent
11722
11944
  * @param callback - Callback when asynchronous task finishes
11723
11945
  */
11724
11946
  getAcceptedUserInvites(spaceId: string): Promise<Systems.AcceptedInvitesResult>;
11725
11947
  /**
11726
11948
  * @description Removes a user from a space by the user's unique ID.
11727
- * @param space - Space to remove user from
11949
+ * @param spaceId - Space id to remove user from
11728
11950
  * @param userId - Unique id of user
11729
11951
  * @param callback - Callback when asynchronous task finishes
11730
11952
  */
11731
11953
  removeUserFromSpace(spaceId: string, userId: string): Promise<Systems.NullResult>;
11732
11954
  /**
11733
11955
  * @description Adds a user to a space by the user's unique ID.
11734
- * @param space - Space to add user to
11956
+ * @param spaceId - Space id to add user to
11735
11957
  * @param userId - Unique id of user
11736
11958
  * @param callback - Callback when asynchronous task finishes
11737
11959
  */
11738
11960
  addUserToSpace(spaceId: string, userId: string): Promise<Systems.SpaceResult>;
11739
11961
  /**
11740
11962
  * @description Creates new Site information and associates it with the Space.
11741
- * @param space - Space to associate the Site information with
11963
+ * @param spaceId - Space ID to associate the Site information with
11742
11964
  * @param siteInfo - Site information to be added
11743
11965
  * @param callback - Callback when asynchronous task finishes
11744
11966
  */
11745
11967
  addSiteInfo(spaceId: string, siteInfo: Systems.Site): Promise<Systems.SiteResult>;
11746
11968
  /**
11747
11969
  * @description Removes the Site information from the Space.
11748
- * @param space - Space for which to remove the associated Site information
11970
+ * @param spaceId - Space ID for which to remove the associated Site information
11749
11971
  * @param siteInfo - Site information to be removed
11750
11972
  * @param callback - Callback when asynchronous task
11751
11973
  */
11752
11974
  removeSiteInfo(spaceId: string, siteInfo: Systems.Site): Promise<Systems.NullResult>;
11753
11975
  /**
11754
11976
  * @description Retrieves the Sites information associated with a Space.
11755
- * @param space - Space to be queried for Site information
11977
+ * @param spaceId - Space ID to be queried for Site information
11756
11978
  * @param callback - Callback when asynchronous task finishes
11757
11979
  */
11758
11980
  getSitesInfo(spaceId: string): Promise<Systems.SitesCollectionResult>;
11759
11981
  /**
11760
11982
  * @description Updates the space role for a particular user
11761
- * @param space - The space that the requested user is part of
11983
+ * @param spaceId - The space ID that the requested user is part of
11762
11984
  * @param newUserRoleInfo - New user role information containing the new role for the specified user
11763
11985
  * @param callback - Callback when asynchronous task finishes
11764
11986
  */
11765
11987
  updateUserRole(spaceId: string, newUserRoleInfo: Systems.UserRoleInfo): Promise<Systems.NullResult>;
11766
11988
  /**
11767
11989
  * @description Retrieves the User role information for the User Ids that have been passed in
11768
- * @param space - Space for which the User Roles will be retrieved
11990
+ * @param spaceId - Space ID for which the User Roles will be retrieved
11769
11991
  * @param requestedUserIds - Array of User Ids for which the User Roles will be retrieved
11770
11992
  * @param callback - Callback when asynchronous task finishes
11771
11993
  */
@@ -11785,20 +12007,20 @@ export declare namespace Systems {
11785
12007
  getSpacesMetadata(spaces: Common.Array<string>): Promise<Systems.SpacesMetadataResult>;
11786
12008
  /**
11787
12009
  * @description Retrieves the Space metadata information
11788
- * @param space - Space for which the metadata will be retrieved
12010
+ * @param spaceId - Space ID for which the metadata will be retrieved
11789
12011
  * @param callback - Callback when asynchronous task finishes
11790
12012
  */
11791
12013
  getSpaceMetadata(spaceId: string): Promise<Systems.SpaceMetadataResult>;
11792
12014
  /**
11793
12015
  * @description Updates the Space thumbnail image or adds one if it didn't have it previously using FileAssetDataSource
11794
- * @param space - Space for which the thumbnail will be updated
12016
+ * @param spaceId - Space ID for which the thumbnail will be updated
11795
12017
  * @param newThumbnail - New thumbnail information
11796
12018
  * @param callback - Callback when asynchronous task finishes
11797
12019
  */
11798
12020
  updateSpaceThumbnail(spaceId: string, newThumbnail: Systems.FileAssetDataSource): Promise<Systems.NullResult>;
11799
12021
  /**
11800
12022
  * @description Updates the Space thumbnail image or adds one if it didn't have it previously using BufferAssetDataSource
11801
- * @param space - Space for which the thumbnail will be updated
12023
+ * @param spaceId - Space ID for which the thumbnail will be updated
11802
12024
  * @param newThumbnail - New thumbnail information
11803
12025
  * @param callback - Callback when asynchronous task finishes
11804
12026
  */
@@ -11807,20 +12029,20 @@ export declare namespace Systems {
11807
12029
  * @description Retrieves the space thumbnail information associated with the space
11808
12030
  * If the space does not have a thumbnail associated with it the result callback will be successful, the HTTP res code will be ResponseNotFound
11809
12031
  * and the Uri field inside the UriResult will be empty
11810
- * @param space - Space for which the thumbnail information will be retrieved
12032
+ * @param spaceId - Space ID for which the thumbnail information will be retrieved
11811
12033
  * @param callback - Callback when asynchronous task finishes
11812
12034
  */
11813
12035
  getSpaceThumbnail(spaceId: string): Promise<Systems.UriResult>;
11814
12036
  /**
11815
12037
  * @description Adds user to group banned list. Banned list can be retrieved from the space
11816
- * @param space - Space for which the ban will be issued on
12038
+ * @param spaceId - Space ID for which the ban will be issued on
11817
12039
  * @param requestedUserId - User id to be banned from the space
11818
12040
  * @param callback - Callback when asynchronous task finishes
11819
12041
  */
11820
12042
  addUserToSpaceBanList(spaceId: string, requestedUserId: string): Promise<Systems.NullResult>;
11821
12043
  /**
11822
12044
  * @description Deletes user from group banned list. Banned list can be retrieved from the space
11823
- * @param space - Space for which the Space for which the ban will be removed on
12045
+ * @param spaceId - Space ID for which the Space for which the ban will be removed on
11824
12046
  * @param requestedUserId - User id to have ban removed from the space
11825
12047
  * @param callback - Callback when asynchronous task finishes
11826
12048
  */