val system = PanelInteractionExtensionSystem(context)
system.addDelegate(object : PanelInteractionDelegate {
override fun onPanelInteractionDetected(entity: Entity, interactionExtension: Any) {
// Handle new panel with interaction extension
}
override fun onPanelInteractionRemoved(entity: Entity) {
// Handle removed panel
}
})
PanelInteractionExtensionSystem
(
context
)
|
Signature
constructor(context: Context) Parameters context: Context
The Android context used for resource name resolution
|
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.
Signature
var executeCount: Long |
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 |
addDelegate
(
delegate
)
|
Adds a delegate to receive panel interaction events.
Signature
fun addDelegate(delegate: PanelInteractionDelegate) Parameters |
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 SystemBase.delete 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 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.
Signature
open fun destroy() |
disable
()
|
Disables interaction structure harvesting on all tracked panel extensions. New panels discovered after this call will not have harvesting enabled until PanelInteractionExtensionSystem.enable is called.
Signature
fun disable() |
enable
()
|
Enables interaction structure harvesting on all tracked panel extensions. New panels discovered after this call will also have harvesting enabled.
Signature
fun enable() |
equals
(
other
)
|
Checks if this system is equal to another object. Two systems are considered equal if they are the same instance or share the same Kotlin class, regardless of configuration state.
Signature
open operator override fun equals(other: Any?): Boolean Parameters other: Any?
The object to compare with.
Returns Boolean
True if the other object is the same system instance or the same system class.
|
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() |
getActivityForPanel
(
componentName
)
|
Returns the Activity associated with the given ComponentName, if tracked.
This enables other systems (e.g., hover effects) to access activity windows for activity-based panels that don't have a rootView.
Signature
fun getActivityForPanel(componentName: ComponentName): Activity? Parameters componentName: ComponentName
The ComponentName of the activity to look up
Returns Activity?
The Activity if it is currently tracked and alive, null otherwise
|
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
()
| |
hashCode
()
|
Returns the hash code of this system, based on its Kotlin class identity. Consistent with the SystemBase.equals implementation — systems of the same class produce the same hash code.
Signature
open override fun hashCode(): Int Returns Int
The hash code derived from this system's Kotlin class.
|
isEnabled
()
|
Returns true if interaction structure harvesting is enabled.
Signature
fun isEnabled(): Boolean Returns Boolean |
removeDelegate
(
delegate
)
|
Removes a delegate.
Signature
fun removeDelegate(delegate: PanelInteractionDelegate) Parameters |