Represents a specialized type of Room entity on the client.
The MMORoom is ideal for huge virtual worlds and MMO games because it works with Proximity Lists instead of "regular" User Lists. This allows thousands of clients to interact with each other based on their Area of Interest (AoI). The AoI represents a range around the User position in the MMORoom that is affected by server events and events generated by other Users, outside of which no events are received.
The size of the AoI is set at MMORoom creation time and it is the same for all Users which joined it. Supposing that the MMORoom hosts a 3D virtual world, setting an AoI of (x=100, y=100, z=40) for the Room tells the server to transmit updates and broadcast events to and from those Users that fall within the AoI range around the current User; this means the area within +/- 100 units on the X axis, +/- 100 units on the Y axis and +/- 40 units on the Z axis.
As Users move around in the virtual environment, their position in the MMORoom can be updated allowing them to keep receiving events about other Users (and "items" - read below) entering and leaving their AoI. The User can update its position via the SetUserPositionRequest and receive updates on its current Proximity List by means of the SFSEvent.PROXIMITY_LIST_UPDATE event.
Finally, MMORooms can also host any number of MMOItems, which represent dynamic Non-Player entities that Users can interact with. They are handled by the MMORoom using the same rules of visibility described before.