пятница, февраля 01, 2008

Класс SFSEvent. SmartFoxServer

Класс SFSEvent - представляет все события, которые обрабатываются объектом SmartFoxClient.

Полное определение класса: it.gotoandplay.smartfoxserver.SFSEvent

Потомок Event.

Свойства:

params : Object - объект, содержащий параметры обрабатываемого события.

Методы:

clone () : Event
Возвращает копия объекта события.

toString () : String
Возвращает строку, содержащую все параметры объекта события.

События:

onAdminMessage : String
Получено сообщение от администратора. Это событие обязательно должно обрабатываться, иначе пользователи не смогут получать сообщения от администратора сервера.
Параметры, переданные через params:
message : String - текст сообщения.

onBuddyList : String
Получен список друзей для текущего пользователя. Генерируется также при добавлении/удалении друга из списка.
Параметры, переданные через params:
list : Array - список друзей.

onBuddyListError : String
Ошибка загрузки списка друзей.
Параметры, переданные через params:
error : String - сообщение об ошибке.

onBuddyListUpdate : String
Статус или переменные друга в списке друзей изменились.
Параметры, переданные через params:
buddy : Object - параметры друга.

onBuddyPermissionRequest : String
Текущий польователь получил запрос на добавление в список друзей.
Параметры, переданные через params:
sender : String - имя пользователя.
message : String - текст сообщения, сопровождающего запрос.

onBuddyRoom : String
Ответ на запрос SmartFoxClient.getBuddyRoom.
Параметры, переданные через params:
idList : Array - список идентификаторов комнат, в которых авторизован запрашиваемый друг.

onConfigLoadFailure : String
Ошибка загрузки файла внешней конфигурации.
Параметры, переданные через params:
message : String - текст ошибки.

onConfigLoadSuccess : String
Файл внешней конфигурации успешно загружен. Никакие параметры не передаются.

onConnection : String
Ответ на запрос SmartFoxClient.connect.
Параметры, переданные через params:
success : Boolean: результат соединения. True - успешно.
error : String - сообщение об ошибке.

onConnectionLost : String
Связь со SmartFoxServer прервалась (клиентом или сервером). Никакие параметры не передаются.

onCreateRoomError : String
Ошибка при создании комнаты.
Параметры, переданные через params:
error : String - сообщение об ошибке.

onDebugMessage : String
Получено отладочное сообщение trace() SmartFoxServer API.
Параметры, переданные через params:
message : String - текст ошибки.

onExtensionResponse : String
Получена команда/ответ от серверного скрипта.
Параметры, переданные через params:
dataObj : Object - объект, содержащий данные, посланные серверным скриптом. Желательно, чтобы среди параметров присутствовала строка _cmd которая отличала бы данное сообщение от других сообщений того же серверного скрипта.
type : String - тип протокола. См. SmartFoxClient.sendXtMessage;

onJoinRoom : String
Подключение к комнате прошло успешно.
Параметры, переданные через params:
room : Room - объект представляющий комнату, к которой подключился пользователь.

onJoinRoomError : String
Ошибка в процессе подсоединения к комнате.
Параметры, переданные через params:
error : String - сообщение об ошибке.

onLogin : String
Попытка авторизоваться в зоне SmartFoxServer.
Параметры, переданные через params:
success : Boolean - true - успешная авторизация.
name : String - действительное имя пользователя.
error : String - сообщение об ошибке в случае неудачи.

onLogout : String
Пользователь успешно покинул зону. Никакие параметры не передаются.

onModeratorMessage : String
Получено сообщение от модератора.
Параметры, переданные через params:
message : String - текст сообщения.
sender : User - объект пользователя модератора.

onObjectReceived : String
Получен объект ActionScript.
Параметры, переданные через params:
obj : Object - объект ActionScript.
sender : User - объект пользователя, пославшего объект ActionScript.

onPrivateMessage : String
Получено личное сообщение.
Параметры, переданные через params:
message : String - текст сообщения.
sender : User - объект пользователя, пославшего сообщение.
roomId : int - идентификатор комнаты пользователя, пославшего сообщение.
userId : int - идентификатор пользователя, пославшего сообщение. Полезно в случае, если объект пользователя недоступен.

