Type:IWorldElement: Difference between revisions

From Resonite Wiki
m 989onan moved page Types:IWorldElement to Type:IWorldElement: Misspelled title: type not types
add fields
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Stub}}
The '''IWorldElement''' type is an [[interface type]] that represents any object of a [[reference type]] that may exist in a world. It is the foundation of the [[data model]].
IWorldElement is a reference to anything that may exist in a world. this can be a value field, component, user, reference, or anything contained in a world.  


(TODO: Is this correct?)
Every object that can be referenced can be cast to and from IWorldElement, making the type a universal interface to everything in a world.


The only exception to this type is references above root, which can only be accessed through commonly unsupported/frowned upon methods such as Reference Hacking Aka RefHacking. Types that don't fall under IWorldElement can be dangerous to mess with if you don't know what they do. If you're not the host, you can even get security kicked, booting you from the world due to the game thinking you are trying to tamper with the session's permissions.
Objects that are IWorldElements include, but are not limited to:
 
* [[Slots]]
* [[Components]]
* [[Users]]
* [[Type:SyncElement|Sync Elements]], such as [[Type:IField|fields]] on an object
* [[Type:SyncObject|Sync Objects]], such as <code>Point</code>s on a [[Component:ValueGradientDriver|ValueGradientDriver]]
 
Every IWorldElement has a unique [[Type:RefID|reference ID]] associated with it. Only one IWorldElement in a world may have any given reference ID, including elements that exist outside of the [[Root]] hierarchy.
 
== Fields ==
 
{{Table TypeFields
|ReferenceID|RefID|Reference ID of the element.
|Name|string|Name of the element.
|World|World|World that the element exists in.
|Parent|IWorldElement|Potential parent element. Can be null.
|IsLocalElement|bool|Whether the element exists only for the local user and nobody else.
|IsPersistent|bool|Whether the element is marked as persistent, meaning it will get saved when a save event occurs on it or its parents.
|IsRemoved|bool|Whether the element is removed from the world.
}}


See also: [[Things to Avoid]]
[[Category:Type]]
[[Category:Type]]
[[Category:Reference types]]

Latest revision as of 18:14, 30 June 2025

The IWorldElement type is an interface type that represents any object of a reference type that may exist in a world. It is the foundation of the data model.

Every object that can be referenced can be cast to and from IWorldElement, making the type a universal interface to everything in a world.

Objects that are IWorldElements include, but are not limited to:

Every IWorldElement has a unique reference ID associated with it. Only one IWorldElement in a world may have any given reference ID, including elements that exist outside of the Root hierarchy.

Fields

Fields
Name Type Description
ReferenceID RefID Reference ID of the element.
Name string Name of the element.
World World World that the element exists in.
Parent IWorldElement Potential parent element. Can be null.
IsLocalElement bool Whether the element exists only for the local user and nobody else.
IsPersistent bool Whether the element is marked as persistent, meaning it will get saved when a save event occurs on it or its parents.
IsRemoved bool Whether the element is removed from the world.