Reference Type: Difference between revisions

From Resonite Wiki
m fix syncref link
caps
Tag: New redirect
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Reference Types''' are a designation of types within the [[FrooxEngine]] [[Data Model]]. They are in contrast to [[Value Type|value types]] in that they exist in one place in memory and are "passed around" by reference rather than by value, such as through a [[Type:SyncRef`1|SyncRef<T>]].
#REDIRECT [[Reference type]]
 
Every type in the game that is defined through a [https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/types/classes class] is a reference type. Some examples of reference types include [[Slot|Slots]], [[User|Users]], [[Component|Components]], and [[Type:IField|Fields]]. Types defined through a [https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/struct struct] are <em>not</em> reference types, such as the [[Type:Rect|Rect]] type.
 
In general, the analogue to reference types in [[ProtoFlux]] is the [[Type:Object|object]] type. This can cause some confusion when using nodes that interact with FrooxEngine (such as [[ProtoFlux:Data Model Store|Data Model Store]]) vs nodes that are contained entirely within protoflux (such as [[ProtoFlux:Store|Store]]). A slot is an ''Object Ref'' in the Data Model, but an ''Object'' alone in ProtoFlux contexts. A [[Type:string|string]] is a ''value'' in the Data Model, but an ''Object Field'' in ProtoFlux contexts.
 
== See Also ==
* [[Value Type]]
* [[Type:Object]]
* [https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/reference-types Microsoft documentation on C# Reference Types]
 
[[Category:Type]]

Latest revision as of 16:42, 26 January 2025

Redirect to: