// Register a system systemManager.registerSystem(MyCustomSystem()) // Find a system by class val avatarSystem = systemManager.findSystem<AvatarSystem>()
class SystemManager
SystemManager
()
|
Signature
constructor() Returns |
findSystem
(
clazz
)
|
Finds a system by its class.
Signature
fun <T : SystemBase> findSystem(clazz: KClass<T>): T Parameters
clazz:
KClass
Throws
Exception
|
findSystem
()
|
Finds a system by its type using reified type parameters.
Signature
inline fun <T : SystemBase> findSystem(): T Throws
Exception
|
getScene
()
|
Returns the scene associated with the manager.
Signature
fun getScene(): Scene |
registerEarlySystem
(
system
)
|
Registers an early system that will be executed before other systems.
Signature
fun registerEarlySystem(system: SystemBase) Parameters |
registerLateSystem
(
system
)
|
Registers a late system that will be executed after other systems.
Signature
fun registerLateSystem(system: SystemBase) Parameters |
registerSystem
(
system
)
|
Adds a system to the manager, which will be called for all operations.
Example usage:
override fun onCreate(savedInstanceState: Bundle?) {
systemManager.registerSystem(MyCustomSystem())
}
Signature
fun registerSystem(system: SystemBase) Parameters |
setEarlySystems
(
earlySystems
)
|
Sets the early systems in the manager.
Early systems are executed before normal priority systems.
Signature
fun setEarlySystems(earlySystems: List<SystemBase>) Parameters
earlySystems:
List
|
setLateSystems
(
lateSystems
)
|
Sets the late systems in the manager.
Late systems are executed after normal priority systems.
Signature
fun setLateSystems(lateSystems: List<SystemBase>) Parameters
lateSystems:
List
|
tryFindSystem
(
clazz
)
|
Tries to find a system by its class.
Signature
fun <T : SystemBase> tryFindSystem(clazz: KClass<T>): T? Parameters
clazz:
KClass
|
tryFindSystem
()
|
Tries to find a system by its type using reified type parameters.
Signature
inline fun <T : SystemBase> tryFindSystem(): T? |
unregisterSystem
(
clazz
)
|
Unregisters a system from the manager.
Example usage:
override fun onCreate(savedInstanceState: Bundle?) {
// Unregister locomotion system to prevent controller movement
systemManager.unregisterSystem<LocomotionSystem>()
}
Signature
fun <T : SystemBase> unregisterSystem(clazz: KClass<T>) Parameters
clazz:
KClass
|
unregisterSystem
()
|
Unregisters a system by its type using reified type parameters.
Signature
inline fun <T : SystemBase> unregisterSystem() |