Type:IField`1: Difference between revisions

From Resonite Wiki
Added a sentence suggesting that you can use complex types when making IFields.
overhaul. TODO: move that removed information to the SyncField<T> and SyncRef<T> pages, which is what *actually* houses reference types by wrapping IField<RefID>
Line 1: Line 1:
{{Stub}}
The '''IField<nowiki><T></nowiki>''' type is an [[Interface Type|Interface Type]] that designates the type it is applied to as something that is a field. This includes anything that is exposed within the [[Scene Inspector]] UI.


An IField<nowiki><T></nowiki> is an [[Interface_Type|Interface Type]] used to reference a field of type T which stores a [[Type:Value|Value]], [[Reference_Type|Reference]], [[Type:Type|Type]], or [[Type:Delegate|Delegate]].
In addition to every feature that [[Type:IValue]] implements, this type makes things implementing it:


Using the [[ProtoFlux:To_String|ToString Object]] node on this will show you the object stored inside.
* Have the ability to be [[Drive|driven]].
* Synced by default, requiring a drive to become local.


You can use [[Complex_Types_in_Components|Complex Types]] when making IFields.
== Interfaces Implemented ==
* [[Type:ISyncMember]]
** [[Type:IWorldElement]]
** [[Type:ILinkable]]
* [[Type:IValue`1|IValue`1]], matching the type used for the IField
** [[Type:IChangeable]]
** [[Type:IInitializable]]
 
== Types Implementing IField ==
* [[Type:SyncField`1]]


[[Category:Type]]
[[Category:Type]]

Revision as of 20:59, 13 August 2024

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

In addition to every feature that Type:IValue implements, this type makes things implementing it:

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

Interfaces Implemented

Types Implementing IField