ProtoFlux:Write: Difference between revisions

From Resonite Wiki
added broken image link
m oops
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
|Inputs=
|Inputs=
[
[
{"Name":"*", "Type":"Impulse"},
{"Name":"*", "Type":"Call"},
{"Name":"Value", "Type":"Dummy"}
{"Name":"Value", "Type":"Dummy"}
]
]
Line 14: Line 14:
|Globals=
|Globals=
[
[
{"Name":"Variable", "Type":"Variable"}
{"Name":"Variable", "Type":"IVariable`2"}
]
]
|}}
|}}


Writes take Variable ([[Type:Variable|Variable]]) as an input, and the type that Variable wraps will determine what Value (Generic) will take as a value. The node will then write Value (Generic) to the field Variable ([[Type:Variable|Variable]]) wraps.
Writes take Variable ([[Type:IVariable`2|Variable]]) as an input, and the type that Variable wraps will determine what Value (Generic) will take as a value. The node will then write Value (Generic) to the field Variable ([[Type:IVariable`2|Variable]]) wraps.


When it comes to the global Variable ([[Type:Variable|Variable]]), pulling a protoflux wire from a [[ProtoFlux:Source|Source Node]] or a [[ProtoFlux:Reference Source|Reference Source Node]] and dropping it onto the global field will mark the value that the source points to as the value that should be modified by this node upon impulse.
{{Template:Direct Writes Info|Writes}}


{{Template:Basic Writes Info|Writes}}
{{Template:Basic Writes Info|Writes}}
Line 32: Line 32:
=== Value (Generic) ===
=== Value (Generic) ===


[[:Category:Type|Value]] to write to the value pointed to by Variable ([[Type:Variable|Variable]])
[[:Category:Type|Value]] to write to the value pointed to by Variable ([[Type:IVariable`2|Variable]])


== Outputs ==
== Outputs ==
Line 42: Line 42:
=== OnFail ([[Impulses|Continuation]]) ===
=== OnFail ([[Impulses|Continuation]]) ===


sends an impulse after * ([[Impulses|Call]]) has been impulsed and the value wasn't able to be written due to a missing target or a missing Variable ([[Type:Variable|Variable]]) value
sends an impulse after * ([[Impulses|Call]]) has been impulsed and the value wasn't able to be written due to a missing target or a missing Variable ([[Type:IVariable`2|Variable]]) value


== Globals ==
== Globals ==


=== Variable ([[Type:Variable|Variable]] Generic)===
=== Variable ([[Type:IVariable`2|Variable]] Generic)===


The [[Type:Variable|Variable]] to write to.
The [[Type:IVariable`2|Variable]] to write to.


== Examples ==
== Examples ==

Latest revision as of 19:15, 9 February 2024

Write
*
OnWritten
Value
OnFail
Variable
null
Actions

Writes take Variable (Variable) as an input, and the type that Variable wraps will determine what Value (Generic) will take as a value. The node will then write Value (Generic) to the field Variable (Variable) wraps.

When it comes to Writes, you can drag any matching typed source onto the Variable field to set that as the variable target. When you want to write to a Local Variable Store, Data Model Variable Store, or a Store Variable Store, you can grab the Variable field on Writes nodes and then choose the one you want in your context menu. This can save considerable time spent trying to find the type you want in another node menu.

Writes are a way to change a specified value without driving it. Instead you can use Writes to change a value in a similar fashion to changing the value through the inspector. Using Writes helps with performance too, since the values provided to the node only evaluate for one game tick while the node is being impulsed vs a driver which evaluates every game tick. This can also be used to reduce the amount of times code is evaluated. If you have to search the entire root for your code to find a slot and then do an operation, using Writes with your operations will help with performance since you're only searching once and not every single game tick.

Inputs

* (Call)

Call this to write the value.

Value (Generic)

Value to write to the value pointed to by Variable (Variable)

Outputs

OnWritten (Continuation)

sends an impulse after * (Call) has been impulsed and the value has been written.

OnFail (Continuation)

sends an impulse after * (Call) has been impulsed and the value wasn't able to be written due to a missing target or a missing Variable (Variable) value

Globals

Variable (Variable Generic)

The Variable to write to.

Examples