public void removeGuest(int sid)
        {
            GuestData g = guests[sid];

            guests.Remove(sid);
            isGuest[g.order] = false;
            g.order          = -1;
        }
        static public void removeGuest(GuestData g)
        {
            Room room = rooms[g.roomName];

            room.removeGuest(g.sid);
            if (room.isEmpty())
            {
                rooms.Remove(g.roomName);
            }
        }
        public void addGuest(GuestData g)
        {
            int i = 0;

            while (i < MAX_GUESTS && isGuest[i])
            {
                ++i;
            }
            g.order = i;
            guests.Add(g.sid, g);
            isGuest[i] = true;
        }
        static public void addGuest(GuestData g)
        {
            Room room;

            if (rooms.ContainsKey(g.roomName))
            {
                room = rooms[g.roomName];
            }
            else
            {
                room = new Room();
                rooms.Add(g.roomName, room);
            }
            room.addGuest(g);
        }