API reference
API reference
Select your platform
No SDKs available
No versions available

ComponentBase Class

Modifiers: abstract
Base class for all components in the Spatial SDK entity-component system (ECS). See more: https://developers.meta.com/horizon/documentation/spatial-sdk/spatial-sdk-component
ComponentBase provides the core functionality for components, including attribute storage, serialization, and lifecycle management.

Signature

abstract class ComponentBase

Constructors

ComponentBase () : ComponentBase
Signature
constructor()

Properties

cachable : Boolean
[Get]
Signature
open val cachable: Boolean
entID : Long
[Get][Set]
Signature
var entID: Long
isDirty : Boolean
[Get][Set]
Signature
var isDirty: Boolean
recycled : Boolean
[Get][Set]
Signature
var recycled: Boolean
timeStamp : Long
[Get][Set]
Signature
var timeStamp: Long

Functions

companion () : ComponentCompanion
Gets the companion object for this component.
The companion object provides metadata about the component.
Signature
open fun companion(): ComponentCompanion
Returns
The component's companion object
Throws
RuntimeException
If the companion is not implemented
getComponentDataAttributeType ( key ) : AttributePrimitive?
Gets the attribute type for the specified key.
Signature
fun getComponentDataAttributeType(key: Int): AttributePrimitive?
Parameters
key: Int
The integer key to look up
Returns
The attribute primitive type, or null if the key doesn't exist
getComponentDataAttributeType ( keyString ) : AttributePrimitive?
Gets the attribute type for the specified string key.
Signature
fun getComponentDataAttributeType(keyString: String): AttributePrimitive?
Parameters
keyString: String
The string key to look up
Returns
The attribute primitive type
Throws
IllegalArgumentException
If the key doesn't exist
getComponentDataKey ( key ) : Int?
Gets the integer key associated with the specified string key.
Signature
fun getComponentDataKey(key: String): Int?
Parameters
key: String
The string key to look up
Returns
Int?
The integer key, or null if the string key doesn't exist
getComponentDataValue ( key ) : Any?
Gets the value for the specified key.
Signature
fun getComponentDataValue(key: Int): Any?
Parameters
key: Int
The integer key to look up
Returns
Any?
The value associated with the key, or null if the key doesn't exist
getComponentDataValue ( keyString ) : Any?
Gets the value for the specified string key.
Signature
fun getComponentDataValue(keyString: String): Any?
Parameters
keyString: String
The string key to look up
Returns
Any?
The value associated with the key, or null if the key doesn't exist
Throws
IllegalArgumentException
If the key doesn't exist
getEnumClass ( key ) : Class?
Gets the enum class associated with the specified string key.
Signature
fun getEnumClass(key: String): Class<out Enum<*>>?
Parameters
key: String
The string key to look up
Returns
Class?
The enum class, or null if the key doesn't exist or is not an enum
hasComponentData ( key ) : Boolean
Checks if this component has data for the specified key.
Signature
fun hasComponentData(key: Int): Boolean
Parameters
key: Int
The integer key to check
Returns
Boolean
True if the component has data for the key, false otherwise
hasComponentData ( keyString ) : Boolean
Checks if this component has data for the specified string key.
Signature
fun hasComponentData(keyString: String): Boolean
Parameters
keyString: String
The string key to check
Returns
Boolean
True if the component has data for the key, false otherwise
read ( e , cachable )
Reads component data from the specified entity.
Signature
fun read(e: Entity, cachable: Boolean)
Parameters
e: Entity
The entity to read data from
cachable: Boolean
Whether the component's data should be cached
recycle ()
Recycles this component by returning it to its pool.
If the component has a pool assigned, it will be returned to that pool for reuse.
Signature
fun recycle()
reset ()
Resets the component to its default state.
This method is called when a component is recycled to clear any state. Subclasses should override this method to reset their specific state.
Signature
open fun reset()
setComponentDataValue ( key , value ) : Boolean
Sets the value for the specified key.
Signature
fun setComponentDataValue(key: Int, value: Any): Boolean
Parameters
key: Int
The integer key to set
value: Any
The value to set
Returns
Boolean
True if the value was set successfully, false otherwise
setComponentDataValue ( keyString , value ) : Boolean
Sets the value for the specified string key.
Signature
fun setComponentDataValue(keyString: String, value: Any): Boolean
Parameters
keyString: String
The string key to set
value: Any
The value to set
Returns
Boolean
True if the key exists and the value was set, false otherwise
setPool ( pool , entID )
Sets the component pool and entity ID for this component.
This is used for component recycling to track which pool the component belongs to and which entity it was associated with.
Signature
fun setPool(pool: ComponentPool<*>, entID: Long)
Parameters
pool: ComponentPool
The component pool this component belongs to
entID: Long
The ID of the entity this component is associated with
toString () : String
Signature
open override fun toString(): String
Returns
String
typeID () : Int
Returns the unique type ID of this component.
Each component type must have a unique ID for identification in the entity-component system.
Signature
abstract fun typeID(): Int
Returns
Int
The unique type ID for this component
write ( e )
Writes this component's data to the specified entity.
Signature
fun write(e: Entity)
Parameters
e: Entity
The entity to write this component's data to
Did you find this page helpful?
Thumbs up icon
Thumbs down icon