Internal Event :: userExit
Availability:
SmartFoxServer PRO 1.2.1
Event name:
userExit
Description:
This event is fired each time a user leaves room within
the current Zone.
The event is available for both Zone
Level and Room
Level extensions.
Zone Level extensions will receive the event when a user is
leaving any room in that zone, while Room Level extensions
will receive it only if the user is leaving that room.
NOTE: It is always reccomended to keep track of Users by
using their unique id. For example you can keep a local list of users with
their id as the key.
When
a client leaves a room or is disconnected you will always receive the userId
of the User that was lost, so it will be very easy to handle the event this
way.
Properties:
name | description | type | |
uid | The id of the user that left the room | java.lang.String (*) | |
oldPlayerIndex | The playerIndex the user was assigned in the room that was left (-1 = if he was a spectator) | java.lang.String (*) | |
room | The Room object of the room that was left | object |
(*) A note on data types: the parameters passed by the server events to the running extensions are all Java types.
You can use them transparently in Actionscript or cast them to AS native data types.
» javadoc for -> java.lang.String
Example:
// Handle server events // We assume this is a Room Level extension function handleInternalEvent(evtObj) { if (evtObj.name == "userExit") { var uid = evtObj.userId // Get the user from the local list var user = myLocalUserList[uid] trace("User: " + u.getName() + "left the room") // Remove the user from the local list delete myLocalUserList[uid] } }
See also: