Messages |
local | [bool] | set position reporting mode |
Events |
inside | user, xpos, ypos, zpos | a user is inside the space |
enter | user, xpos, ypos, zpos | a user has entered the space |
exit | user | a user has exited the space |
empty | all users have exited the space | |
firstenter | user | a user has entered a previously empty space |
Debugs |
inside |
Comments |
constructor userPosition
destructor ~userPosition
method reset
1 clear set of users previously inside
2 set reporting mode to local
method message
1 set position reporting mode
method app
1 for each user in the world
1.1 if user has a head then2 for each user previously inside
1.1.1 if head is within the space then
1.1.1.1 add to set of users inside
1.1.1.2 a user is inside the space
1.1.1.3 if inside but not previously then generate enter event
1.1.1.3.1 a user has entered the space
2.1 if not currently inside then generate exit event3 if not previously empty and now empty generate empty event
2.1.1 a user has exited the space
3.1 all users have exited the space4 if previously empty and now not empty generate firstenter event
4.1 a user has entered a previously empty space