Respond to a scene event. Return true to consume the event and halt propagation to the next entity.
Verse using statement |
using { /Verse.org/SceneGraph } |
OnReceive<protected><native_callable>(SceneEvent:scene_event)<transacts><no_rollback>:logic
Parameters
OnReceive takes the following parameters:
| Name | Type | Description |
|---|---|---|
SceneEvent |
scene_event |
Attributes, Specifiers, and Effects
Specifiers
The following specifiers determine how you can interact with OnReceive in your programs. For the complete list of specifiers, see the Specifiers Page.
| Specifier | Meaning |
|---|---|
protected |
The identifier is only accessible in the current class and any subtypes. You can use this on classes, interfaces, structs, enums, non-module methods, and data. |
native_callable |
Indicates that an instance method is both native (implemented in C++) and may be called by other C++ code. You can see this specifier used on an instance method. This specifier doesn’t propagate to subclasses and so you don’t need to add it to a definition when overriding a method that has this specifier. |
Effects
The following effects determine how OnReceive behaves in your programs. For the complete list of effects, see the Effect Specifers section of the Specifiers Page.
| Effect | Meaning |
|---|---|
transacts |
This effect indicates that any actions performed by the function can be rolled back. The transacts effect is required any time a mutable variable (var) is written. You’ll be notified when you compile your code if the transacts effect was added to a function that can’t be rolled back. Note that this check is not done for functions with the native specifier. |
no_rollback |
This is the default effect when no exclusive effect is specified. The no_rollback effect indicates that any actions performed by the function cannot be undone and so the function cannot be used in a failure context. This effect cannot be manually specified. |