State exit

From Second Life Wiki
Revision as of 06:54, 27 December 2012 by Omei Qunhua (talk | contribs) (Change example to do state change from touch_end events, not touch_start)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Event: state_exit( ){ ; }

Triggered on a qualifying state transition.


Caveats

  • Events queued during state_exit, are dumped before the next state is entered. use state_entry to avoid this, when possible. See state for further caveats.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>default {

   state_entry()
   {
       llOwnerSay("Entering default state");
   }
   touch_end(integer detected)
   {
       // Note: NEVER do a state change from a touch_start event -
       // - this can result in a missed touch_start on re-entering this state
       // Here we do the state change safely from within touch_end
       state other;
   }
   state_exit()
   {
       llOwnerSay("leaving default state");
   }

}

state other {

   state_entry()
   {
       llOwnerSay("Entering state \"other\"");
   }
   touch_end(integer detected)
   {
       state default;
   }
   state_exit()
   {
       llOwnerSay("leaving state \"other\"");
   }

}</lsl>

Notes

While the default state_entry is triggered on script reset, state_exit is not triggered prior to the reset.

Deep Notes

Signature

event void state_exit(  );