ProtoFlux:FireOnChange: Difference between revisions

From Resonite Wiki
needs to be standardized. marking as stub
across updates
 
(17 intermediate revisions by 7 users not shown)
Line 9: Line 9:
|Outputs=
|Outputs=
[
[
{"Name": "OnChanged", "Type":"Impulse"}
{"Name": "OnChanged", "Type":"Call"}
]
]
|}}
|}}


{{Stub}}
The '''FireOnChange''' node will [[Type:IExecutionChangeListener`1|listen]] for changes on its input and fire an [[impulses|impulse]] for the specified [[user]] whenever there is a change in value across [[update|updates]].
<i>This page needs Standardization with [[Example ProtoFlux Node]]</i>


Will fire a single impulse from the OnlyForUser User input every time the value provided changes.
This can be useful for providing complex behavior for a specific user whenever a value changes that existing components do not provide.


OnlyForUser User is the one "watching" for changes, if the Value is localized and only changes for the OnlyForUser User, then it will send out a impulse for every change.
== Inputs ==


For values that have imprecision or the Value itself changes a lot, it could lead to undesired behavior and might be better to use [[Fire On True (ProtoFlux)| Fire On True]] and [[Fire On False (ProtoFlux)| Fire On False]].
=== OnlyForUser ([[Type:User|User]]) ===
 
The user that will listen to changes and fire the impulse.
 
{{FireOn user information}}
 
=== Value (Generic) ===
 
The value or object that should be listened to for changes.
 
== Outputs ==
 
=== OnChanged ([[Impulses|impulse]]) ===
 
Fires a single [[Impulses|impulse]] from the specified user whenever the provided input changes value across updates.
 
== See also ==
 
* [[ProtoFlux:FireOnLocalChange]] will fire an impulse for <em>every</em> user that detects a change rather than a specific user.
* [[ProtoFlux:FireOnTrue]]
* [[ProtoFlux:FireOnFalse]]


[[Category:ProtoFlux:Flow]]
[[Category:ProtoFlux:Flow]]
[[Category:Listener nodes]]

Latest revision as of 08:48, 19 September 2025

Fire On Change
OnlyForUser
OnChanged
Value
Flow

The FireOnChange node will listen for changes on its input and fire an impulse for the specified user whenever there is a change in value across updates.

This can be useful for providing complex behavior for a specific user whenever a value changes that existing components do not provide.

Inputs

OnlyForUser (User)

The user that will listen to changes and fire the impulse.

For best practice, this should never be left null or evaluated differently based on the user (e.g. via LocalUser). If this input is null and the node is parented under a user, then the impulse will be fired for said user. If this input is null and not parented under a user, or if this input evaluates differently for different users, then the impulse will tend to be fired for the first user that sees the change in value. This is usually the one who caused the change in the first place. This could cause inconsistent behavior unless carefully managed.

Value (Generic)

The value or object that should be listened to for changes.

Outputs

OnChanged (impulse)

Fires a single impulse from the specified user whenever the provided input changes value across updates.

See also