Added link. Added a note about IVariables. |
Added category: Interface types |
||
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
The '''IValue<T>''' type is an [[interface type]] that wraps around a type to provide an interface to read from and write to an object. In practice, FrooxEngine uses the <code>T</code> generic parameter exclusively for [[value types]] within the Data Model, and there is no use for an IValue<T> holding a [[reference type]]. | |||
An | An object with a type implementing this interface allows for the object to be [[ProtoFlux:Source|sourced]] in ProtoFlux, which in turn allows for the thing to be written to via a [[ProtoFlux:Write|Write]] node. This does <em>not</em> allow the object to be [[Drive|driven]], which requires it to implement [[Type:ILinkable|ILinkable]], usually through an [[Type:IField|IField<T>]]. | ||
== Interfaces Implemented == | |||
* [[Type:IChangeable]] | |||
* [[Type:IWorldElement]] | |||
== Types Implementing IValue == | |||
* [[Type:IField`1|IField<T>]] | |||
* [[Type:ValueStream`1|ValueStream<T>]] | |||
== Components Implementing IValue<T> == | |||
The following components implement the IValue<T> type, allowing the component itself to be sourced and written to, which is usually not possible. | |||
* [[Component:AuthorityTimeBase]] | |||
* [[Component:ValueMultiplexer]] | |||
[[Category:Type]] | [[Category:Type]] | ||
[[Category:Reference types]] | |||
[[Category:Interface types]] |
Latest revision as of 17:03, 25 August 2025
The IValue<T> type is an interface type that wraps around a type to provide an interface to read from and write to an object. In practice, FrooxEngine uses the T
generic parameter exclusively for value types within the Data Model, and there is no use for an IValue<T> holding a reference type.
An object with a type implementing this interface allows for the object to be sourced in ProtoFlux, which in turn allows for the thing to be written to via a Write node. This does not allow the object to be driven, which requires it to implement ILinkable, usually through an IField<T>.
Interfaces Implemented
Types Implementing IValue
Components Implementing IValue<T>
The following components implement the IValue<T> type, allowing the component itself to be sourced and written to, which is usually not possible.