Component:RandomObjectSpawner: Difference between revisions

From Resonite Wiki
No edit summary
 
Re-add bulldozed description
 
(3 intermediate revisions by 3 users not shown)
Line 12: Line 12:
{{Table ComponentTriggers
{{Table ComponentTriggers
|Spawn()|''None''| Spawns a slot randomly selected from <code>Templates</code>, located at the origin of this component's parent slot.
|Spawn()|''None''| Spawns a slot randomly selected from <code>Templates</code>, located at the origin of this component's parent slot.
|SpawnAtPoint()|'''[[:Category:Types:Float3|Float3]]'''| Spawns a slot randomly selected from <code>Templates</code>, located at the position specified in the <code>Float3</code> argument  
|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|RandomObjectSpawner.SpawnData|TypeString0=SpawnData| 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
|LocalSpace|Slot| Slot where the selected template item will be spawned, unless <code>UseParentSpace</code> is true, or <code>OverrideRootSpace</code> is not null.
|SpawnSpace|{{RootFieldType|RootSpace}}|TypeAdv1=true| The space in which the template item will be spawned.
|UseParentSpace|Bool| Template item will be spawned in the parent of the <code>LocalSpace</code> slot, unless <code>OverrideRootSpace</code> is set.
|OverrideRootSpace|RootSpace| Reference to a [[:Category:Types:RootSpace|SpawnSpace]] element on another component, which overrides <code>LocalSpace</code> and <code>UseParentSpace</code> on this component.
}}
}}
== Behavior ==
== Behavior ==
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>


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 [[NeosButton (Component)| Resonite 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 '''[[:Category:Types: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.
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.
Line 32: Line 31:
== Related Components ==
== Related Components ==
</translate>
</translate>
[[Category:Components{{#translation:}}|RandomObjectSpawner (Component){{#translation:}}]]
[[Category:Components{{#translation:}}|Random Object Spawner]]
[[Category:Components:Transform{{#translation:}}|RandomObjectSpawner (Component){{#translation:}}]]
[[Category:Components:Transform{{#translation:}}|Random Object Spawner]]
[[Category:Components With Nested Types{{#translation:}}|Random Object Spawner]]
[[Category:Triggers]]
[[Category:Triggers]]

Latest revision as of 21:14, 3 March 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

Triggers
Name Arguments Description
Spawn() None Spawns a slot randomly selected from Templates, located at the origin of this component's parent slot.
SpawnAtPoint() Float3 Spawns a slot randomly selected from Templates, located at the position specified in the Float3 argument
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.

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

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.

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

Examples

Related Components