понедельник, февраля 11, 2008

Класс Room. Server Side API. SmartFoxServer

Класс представляет комнату зоны.

Методы управления комнатой:

contains(userName)
Возвращает true, если пользователь userName вошел в комнату

getAllUsers()
Возращает массив объектов User всех пользователей.
ЗАМЕЧЕНО: Если пользователь выходит непредсказуемо в момент события userLost, данные getAllUsers(), а так же getSpectatorCount() и getUserCount() еще старые и обновляются позже.

getId()
Возвращает идентификатор комнаты

getMaxSpectator()
Возвращает максимально допустимое количество наблюдателей в комнате

getMaxUsers()
Возвращает максимально допустимое количество пользователей в комнате

getName()
Возвращает имя комнаты

getPassword()
Возвращает пароль доступа к комнате

getSpectatorCount()
Возвращает текущее количество наблюдателей в комнате

getUserCount()
Возвращает текущее количество пользователей в комнате.
ВАЖНО: Если комната игровая, также как и для класса Room SFS Flash API возвращается не общее количество пользователей, а только количество игроков. Наблюдатели в это число не входят. Поэтому для получения общего количества пользователей необходимо сложить getSpectatorCount() и getUserCount(), либо getAllUsers().length (если идет работа с массивом, для улучшеия производительности лучше сохранить его в пременную и оперировать с переменной, т.к. скорее всего getAllUsers является возвращателем динамически собранного массива).

getVariable(name)
Возвращает значение перемеменной с именем name.
Переменная возвращается как объект RoomVariable .
Объект управляется методами:
getValue() - вернуть значение переменной.
getOwner() - объект-владелец переменной (по всей видимости объект Room).
isPersistent() - true, если постоянная переменная
isPrivate() - true, если приватная переменная

getVariables()
Возвращает список переменных в формате java.util.HashMap

isGame()
Возвращает true, если комната игровая

isPrivate()
Возвращает true, если комната приватная

isTemp()
Возвращает true, если комната временная (создана динамически)


Управление свойствами класса

Можно установить собственные свойства для объекта Room, используя свойство properties - ассоциативный массив. Например:
room.properties.put("score", score)

Методы управления properties:

put(key, value)
Добавляет новое свойство/объект

get(key)
Возвращает свойство/объект, с именем key. Если объект отсутствует, возвращает null

remove(key)
Удаляет свойство с именем key

size()
Возвращает размер массива свойств

Комментариев нет: