Difference between revisions of "State"
Jump to navigation
Jump to search
(cleaned up bold and italics) |
|||
Line 8: | Line 8: | ||
{{LSL DefineRow|label|target|{{#var:p_jump_state_desc}}}} | {{LSL DefineRow|label|target|{{#var:p_jump_state_desc}}}} | ||
{{!}}}<br/> | {{!}}}<br/> | ||
When encountered at runtime, if the | When encountered at runtime, if the ''current'' state and the ''target'' state are different: | ||
#Trigger [[state_exit]] in the current state | #Trigger [[state_exit]] in the current state if it exists and clear the event queue. | ||
#Change state to | #Change state to ''target'', any [[listen]]s are unregistered. | ||
#Trigger [[state_entry]] in the | #Trigger [[state_entry]] in the ''target'' state if it exists. | ||
If | If ''target'' state is the same as the ''current'' state, no state changeoccurs nor do any of the effects. | ||
}}{{#vardefine:constants_nb| | }}{{#vardefine:constants_nb| | ||
<div id="box"> | <div id="box"> |
Revision as of 12:16, 3 March 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
- The correct title of this article is state. The initial letter is shown capitalized due to technical restrictions.
state target;
state target;• label | target | – | name of a state to run |
When encountered at runtime, if the current state and the target state are different:
- Trigger state_exit in the current state if it exists and clear the event queue.
- Change state to target, any listens are unregistered.
- Trigger state_entry in the target state if it exists.
If target state is the same as the current state, no state changeoccurs nor do any of the effects.
state target{ events }
• label | target | – | state name | |
• event | events | – | one or more events |
State definition.
Caveats
- On state change all listens are released.
Examples
default { touch_start(integer a) { state hello; } } state hello { state_entry() { llOwnerSay("Hello"); state default; } state_exit() { llOwnerSay("Goodbye"); } }
See Also