class MeshCreationSystem(val meshManager: MeshManager) : SystemBase
MeshCreationSystem
(
meshManager
)
|
executeCount
: Long
[Get] |
The number of times this system's SystemBase.execute method has been called by the system manager. Incremented automatically before each execution cycle. Useful for performance monitoring.
@Volatile guarantees atomic 64-bit reads + happens-before semantics so the introspection reader (which runs on the dump caller's thread) observes a consistent value. Only SystemBase.incrementExecuteCount writes this field, so the non-atomic read-modify-write is safe.
Signature
var executeCount: Long |
meshManager
: MeshManager
[Get] |
The mesh manager to use for creating the mesh.
Signature
val meshManager: MeshManager |
systemManager
: SystemManager
[Get][Set] |
The SystemManager that this system is registered with. Provides access to other systems and the scene. Initialized during system registration.
Signature
lateinit var systemManager: SystemManager |
associateSystemManager
(
systemManager
)
|
Associates this system with a SystemManager. Called during registration. Throws RuntimeException if the system is already associated — each system instance can only belong to one manager.
Signature
fun associateSystemManager(systemManager: SystemManager) Parameters |
delete
(
entity
)
|
Called when an entity is removed from the scene. Override to clean up any per-entity state this system maintains, such as cached components, tracking maps, or native resource handles.
Signature
open override fun delete(entity: Entity) Parameters entity: Entity |
destroy
()
|
Called during system shutdown to release all resources held by this system. Override to dispose of native handles, close streams, and clear any global state accumulated during the session. Subclasses must call super.destroy() so the framework can clean up auto-registered introspection nodes.
Signature
open override fun destroy() |
execute
()
|
Called each frame by the SystemManager to perform this system's per-tick logic. Override to query entities with relevant components and apply updates.
Signature
open override fun execute() |
getDependencies
()
|
Returns the execution ordering dependencies for this system. Override to declare which other systems must run before or after this one using SystemDependencies.
Signature
open fun getDependencies(): SystemDependencies? Returns SystemDependencies?
The dependency configuration, or null if this system has no ordering constraints.
|
getScene
()
| |
preloadMesh
(
mesh
, defaultShaderOverride
, defaultSceneOverride
)
|
Preloads a mesh without attaching it to any entity for faster loading later.
This method loads and caches a mesh from the specified URI so that when it's later assigned to an entity via the Mesh component, it will be available immediately. This is useful for performance optimization when you know certain meshes will be needed soon.
Signature
fun preloadMesh(mesh: Uri, defaultShaderOverride: String = "", defaultSceneOverride: Int = 0) Parameters mesh: Uri
The URI of the mesh to preload
defaultShaderOverride: String
Optional shader override to use when loading the mesh
defaultSceneOverride: Int
Optional scene index override to use when loading the mesh
|