ProtoFlux:Function Proxy

From Resonite Wiki
Revision as of 16:56, 20 April 2024 by AmasterAmaster (talk | contribs) (Created the Function Proxy node page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Function Proxy
*
Next
This could be anything
This could be anything
This could be anything
This could be anything
This could be anything
This could be anything
Method
null
CoreNodes

What are Function Proxies

The Function Proxy node is used to call a function from a component. Some components expose these functions by default such as ProtoFluxTool. More hidden functions can be exposed when using the mod "ShowDelegates" from art0007i [1], to do so, go into the inspector of any slot and you should see "---- SYNC METHODS HERE ----", clicking on that should reveal the extra functions. Using your flux tool, grab the function you want, then open your context menu and select the option "Proxy". This will spawn out a node with any number of input arguments depending on the function call you choose, including the outputs it will provide.

The arguments on the Function Proxy node will be depending on the type it wants and also can depend on how many inputs it wants. This makes it very difficult to document the thousands of variants of this node (and is unwise to list them here unless there is a good explanation for the individual listing).

Some common functions known to use Function Proxies are System.Action types (actions that the engine will enact upon when called). Common inputs from Function Proxies are System.Type arguments, which may be needed to make these nodes work.

What you can do with Function Proxies

You can use Function Proxies when you want to call an internal function from the engine that is exposed and usable (presumed to be public functions and not private functions in the code) from a defined input from a user (i.e. a button press). This is also an alternative way to do the same call compared to using the node version of it. However there is not really an advantage to doing it this way unless you have a good reason for it.

One common use for this node is to use tools and the functions within them to do things in a special way.

There is another node similar to this but does not return anything, called a Method Proxy.