Component: Difference between revisions

From Resonite Wiki
No edit summary
 
Added a link.
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!--T:1-->A Component is something that is attached to a [[Slot]] to add functionality. Components are behind almost every feature in Resonite, ranging from storing data to animating your avatar.
<languages />


<!--T:2-->
<translate><!--T:1--> A '''Component''' is something that is attached to a [[Slot]] to add functionality. Without components, slots would be nothing but points in a void. They are behind almost every feature in [[Resonite]], ranging from storing data to animating your avatar.</translate>
Components have properties. Some are used by the component to keep track of information; others are used to configure the component. Each component page lists all of the properties exposed in the [[Scene Inspector]].


<!--T:3-->
<translate><!--T:4--> For a list of all components, see [[:Category:Components]]. Components are organized in categories that match the game, so you can use the categories to figure out where to find a component.</translate>
You can attach a component to a slot in the scene inspector by clicking the ''Attach Component'' button. This will spawn a list of categories; double-click on a category to enter it, and repeat the process until you find the component you want.


<!--T:4-->
== <translate><!--T:5--> Basic Properties</translate> ==
For a list of all components, see [[:Category:Components]]. There is also a list of [[Components]] on another page which we are in the process of merging with this one and the category listings.


{{stub}}
=== <translate><!--T:6--> Fields</translate> ===
 
<translate><!--T:2--> Components contain [[Type:IField|fields]], store data on the component for configuration, internal operation and output. Pages on individual components go in-depth on each component and their fields.</translate>
 
<translate><!--T:7--> All components include at least the following built-in fields:</translate>
 
{{Table TypeFields
|persistent|Bool|<translate><!--T:8--> The <tvar name="persistent"><code>persistent</code></tvar> field determines whether this component will be saved, for example to the [[<tvar name=1>Inventory</tvar>|Inventory]]. If this field is set to <code>false</code>, the component will not be persisted when saved.</translate>
|UpdateOrder|Int|<translate><!--T:9--> Controls the order in which this component updates, relative to all other components in the [[<tvar name=1>World</tvar>|World]]. Components with a higher value will update after components with a lower value.</translate>
 
<translate><!--T:10--> Many components do not implement their functionality via the common updating system. This field has no effect on such components.</translate>
|Enabled|Bool|<translate><!--T:11--> Controls whether this component this component is "enabled". Generally, components that are disabled (this field set to <code>false</code>) should do nothing.</translate>
 
<translate><!--T:12--> Not all components respect this property. This field has no effect on such components.</translate>
}}
== <translate><!--T:13--> Working With Components</translate> ==
 
=== <translate><!--T:14--> With the Scene Inspector</translate> ===
 
<translate><!--T:15--> As a user, components are primarily manipulated through the [[<tvar name=1>Scene Inspector</tvar>|Scene Inspector]]. It allows you to create and destroy components and manipulate their fields. Many components also have custom functionality (commonly through various buttons) available in the inspector interface.</translate>
 
Components, when grabbed by the header and moved to another scene inspector, will give the user the option to either move that component to the new slot or to duplicate that component to that new slot.
 
=== <translate><!--T:16--> With ProtoFlux</translate> ===
 
<translate><!--T:17--> [[ProtoFlux]] currently has limited ability to directly interact with components.<ref><tvar name=1>{{CiteResoniteIssue|57|A way to use components on Protoflux}}</tvar></ref> It is not possible to dynamically create, destroy or locate components in slots.</translate>
 
{{Note|Although you can use [[Ref Hacking]] to attempt to access the component and fields within it using ProtoFlux, it is highly advised against using this as a way of access due to the fragile nature of Ref Hacking, as it is not supported and it can break at any time.|danger}}
 
== <translate><!--T:18--> References</translate> ==

Latest revision as of 18:54, 11 September 2024

A Component is something that is attached to a Slot to add functionality. Without components, slots would be nothing but points in a void. They are behind almost every feature in Resonite, ranging from storing data to animating your avatar.

For a list of all components, see Category:Components. Components are organized in categories that match the game, so you can use the categories to figure out where to find a component.

Basic Properties

Fields

Components contain fields, store data on the component for configuration, internal operation and output. Pages on individual components go in-depth on each component and their fields.

All components include at least the following built-in fields:

Fields
Name Type Description
persistent Bool The persistent field determines whether this component will be saved, for example to the Inventory. If this field is set to false, the component will not be persisted when saved.
UpdateOrder Int Controls the order in which this component updates, relative to all other components in the World. Components with a higher value will update after components with a lower value.

Many components do not implement their functionality via the common updating system. This field has no effect on such components.

Enabled Bool Controls whether this component this component is "enabled". Generally, components that are disabled (this field set to false) should do nothing.

Not all components respect this property. This field has no effect on such components.

Working With Components

With the Scene Inspector

As a user, components are primarily manipulated through the Scene Inspector. It allows you to create and destroy components and manipulate their fields. Many components also have custom functionality (commonly through various buttons) available in the inspector interface.

Components, when grabbed by the header and moved to another scene inspector, will give the user the option to either move that component to the new slot or to duplicate that component to that new slot.

With ProtoFlux

ProtoFlux currently has limited ability to directly interact with components.[1] It is not possible to dynamically create, destroy or locate components in slots.

Although you can use Ref Hacking to attempt to access the component and fields within it using ProtoFlux, it is highly advised against using this as a way of access due to the fragile nature of Ref Hacking, as it is not supported and it can break at any time.

References