ElectroServer 5 Client: C#
Electrotank.Electroserver5.Api.JoinZoneEvent Class Reference

A zone is a collection of rooms. More...

Inheritance diagram for Electrotank.Electroserver5.Api.JoinZoneEvent:
Electrotank.Electroserver5.Api.EsEvent Electrotank.Electroserver5.Api.EsMessage Electrotank.Electroserver5.Api.IThriftSerializable

Public Member Functions

 JoinZoneEvent ()
 
 JoinZoneEvent (TBase t)
 
override TBase ToThrift ()
 
override TBase NewThrift ()
 
override void FromThrift (TBase t_)
 
- Public Member Functions inherited from Electrotank.Electroserver5.Api.EsEvent
 EsEvent ()
 

Properties

int ZoneId [get, set]
 The id of the zone just joined. More...
 
string ZoneName [get, set]
 The name of the zone just joined. More...
 
List< RoomListEntryRooms [get, set]
 List of all the rooms in this zone, containing their public properties (name, capacity, hasPassword, description) More...
 

Detailed Description

A zone is a collection of rooms.

A room can only exist in a single zone. When a user joins a room the user also joins that zone, if the user was not already in that zone. When a user joins a zone this event occurs. After joining the zone, ZoneManager can be used to get a list of all rooms in the zone, and number of users in each room.

      Shows the most simple example of how to join a room and capture the JoinZoneEvent.
package  {
        import com.electrotank.electroserver5.api.CreateRoomRequest;
        import com.electrotank.electroserver5.api.JoinRoomEvent;
        import com.electrotank.electroserver5.api.JoinZoneEvent;
        import com.electrotank.electroserver5.api.MessageType;
        import com.electrotank.electroserver5.ElectroServer;
        import com.electrotank.electroserver5.user.User;
        import com.electrotank.electroserver5.zone.Room;
        import com.electrotank.electroserver5.zone.Zone;
        import flash.events.Event;
        public class RoomJoiner {

    private var _es:ElectroServer;

    public function initialize():void {

listen for the JoinRoomEvent so we know when it happens _es.engine.addEventListener(MessageType.JoinRoomEvent.name, onJoinRoomEvent); _es.engine.addEventListener(MessageType.JoinZoneEvent.name, onJoinZoneEvent);

create the request and populate it with the room details
                        var crr:CreateRoomRequest = new CreateRoomRequest();
                        crr.roomName = "MyRoom";
                        crr.zoneName = "MyZone";
send it
                        _es.engine.send(crr);
                }
                private function onJoinRoomEvent(e:JoinRoomEvent):void {
                        trace("room joined!");
get the room you're in
                        var room:Room = _es.managerHelper.zoneManager.zoneById(e.zoneId).roomById(e.roomId);
print out the users in the room
                        for each (var user:User in room.users) {
                                trace(user.userName);
                        }
                }
                private function onJoinZoneEvent(e:JoinZoneEvent):void {
                        var zone:Zone = _es.managerHelper.zoneManager.zoneById(e.zoneId);
                        trace("zone joined! name: "+zone.name);
print out the rooms in the zone
                        for each (var room:Room in zone.rooms) {
                                trace(room.name);
                        }
                }
                public function set es(value:ElectroServer):void {
                        _es = value;
                }
        }
}
    

Constructor & Destructor Documentation

Electrotank.Electroserver5.Api.JoinZoneEvent.JoinZoneEvent ( )
Electrotank.Electroserver5.Api.JoinZoneEvent.JoinZoneEvent ( TBase  t)

Member Function Documentation

override void Electrotank.Electroserver5.Api.JoinZoneEvent.FromThrift ( TBase  t_)
virtual
override TBase Electrotank.Electroserver5.Api.JoinZoneEvent.NewThrift ( )
virtual
override TBase Electrotank.Electroserver5.Api.JoinZoneEvent.ToThrift ( )
virtual

Property Documentation

List<RoomListEntry> Electrotank.Electroserver5.Api.JoinZoneEvent.Rooms
getset

List of all the rooms in this zone, containing their public properties (name, capacity, hasPassword, description)

int Electrotank.Electroserver5.Api.JoinZoneEvent.ZoneId
getset

The id of the zone just joined.

string Electrotank.Electroserver5.Api.JoinZoneEvent.ZoneName
getset

The name of the zone just joined.