systemManager.findSystem<SceneObjectSystem>().getSceneObject(myEntity)?.thenAccept { so -> so.addInputListener(myInputListener) }
class SceneObjectSystem : SystemBase
SceneObjectSystem
()
|
Signature
constructor() Returns |
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 |
addSceneObject
(
entity
, sceneObjectFuture
)
|
Adds a SceneObject future to the registry to allow other systems to get the SceneObject associated with the entity. The future is expected to be completed by the caller once the SceneObject is done loading.
Signature
fun addSceneObject(entity: Entity, sceneObjectFuture: CompletableFuture<SceneObject>) Parameters
sceneObjectFuture:
CompletableFuture
SceneObject is created.
|
associateSystemManager
(
systemManager
)
|
Associates this system with a system manager, used in the Spatial SDK.
Signature
fun associateSystemManager(systemManager: SystemManager) Parameters |
delete
(
entity
)
|
System should do any housekeeping based on SceneObjectSystem.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 fun destroy() |
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 fun getDependencies(): SystemDependencies? |
getScene
()
|
Returns the scene that this system is associated with.
Signature
fun getScene(): Scene |
getSceneObject
(
entity
)
|
Returns a future for the SceneObject associated with the entity. A null return represents no load has started for this Entity.
Note: You will likely get null if you call this immediately after attaching a Mesh component to an entity. You will likely need to call this in a System to ensure MeshCreationSystem has run by leveraging SystemBase getDependencies function.
Signature
fun getSceneObject(entity: Entity): CompletableFuture<SceneObject>? Parameters Returns
CompletableFuture?
|
hashCode
()
|
Returns the hash code of this system.
Signature
open override fun hashCode(): Int Returns
Int
|
removeSceneObject
(
entity
)
|
Remove a SceneObject from the registry.
Signature
fun removeSceneObject(entity: Entity) Parameters |