home *** CD-ROM | disk | FTP | other *** search
- package it.gotoandplay.smartfoxserver
- {
- import flash.events.ErrorEvent;
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.events.IOErrorEvent;
- import flash.events.ProgressEvent;
- import flash.events.SecurityErrorEvent;
- import flash.net.Socket;
- import flash.utils.ByteArray;
- import flash.utils.getTimer;
- import it.gotoandplay.smartfoxserver.data.Room;
- import it.gotoandplay.smartfoxserver.data.User;
- import it.gotoandplay.smartfoxserver.handlers.ExtHandler;
- import it.gotoandplay.smartfoxserver.handlers.IMessageHandler;
- import it.gotoandplay.smartfoxserver.handlers.SysHandler;
- import it.gotoandplay.smartfoxserver.json.JSON;
- import it.gotoandplay.smartfoxserver.util.Entities;
- import it.gotoandplay.smartfoxserver.util.ObjectSerializer;
-
- public class SmartFoxClient extends EventDispatcher
- {
-
- private static const EOM:int = 0;
-
- private static const MSG_JSON:String = "{";
-
- public static const XTMSG_TYPE_STR:String = "str";
-
- public static const MODMSG_TO_USER:String = "u";
-
- public static const MODMSG_TO_ZONE:String = "z";
-
- private static const MSG_STR:String = "%";
-
- private static const MSG_XML:String = "<";
-
- public static const XTMSG_TYPE_JSON:String = "json";
-
- public static const XTMSG_TYPE_XML:String = "xml";
-
- public static const MODMSG_TO_ROOM:String = "r";
-
-
- private var connected:Boolean;
-
- private var benchStartTime:int;
-
- public var myUserId:int;
-
- private var roomList:Array;
-
- private var minVersion:Number;
-
- public var buddyVars:Array;
-
- public var debug:Boolean;
-
- private var byteBuffer:ByteArray;
-
- private var subVersion:Number;
-
- public var buddyList:Array;
-
- private var messageHandlers:Array;
-
- private var majVersion:Number;
-
- private var socketConnection:Socket;
-
- private var sysHandler:SysHandler;
-
- public var myUserName:String;
-
- public var playerId:int;
-
- public var amIModerator:Boolean;
-
- public var changingRoom:Boolean;
-
- private var extHandler:ExtHandler;
-
- public var activeRoomId:int;
-
- public function SmartFoxClient(param1:Boolean = false)
- {
- super();
- this.majVersion = 1;
- this.minVersion = 3;
- this.subVersion = 4;
- this.activeRoomId = -1;
- this.debug = param1;
- this.messageHandlers = [];
- setupMessageHandlers();
- socketConnection = new Socket();
- socketConnection.addEventListener(Event.CONNECT,handleSocketConnection);
- socketConnection.addEventListener(Event.CLOSE,handleSocketDisconnection);
- socketConnection.addEventListener(ErrorEvent.ERROR,handleSocketError);
- socketConnection.addEventListener(IOErrorEvent.IO_ERROR,handleIOError);
- socketConnection.addEventListener(ProgressEvent.SOCKET_DATA,handleSocketData);
- socketConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR,handleSecurityError);
- byteBuffer = new ByteArray();
- }
-
- private function getXmlUserVariable(param1:Object) : String
- {
- var _loc2_:String = null;
- var _loc3_:* = undefined;
- var _loc4_:String = null;
- var _loc5_:* = null;
- var _loc6_:String = null;
- _loc2_ = "<vars>";
- for(_loc6_ in param1)
- {
- _loc3_ = param1[_loc6_];
- if((_loc5_ = typeof _loc3_) == "boolean")
- {
- _loc4_ = "b";
- _loc3_ = !!_loc3_ ? "1" : "0";
- }
- else if(_loc5_ == "number")
- {
- _loc4_ = "n";
- }
- else if(_loc5_ == "string")
- {
- _loc4_ = "s";
- }
- else if(_loc5_ == "null")
- {
- _loc4_ = "x";
- }
- if(_loc4_ != null)
- {
- _loc2_ += "<var n=\'" + _loc6_ + "\' t=\'" + _loc4_ + "\'><![CDATA[" + _loc3_ + "]]></var>";
- }
- }
- return _loc2_ + "</vars>";
- }
-
- private function checkBuddyDuplicates(param1:String) : Boolean
- {
- var _loc2_:Boolean = false;
- var _loc3_:Object = null;
- _loc2_ = false;
- for each(_loc3_ in buddyList)
- {
- if(_loc3_.name == param1)
- {
- _loc2_ = true;
- break;
- }
- }
- return _loc2_;
- }
-
- public function getBuddyRoom(param1:Object) : void
- {
- if(param1.id != -1)
- {
- send({
- "t":"sys",
- "bid":param1.id
- },"roomB",-1,"<b id=\'" + param1.id + "\' />");
- }
- }
-
- private function handleSocketData(param1:Event) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- _loc2_ = int(socketConnection.bytesAvailable);
- while(--_loc2_ >= 0)
- {
- _loc3_ = socketConnection.readByte();
- if(_loc3_ != 0)
- {
- byteBuffer.writeByte(_loc3_);
- }
- else
- {
- handleMessage(byteBuffer.toString());
- byteBuffer = new ByteArray();
- }
- }
- }
-
- private function handleSocketError(param1:Event) : void
- {
- trace("SOCKET ERROR!!!");
- }
-
- private function getXmlRoomVariable(param1:Object) : String
- {
- var _loc2_:String = null;
- var _loc3_:* = undefined;
- var _loc4_:String = null;
- var _loc5_:String = null;
- var _loc6_:String = null;
- _loc2_ = String(param1.name.toString());
- _loc3_ = param1.val.toString();
- _loc4_ = !!param1.priv ? "1" : "0";
- _loc5_ = !!param1.persistent ? "1" : "0";
- _loc6_ = null;
- if(typeof _loc3_ == "boolean")
- {
- _loc6_ = "b";
- _loc3_ = !!_loc3_ ? "1" : "0";
- }
- else if(typeof _loc3_ == "number")
- {
- _loc6_ = "n";
- }
- else if(typeof _loc3_ == "string")
- {
- _loc6_ = "s";
- }
- else if(typeof _loc3_ == "null")
- {
- _loc6_ = "x";
- }
- if(_loc6_ != null)
- {
- return "<var n=\'" + _loc2_ + "\' t=\'" + _loc6_ + "\' pr=\'" + _loc4_ + "\' pe=\'" + _loc5_ + "\'><![CDATA[" + _loc3_ + "]]></var>";
- }
- return "";
- }
-
- private function handleSocketDisconnection(param1:Event) : void
- {
- var _loc2_:SFSEvent = null;
- initialize();
- _loc2_ = new SFSEvent(SFSEvent.onConnectionLost,{});
- dispatchEvent(_loc2_);
- }
-
- private function xmlReceived(param1:String) : void
- {
- var _loc2_:XML = null;
- var _loc3_:String = null;
- var _loc4_:String = null;
- var _loc5_:int = 0;
- var _loc6_:IMessageHandler = null;
- _loc2_ = new XML(param1);
- _loc3_ = _loc2_.@t;
- _loc4_ = _loc2_.body.@action;
- _loc5_ = int(_loc2_.body.@r);
- if((_loc6_ = messageHandlers[_loc3_]) != null)
- {
- _loc6_.handleMessage(_loc2_,XTMSG_TYPE_XML);
- }
- }
-
- public function switchSpectator(param1:int = -1) : void
- {
- if(param1 == -1)
- {
- param1 = activeRoomId;
- }
- send({"t":"sys"},"swSpec",param1,"");
- }
-
- public function roundTripBench() : void
- {
- this.benchStartTime = getTimer();
- send({"t":"sys"},"roundTrip",activeRoomId,"");
- }
-
- public function joinRoom(param1:*, param2:String = "", param3:Boolean = false, param4:Boolean = false, param5:int = -1) : void
- {
- var _loc6_:int = 0;
- var _loc7_:int = 0;
- var _loc8_:Room = null;
- var _loc9_:Object = null;
- var _loc10_:String = null;
- var _loc11_:int = 0;
- var _loc12_:* = null;
- _loc6_ = -1;
- _loc7_ = param3 ? 1 : 0;
- if(!this.changingRoom)
- {
- if(typeof param1 == "number")
- {
- _loc6_ = int(param1);
- }
- else if(typeof param1 == "string")
- {
- for each(_loc8_ in roomList)
- {
- if(_loc8_.getName() == param1)
- {
- _loc6_ = _loc8_.getId();
- break;
- }
- }
- }
- if(_loc6_ != -1)
- {
- _loc9_ = {"t":"sys"};
- _loc10_ = param4 ? "0" : "1";
- _loc11_ = param5 > -1 ? param5 : activeRoomId;
- if(activeRoomId == -1)
- {
- _loc10_ = "0";
- _loc11_ = -1;
- }
- _loc12_ = "<room id=\'" + _loc6_ + "\' pwd=\'" + param2 + "\' spec=\'" + _loc7_ + "\' leave=\'" + _loc10_ + "\' old=\'" + _loc11_ + "\' />";
- send(_loc9_,"joinRoom",activeRoomId,_loc12_);
- changingRoom = true;
- }
- else
- {
- trace("SmartFoxError: requested room to join does not exist!");
- }
- }
- }
-
- public function getActiveRoom() : Room
- {
- return roomList[activeRoomId];
- }
-
- private function makeXmlHeader(param1:Object) : String
- {
- var _loc2_:String = null;
- var _loc3_:String = null;
- _loc2_ = "<msg";
- for(_loc3_ in param1)
- {
- _loc2_ += " " + _loc3_ + "=\'" + param1[_loc3_] + "\'";
- }
- return _loc2_ + ">";
- }
-
- private function strReceived(param1:String) : void
- {
- var _loc2_:Array = null;
- var _loc3_:String = null;
- var _loc4_:IMessageHandler = null;
- _loc2_ = param1.substr(1,param1.length - 2).split(MSG_STR);
- _loc3_ = String(_loc2_[0]);
- if((_loc4_ = messageHandlers[_loc3_]) != null)
- {
- _loc4_.handleMessage(_loc2_.splice(1,_loc2_.length - 1),XTMSG_TYPE_STR);
- }
- }
-
- public function getRoomByName(param1:String) : Room
- {
- var _loc2_:Room = null;
- var _loc3_:Room = null;
- _loc2_ = null;
- for each(_loc3_ in roomList)
- {
- if(_loc3_.getName() == param1)
- {
- _loc2_ = _loc3_;
- break;
- }
- }
- return _loc2_;
- }
-
- public function loadBuddyList() : void
- {
- send({"t":"sys"},"loadB",-1,"");
- }
-
- public function leaveRoom(param1:int) : void
- {
- var _loc2_:Object = null;
- var _loc3_:* = null;
- _loc2_ = {"t":"sys"};
- _loc3_ = "<rm id=\'" + param1 + "\' />";
- send(_loc2_,"leaveRoom",param1,_loc3_);
- }
-
- private function addMessageHandler(param1:String, param2:IMessageHandler) : void
- {
- if(this.messageHandlers[param1] == null)
- {
- this.messageHandlers[param1] = param2;
- }
- else
- {
- trace("Warning, message handler called: " + param1 + " already exist!");
- }
- }
-
- public function getAllRooms() : Array
- {
- return roomList;
- }
-
- public function setBuddyVariables(param1:Array) : void
- {
- var _loc2_:Object = null;
- var _loc3_:* = null;
- var _loc4_:String = null;
- var _loc5_:String = null;
- _loc2_ = {"t":"sys"};
- _loc3_ = "<vars>";
- for(_loc4_ in param1)
- {
- _loc5_ = String(param1[_loc4_]);
- if(buddyVars[_loc4_] != _loc5_)
- {
- buddyVars[_loc4_] = _loc5_;
- _loc3_ += "<var n=\'" + _loc4_ + "\'><![CDATA[" + _loc5_ + "]]></var>";
- }
- }
- _loc3_ += "</vars>";
- this.send(_loc2_,"setBvars",-1,_loc3_);
- }
-
- public function getRoom(param1:int) : Room
- {
- return roomList[param1];
- }
-
- private function handleSecurityError(param1:Event) : void
- {
- trace("SECURITY ERROR!!!");
- }
-
- private function handleIOError(param1:Event) : void
- {
- var _loc2_:SFSEvent = null;
- var _loc3_:Object = null;
- if(!connected)
- {
- _loc3_ = {};
- _loc3_.success = false;
- _loc3_.error = "I/O Error";
- _loc2_ = new SFSEvent(SFSEvent.onConnection,_loc3_);
- dispatchEvent(_loc2_);
- }
- else
- {
- trace("I/O Error during connected session");
- }
- }
-
- private function setupMessageHandlers() : void
- {
- sysHandler = new SysHandler(this);
- extHandler = new ExtHandler(this);
- addMessageHandler("sys",sysHandler);
- addMessageHandler("xt",extHandler);
- }
-
- public function login(param1:String, param2:String, param3:String) : void
- {
- var _loc4_:Object = null;
- var _loc5_:* = null;
- _loc4_ = {"t":"sys"};
- _loc5_ = "<login z=\'" + param1 + "\'><nick><![CDATA[" + param2 + "]]></nick><pword><![CDATA[" + param3 + "]]></pword></login>";
- send(_loc4_,"login",0,_loc5_);
- }
-
- public function autoJoin() : void
- {
- var _loc1_:Object = null;
- _loc1_ = {"t":"sys"};
- this.send(_loc1_,"autoJoin",!!this.activeRoomId ? this.activeRoomId : -1,"");
- }
-
- private function send(param1:Object, param2:String, param3:Number, param4:String) : void
- {
- var _loc5_:String = null;
- _loc5_ = (_loc5_ = makeXmlHeader(param1)) + ("<body action=\'" + param2 + "\' r=\'" + param3 + "\'>" + param4 + "</body>" + closeHeader());
- if(this.debug)
- {
- trace("[Sending]: " + _loc5_ + "\n");
- }
- writeToSocket(_loc5_);
- }
-
- public function getRoomList() : void
- {
- var _loc1_:Object = null;
- _loc1_ = {"t":"sys"};
- send(_loc1_,"getRmList",activeRoomId,"");
- }
-
- private function initialize() : void
- {
- this.changingRoom = false;
- this.amIModerator = false;
- this.playerId = -1;
- this.connected = false;
- this.roomList = [];
- this.buddyList = [];
- this.buddyVars = [];
- }
-
- public function setRoomVariables(param1:Array, param2:int = -1, param3:Boolean = true) : void
- {
- var _loc4_:Object = null;
- var _loc5_:* = null;
- var _loc6_:Object = null;
- if(param2 == -1)
- {
- param2 = activeRoomId;
- }
- _loc4_ = {"t":"sys"};
- if(param3)
- {
- _loc5_ = "<vars>";
- }
- else
- {
- _loc5_ = "<vars so=\'0\'>";
- }
- for each(_loc6_ in param1)
- {
- _loc5_ += getXmlRoomVariable(_loc6_);
- }
- _loc5_ += "</vars>";
- send(_loc4_,"setRvars",param2,_loc5_);
- }
-
- public function disconnect() : void
- {
- socketConnection.close();
- connected = false;
- sysHandler.dispatchDisconnection();
- }
-
- public function sendJson(param1:String) : void
- {
- if(this.debug)
- {
- trace("[Sending - JSON]: " + param1 + "\n");
- }
- writeToSocket(param1);
- }
-
- private function closeHeader() : String
- {
- return "</msg>";
- }
-
- public function getVersion() : String
- {
- return this.majVersion + "." + this.minVersion + "." + this.subVersion;
- }
-
- public function setUserVariables(param1:Object, param2:int = -1) : void
- {
- var _loc3_:Object = null;
- var _loc4_:Room = null;
- var _loc5_:User = null;
- var _loc6_:String = null;
- if(param2 == -1)
- {
- param2 = activeRoomId;
- }
- _loc3_ = {"t":"sys"};
- _loc5_ = (_loc4_ = getActiveRoom()).getUser(myUserId);
- _loc6_ = getXmlUserVariable(param1);
- send(_loc3_,"setUvars",param2,_loc6_);
- }
-
- public function addBuddy(param1:String) : void
- {
- var _loc2_:* = null;
- if(param1 != myUserName && !checkBuddyDuplicates(param1))
- {
- _loc2_ = "<n>" + param1 + "</n>";
- send({"t":"sys"},"addB",-1,_loc2_);
- }
- }
-
- public function sendPrivateMessage(param1:String, param2:int, param3:int = -1) : void
- {
- var _loc4_:Object = null;
- var _loc5_:* = null;
- if(param3 == -1)
- {
- param3 = activeRoomId;
- }
- _loc4_ = {"t":"sys"};
- _loc5_ = "<txt rcp=\'" + param2 + "\'><![CDATA[" + Entities.encodeEntities(param1) + "]]></txt>";
- send(_loc4_,"prvMsg",param3,_loc5_);
- }
-
- public function sendPublicMessage(param1:String, param2:int = -1) : void
- {
- var _loc3_:Object = null;
- var _loc4_:* = null;
- if(param2 == -1)
- {
- param2 = activeRoomId;
- }
- _loc3_ = {"t":"sys"};
- _loc4_ = "<txt><![CDATA[" + Entities.encodeEntities(param1) + "]]></txt>";
- send(_loc3_,"pubMsg",param2,_loc4_);
- }
-
- public function clearBuddyList() : void
- {
- var _loc1_:Object = null;
- var _loc2_:SFSEvent = null;
- buddyList = [];
- send({"t":"sys"},"clearB",-1,"");
- _loc1_ = {};
- _loc1_.list = buddyList;
- _loc2_ = new SFSEvent(SFSEvent.onBuddyList,_loc1_);
- dispatchEvent(_loc2_);
- }
-
- public function sendString(param1:String) : void
- {
- if(this.debug)
- {
- trace("[Sending - STR]: " + param1 + "\n");
- }
- writeToSocket(param1);
- }
-
- public function removeBuddy(param1:String) : void
- {
- var _loc2_:Boolean = false;
- var _loc3_:Object = null;
- var _loc4_:String = null;
- var _loc5_:Object = null;
- var _loc6_:* = null;
- var _loc7_:Object = null;
- var _loc8_:SFSEvent = null;
- _loc2_ = false;
- for(_loc4_ in buddyList)
- {
- _loc3_ = buddyList[_loc4_];
- if(_loc3_.name == param1)
- {
- delete buddyList[_loc4_];
- _loc2_ = true;
- break;
- }
- }
- if(_loc2_)
- {
- _loc5_ = {"t":"sys"};
- _loc6_ = "<n>" + param1 + "</n>";
- send(_loc5_,"remB",-1,_loc6_);
- (_loc7_ = {}).list = buddyList;
- _loc8_ = new SFSEvent(SFSEvent.onBuddyList,_loc7_);
- dispatchEvent(_loc8_);
- }
- }
-
- private function handleMessage(param1:String) : void
- {
- var _loc2_:String = null;
- if(this.debug)
- {
- trace("[ RECEIVED ]: " + param1 + ", (len: " + param1.length + ")");
- }
- _loc2_ = param1.charAt(0);
- if(_loc2_ == MSG_XML)
- {
- if(param1.substr(0,4) == "<msg" && param1.substr(-6) != "</msg>")
- {
- param1 += "</body></msg>";
- }
- xmlReceived(param1);
- }
- else if(_loc2_ == MSG_STR)
- {
- strReceived(param1);
- }
- else if(_loc2_ == MSG_JSON)
- {
- jsonReceived(param1);
- }
- }
-
- public function sendXtMessage(param1:String, param2:String, param3:*, param4:String = "xml", param5:int = -1) : void
- {
- var _loc6_:Object = null;
- var _loc7_:Object = null;
- var _loc8_:* = null;
- var _loc9_:* = null;
- var _loc10_:Number = NaN;
- var _loc11_:Object = null;
- var _loc12_:Object = null;
- var _loc13_:String = null;
- if(param5 == -1)
- {
- param5 = activeRoomId;
- }
- if(param4 == XTMSG_TYPE_XML)
- {
- _loc6_ = {"t":"xt"};
- _loc7_ = {
- "name":param1,
- "cmd":param2,
- "param":param3
- };
- _loc8_ = "<![CDATA[" + ObjectSerializer.getInstance().serialize(_loc7_) + "]]>";
- send(_loc6_,"xtReq",param5,_loc8_);
- }
- else if(param4 == XTMSG_TYPE_STR)
- {
- _loc9_ = "%xt%" + param1 + "%" + param2 + "%" + param5 + "%";
- _loc10_ = 0;
- while(_loc10_ < param3.length)
- {
- _loc9_ += param3[_loc10_].toString() + "%";
- _loc10_++;
- }
- sendString(_loc9_);
- }
- else if(param4 == XTMSG_TYPE_JSON)
- {
- (_loc11_ = {}).x = param1;
- _loc11_.c = param2;
- _loc11_.r = param5;
- _loc11_.p = param3;
- (_loc12_ = {}).t = "xt";
- _loc12_.b = _loc11_;
- _loc13_ = it.gotoandplay.smartfoxserver.json.JSON.encode(_loc12_);
- sendJson(_loc13_);
- }
- }
-
- private function writeToSocket(param1:String) : void
- {
- var _loc2_:ByteArray = null;
- _loc2_ = new ByteArray();
- _loc2_.writeMultiByte(param1,"utf-8");
- _loc2_.writeByte(0);
- socketConnection.writeBytes(_loc2_);
- socketConnection.flush();
- }
-
- public function sendObjectToGroup(param1:Object, param2:Array, param3:int) : void
- {
- var _loc4_:String = null;
- var _loc5_:String = null;
- var _loc6_:Object = null;
- var _loc7_:* = null;
- if(param3 == -1)
- {
- param3 = activeRoomId;
- }
- _loc4_ = "";
- for(_loc5_ in param2)
- {
- if(!isNaN(param2[_loc5_]))
- {
- _loc4_ += param2[_loc5_] + ",";
- }
- }
- _loc4_ = _loc4_.substr(0,_loc4_.length - 1);
- param1._$$_ = _loc4_;
- _loc6_ = {"t":"sys"};
- _loc7_ = "<![CDATA[" + ObjectSerializer.getInstance().serialize(param1) + "]]>";
- send(_loc6_,"asObjG",param3,_loc7_);
- }
-
- public function getRandomKey() : void
- {
- send({"t":"sys"},"rndK",-1,"");
- }
-
- public function sendObject(param1:Object, param2:int = -1) : void
- {
- var _loc3_:* = null;
- var _loc4_:Object = null;
- if(param2 == -1)
- {
- param2 = activeRoomId;
- }
- _loc3_ = "<![CDATA[" + ObjectSerializer.getInstance().serialize(param1) + "]]>";
- _loc4_ = {"t":"sys"};
- send(_loc4_,"asObj",param2,_loc3_);
- }
-
- private function jsonReceived(param1:String) : void
- {
- var _loc2_:Object = null;
- var _loc3_:String = null;
- var _loc4_:IMessageHandler = null;
- _loc2_ = it.gotoandplay.smartfoxserver.json.JSON.decode(param1);
- _loc3_ = String(_loc2_["t"]);
- if((_loc4_ = messageHandlers[_loc3_]) != null)
- {
- _loc4_.handleMessage(_loc2_["b"],XTMSG_TYPE_JSON);
- }
- }
-
- public function connect(param1:String, param2:int) : void
- {
- if(!connected)
- {
- initialize();
- socketConnection.connect(param1,param2);
- }
- else
- {
- trace("*** ALREADY CONNECTED ***");
- }
- }
-
- public function sendModeratorMessage(param1:String, param2:int, param3:int = -1) : void
- {
- var _loc4_:Object = null;
- var _loc5_:* = null;
- _loc4_ = {"t":"sys"};
- _loc5_ = "<txt t=\'" + param2 + "\' id=\'" + param3 + "\'><![CDATA[" + Entities.encodeEntities(param1) + "]]></txt>";
- send(_loc4_,"modMsg",activeRoomId,_loc5_);
- }
-
- public function getBenchStartTime() : int
- {
- return this.benchStartTime;
- }
-
- public function createRoom(param1:Object, param2:int = -1) : void
- {
- var _loc3_:Object = null;
- var _loc4_:String = null;
- var _loc5_:String = null;
- var _loc6_:String = null;
- var _loc7_:String = null;
- var _loc8_:* = null;
- var _loc9_:String = null;
- if(param2 == -1)
- {
- param2 = activeRoomId;
- }
- _loc3_ = {"t":"sys"};
- _loc4_ = !!param1.isGame ? "1" : "0";
- _loc5_ = "1";
- _loc6_ = param1.maxUsers == null ? "0" : String(param1.maxUsers);
- _loc7_ = param1.maxSpectators == null ? "0" : String(param1.maxSpectators);
- if(Boolean(param1.isGame) && param1.exitCurrent != null)
- {
- _loc5_ = !!param1.exitCurrent ? "1" : "0";
- }
- _loc8_ = (_loc8_ = (_loc8_ = (_loc8_ = "<room tmp=\'1\' gam=\'" + _loc4_ + "\' spec=\'" + _loc7_ + "\' exit=\'" + _loc5_ + "\'>") + ("<name><![CDATA[" + (param1.name == null ? "" : param1.name) + "]]></name>")) + ("<pwd><![CDATA[" + (param1.password == null ? "" : param1.password) + "]]></pwd>")) + ("<max>" + _loc6_ + "</max>");
- if(param1.uCount != null)
- {
- _loc8_ += "<uCnt>" + (!!param1.uCount ? "1" : "0") + "</uCnt>";
- }
- if(param1.extension != null)
- {
- _loc8_ = (_loc8_ += "<xt n=\'" + param1.extension.name) + ("\' s=\'" + param1.extension.script + "\' />");
- }
- if(param1.vars == null)
- {
- _loc8_ += "<vars></vars>";
- }
- else
- {
- _loc8_ += "<vars>";
- for(_loc9_ in param1.vars)
- {
- _loc8_ += getXmlRoomVariable(param1.vars[_loc9_]);
- }
- _loc8_ += "</vars>";
- }
- _loc8_ += "</room>";
- send(_loc3_,"createRoom",param2,_loc8_);
- }
-
- private function handleSocketConnection(param1:Event) : void
- {
- var _loc2_:Object = null;
- var _loc3_:* = null;
- _loc2_ = {"t":"sys"};
- _loc3_ = "<ver v=\'" + this.majVersion.toString() + this.minVersion.toString() + this.subVersion.toString() + "\' />";
- send(_loc2_,"verChk",0,_loc3_);
- }
-
- public function set isConnected(param1:Boolean) : void
- {
- this.connected = param1;
- }
-
- public function get isConnected() : Boolean
- {
- return this.connected;
- }
- }
- }
-