Component:RandomObjectSpawner: Difference between revisions

From Resonite Wiki
Re-add bulldozed description
rearrange page, add proper typing links, etc
Line 10: Line 10:


== Usage ==
== Usage ==
{{Table ComponentTriggers
|Spawn()|''None''| Spawns a slot randomly selected from <code>Templates</code>, located at the origin of this component's parent slot.
|SpawnAtPoint()|'''[[Types:Float3|Float3]]'''| Spawns a slot randomly selected from <code>Templates</code>, located at the position specified in the <code>Float3</code> argument
}}
{{Table ComponentFields
{{Table ComponentFields
|Templates|{{RootFieldType|SyncList`1|[[#SpawnData|SpawnData]]}}|TypeAdv0=true| List of slots to be selected from, when a Trigger is invoked
|Templates|{{RootFieldType|SyncList`1|[[#SpawnData|SpawnData]]}}|TypeAdv0=true| List of slots to be selected from, when a Trigger is invoked
|SpawnSpace|{{RootFieldType|RootSpace}}|TypeAdv1=true| The space in which the template item will be spawned.
|SpawnSpace|{{RootFieldType|RootSpace}}|TypeAdv1=true| The space in which the template item will be spawned.
}}
== Sync Delegates ==
{{Table ComponentTriggers
|Spawn()|[[Type:Action`1|Action`1]]| Spawns a slot randomly selected from <code>Templates</code>, located at the origin of this component's parent slot.
|SpawnAtPoint()|[[Type:Action`1|Action`1]]&lt;[[Types:Float3|Float3]]&gt;| Spawns a slot randomly selected from <code>Templates</code>, located at the position specified in the <code>Float3</code> argument
}}
}}


Line 22: Line 24:
When triggered by any event source that accepts an Action (for <code>Spawn()</code>), or Action<float3> (for <code>SpawnAtPoint()</code>, this component will spawn a random slot from <code>Templates</code>
When triggered by any event source that accepts an Action (for <code>Spawn()</code>), or Action<float3> (for <code>SpawnAtPoint()</code>, this component will spawn a random slot from <code>Templates</code>


Prior to [https://discordapp.com/channels/402159838827905024/469131434628612116/774938408870346772 Build 2020.11.8.605], this component would duplicate a random slot from <code>Templates</code> in-place, without changing its location.
== Examples ==
The <code>Spawn()</code> trigger can be invoked by a component such as [[ButtonActionTrigger (Component)| Button Action Trigger]], when bound to a [[Button (Component)|UIX Button]] or [[LegacyButton (Component)| Legacy Button]]
The <code>Spawn()</code> trigger can be invoked by a component such as [[ButtonActionTrigger (Component)| Button Action Trigger]], when bound to a [[Button (Component)|UIX Button]] or [[LegacyButton (Component)| Legacy Button]]


The <code>SpawnAtPoint()</code> trigger can be invoked by a component such as [[CharacterEventTrigger (Component)|Character Event Trigger]], which provides the required '''[[Type:Float3| Float3]]''' argument.
The <code>SpawnAtPoint()</code> trigger can be invoked by a component such as [[CharacterEventTrigger (Component)|Character Event Trigger]], which provides the required '''[[Type:Float3| Float3]]''' argument.


Prior to [https://discordapp.com/channels/402159838827905024/469131434628612116/774938408870346772 Build 2020.11.8.605], this component would duplicate a random slot from <code>Templates</code> in-place, without changing its location.
== Examples ==
== Related Components ==
== Related Components ==
</translate>
</translate>

Revision as of 18:19, 19 October 2024


This article or section is a Stub. You can help the Resonite Wiki by expanding it.


Component image 
RandomObjectSpawner component as seen in the Scene Inspector

Intoduction

The RandomObjectSpawner component selects a slot from the Templates list, and spawns it either at this component's parent (in the case of Spawn()), or at the point specified in an argument (in the case of SpawnAtPoint())

Usage

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated.
Enabled Bool Controls whether or not this component is enabled.
Templates list of SpawnData List of slots to be selected from, when a Trigger is invoked
SpawnSpace direct RootSpace The space in which the template item will be spawned.

Sync Delegates

Triggers
Name Arguments Description
Spawn() Action`1 Spawns a slot randomly selected from Templates, located at the origin of this component's parent slot.
SpawnAtPoint() Action`1<Float3> Spawns a slot randomly selected from Templates, located at the position specified in the Float3 argument

Behavior

When triggered by any event source that accepts an Action (for Spawn()), or Action<float3> (for SpawnAtPoint(), this component will spawn a random slot from Templates

Prior to Build 2020.11.8.605, this component would duplicate a random slot from Templates in-place, without changing its location.

Examples

The Spawn() trigger can be invoked by a component such as Button Action Trigger, when bound to a UIX Button or Legacy Button

The SpawnAtPoint() trigger can be invoked by a component such as Character Event Trigger, which provides the required Float3 argument.

Related Components