Difference between revisions of "Default"
Jump to navigation
Jump to search
Kelly Linden (talk | contribs) (Redirecting to Hello Avatar) |
|||
Line 1: | Line 1: | ||
# | {{LSL Header| | ||
}}{{#vardefine:name|default | |||
}}{{#vardefine:p_events_desc|one or more {{LSLGC|Events|events}} | |||
}}{{#vardefine:header_title|default { {{LSL Param|events}} } | |||
}}{{#vardefine:header_text|{{{!}} | |||
{{LSL DefineRow|event|events|{{#var:p_events_desc}}}} | |||
{{!}}} | |||
default state definition. | |||
When a ''state target;'' is 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 [[listen]]s are unregistered. | |||
#Trigger [[state_entry]] in the ''target'' state if it exists. | |||
If ''target'' state is the same as the ''current'' state, no state change occurs nor do any of the side effects. | |||
}}{{#vardefine:constants_nb| | |||
}}{{#vardefine:examples| | |||
<pre> | |||
default | |||
{ | |||
touch_start(integer a) | |||
{ | |||
state hello; | |||
} | |||
} | |||
state hello | |||
{ | |||
state_entry() | |||
{ | |||
llOwnerSay("Hello"); | |||
state default; | |||
} | |||
state_exit() | |||
{ | |||
llOwnerSay("Goodbye"); | |||
} | |||
} | |||
</pre> | |||
}}{{#vardefine:notes| | |||
}}{{#vardefine:caveats|*On state change all [[listen]]s are released. | |||
}}{{#vardefine:helpers| | |||
}}{{#vardefine:also_header|<h3>Keywords</h3> | |||
{{{!}} | |||
{{LSL DefineRow||[[state]]|}} | |||
{{LSL DefineRow||[[jump]]|}} | |||
{{LSL DefineRow||[[return]]|}} | |||
{{!}}} | |||
}}{{#vardefine:also_footer| | |||
}}{{#vardefine:also_functions| | |||
}}{{#vardefine:also_events| | |||
{{LSL DefineRow||[[state_entry]]|}} | |||
{{LSL DefineRow||[[state_exit]]|}} | |||
}}{{#vardefine:also_articles| | |||
}}{{#vardefine:also_tests| | |||
}}{{#vardefine:location| | |||
}}{{LSL Generic}}{{LSLC|Flow Control}}{{LSLC|Script}} |
Revision as of 21:27, 5 March 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
- The correct title of this article is default. The initial letter is shown capitalized due to technical restrictions.
default { events }
default { events }• event | events | – | one or more events |
default state definition. When a state target; is 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 change occurs nor do any of the side effects.
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