class IsdkSystem(val api: IsdkSystemNativeApi = IsdkSystemNativeApi()) : SystemBase
IsdkSystem
(
api
)
|
api
: IsdkSystemNativeApi
[Get] |
The native API that is invoked to execute the core interaction logic.
Signature
val api: IsdkSystemNativeApi |
debugToolsEnabled
: Boolean
[Get][Set] |
Toggles visibility of debug geometry rendering by ISDK, which shows internal state of interactions. Debug visuals have significant performance cost, so this should only be enabled when debugging.
Signature
var debugToolsEnabled: Boolean |
executeCount
: Long
[Get] |
The number of times the system has been executed.
Signature
var executeCount: Long |
systemManager
: SystemManager
[Get][Set] |
The system manager that this system is associated with.
Signature
lateinit var systemManager: SystemManager |
transformersEnabled
: Boolean
[Get][Set] |
Enables or disables transformers functionality in ISDK. When enabled, grabbed objects will move according to the behavior defined on the IsdkGrabbable/IsdkGrabConstraint components. When disabled, pointer events will still be emitted; but no transform will take place.
Signature
var transformersEnabled: Boolean |
associateSystemManager
(
systemManager
)
|
Associates this system with a system manager, used in the Spatial SDK.
Signature
fun associateSystemManager(systemManager: SystemManager) Parameters |
clearInteractableObservers
(
entity
)
|
Removes all observers for a specific entity, effectively stopping all pointer event notifications for that entity.
Signature
fun clearInteractableObservers(entity: Entity) Parameters |
delete
(
entity
)
|
System should do any housekeeping based on IsdkSystem.delete being removed from the scene
Signature
open override fun delete(entity: Entity) Parameters entity: Entity |
destroy
()
|
System should clean up any and all resources for shutdown
Signature
open override fun destroy() |
enableDebugTools
(
enable
)
DeprecatedThis method is deprecated and will be removed in a future release. Use debugToolsEnabled field instead. |
Signature
fun enableDebugTools(enable: Boolean) Parameters enable: Boolean |
equals
(
other
)
|
Checks if this system is equal to another object.
Signature
open operator override fun equals(other: Any?): Boolean Parameters other: Any?
The object to compare with.
Returns Boolean
True if this system is equal to the other object, false otherwise.
|
execute
()
|
System should perform all the operations based on relevant entities.
Signature
open override fun execute() |
getDependencies
()
|
Returns the dependencies of this system.
Signature
open override fun getDependencies(): SystemDependencies? |
getEventDecoratorId
(
decoratorName
)
|
Signature
fun getEventDecoratorId(decoratorName: String): Long Parameters decoratorName: StringReturns Long |
getEventDecoratorValueLong
(
pointerEvent
, decoratorId
)
|
Signature
fun getEventDecoratorValueLong(pointerEvent: PointerEvent, decoratorId: Long): Long? Parameters pointerEvent: PointerEventdecoratorId: LongReturns Long? |
getHandForPointerEvent
(
pointerEvent
)
|
Signature
fun getHandForPointerEvent(pointerEvent: PointerEvent): Hand? Parameters pointerEvent: PointerEventReturns Hand? |
getInteractionEventSourceBehavior
(
pointerEvent
)
|
Signature
fun getInteractionEventSourceBehavior(pointerEvent: PointerEvent): InteractionEventSourceBehavior? Parameters pointerEvent: PointerEvent |
getScene
()
|
Returns the scene that this system is associated with.
Signature
fun getScene(): Scene |
getScenePointerDistance
()
|
Gets the current maximum distance for scene pointer interactions in meters.
Signature
fun getScenePointerDistance(): Float Returns Float
The current maximum distance in meters
|
hashCode
()
|
Returns the hash code of this system.
Signature
open override fun hashCode(): Int Returns Int
The hash code of this system.
|
notifyObservers
(
event
)
|
Signature
fun notifyObservers(event: PointerEvent) Parameters event: PointerEvent |
registerExternalControllerInputHandler
(
handler
)
|
Register an ExternalControllerInputHandler instance, which is used to integrate ISDK with other systems that may be using the controllers. Can be used to disable ISDK input handling if the controllers are in use by another system.
Signature
fun registerExternalControllerInputHandler(handler: ExternalControllerInputHandler) Parameters handler: ExternalControllerInputHandler |
registerInteractableObserver
(
entity
, observer
)
|
Registers an observer to receive pointer events for a specific interactable entity. The observer will be called whenever a pointer event occurs on the specified entity.
Signature
fun registerInteractableObserver(entity: Entity, observer: (PointerEvent) -> Unit): IsdkSystem.InteractableObserverHandle Parameters observer: Function1
The callback function to invoke when pointer events occur on the entity
Returns IsdkSystem.InteractableObserverHandle
A handle that can be used to unregister this specific observer
|
registerObserver
(
observer
)
|
Signature
fun registerObserver(observer: (PointerEvent) -> Unit) Parameters observer: Function1 |
setPanelCollisionPriority
(
entity
, priority
)
|
Sets the collision priority for a panel identified by entity.
Higher priority values will win collision resolution when panels overlap at the same depth. This should be called after setting the layer zIndex to synchronize the ISDK collision system with the rendering layer order.
Signature
fun setPanelCollisionPriority(entity: Entity, priority: Float) Parameters priority: Float
The collision priority (typically the layer's zIndex value)
|
setScenePointerDistance
(
distance
)
|
Sets the maximum distance for scene pointer interactions in meters. This controls how far from scene objects ray-based interactions can detect collisions.
Signature
fun setScenePointerDistance(distance: Float) Parameters distance: Float
The maximum distance in meters (must be positive)
|
unregisterExternalControllerInputHandler
(
handler
)
|
Unregister a previously registered ExternalControllerInputHandler instance
Signature
fun unregisterExternalControllerInputHandler(handler: ExternalControllerInputHandler) Parameters handler: ExternalControllerInputHandler |
unregisterInteractableObserver
(
handle
)
|
Unregisters a specific observer using its handle.
Signature
fun unregisterInteractableObserver(handle: IsdkSystem.InteractableObserverHandle) Parameters handle: IsdkSystem.InteractableObserverHandle
The handle returned from registerInteractableObserver
|
data class InteractableObserverHandle(val id: Long, val entityId: Long)
InteractableObserverHandle
(
id
, entityId
)
|
Signature
constructor(id: Long, entityId: Long) Parameters id: LongentityId: LongReturns IsdkSystem.InteractableObserverHandle |
entityId
: Long
[Get] |
Signature
val entityId: Long |
id
: Long
[Get] |
Signature
val id: Long |