Type:IField`1: Difference between revisions

From Resonite Wiki
remove misinformation, add RawOutput<T>
re add the misinformation except it's not misinformation this time
Line 3: Line 3:
The '''IField&lt;T&gt;''' type is an [[Interface Type|Interface Type]] that designates the object it is applied to as something that is a field of type <code>T</code>. This includes anything that is exposed within the [[Scene Inspector]] UI.
The '''IField&lt;T&gt;''' type is an [[Interface Type|Interface Type]] that designates the object it is applied to as something that is a field of type <code>T</code>. This includes anything that is exposed within the [[Scene Inspector]] UI.


In addition to every feature that [[Type:IValue|IValue]] implements, this type makes things implementing it:
As with IValue&lt;T&gt;, IField&lt;T&gt; can in theory hold any type, but is only useful with [[value types]] in the FrooxEngine data model.
 
In addition to every feature that [[Type:IValue|IValue&lt;T&gt;]] implements, this interface makes things implementing it:


* Have the ability to be [[Drive|driven]].
* Have the ability to be [[Drive|driven]].

Revision as of 21:06, 9 December 2024

An inspector containing a ValueField<int> and ReferenceField<Slot>.
All "fields" in an inspector are themselves an IField. In this image, the persistent, UpdateOrder, Enabled, and Value fields are of type Sync<T>, which implements IField. Reference is a SyncRef<Slot>, which is an IField<RefID>.

The IField<T> type is an Interface Type that designates the object it is applied to as something that is a field of type T. This includes anything that is exposed within the Scene Inspector UI.

As with IValue<T>, IField<T> can in theory hold any type, but is only useful with value types in the FrooxEngine data model.

In addition to every feature that IValue<T> implements, this interface makes things implementing it:

  • Have the ability to be driven.
  • Synced by default, requiring a drive to become local.

Interfaces Implemented

Types Implementing IField<T>