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

PanelQuadCylinderLocalState Class

Modifiers: final
Holds the per-entity state for a quad-cylinder panel animation transition (quad-to-cylinder, cylinder-to-quad, or cylinder-to-cylinder). Created by the PanelAnimationSystem when a PanelQuadCylinderAnimation component is attached to an entity. Tracks timing, target radii, animation status, and whether grabbable interaction should be temporarily disabled during the transition.

Signature

data class PanelQuadCylinderLocalState(var type: PanelQuadCylinderAnimationType, val startTimeInMs: Long, val durationInMs: Long, var initialRadius: Float, var targetRadius: Float, var status: PanelQuadCylinderAnimationStatus, val isGrabbableEnabled: Boolean)

Constructors

PanelQuadCylinderLocalState ( type , startTimeInMs , durationInMs , initialRadius , targetRadius , status , isGrabbableEnabled )
Signature
constructor(type: PanelQuadCylinderAnimationType, startTimeInMs: Long, durationInMs: Long, initialRadius: Float, targetRadius: Float, status: PanelQuadCylinderAnimationStatus, isGrabbableEnabled: Boolean)
Parameters
type: PanelQuadCylinderAnimationType  The direction of the animation transition — quad to cylinder, cylinder to quad, or cylinder to cylinder with a different target radius value.
startTimeInMs: Long  Timestamp in milliseconds when the animation began, obtained from DataModel.getLocalDataModelTime(). Used to calculate elapsed progress.
durationInMs: Long  Total duration of the animation transition in milliseconds. The interpolation progress is computed as elapsed time divided by this value.
initialRadius: Float  The panel's cylinder radius at the start of the animation. For quad-to-cylinder transitions, this is typically the flat panel equivalent radius.
targetRadius: Float  The desired cylinder radius at the end of the animation. The panel interpolates from initialRadius toward this value over the animation duration.
status: PanelQuadCylinderAnimationStatus  Current lifecycle state of the animation, tracked via PanelQuadCylinderAnimationStatus. Transitions from START to PLAYING to COMPLETED as the animation progresses through its duration.
isGrabbableEnabled: Boolean  Whether the entity's grabbable interaction was enabled before the animation started. Restored to this value when the animation completes.

Properties

durationInMs : Long
[Get]
Total duration of the animation transition in milliseconds. The interpolation progress is computed as elapsed time divided by this value.
Signature
val durationInMs: Long
initialRadius : Float
[Get][Set]
The panel's cylinder radius at the start of the animation. For quad-to-cylinder transitions, this is typically the flat panel equivalent radius.
Signature
var initialRadius: Float
isGrabbableEnabled : Boolean
[Get]
Whether the entity's grabbable interaction was enabled before the animation started. Restored to this value when the animation completes.
Signature
val isGrabbableEnabled: Boolean
startTimeInMs : Long
[Get]
Timestamp in milliseconds when the animation began, obtained from DataModel.getLocalDataModelTime(). Used to calculate elapsed progress.
Signature
val startTimeInMs: Long
Current lifecycle state of the animation, tracked via PanelQuadCylinderAnimationStatus. Transitions from START to PLAYING to COMPLETED as the animation progresses through its duration.
Signature
var status: PanelQuadCylinderAnimationStatus
targetRadius : Float
[Get][Set]
The desired cylinder radius at the end of the animation. The panel interpolates from initialRadius toward this value over the animation duration.
Signature
var targetRadius: Float
The direction of the animation transition — quad to cylinder, cylinder to quad, or cylinder to cylinder with a different target radius value.
Signature
var type: PanelQuadCylinderAnimationType