package {
import flash.system.System;
import com.smartfoxserver.v2.requests.LoginRequest;
import flash.events.MouseEvent;
import com.smartfoxserver.v2.core.SFSEvent;
import com.smartfoxserver.v2.SmartFox;
import flash.display.Sprite;
/**
* @author ASCHORD
* SFS2X客户端全部事件详细
*/
[SWF(backgroundColor="#FFFFFF", frameRate="31", width="554", height="400")]
public class SFS extends Sprite {
System.useCodePage = false;
private var sfs : SmartFox;
public function SFS() {
sfs = new SmartFox();
//接收服务器超管信息事件
sfs.addEventListener(SFSEvent.ADMIN_MESSAGE, listener);
//接收加载配置文件失败事件
sfs.addEventListener(SFSEvent.CONFIG_LOAD_FAILURE, listener);
//接收加载配置文件成功事件
sfs.addEventListener(SFSEvent.CONFIG_LOAD_SUCCESS, listener);
//接收连接服务器成功事件
sfs.addEventListener(SFSEvent.CONNECTION, listener);
//接收连接服务器失败事件
sfs.addEventListener(SFSEvent.CONNECTION_LOST, listener);
//接收连接服务器恢复事件
sfs.addEventListener(SFSEvent.CONNECTION_RESUME, listener);
//接收重试服务器连接事件
sfs.addEventListener(SFSEvent.CONNECTION_RETRY, listener);
//接收响应后台扩展事件
sfs.addEventListener(SFSEvent.EXTENSION_RESPONSE, listener);
//接收用户邀请事件
sfs.addEventListener(SFSEvent.INVITATION, listener);
//接收用户邀请事件
sfs.addEventListener(SFSEvent.INVITATION_REPLY, listener);
//接收被邀请用户的回复事件
sfs.addEventListener(SFSEvent.INVITATION_REPLY_ERROR, listener);
//接收用户登陆区域事件
sfs.addEventListener(SFSEvent.LOGIN, listener);
//接收用户登区错误事件
sfs.addEventListener(SFSEvent.LOGIN_ERROR, listener);
//接收用户登出区域事件
sfs.addEventListener(SFSEvent.LOGOUT, listener);
//接收用户登出区域事件
sfs.addEventListener(SFSEvent.MODERATOR_MESSAGE, listener);
//接收领头者消息事件
sfs.addEventListener(SFSEvent.OBJECT_MESSAGE, listener);
//接收游戏者成功转换为观察者事件
sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR, listener);
//接收游戏者转换为观察者错误事件
sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR_ERROR, listener);
//接收私人消息事件
sfs.addEventListener(SFSEvent.PRIVATE_MESSAGE, listener);
//接收公共消息事件
sfs.addEventListener(SFSEvent.PUBLIC_MESSAGE, listener);
//接收创建房间事件
sfs.addEventListener(SFSEvent.ROOM_ADD, listener);
//接收房间基础属性改变事件
sfs.addEventListener(SFSEvent.ROOM_CAPACITY_CHANGE, listener);
//接收房间基础属性改变错误事件
sfs.addEventListener(SFSEvent.ROOM_CAPACITY_CHANGE_ERROR, listener);
//接收查找房间的信息结果事件
sfs.addEventListener(SFSEvent.ROOM_FIND_RESULT, listener);
//接收订阅一个房间组事件
sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE, listener);
//接收订阅一个房间组错误事件
sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE_ERROR, listener);
//接收创建房间错误事件
sfs.addEventListener(SFSEvent.ROOM_CREATION_ERROR, listener);
//接收取消已订阅的一个房间组事件
sfs.addEventListener(SFSEvent.ROOM_GROUP_UNSUBSCRIBE, listener);
//接收取消已订阅的一个房间组错误事件
sfs.addEventListener(SFSEvent.ROOM_GROUP_UNSUBSCRIBE_ERROR, listener);
//接收进入房间事件
sfs.addEventListener(SFSEvent.ROOM_JOIN, listener);
//接收进入房间错误事件
sfs.addEventListener(SFSEvent.ROOM_JOIN_ERROR, listener);
//接收房间名更改事件
sfs.addEventListener(SFSEvent.ROOM_NAME_CHANGE, listener);
//接收房间名更改错误事件
sfs.addEventListener(SFSEvent.ROOM_NAME_CHANGE_ERROR, listener);
//接收房间密码更改事件
sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE, listener);
//接收房间密码更改错误事件
sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE_ERROR, listener);
//接收删除房间事件
sfs.addEventListener(SFSEvent.ROOM_REMOVE, listener);
//接收房间变量更新事件
sfs.addEventListener(SFSEvent.ROOM_VARIABLES_UPDATE, listener);
//接收观察者转换为游戏者事件
sfs.addEventListener(SFSEvent.SPECTATOR_TO_PLAYER, listener);
//接收观察者转换为游戏者错误事件
sfs.addEventListener(SFSEvent.SPECTATOR_TO_PLAYER_ERROR, listener);
//接收连续的UDP包数据事件(针对AIR)
sfs.addEventListener(SFSEvent.UDP_INIT, listener);
//接收在线用户数量更新事件
sfs.addEventListener(SFSEvent.USER_COUNT_CHANGE, listener);
//接收用户退出事件
sfs.addEventListener(SFSEvent.USER_EXIT_ROOM, listener);
//接收查找用户的信息结果事件
sfs.addEventListener(SFSEvent.USER_FIND_RESULT, listener);
//接收用户变更更新事件
sfs.addEventListener(SFSEvent.USER_VARIABLES_UPDATE, listener);
//加载服务器配置文件
sfs.loadConfig();
//测试事件用
stage.addEventListener(MouseEvent.CLICK, onMouseClick);
}
private function listener(event : SFSEvent) : void {
trace("发生客户端事件:[" + event.type + "]");
for(var evtName:String in event.params) {
trace(" 事件所接收的参数键值对:《" + evtName + " :" + event.params[evtName] + "》");
}
}
private function onMouseClick(event : MouseEvent) : void {
trace("=====测试事件=====");
sfs.send(new LoginRequest("じ☆ve弦", "ASCHORD"));
}
}
}