onPublicMessage : String
Получено массовое (чат) сообщение.
Параметры, переданные через params:
message : String - текст сообщения.
sender : User - объект пользователя, пославшего сообщение.
roomId : int - идентификатор комнаты пользователя, пославшего сообщение.

onRandomKey : String
Ответ на запрос SmartFoxClient.getRandomKey.
Параметры, переданные через params:
key: String - уникальная случайная последовательность символов (ключ), сгенерированная сервером.

onRoomAdded : String
Создана новая комната в зоне, где пользователь в настоящий момент авторизован.
Параметры, переданные через params:
room : Room - объект представляющий вновь созданную комнату.

onRoomDeleted : String
Была удалена комната в зоне, где пользователь в настоящий момент авторизован. Параметры, переданные через params:
room : Room - объект представляющий удаленную комнату.

onRoomLeft : String
Ответ на запрос SmartFoxClient.leaveRoom. Генерируется в случае, когда пользователь подключен к нескольким комнатам.

onRoomListUpdate : String
Получен список комнат для текущей зоны.
Генерируется в следующих случаях:
- автоматически после успешной авторизации в зоне,
- в качестве ответа на запрос SmartFoxClient.getRoomList
Параметры, переданные через params:
roomList : Array - список объектов Room комнат в текущей зоне. Список ассоциативный. Попробовал получать его прямым перебором - неудобно. Лучше использовать for..in. Причем в качестве ключа устанавливаются целочисленные значения, генерируемые по усмотрению сервера - идентификаторы комнат.

onRoomVariablesUpdate : String
Обновились переменные комнаты.
Принимаются переменные только текущей комнаты (комнат).
Принимаются только переменные, которые изменились.
Параметры, переданные через params:
room : Room - объект представляющий комнату, где произошли изменения.
changedVars : Array - ассоциативный массив переменных.

onRoundTripResponse : String
Ответ на запрос SmartFoxClient.roundTripBench, измерение скорости соединения. Желательно провести серию измерений в течении 3-5 секунд и вычислить среднее значение скорости.
Параметры, переданные через params:
elapsed : int - измеренное время запроса/ответа сервера.

onSpectatorSwitched : String
Ответ на запрос SmartFoxClient.switchSpectator, смену наблюдателя на игрока.
Параметры, переданные через params:
success: Boolean - true - наблюдатель успешно сменился на игрока.
newId : int - идентификатор игрока (слот).
room : Room - объект, представляющий комнату, в которой произошла смена.

onUserCountChange : String
Изменилось количество пользователей в какой-либо из комнат текущей зоны.
Параметры, переданные через params:
room : Room - объект, представляющий комнату, в которой произошло изменение.
ВАЖНО: Событие не генерируется, если в натройках конфигурации зоны или текущей комнаты uCountUpdate не установлены или установлены в false. Отключение этого параметра позволяет сэкономить трафик. Однако, это в этом случае, учет миграции пользователей по комнатам перекладывается именно на клиентскую часть. Используя события onUserEnterRoom и onUserLeaveRoom можно отлавливать изменения только в комнатах, к которым подключен пользователь. Обычно в многопользовательских играх, обновление списка комнат осуществляется по запросу (кнопка "Обновить").
Кроме того, событие не генерируется, если текущий пользователь не вошел ни в одну из комнат.

onUserEnterRoom : String
Новый пользователь вошел в комнату.
Параметры, переданные через params:
roomId : int - идентификатор комнаты, к которой подключился пользователь.
user : User - объект, представляющий пользователя, подключившегося к комнате.

onUserLeaveRoom : String
Пользователь покинул комнату или отключился от сервера.
Параметры, переданные через params:
roomId : int - идентификатор комнаты, к которой подключился пользователь.
userId: int - идентификатор пользователя, покинувшего комнату.
userName: String - имя пользователя, покинувшего комнату.

onUserVariablesUpdate : String
Пользователь в текущей комнате изменил свои переменные.
Параметры, переданные через params:
user : User - объект, представляющий пользователя, изменившего свои переменные.
changedVars: Array - ассоциативный массив переменных. Передаются только измененные переменные.
Событие приходит только при изменении параметров других пользователей.

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