function _createTrackedProperty<T, U>( getter, setter, source,options?): _ReactiveProperty<T>;Creates a reactive property that tracks a source and updates based on a getter/setter.
This is useful for wrapping engine properties or complex state logic.
Type Parameters#
| Type Parameter | Default type |
|---|---|
T |
- |
U |
any |
Parameters#
| Parameter | Type | Description |
|---|---|---|
getter |
() => T |
Function to get current value |
setter |
(value) => void |
Function to update value |
source |
(listener) => _Unsubscribe |
Source to track for updates |
options? |
Pick<_ReactivePropertyOptions<T>, "equals"> |
Configuration options |
Returns#
A reactive property
Example#
const settings = createTrackedProperty( // Getter () => { const camera = engine.block.findByType('camera')[0]; return { width: engine.block.getFloat(camera, 'camera/resolution/width'), height: engine.block.getFloat(camera, 'camera/resolution/height') }; }, // Setter ({ width, height }) => { const camera = engine.block.findByType('camera')[0]; engine.block.setFloat(camera, 'camera/resolution/width', width); engine.block.setFloat(camera, 'camera/resolution/height', height); }, // Source to track onCameraUpdated, // Options { equals: isEqual });