m Remove `N suffix from generic types |
Automated: update Fields, Categories |
||
Line 10: | Line 10: | ||
== Usage == | == Usage == | ||
{{Table ComponentFields | {{Table ComponentFields | ||
|Target|T| Target field of the specified type, that gets driven to the override value. | |Target|{{RootFieldType|FieldDrive`1|T}}|TypeAdv0=true| Target field of the specified type, that gets driven to the override value. | ||
|Default|T| The default value given to <code>Target</code> if no suitable override exists in <code>_overrides</code> | |Default|'''T'''|TypeAdv1=true| The default value given to <code>Target</code> if no suitable override exists in <code>_overrides</code> | ||
|CreateOverrideOnWrite|Bool| Creates an entry in <code>_overrides</code> when <code>Target</code> is written back. | |CreateOverrideOnWrite|Bool| Creates an entry in <code>_overrides</code> when <code>Target</code> is written back. | ||
|PersistentOverrides|Bool| Values in <code>_overrides</code> are stored with the object when it is saved | |PersistentOverrides|Bool| Values in <code>_overrides</code> are stored with the object when it is saved | ||
|_overrides|Override| | |_overrides|{{RootFieldType|SyncBag`1|[[#Override|Override]]<T>}}|TypeAdv4=true| A list of Overrides and the corresponding users they apply to. | ||
}} | }} | ||
== Behavior == | == Behavior == | ||
Line 28: | Line 28: | ||
</translate> | </translate> | ||
[[Category:Generics{{#translation:}}]] | [[Category:Generics{{#translation:}}]] | ||
[[Category:Components{{#translation:}}| | [[Category:Components{{#translation:}}|Value User Override`1]] | ||
[[Category:Components | [[Category:Generic Components{{#translation:}}|Value User Override`1]] | ||
[[Category:Components With Nested Types{{#translation:}}|Value User Override`1]] | |||
[[Category:Components:Transform:Drivers{{#translation:}}|Value User Override`1]] |
Revision as of 21:26, 3 March 2024
This article or section is a Stub. You can help the Resonite Wiki by expanding it.
Intoduction
The ValueUserOverride Component allows for the driving of a value for each user listed in _overrides
Usage
Name | Type | Description |
---|---|---|
persistent
|
Bool | Determines whether or not this item will be saved to the server. |
UpdateOrder
|
Int | Controls the order in which this component is updated. |
Enabled
|
Bool | Controls whether or not this component is enabled. |
Target
|
field drive of T | Target field of the specified type, that gets driven to the override value. |
Default
|
T | The default value given to Target if no suitable override exists in _overrides
|
CreateOverrideOnWrite
|
Bool | Creates an entry in _overrides when Target is written back.
|
PersistentOverrides
|
Bool | Values in _overrides are stored with the object when it is saved
|
_overrides
|
direct SyncBag`1<Override<T>> | A list of Overrides and the corresponding users they apply to. |
Behavior
The _overrides
bag contains a list of users and their associated values - whenever the local user matches a user entry in the bag, the associated value is driven to Target
. Otherwise, Target
is driven to the value in Default
CreateOverrideOnWrite
allows for new users and values to be added to the bag when the driven value in Target
is directly or indirectly changed by that user. If it is not enabled, the value in Target
is not changeable.
Attempting to write to or otherwise cause a discrete entry to a driven field is known as Hooking it. Any Hook to the Target
value is intercepted by the ValueUserOverride Component and will change the modifying user's entry in the _overrides
bag. If there is no entry for the user and if CreateOverrideOnWrite
is enabled, it will create an entry using the set value.