class IsdkSystem(val api: IsdkSystemNativeApi = IsdkSystemNativeApi()) : SystemBase
IsdkSystem
(
api
)
|
Signature
constructor(api: IsdkSystemNativeApi = IsdkSystemNativeApi()) Parameters Returns |
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?
Returns
Boolean
|
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:
String
Returns
Long
|
getEventDecoratorValueLong
(
pointerEvent
, decoratorId
)
|
Signature
fun getEventDecoratorValueLong(pointerEvent: PointerEvent, decoratorId: Long): Long? Parameters
pointerEvent:
PointerEvent
decoratorId:
Long
Returns
Long?
|
getHandForPointerEvent
(
pointerEvent
)
|
Signature
fun getHandForPointerEvent(pointerEvent: PointerEvent): Hand? Parameters
pointerEvent:
PointerEvent Returns |
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
|
hashCode
()
|
Returns the hash code of this system.
Signature
open override fun hashCode(): Int Returns
Int
|
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
Returns
IsdkSystem.InteractableObserverHandle
|
registerObserver
(
observer
)
|
Signature
fun registerObserver(observer: (PointerEvent) -> Unit) Parameters
observer:
Function1
|
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
|
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
|
data class InteractableObserverHandle(val id: Long, val entityId: Long)
InteractableObserverHandle
(
id
, entityId
)
|
Signature
constructor(id: Long, entityId: Long) Parameters
id:
Long
entityId:
Long
Returns
IsdkSystem.InteractableObserverHandle
|
entityId
: Long
[Get] |
Signature
val entityId: Long |
id
: Long
[Get] |
Signature
val id: Long |