Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.*;
- public dynamic class Button_downSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_emphasizedSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class focusRectSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_selectedOverSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_selectedDisabledSkin extends MovieClip {
- }
- }//package
- package it.gotoandplay.smartfoxserver {
- import flash.events.*;
- public class SFSEvent extends Event {
- public static const onExtensionResponse:String = "onExtensionResponse";
- public static const onConfigLoadFailure:String = "onConfigLoadFailure";
- public static const onBuddyListUpdate:String = "onBuddyListUpdate";
- public static const onUserLeaveRoom:String = "onUserLeaveRoom";
- public static const onRoomLeft:String = "onRoomLeft";
- public static const onRoundTripResponse:String = "onRoundTripResponse";
- public static const onRoomListUpdate:String = "onRoomListUpdate";
- public static const onConnection:String = "onConnection";
- public static const onBuddyListError:String = "onBuddyListError";
- public static const onJoinRoom:String = "onJoinRoom";
- public static const onBuddyRoom:String = "onBuddyRoom";
- public static const onUserEnterRoom:String = "onUserEnterRoom";
- public static const onDebugMessage:String = "onDebugMessage";
- public static const onAdminMessage:String = "onAdminMessage";
- public static const onPublicMessage:String = "onPublicMessage";
- public static const onModeratorMessage:String = "onModMessage";
- public static const onPrivateMessage:String = "onPrivateMessage";
- public static const onLogout:String = "onLogout";
- public static const onJoinRoomError:String = "onJoinRoomError";
- public static const onRoomAdded:String = "onRoomAdded";
- public static const onLogin:String = "onLogin";
- public static const onSpectatorSwitched:String = "onSpectatorSwitched";
- public static const onBuddyPermissionRequest:String = "onBuddyPermissionRequest";
- public static const onRoomDeleted:String = "onRoomDeleted";
- public static const onConnectionLost:String = "onConnectionLost";
- public static const onBuddyList:String = "onBuddyList";
- public static const onRoomVariablesUpdate:String = "onRoomVariablesUpdate";
- public static const onCreateRoomError:String = "onCreateRoomError";
- public static const onUserCountChange:String = "onUserCountChange";
- public static const onUserVariablesUpdate:String = "onUserVariablesUpdate";
- public static const onConfigLoadSuccess:String = "onConfigLoadSuccess";
- public static const onRandomKey:String = "onRandomKey";
- public static const onObjectReceived:String = "onObjectReceived";
- public var params:Object;
- public function SFSEvent(_arg1:String, _arg2:Object){
- super(_arg1);
- this.params = _arg2;
- }
- override public function toString():String{
- return (formatToString("SFSEvent", "type", "bubbles", "cancelable", "eventPhase", "params"));
- }
- override public function clone():Event{
- return (new SFSEvent(this.type, this.params));
- }
- }
- }//package it.gotoandplay.smartfoxserver
- package it.gotoandplay.smartfoxserver.http {
- import flash.events.*;
- public class HttpEvent extends Event {
- public static const onHttpClose:String = "onHttpClose";
- public static const onHttpError:String = "onHttpError";
- public static const onHttpConnect:String = "onHttpConnect";
- public static const onHttpData:String = "onHttpData";
- public var params:Object;
- private var evtType:String;
- public function HttpEvent(_arg1:String, _arg2:Object){
- super(_arg1);
- this.params = _arg2;
- this.evtType = _arg1;
- }
- override public function toString():String{
- return (formatToString("HttpEvent", "type", "bubbles", "cancelable", "eventPhase", "params"));
- }
- override public function clone():Event{
- return (new HttpEvent(this.evtType, this.params));
- }
- }
- }//package it.gotoandplay.smartfoxserver.http
- package it.gotoandplay.smartfoxserver.http {
- public interface IHttpProtocolCodec {
- function encode(_arg1:String, _arg2:String):String;
- function decode(_arg1:String):String;
- }
- }//package it.gotoandplay.smartfoxserver.http
- package it.gotoandplay.smartfoxserver.http {
- import flash.events.*;
- import flash.net.*;
- public class HttpConnection extends EventDispatcher {
- private static const servletUrl:String = "BlueBox/HttpBox.do";
- public static const HANDSHAKE_TOKEN:String = "#";
- private static const HANDSHAKE:String = "connect";
- private static const DISCONNECT:String = "disconnect";
- private static const CONN_LOST:String = "ERR#01";
- private static const paramName:String = "sfsHttp";
- private var port:int;
- private var connected:Boolean = false;
- private var sessionId:String;
- private var codec:IHttpProtocolCodec;
- private var urlLoaderFactory:LoaderFactory;
- private var urlRequest:URLRequest;
- private var ipAddr:String;
- private var webUrl:String;
- public function HttpConnection(){
- connected = false;
- super();
- codec = new RawProtocolCodec();
- urlLoaderFactory = new LoaderFactory(handleResponse, handleIOError);
- }
- public function close():void{
- send(DISCONNECT);
- }
- public function getSessionId():String{
- return (this.sessionId);
- }
- private function handleResponse(_arg1:Event):void{
- var _local2:URLLoader;
- var _local3:String;
- var _local4:HttpEvent;
- var _local5:Object;
- _local2 = (_arg1.target as URLLoader);
- _local3 = (_local2.data as String);
- _local5 = {};
- if (_local3.charAt(0) == HANDSHAKE_TOKEN){
- if (sessionId == null){
- sessionId = codec.decode(_local3);
- connected = true;
- _local5.sessionId = this.sessionId;
- _local5.success = true;
- _local4 = new HttpEvent(HttpEvent.onHttpConnect, _local5);
- dispatchEvent(_local4);
- } else {
- trace("**ERROR** SessionId is being rewritten");
- };
- } else {
- if (_local3.indexOf(CONN_LOST) == 0){
- _local5.data = {};
- _local4 = new HttpEvent(HttpEvent.onHttpClose, _local5);
- } else {
- _local5.data = _local3;
- _local4 = new HttpEvent(HttpEvent.onHttpData, _local5);
- };
- dispatchEvent(_local4);
- };
- }
- private function handleIOError(_arg1:IOErrorEvent):void{
- var _local2:Object;
- var _local3:HttpEvent;
- _local2 = {};
- _local2.message = _arg1.text;
- _local3 = new HttpEvent(HttpEvent.onHttpError, _local2);
- dispatchEvent(_local3);
- }
- public function connect(_arg1:String, _arg2:int=8080):void{
- this.ipAddr = _arg1;
- this.port = _arg2;
- this.webUrl = ((((("http://" + this.ipAddr) + ":") + this.port) + "/") + servletUrl);
- this.sessionId = null;
- urlRequest = new URLRequest(webUrl);
- urlRequest.method = URLRequestMethod.POST;
- send(HANDSHAKE);
- }
- public function send(_arg1:String):void{
- var _local2:URLVariables;
- var _local3:URLLoader;
- if (((((connected) || (((!(connected)) && ((_arg1 == HANDSHAKE)))))) || (((!(connected)) && ((_arg1 == "poll")))))){
- _local2 = new URLVariables();
- _local2[paramName] = codec.encode(this.sessionId, _arg1);
- urlRequest.data = _local2;
- if (_arg1 != "poll"){
- trace(("[ Send ]: " + urlRequest.data));
- };
- _local3 = urlLoaderFactory.getLoader();
- _local3.data = _local2;
- _local3.load(urlRequest);
- };
- }
- public function isConnected():Boolean{
- return (this.connected);
- }
- }
- }//package it.gotoandplay.smartfoxserver.http
- package it.gotoandplay.smartfoxserver.http {
- public class RawProtocolCodec implements IHttpProtocolCodec {
- private static const SESSION_ID_LEN:int = 32;
- public function encode(_arg1:String, _arg2:String):String{
- return (((((_arg1 == null)) ? "" : _arg1) + _arg2));
- }
- public function decode(_arg1:String):String{
- var _local2:String;
- if (_arg1.charAt(0) == HttpConnection.HANDSHAKE_TOKEN){
- _local2 = _arg1.substr(1, SESSION_ID_LEN);
- };
- return (_local2);
- }
- }
- }//package it.gotoandplay.smartfoxserver.http
- package it.gotoandplay.smartfoxserver.http {
- import flash.events.*;
- import flash.net.*;
- public class LoaderFactory {
- private static const DEFAULT_POOL_SIZE:int = 8;
- private var currentLoaderIndex:int;
- private var loadersPool:Array;
- public function LoaderFactory(_arg1:Function, _arg2:Function, _arg3:int=8){
- var _local4:int;
- var _local5:URLLoader;
- super();
- loadersPool = [];
- _local4 = 0;
- while (_local4 < _arg3) {
- _local5 = new URLLoader();
- _local5.dataFormat = URLLoaderDataFormat.TEXT;
- _local5.addEventListener(Event.COMPLETE, _arg1);
- _local5.addEventListener(IOErrorEvent.IO_ERROR, _arg2);
- _local5.addEventListener(IOErrorEvent.NETWORK_ERROR, _arg2);
- loadersPool.push(_local5);
- _local4++;
- };
- currentLoaderIndex = 0;
- }
- public function getLoader():URLLoader{
- var _local1:URLLoader;
- _local1 = loadersPool[currentLoaderIndex];
- currentLoaderIndex++;
- if (currentLoaderIndex >= loadersPool.length){
- currentLoaderIndex = 0;
- };
- return (_local1);
- }
- }
- }//package it.gotoandplay.smartfoxserver.http
- package it.gotoandplay.smartfoxserver {
- import flash.events.*;
- import flash.net.*;
- import it.gotoandplay.smartfoxserver.data.*;
- import it.gotoandplay.smartfoxserver.util.*;
- import com.adobe.serialization.json.*;
- import it.gotoandplay.smartfoxserver.handlers.*;
- import it.gotoandplay.smartfoxserver.http.*;
- import flash.utils.*;
- public class SmartFoxClient extends EventDispatcher {
- public static const CONNECTION_MODE_HTTP:String = "http";
- private static const MSG_JSON:String = "{";
- public static const MODMSG_TO_USER:String = "u";
- public static const XTMSG_TYPE_XML:String = "xml";
- private static const MSG_XML:String = "<";
- public static const MODMSG_TO_ROOM:String = "r";
- private static const EOM:int = 0;
- public static const XTMSG_TYPE_STR:String = "str";
- public static const CONNECTION_MODE_SOCKET:String = "socket";
- public static const MODMSG_TO_ZONE:String = "z";
- public static const CONNECTION_MODE_DISCONNECTED:String = "disconnected";
- public static const XTMSG_TYPE_JSON:String = "json";
- private static var MAX_POLL_SPEED:Number = 10000;
- private static var DEFAULT_POLL_SPEED:Number = 750;
- private static var MIN_POLL_SPEED:Number = 0;
- private static var HTTP_POLL_REQUEST:String = "poll";
- private static var MSG_STR:String = "%";
- private var connected:Boolean;
- private var autoConnectOnConfigSuccess:Boolean = false;
- private var benchStartTime:int;
- private var roomList:Array;
- private var _httpPollSpeed:int;
- private var minVersion:Number;
- public var httpPort:int = 8080;
- public var myUserId:int;
- public var blueBoxPort:Number = 0;
- public var debug:Boolean;
- private var byteBuffer:ByteArray;
- private var subVersion:Number;
- public var buddyList:Array;
- public var port:int = 9339;
- private var messageHandlers:Array;
- public var defaultZone:String;
- private var isHttpMode:Boolean = false;
- private var httpConnection:HttpConnection;
- private var majVersion:Number;
- private var socketConnection:Socket;
- public var blueBoxIpAddress:String;
- private var sysHandler:SysHandler;
- public var myBuddyVars:Array;
- public var myUserName:String;
- public var ipAddress:String;
- public var playerId:int;
- public var smartConnect:Boolean = true;
- public var amIModerator:Boolean;
- private var extHandler:ExtHandler;
- public var changingRoom:Boolean;
- public var activeRoomId:int;
- public function SmartFoxClient(_arg1:Boolean=false){
- autoConnectOnConfigSuccess = false;
- port = 9339;
- isHttpMode = false;
- _httpPollSpeed = DEFAULT_POLL_SPEED;
- blueBoxPort = 0;
- smartConnect = true;
- httpPort = 8080;
- super();
- this.majVersion = 1;
- this.minVersion = 5;
- this.subVersion = 4;
- this.activeRoomId = -1;
- this.debug = _arg1;
- this.messageHandlers = [];
- setupMessageHandlers();
- socketConnection = new Socket();
- socketConnection.addEventListener(Event.CONNECT, handleSocketConnection);
- socketConnection.addEventListener(Event.CLOSE, handleSocketDisconnection);
- socketConnection.addEventListener(ProgressEvent.SOCKET_DATA, handleSocketData);
- socketConnection.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
- socketConnection.addEventListener(IOErrorEvent.NETWORK_ERROR, handleIOError);
- socketConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError);
- httpConnection = new HttpConnection();
- httpConnection.addEventListener(HttpEvent.onHttpConnect, handleHttpConnect);
- httpConnection.addEventListener(HttpEvent.onHttpClose, handleHttpClose);
- httpConnection.addEventListener(HttpEvent.onHttpData, handleHttpData);
- httpConnection.addEventListener(HttpEvent.onHttpError, handleHttpError);
- byteBuffer = new ByteArray();
- }
- private function getXmlUserVariable(_arg1:Object):String{
- var _local2:String;
- var _local3:*;
- var _local4:String;
- var _local5:String;
- var _local6:String;
- _local2 = "<vars>";
- for (_local6 in _arg1) {
- _local3 = _arg1[_local6];
- _local5 = typeof(_local3);
- _local4 = null;
- if (_local5 == "boolean"){
- _local4 = "b";
- _local3 = ((_local3) ? "1" : "0");
- } else {
- if (_local5 == "number"){
- _local4 = "n";
- } else {
- if (_local5 == "string"){
- _local4 = "s";
- } else {
- if ((((((_local3 == null)) && ((_local5 == "object")))) || ((_local5 == "undefined")))){
- _local4 = "x";
- _local3 = "";
- };
- };
- };
- };
- if (_local4 != null){
- _local2 = (_local2 + (((((("<var n='" + _local6) + "' t='") + _local4) + "'><![CDATA[") + _local3) + "]]></var>"));
- };
- };
- _local2 = (_local2 + "</vars>");
- return (_local2);
- }
- private function jsonReceived(_arg1:String):void{
- var _local2:Object;
- var _local3:String;
- var _local4:IMessageHandler;
- _local2 = JSON.decode(_arg1);
- _local3 = _local2["t"];
- _local4 = messageHandlers[_local3];
- if (_local4 != null){
- _local4.handleMessage(_local2["b"], XTMSG_TYPE_JSON);
- };
- }
- private function onConfigLoadFailure(_arg1:IOErrorEvent):void{
- var _local2:Object;
- var _local3:SFSEvent;
- _local2 = {message:_arg1.text};
- _local3 = new SFSEvent(SFSEvent.onConfigLoadFailure, _local2);
- dispatchEvent(_local3);
- }
- public function getActiveRoom():Room{
- return (roomList[activeRoomId]);
- }
- public function getBuddyRoom(_arg1:Object):void{
- if (_arg1.id != -1){
- send({
- t:"sys",
- bid:_arg1.id
- }, "roomB", -1, (("<b id='" + _arg1.id) + "' />"));
- };
- }
- private function checkBuddyDuplicates(_arg1:String):Boolean{
- var _local2:Boolean;
- var _local3:Object;
- _local2 = false;
- for each (_local3 in buddyList) {
- if (_local3.name == _arg1){
- _local2 = true;
- break;
- };
- };
- return (_local2);
- }
- private function getXmlRoomVariable(_arg1:Object):String{
- var _local2:String;
- var _local3:*;
- var _local4:String;
- var _local5:String;
- var _local6:String;
- var _local7:String;
- _local2 = _arg1.name.toString();
- _local3 = _arg1.val;
- _local4 = ((_arg1.priv) ? "1" : "0");
- _local5 = ((_arg1.persistent) ? "1" : "0");
- _local6 = null;
- _local7 = typeof(_local3);
- if (_local7 == "boolean"){
- _local6 = "b";
- _local3 = ((_local3) ? "1" : "0");
- } else {
- if (_local7 == "number"){
- _local6 = "n";
- } else {
- if (_local7 == "string"){
- _local6 = "s";
- } else {
- if ((((((_local3 == null)) && ((_local7 == "object")))) || ((_local7 == "undefined")))){
- _local6 = "x";
- _local3 = "";
- };
- };
- };
- };
- if (_local6 != null){
- return ((((((((((("<var n='" + _local2) + "' t='") + _local6) + "' pr='") + _local4) + "' pe='") + _local5) + "'><![CDATA[") + _local3) + "]]></var>"));
- };
- return ("");
- }
- public function getBuddyById(_arg1:int):Object{
- var _local2:Object;
- for each (_local2 in buddyList) {
- if (_local2.id == _arg1){
- return (_local2);
- };
- };
- return (null);
- }
- private function handleSocketDisconnection(_arg1:Event):void{
- var _local2:SFSEvent;
- initialize();
- _local2 = new SFSEvent(SFSEvent.onConnectionLost, {});
- dispatchEvent(_local2);
- }
- private function handleSocketError(_arg1:SecurityErrorEvent):void{
- debugMessage(("Socket Error: " + _arg1.text));
- }
- private function xmlReceived(_arg1:String):void{
- var _local2:XML;
- var _local3:String;
- var _local4:String;
- var _local5:int;
- var _local6:IMessageHandler;
- _local2 = new XML(_arg1);
- _local3 = _local2.@t;
- _local4 = _local2.body.@action;
- _local5 = _local2.body.@r;
- _local6 = messageHandlers[_local3];
- if (_local6 != null){
- _local6.handleMessage(_local2, XTMSG_TYPE_XML);
- };
- }
- public function switchSpectator(_arg1:int=-1):void{
- if (_arg1 == -1){
- _arg1 = activeRoomId;
- };
- send({t:"sys"}, "swSpec", _arg1, "");
- }
- public function roundTripBench():void{
- this.benchStartTime = getTimer();
- send({t:"sys"}, "roundTrip", activeRoomId, "");
- }
- private function handleHttpError(_arg1:HttpEvent):void{
- trace("HttpError");
- if (!connected){
- dispatchConnectionError();
- };
- }
- public function joinRoom(_arg1, _arg2:String="", _arg3:Boolean=false, _arg4:Boolean=false, _arg5:int=-1):void{
- var _local6:int;
- var _local7:int;
- var _local8:Room;
- var _local9:Object;
- var _local10:String;
- var _local11:int;
- var _local12:String;
- _local6 = -1;
- _local7 = ((_arg3) ? 1 : 0);
- if (!this.changingRoom){
- if (typeof(_arg1) == "number"){
- _local6 = int(_arg1);
- } else {
- if (typeof(_arg1) == "string"){
- for each (_local8 in roomList) {
- if (_local8.getName() == _arg1){
- _local6 = _local8.getId();
- break;
- };
- };
- };
- };
- if (_local6 != -1){
- _local9 = {t:"sys"};
- _local10 = ((_arg4) ? "0" : "1");
- _local11 = (((_arg5 > -1)) ? _arg5 : activeRoomId);
- if (activeRoomId == -1){
- _local10 = "0";
- _local11 = -1;
- };
- _local12 = (((((((((("<room id='" + _local6) + "' pwd='") + _arg2) + "' spec='") + _local7) + "' leave='") + _local10) + "' old='") + _local11) + "' />");
- send(_local9, "joinRoom", activeRoomId, _local12);
- changingRoom = true;
- } else {
- debugMessage("SmartFoxError: requested room to join does not exist!");
- };
- };
- }
- public function get httpPollSpeed():int{
- return (this._httpPollSpeed);
- }
- public function uploadFile(_arg1:FileReference, _arg2:int=-1, _arg3:String="", _arg4:int=-1):void{
- if (_arg2 == -1){
- _arg2 = this.myUserId;
- };
- if (_arg3 == ""){
- _arg3 = this.myUserName;
- };
- if (_arg4 == -1){
- _arg4 = this.httpPort;
- };
- _arg1.upload(new URLRequest(((((((("http://" + this.ipAddress) + ":") + _arg4) + "/default/Upload.py?id=") + _arg2) + "&nick=") + _arg3)));
- debugMessage(((((((("[UPLOAD]: http://" + this.ipAddress) + ":") + _arg4) + "/default/Upload.py?id=") + _arg2) + "&nick=") + _arg3));
- }
- private function handleHttpClose(_arg1:HttpEvent):void{
- var _local2:SFSEvent;
- initialize();
- _local2 = new SFSEvent(SFSEvent.onConnectionLost, {});
- dispatchEvent(_local2);
- }
- private function makeXmlHeader(_arg1:Object):String{
- var _local2:String;
- var _local3:String;
- _local2 = "<msg";
- for (_local3 in _arg1) {
- _local2 = (_local2 + ((((" " + _local3) + "='") + _arg1[_local3]) + "'"));
- };
- _local2 = (_local2 + ">");
- return (_local2);
- }
- public function getRoomByName(_arg1:String):Room{
- var _local2:Room;
- var _local3:Room;
- _local2 = null;
- for each (_local3 in roomList) {
- if (_local3.getName() == _arg1){
- _local2 = _local3;
- break;
- };
- };
- return (_local2);
- }
- private function debugMessage(_arg1:String):void{
- var _local2:SFSEvent;
- if (this.debug){
- trace(_arg1);
- _local2 = new SFSEvent(SFSEvent.onDebugMessage, {message:_arg1});
- dispatchEvent(_local2);
- };
- }
- public function loadBuddyList():void{
- send({t:"sys"}, "loadB", -1, "");
- }
- private function handleSocketConnection(_arg1:Event):void{
- var _local2:Object;
- var _local3:String;
- _local2 = {t:"sys"};
- _local3 = (((("<ver v='" + this.majVersion.toString()) + this.minVersion.toString()) + this.subVersion.toString()) + "' />");
- send(_local2, "verChk", 0, _local3);
- }
- public function leaveRoom(_arg1:int):void{
- var _local2:Object;
- var _local3:String;
- _local2 = {t:"sys"};
- _local3 = (("<rm id='" + _arg1) + "' />");
- send(_local2, "leaveRoom", _arg1, _local3);
- }
- private function addMessageHandler(_arg1:String, _arg2:IMessageHandler):void{
- if (this.messageHandlers[_arg1] == null){
- this.messageHandlers[_arg1] = _arg2;
- } else {
- debugMessage((("Warning, message handler called: " + _arg1) + " already exist!"));
- };
- }
- public function set httpPollSpeed(_arg1:int):void{
- if ((((_arg1 >= 0)) && ((_arg1 <= 10000)))){
- this._httpPollSpeed = _arg1;
- };
- }
- public function getRoom(_arg1:int):Room{
- return (roomList[_arg1]);
- }
- private function handleSocketData(_arg1:Event):void{
- var _local2:int;
- var _local3:int;
- _local2 = socketConnection.bytesAvailable;
- while (--_local2 >= 0) {
- _local3 = socketConnection.readByte();
- if (_local3 != 0){
- byteBuffer.writeByte(_local3);
- } else {
- handleMessage(byteBuffer.toString());
- byteBuffer = new ByteArray();
- };
- };
- }
- public function setBuddyVariables(_arg1:Array):void{
- var _local2:Object;
- var _local3:String;
- var _local4:String;
- var _local5:String;
- _local2 = {t:"sys"};
- _local3 = "<vars>";
- for (_local4 in _arg1) {
- _local5 = _arg1[_local4];
- if (myBuddyVars[_local4] != _local5){
- myBuddyVars[_local4] = _local5;
- _local3 = (_local3 + (((("<var n='" + _local4) + "'><![CDATA[") + _local5) + "]]></var>"));
- };
- };
- _local3 = (_local3 + "</vars>");
- this.send(_local2, "setBvars", -1, _local3);
- }
- private function tryBlueBoxConnection(_arg1:ErrorEvent):void{
- var _local2:String;
- var _local3:int;
- if (!connected){
- if (smartConnect){
- debugMessage("Socket connection failed. Trying BlueBox");
- isHttpMode = true;
- _local2 = ((blueBoxIpAddress)!=null) ? blueBoxIpAddress : ipAddress;
- _local3 = ((blueBoxPort)!=0) ? blueBoxPort : httpPort;
- httpConnection.connect(_local2, _local3);
- } else {
- dispatchConnectionError();
- };
- } else {
- dispatchEvent(_arg1);
- debugMessage(("[WARN] Connection error: " + _arg1.text));
- };
- }
- public function getAllRooms():Array{
- return (roomList);
- }
- private function strReceived(_arg1:String):void{
- var _local2:Array;
- var _local3:String;
- var _local4:IMessageHandler;
- _local2 = _arg1.substr(1, (_arg1.length - 2)).split(MSG_STR);
- _local3 = _local2[0];
- _local4 = messageHandlers[_local3];
- if (_local4 != null){
- _local4.handleMessage(_local2.splice(1, (_local2.length - 1)), XTMSG_TYPE_STR);
- };
- }
- private function handleSecurityError(_arg1:SecurityErrorEvent):void{
- tryBlueBoxConnection(_arg1);
- }
- private function handleIOError(_arg1:IOErrorEvent):void{
- tryBlueBoxConnection(_arg1);
- }
- private function dispatchConnectionError():void{
- var _local1:Object;
- var _local2:SFSEvent;
- _local1 = {};
- _local1.success = false;
- _local1.error = "I/O Error";
- _local2 = new SFSEvent(SFSEvent.onConnection, _local1);
- dispatchEvent(_local2);
- }
- public function login(_arg1:String, _arg2:String, _arg3:String):void{
- var _local4:Object;
- var _local5:String;
- _local4 = {t:"sys"};
- _local5 = (((((("<login z='" + _arg1) + "'><nick><![CDATA[") + _arg2) + "]]></nick><pword><![CDATA[") + _arg3) + "]]></pword></login>");
- send(_local4, "login", 0, _local5);
- }
- public function __logout():void{
- initialize(true);
- }
- private function setupMessageHandlers():void{
- sysHandler = new SysHandler(this);
- extHandler = new ExtHandler(this);
- addMessageHandler("sys", sysHandler);
- addMessageHandler("xt", extHandler);
- }
- public function autoJoin():void{
- var _local1:Object;
- _local1 = {t:"sys"};
- this.send(_local1, "autoJoin", ((this.activeRoomId) ? this.activeRoomId : -1), "");
- }
- private function onConfigLoadSuccess(_arg1:Event):void{
- var _local2:URLLoader;
- var _local3:XML;
- var _local4:SFSEvent;
- _local2 = (_arg1.target as URLLoader);
- _local3 = new XML(_local2.data);
- this.ipAddress = (this.blueBoxIpAddress = _local3.ip);
- this.port = int(_local3.port);
- this.defaultZone = _local3.zone;
- if (_local3.blueBoxIpAddress != undefined){
- this.blueBoxIpAddress = _local3.blueBoxIpAddress;
- };
- if (_local3.blueBoxPort != undefined){
- this.blueBoxPort = _local3.blueBoxPort;
- };
- if (_local3.debug != undefined){
- this.debug = (((_local3.debug.toLowerCase() == "true")) ? true : false);
- };
- if (_local3.smartConnect != undefined){
- this.smartConnect = (((_local3.smartConnect.toLowerCase() == "true")) ? true : false);
- };
- if (_local3.httpPort != undefined){
- this.httpPort = int(_local3.httpPort);
- };
- if (_local3.httpPollSpeed != undefined){
- this.httpPollSpeed = int(_local3.httpPollSpeed);
- };
- if (_local3.rawProtocolSeparator != undefined){
- rawProtocolSeparator = _local3.rawProtocolSeparator;
- };
- if (autoConnectOnConfigSuccess){
- this.connect(ipAddress, port);
- } else {
- _local4 = new SFSEvent(SFSEvent.onConfigLoadSuccess, {});
- dispatchEvent(_local4);
- };
- }
- public function logout():void{
- var _local1:Object;
- _local1 = {t:"sys"};
- send(_local1, "logout", -1, "");
- }
- public function getRoomList():void{
- var _local1:Object;
- _local1 = {t:"sys"};
- send(_local1, "getRmList", activeRoomId, "");
- }
- public function getConnectionMode():String{
- var _local1:String;
- _local1 = CONNECTION_MODE_DISCONNECTED;
- if (this.isConnected){
- if (this.isHttpMode){
- _local1 = CONNECTION_MODE_HTTP;
- } else {
- _local1 = CONNECTION_MODE_SOCKET;
- };
- };
- return (_local1);
- }
- public function disconnect():void{
- connected = false;
- if (!isHttpMode){
- socketConnection.close();
- } else {
- httpConnection.close();
- };
- sysHandler.dispatchDisconnection();
- }
- public function sendJson(_arg1:String):void{
- debugMessage((("[Sending - JSON]: " + _arg1) + "\n"));
- if (isHttpMode){
- httpConnection.send(_arg1);
- } else {
- writeToSocket(_arg1);
- };
- }
- private function send(_arg1:Object, _arg2:String, _arg3:Number, _arg4:String):void{
- var _local5:String;
- _local5 = makeXmlHeader(_arg1);
- _local5 = (_local5 + ((((((("<body action='" + _arg2) + "' r='") + _arg3) + "'>") + _arg4) + "</body>") + closeHeader()));
- debugMessage((("[Sending]: " + _local5) + "\n"));
- if (isHttpMode){
- httpConnection.send(_local5);
- } else {
- writeToSocket(_local5);
- };
- }
- public function setRoomVariables(_arg1:Array, _arg2:int=-1, _arg3:Boolean=true):void{
- var _local4:Object;
- var _local5:String;
- var _local6:Object;
- if (_arg2 == -1){
- _arg2 = activeRoomId;
- };
- _local4 = {t:"sys"};
- if (_arg3){
- _local5 = "<vars>";
- } else {
- _local5 = "<vars so='0'>";
- };
- for each (_local6 in _arg1) {
- _local5 = (_local5 + getXmlRoomVariable(_local6));
- };
- _local5 = (_local5 + "</vars>");
- send(_local4, "setRvars", _arg2, _local5);
- }
- public function addBuddy(_arg1:String):void{
- var _local2:String;
- if (((!((_arg1 == myUserName))) && (!(checkBuddyDuplicates(_arg1))))){
- _local2 = (("<n>" + _arg1) + "</n>");
- send({t:"sys"}, "addB", -1, _local2);
- };
- }
- public function clearRoomList():void{
- this.roomList = [];
- }
- public function getVersion():String{
- return (((((this.majVersion + ".") + this.minVersion) + ".") + this.subVersion));
- }
- public function setUserVariables(_arg1:Object, _arg2:int=-1):void{
- var _local3:Object;
- var _local4:Room;
- var _local5:User;
- var _local6:String;
- if (_arg2 == -1){
- _arg2 = activeRoomId;
- };
- _local3 = {t:"sys"};
- _local4 = getActiveRoom();
- if (_local4 != null){
- _local5 = _local4.getUser(myUserId);
- if (_local5 != null){
- _local5.setVariables(_arg1);
- _local6 = getXmlUserVariable(_arg1);
- send(_local3, "setUvars", _arg2, _local6);
- };
- };
- }
- public function sendPrivateMessage(_arg1:String, _arg2:int, _arg3:int=-1):void{
- var _local4:Object;
- var _local5:String;
- if (_arg3 == -1){
- _arg3 = activeRoomId;
- };
- _local4 = {t:"sys"};
- _local5 = (((("<txt rcp='" + _arg2) + "'><![CDATA[") + Entities.encodeEntities(_arg1)) + "]]></txt>");
- send(_local4, "prvMsg", _arg3, _local5);
- }
- public function getBuddyByName(_arg1:String):Object{
- var _local2:Object;
- for each (_local2 in buddyList) {
- if (_local2.name == _arg1){
- return (_local2);
- };
- };
- return (null);
- }
- private function closeHeader():String{
- return ("</msg>");
- }
- public function sendPublicMessage(_arg1:String, _arg2:int=-1):void{
- var _local3:Object;
- var _local4:String;
- if (_arg2 == -1){
- _arg2 = activeRoomId;
- };
- _local3 = {t:"sys"};
- _local4 = (("<txt><![CDATA[" + Entities.encodeEntities(_arg1)) + "]]></txt>");
- send(_local3, "pubMsg", _arg2, _local4);
- }
- public function clearBuddyList():void{
- var _local1:Object;
- var _local2:SFSEvent;
- buddyList = [];
- send({t:"sys"}, "clearB", -1, "");
- _local1 = {};
- _local1.list = buddyList;
- _local2 = new SFSEvent(SFSEvent.onBuddyList, _local1);
- dispatchEvent(_local2);
- }
- public function sendString(_arg1:String):void{
- debugMessage((("[Sending - STR]: " + _arg1) + "\n"));
- if (isHttpMode){
- httpConnection.send(_arg1);
- } else {
- writeToSocket(_arg1);
- };
- }
- public function removeBuddy(_arg1:String):void{
- var _local2:Boolean;
- var _local3:Object;
- var _local4:String;
- var _local5:Object;
- var _local6:String;
- var _local7:Object;
- var _local8:SFSEvent;
- _local2 = false;
- for (_local4 in buddyList) {
- _local3 = buddyList[_local4];
- if (_local3.name == _arg1){
- delete buddyList[_local4];
- _local2 = true;
- break;
- };
- };
- if (_local2){
- _local5 = {t:"sys"};
- _local6 = (("<n>" + _arg1) + "</n>");
- send(_local5, "remB", -1, _local6);
- _local7 = {};
- _local7.list = buddyList;
- _local8 = new SFSEvent(SFSEvent.onBuddyList, _local7);
- dispatchEvent(_local8);
- };
- }
- public function setBuddyBlockStatus(_arg1:String, _arg2:Boolean):void{
- var _local3:Object;
- var _local4:String;
- var _local5:Object;
- var _local6:SFSEvent;
- _local3 = getBuddyByName(_arg1);
- if (_local3 != null){
- if (_local3.blocked != _arg2){
- _local3.isBlocked = _arg2;
- _local4 = (((("<n x='" + ((_arg2) ? "1" : "0")) + "'>") + _arg1) + "</n>");
- send({t:"sys"}, "setB", -1, _local4);
- _local5 = {};
- _local5.buddy = _local3;
- _local6 = new SFSEvent(SFSEvent.onBuddyListUpdate, _local5);
- dispatchEvent(_local6);
- };
- };
- }
- private function handleMessage(_arg1:String):void{
- var _local2:String;
- if (_arg1 != "ok"){
- debugMessage((((("[ RECEIVED ]: " + _arg1) + ", (len: ") + _arg1.length) + ")"));
- };
- _local2 = _arg1.charAt(0);
- if (_local2 == MSG_XML){
- xmlReceived(_arg1);
- } else {
- if (_local2 == MSG_STR){
- strReceived(_arg1);
- } else {
- if (_local2 == MSG_JSON){
- jsonReceived(_arg1);
- };
- };
- };
- }
- public function getUploadPath():String{
- return ((((("http://" + this.ipAddress) + ":") + this.httpPort) + "/default/uploads/"));
- }
- private function handleHttpData(_arg1:HttpEvent):void{
- var _local2:String;
- var _local3:Array;
- var _local4:String;
- var _local5:int;
- _local2 = (_arg1.params.data as String);
- _local3 = _local2.split("\n");
- if (_local3[0] != ""){
- _local5 = 0;
- while (_local5 < (_local3.length - 1)) {
- _local4 = _local3[_local5];
- if (_local4.length > 0){
- handleMessage(_local4);
- };
- _local5++;
- };
- if (this._httpPollSpeed > 0){
- setTimeout(this.handleDelayedPoll, this._httpPollSpeed);
- } else {
- handleDelayedPoll();
- };
- };
- }
- public function loadConfig(_arg1:String="config.xml", _arg2:Boolean=true):void{
- var _local3:URLLoader;
- this.autoConnectOnConfigSuccess = _arg2;
- _local3 = new URLLoader();
- _local3.addEventListener(Event.COMPLETE, onConfigLoadSuccess);
- _local3.addEventListener(IOErrorEvent.IO_ERROR, onConfigLoadFailure);
- _local3.load(new URLRequest(_arg1));
- }
- public function set rawProtocolSeparator(_arg1:String):void{
- if (((!((_arg1 == "<"))) && (!((_arg1 == "{"))))){
- MSG_STR = _arg1;
- };
- }
- private function writeToSocket(_arg1:String):void{
- var _local2:ByteArray;
- _local2 = new ByteArray();
- _local2.writeMultiByte(_arg1, "utf-8");
- _local2.writeByte(0);
- socketConnection.writeBytes(_local2);
- socketConnection.flush();
- }
- private function initialize(_arg1:Boolean=false):void{
- this.changingRoom = false;
- this.amIModerator = false;
- this.playerId = -1;
- this.activeRoomId = -1;
- this.myUserId = -1;
- this.myUserName = "";
- this.roomList = [];
- this.buddyList = [];
- this.myBuddyVars = [];
- if (!_arg1){
- this.connected = false;
- this.isHttpMode = false;
- };
- }
- public function sendXtMessage(_arg1:String, _arg2:String, _arg3, _arg4:String="xml", _arg5:int=-1):void{
- var _local6:Object;
- var _local7:Object;
- var _local8:String;
- var _local9:String;
- var _local10:Number;
- var _local11:Object;
- var _local12:Object;
- var _local13:String;
- if (_arg5 == -1){
- _arg5 = activeRoomId;
- };
- if (_arg4 == XTMSG_TYPE_XML){
- _local6 = {t:"xt"};
- _local7 = {
- name:_arg1,
- cmd:_arg2,
- param:_arg3
- };
- _local8 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_local7)) + "]]>");
- send(_local6, "xtReq", _arg5, _local8);
- } else {
- if (_arg4 == XTMSG_TYPE_STR){
- _local9 = ((((((((MSG_STR + "xt") + MSG_STR) + _arg1) + MSG_STR) + _arg2) + MSG_STR) + _arg5) + MSG_STR);
- _local10 = 0;
- while (_local10 < _arg3.length) {
- _local9 = (_local9 + (_arg3[_local10].toString() + MSG_STR));
- _local10++;
- };
- sendString(_local9);
- } else {
- if (_arg4 == XTMSG_TYPE_JSON){
- _local11 = {};
- _local11.x = _arg1;
- _local11.c = _arg2;
- _local11.r = _arg5;
- _local11.p = _arg3;
- _local12 = {};
- _local12.t = "xt";
- _local12.b = _local11;
- _local13 = JSON.encode(_local12);
- sendJson(_local13);
- };
- };
- };
- }
- public function sendObjectToGroup(_arg1:Object, _arg2:Array, _arg3:int=-1):void{
- var _local4:String;
- var _local5:String;
- var _local6:Object;
- var _local7:String;
- if (_arg3 == -1){
- _arg3 = activeRoomId;
- };
- _local4 = "";
- for (_local5 in _arg2) {
- if (!isNaN(_arg2[_local5])){
- _local4 = (_local4 + (_arg2[_local5] + ","));
- };
- };
- _local4 = _local4.substr(0, (_local4.length - 1));
- _arg1._$$_ = _local4;
- _local6 = {t:"sys"};
- _local7 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_arg1)) + "]]>");
- send(_local6, "asObjG", _arg3, _local7);
- }
- public function get rawProtocolSeparator():String{
- return (MSG_STR);
- }
- public function getRandomKey():void{
- send({t:"sys"}, "rndK", -1, "");
- }
- public function sendObject(_arg1:Object, _arg2:int=-1):void{
- var _local3:String;
- var _local4:Object;
- if (_arg2 == -1){
- _arg2 = activeRoomId;
- };
- _local3 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_arg1)) + "]]>");
- _local4 = {t:"sys"};
- send(_local4, "asObj", _arg2, _local3);
- }
- public function connect(_arg1:String, _arg2:int=9339):void{
- if (!connected){
- initialize();
- this.ipAddress = _arg1;
- this.port = _arg2;
- socketConnection.connect(_arg1, _arg2);
- } else {
- debugMessage("*** ALREADY CONNECTED ***");
- };
- }
- public function sendBuddyPermissionResponse(_arg1:Boolean, _arg2:String):void{
- var _local3:Object;
- var _local4:String;
- _local3 = {t:"sys"};
- _local4 = (((("<n res='" + ((_arg1) ? "g" : "r")) + "'>") + _arg2) + "</n>");
- send(_local3, "bPrm", -1, _local4);
- }
- public function sendModeratorMessage(_arg1:String, _arg2:String, _arg3:int=-1):void{
- var _local4:Object;
- var _local5:String;
- _local4 = {t:"sys"};
- _local5 = (((((("<txt t='" + _arg2) + "' id='") + _arg3) + "'><![CDATA[") + Entities.encodeEntities(_arg1)) + "]]></txt>");
- send(_local4, "modMsg", activeRoomId, _local5);
- }
- public function getBenchStartTime():int{
- return (this.benchStartTime);
- }
- public function createRoom(_arg1:Object, _arg2:int=-1):void{
- var _local3:Object;
- var _local4:String;
- var _local5:String;
- var _local6:String;
- var _local7:String;
- var _local8:String;
- var _local9:String;
- if (_arg2 == -1){
- _arg2 = activeRoomId;
- };
- _local3 = {t:"sys"};
- _local4 = ((_arg1.isGame) ? "1" : "0");
- _local5 = "1";
- _local6 = (((_arg1.maxUsers == null)) ? "0" : String(_arg1.maxUsers));
- _local7 = (((_arg1.maxSpectators == null)) ? "0" : String(_arg1.maxSpectators));
- if (((_arg1.isGame) && (!((_arg1.exitCurrent == null))))){
- _local5 = ((_arg1.exitCurrent) ? "1" : "0");
- };
- _local8 = (((((("<room tmp='1' gam='" + _local4) + "' spec='") + _local7) + "' exit='") + _local5) + "'>");
- _local8 = (_local8 + (("<name><![CDATA[" + (((_arg1.name == null)) ? "" : _arg1.name)) + "]]></name>"));
- _local8 = (_local8 + (("<pwd><![CDATA[" + (((_arg1.password == null)) ? "" : _arg1.password)) + "]]></pwd>"));
- _local8 = (_local8 + (("<max>" + _local6) + "</max>"));
- if (_arg1.uCount != null){
- _local8 = (_local8 + (("<uCnt>" + ((_arg1.uCount) ? "1" : "0")) + "</uCnt>"));
- };
- if (_arg1.extension != null){
- _local8 = (_local8 + ("<xt n='" + _arg1.extension.name));
- _local8 = (_local8 + (("' s='" + _arg1.extension.script) + "' />"));
- };
- if (_arg1.vars == null){
- _local8 = (_local8 + "<vars></vars>");
- } else {
- _local8 = (_local8 + "<vars>");
- for (_local9 in _arg1.vars) {
- _local8 = (_local8 + getXmlRoomVariable(_arg1.vars[_local9]));
- };
- _local8 = (_local8 + "</vars>");
- };
- _local8 = (_local8 + "</room>");
- send(_local3, "createRoom", _arg2, _local8);
- }
- private function handleDelayedPoll():void{
- httpConnection.send(HTTP_POLL_REQUEST);
- }
- private function handleHttpConnect(_arg1:HttpEvent):void{
- this.handleSocketConnection(null);
- connected = true;
- httpConnection.send(HTTP_POLL_REQUEST);
- }
- public function set isConnected(_arg1:Boolean):void{
- this.connected = _arg1;
- }
- public function get isConnected():Boolean{
- return (this.connected);
- }
- }
- }//package it.gotoandplay.smartfoxserver
- package it.gotoandplay.smartfoxserver.util {
- public class ObjectSerializer {
- private static var instance:ObjectSerializer;
- private var eof:String;
- private var debug:Boolean;
- private var tabs:String;
- public function ObjectSerializer(_arg1:Boolean=false){
- this.tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t";
- setDebug(_arg1);
- }
- public static function getInstance(_arg1:Boolean=false):ObjectSerializer{
- if (instance == null){
- instance = new ObjectSerializer(_arg1);
- };
- return (instance);
- }
- public function serialize(_arg1:Object):String{
- var _local2:Object;
- _local2 = {};
- obj2xml(_arg1, _local2);
- return (_local2.xmlStr);
- }
- private function obj2xml(_arg1:Object, _arg2:Object, _arg3:int=0, _arg4:String=""):void{
- var _local5:String;
- var _local6:String;
- var _local7:String;
- var _local8:*;
- if (_arg3 == 0){
- _arg2.xmlStr = ("<dataObj>" + this.eof);
- } else {
- if (this.debug){
- _arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, _arg3));
- };
- _local6 = (((_arg1 is Array)) ? "a" : "o");
- _arg2.xmlStr = (_arg2.xmlStr + ((((("<obj t='" + _local6) + "' o='") + _arg4) + "'>") + this.eof));
- };
- for (_local5 in _arg1) {
- _local7 = typeof(_arg1[_local5]);
- _local8 = _arg1[_local5];
- if ((((((((_local7 == "boolean")) || ((_local7 == "number")))) || ((_local7 == "string")))) || ((_local7 == "null")))){
- if (_local7 == "boolean"){
- _local8 = Number(_local8);
- } else {
- if (_local7 == "null"){
- _local7 = "x";
- _local8 = "";
- } else {
- if (_local7 == "string"){
- _local8 = Entities.encodeEntities(_local8);
- };
- };
- };
- if (this.debug){
- _arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, (_arg3 + 1)));
- };
- _arg2.xmlStr = (_arg2.xmlStr + ((((((("<var n='" + _local5) + "' t='") + _local7.substr(0, 1)) + "'>") + _local8) + "</var>") + this.eof));
- } else {
- if (_local7 == "object"){
- obj2xml(_local8, _arg2, (_arg3 + 1), _local5);
- if (this.debug){
- _arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, (_arg3 + 1)));
- };
- _arg2.xmlStr = (_arg2.xmlStr + ("</obj>" + this.eof));
- };
- };
- };
- if (_arg3 == 0){
- _arg2.xmlStr = (_arg2.xmlStr + ("</dataObj>" + this.eof));
- };
- }
- private function setDebug(_arg1:Boolean):void{
- this.debug = _arg1;
- if (this.debug){
- this.eof = "\n";
- } else {
- this.eof = "";
- };
- }
- private function xml2obj(_arg1:XML, _arg2:Object):void{
- var _local3:int;
- var _local4:XMLList;
- var _local5:String;
- var _local6:XML;
- var _local7:String;
- var _local8:String;
- var _local9:String;
- var _local10:String;
- var _local11:String;
- _local3 = 0;
- _local4 = _arg1.children();
- for each (_local6 in _local4) {
- _local5 = _local6.name().toString();
- if (_local5 == "obj"){
- _local7 = _local6.@o;
- _local8 = _local6.@t;
- if (_local8 == "a"){
- _arg2[_local7] = [];
- } else {
- if (_local8 == "o"){
- _arg2[_local7] = {};
- };
- };
- xml2obj(_local6, _arg2[_local7]);
- } else {
- if (_local5 == "var"){
- _local9 = _local6.@n;
- _local10 = _local6.@t;
- _local11 = _local6.toString();
- if (_local10 == "b"){
- _arg2[_local9] = (((_local11 == "0")) ? false : true);
- } else {
- if (_local10 == "n"){
- _arg2[_local9] = Number(_local11);
- } else {
- if (_local10 == "s"){
- _arg2[_local9] = _local11;
- } else {
- if (_local10 == "x"){
- _arg2[_local9] = null;
- };
- };
- };
- };
- };
- };
- };
- }
- private function encodeEntities(_arg1:String):String{
- return (_arg1);
- }
- public function deserialize(_arg1:String):Object{
- var _local2:XML;
- var _local3:Object;
- _local2 = new XML(_arg1);
- _local3 = {};
- xml2obj(_local2, _local3);
- return (_local3);
- }
- }
- }//package it.gotoandplay.smartfoxserver.util
- package it.gotoandplay.smartfoxserver.util {
- public class Entities {
- private static var hexTable:Array = new Array();
- private static var ascTab:Array = [];
- private static var ascTabRev:Array = [];
- public static function decodeEntities(_arg1:String):String{
- var _local2:String;
- var _local3:String;
- var _local4:String;
- var _local5:String;
- var _local6:String;
- var _local7:int;
- _local7 = 0;
- _local2 = "";
- while (_local7 < _arg1.length) {
- _local3 = _arg1.charAt(_local7);
- if (_local3 == "&"){
- _local4 = _local3;
- do {
- _local7++;
- _local5 = _arg1.charAt(_local7);
- _local4 = (_local4 + _local5);
- } while (((!((_local5 == ";"))) && ((_local7 < _arg1.length))));
- _local6 = ascTabRev[_local4];
- if (_local6 != null){
- _local2 = (_local2 + _local6);
- } else {
- _local2 = (_local2 + String.fromCharCode(getCharCode(_local4)));
- };
- } else {
- _local2 = (_local2 + _local3);
- };
- _local7++;
- };
- return (_local2);
- }
- public static function encodeEntities(_arg1:String):String{
- var _local2:String;
- var _local3:int;
- var _local4:String;
- var _local5:int;
- _local2 = "";
- _local3 = 0;
- while (_local3 < _arg1.length) {
- _local4 = _arg1.charAt(_local3);
- _local5 = _arg1.charCodeAt(_local3);
- if ((((((_local5 == 9)) || ((_local5 == 10)))) || ((_local5 == 13)))){
- _local2 = (_local2 + _local4);
- } else {
- if ((((_local5 >= 32)) && ((_local5 <= 126)))){
- if (ascTab[_local4] != null){
- _local2 = (_local2 + ascTab[_local4]);
- } else {
- _local2 = (_local2 + _local4);
- };
- } else {
- _local2 = (_local2 + _local4);
- };
- };
- _local3++;
- };
- return (_local2);
- }
- public static function getCharCode(_arg1:String):Number{
- var _local2:String;
- _local2 = _arg1.substr(3, _arg1.length);
- _local2 = _local2.substr(0, (_local2.length - 1));
- return (Number(("0x" + _local2)));
- }
- ascTab[">"] = ">";
- ascTab["<"] = "<";
- ascTab["&"] = "&";
- ascTab["'"] = "'";
- ascTab["\""] = """;
- ascTabRev[">"] = ">";
- ascTabRev["<"] = "<";
- ascTabRev["&"] = "&";
- ascTabRev["'"] = "'";
- ascTabRev["""] = "\"";
- hexTable["0"] = 0;
- hexTable["1"] = 1;
- hexTable["2"] = 2;
- hexTable["3"] = 3;
- hexTable["4"] = 4;
- hexTable["5"] = 5;
- hexTable["6"] = 6;
- hexTable["7"] = 7;
- hexTable["8"] = 8;
- hexTable["9"] = 9;
- hexTable["A"] = 10;
- hexTable["B"] = 11;
- hexTable["C"] = 12;
- hexTable["D"] = 13;
- hexTable["E"] = 14;
- hexTable["F"] = 15;
- }
- }//package it.gotoandplay.smartfoxserver.util
- package it.gotoandplay.smartfoxserver.handlers {
- import it.gotoandplay.smartfoxserver.data.*;
- import it.gotoandplay.smartfoxserver.util.*;
- import it.gotoandplay.smartfoxserver.*;
- import flash.utils.*;
- public class SysHandler implements IMessageHandler {
- private var sfs:SmartFoxClient;
- private var handlersTable:Array;
- public function SysHandler(_arg1:SmartFoxClient){
- this.sfs = _arg1;
- handlersTable = [];
- handlersTable["apiOK"] = this.handleApiOK;
- handlersTable["apiKO"] = this.handleApiKO;
- handlersTable["logOK"] = this.handleLoginOk;
- handlersTable["logKO"] = this.handleLoginKo;
- handlersTable["logout"] = this.handleLogout;
- handlersTable["rmList"] = this.handleRoomList;
- handlersTable["uCount"] = this.handleUserCountChange;
- handlersTable["joinOK"] = this.handleJoinOk;
- handlersTable["joinKO"] = this.handleJoinKo;
- handlersTable["uER"] = this.handleUserEnterRoom;
- handlersTable["userGone"] = this.handleUserLeaveRoom;
- handlersTable["pubMsg"] = this.handlePublicMessage;
- handlersTable["prvMsg"] = this.handlePrivateMessage;
- handlersTable["dmnMsg"] = this.handleAdminMessage;
- handlersTable["modMsg"] = this.handleModMessage;
- handlersTable["dataObj"] = this.handleASObject;
- handlersTable["rVarsUpdate"] = this.handleRoomVarsUpdate;
- handlersTable["roomAdd"] = this.handleRoomAdded;
- handlersTable["roomDel"] = this.handleRoomDeleted;
- handlersTable["rndK"] = this.handleRandomKey;
- handlersTable["roundTripRes"] = this.handleRoundTripBench;
- handlersTable["uVarsUpdate"] = this.handleUserVarsUpdate;
- handlersTable["createRmKO"] = this.handleCreateRoomError;
- handlersTable["bList"] = this.handleBuddyList;
- handlersTable["bUpd"] = this.handleBuddyListUpdate;
- handlersTable["bAdd"] = this.handleBuddyAdded;
- handlersTable["roomB"] = this.handleBuddyRoom;
- handlersTable["leaveRoom"] = this.handleLeaveRoom;
- handlersTable["swSpec"] = this.handleSpectatorSwitched;
- handlersTable["bPrm"] = this.handleAddBuddyPermission;
- handlersTable["remB"] = this.handleRemoveBuddy;
- }
- private function handleRoomDeleted(_arg1:Object):void{
- var _local2:int;
- var _local3:Array;
- var _local4:Object;
- var _local5:SFSEvent;
- _local2 = int(_arg1.body.rm.@id);
- _local3 = sfs.getAllRooms();
- _local4 = {};
- _local4.room = _local3[_local2];
- delete _local3[_local2];
- _local5 = new SFSEvent(SFSEvent.onRoomDeleted, _local4);
- sfs.dispatchEvent(_local5);
- }
- public function handleMessage(_arg1:Object, _arg2:String):void{
- var _local3:XML;
- var _local4:String;
- var _local5:Function;
- _local3 = (_arg1 as XML);
- _local4 = _local3.body.@action;
- _local5 = handlersTable[_local4];
- if (_local5 != null){
- _local5.apply(this, [_arg1]);
- } else {
- trace(("Unknown sys command: " + _local4));
- };
- }
- public function handleUserEnterRoom(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:Boolean;
- var _local6:Boolean;
- var _local7:int;
- var _local8:XMLList;
- var _local9:Room;
- var _local10:User;
- var _local11:Object;
- var _local12:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.u.@i);
- _local4 = _arg1.body.u.n;
- _local5 = (_arg1.body.u.@m == "1");
- _local6 = (_arg1.body.u.@s == "1");
- _local7 = ((_arg1.body.u.@p)!=null) ? int(_arg1.body.u.@p) : -1;
- _local8 = _arg1.body.u.vars["var"];
- _local9 = sfs.getRoom(_local2);
- _local10 = new User(_local3, _local4);
- _local10.setModerator(_local5);
- _local10.setIsSpectator(_local6);
- _local10.setPlayerId(_local7);
- _local9.addUser(_local10, _local3);
- if (_arg1.body.u.vars.toString().length > 0){
- populateVariables(_local10.getVariables(), _arg1.body.u);
- };
- _local11 = {};
- _local11.roomId = _local2;
- _local11.user = _local10;
- _local12 = new SFSEvent(SFSEvent.onUserEnterRoom, _local11);
- sfs.dispatchEvent(_local12);
- }
- public function handleUserVarsUpdate(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:User;
- var _local5:Array;
- var _local6:Object;
- var _local7:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = sfs.getRoom(_local2).getUser(_local3);
- _local5 = [];
- if (_arg1.body.vars.toString().length > 0){
- populateVariables(_local4.getVariables(), _arg1.body, _local5);
- };
- _local6 = {};
- _local6.user = _local4;
- _local6.changedVars = _local5;
- _local7 = new SFSEvent(SFSEvent.onUserVariablesUpdate, _local6);
- sfs.dispatchEvent(_local7);
- }
- private function handleCreateRoomError(_arg1:Object):void{
- var _local2:String;
- var _local3:Object;
- var _local4:SFSEvent;
- _local2 = _arg1.body.room.@e;
- _local3 = {};
- _local3.error = _local2;
- _local4 = new SFSEvent(SFSEvent.onCreateRoomError, _local3);
- sfs.dispatchEvent(_local4);
- }
- public function handlePrivateMessage(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:User;
- var _local6:Object;
- var _local7:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = _arg1.body.txt;
- _local5 = sfs.getRoom(_local2).getUser(_local3);
- _local6 = {};
- _local6.message = Entities.decodeEntities(_local4);
- _local6.sender = _local5;
- _local6.roomId = _local2;
- _local6.userId = _local3;
- _local7 = new SFSEvent(SFSEvent.onPrivateMessage, _local6);
- sfs.dispatchEvent(_local7);
- }
- private function handleBuddyRoom(_arg1:Object):void{
- var _local2:String;
- var _local3:Array;
- var _local4:int;
- var _local5:Object;
- var _local6:SFSEvent;
- _local2 = _arg1.body.br.@r;
- _local3 = _local2.split(",");
- _local4 = 0;
- while (_local4 < _local3.length) {
- _local3[_local4] = int(_local3[_local4]);
- _local4++;
- };
- _local5 = {};
- _local5.idList = _local3;
- _local6 = new SFSEvent(SFSEvent.onBuddyRoom, _local5);
- sfs.dispatchEvent(_local6);
- }
- public function handleLogout(_arg1:Object):void{
- var _local2:SFSEvent;
- sfs.__logout();
- _local2 = new SFSEvent(SFSEvent.onLogout, {});
- sfs.dispatchEvent(_local2);
- }
- public function handleUserCountChange(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:int;
- var _local5:Room;
- var _local6:Object;
- var _local7:SFSEvent;
- _local2 = int(_arg1.body.@u);
- _local3 = int(_arg1.body.@s);
- _local4 = int(_arg1.body.@r);
- _local5 = sfs.getAllRooms()[_local4];
- if (_local5 != null){
- _local5.setUserCount(_local2);
- _local5.setSpectatorCount(_local3);
- _local6 = {};
- _local6.room = _local5;
- _local7 = new SFSEvent(SFSEvent.onUserCountChange, _local6);
- sfs.dispatchEvent(_local7);
- };
- }
- private function handleRandomKey(_arg1:Object):void{
- var _local2:String;
- var _local3:Object;
- var _local4:SFSEvent;
- _local2 = _arg1.body.k.toString();
- _local3 = {};
- _local3.key = _local2;
- _local4 = new SFSEvent(SFSEvent.onRandomKey, _local3);
- sfs.dispatchEvent(_local4);
- }
- public function handlePublicMessage(_arg1:Object):void{
- var roomId:* = 0;
- var userId:* = 0;
- var message:* = null;
- var sender:* = null;
- var params:* = null;
- var evt:* = null;
- var o:* = _arg1;
- roomId = int(o.body.@r);
- userId = int(o.body.user.@id);
- message = o.body.txt;
- sender = null;
- try {
- sender = sfs.getRoom(roomId).getUser(userId);
- } catch(e:Error) {
- trace("--------------------------------------Error in SysHandler::handlePublicMessage");
- } finally {
- params = {};
- params.message = Entities.decodeEntities(message);
- params.sender = sender;
- params.roomId = roomId;
- params.userId = userId;
- evt = new SFSEvent(SFSEvent.onPublicMessage, params);
- sfs.dispatchEvent(evt);
- };
- }
- public function handleAdminMessage(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:Object;
- var _local6:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = _arg1.body.txt;
- _local5 = {};
- _local5.message = Entities.decodeEntities(_local4);
- _local6 = new SFSEvent(SFSEvent.onAdminMessage, _local5);
- sfs.dispatchEvent(_local6);
- }
- public function dispatchDisconnection():void{
- var _local1:SFSEvent;
- _local1 = new SFSEvent(SFSEvent.onConnectionLost, null);
- sfs.dispatchEvent(_local1);
- }
- private function handleRemoveBuddy(_arg1:Object):void{
- var _local2:String;
- var _local3:Object;
- var _local4:String;
- var _local5:Object;
- var _local6:SFSEvent;
- _local2 = _arg1.body.n.toString();
- _local3 = null;
- for (_local4 in sfs.buddyList) {
- _local3 = sfs.buddyList[_local4];
- if (_local3.name == _local2){
- delete sfs.buddyList[_local4];
- _local5 = {};
- _local5.list = sfs.buddyList;
- _local6 = new SFSEvent(SFSEvent.onBuddyList, _local5);
- sfs.dispatchEvent(_local6);
- break;
- };
- };
- }
- private function handleAddBuddyPermission(_arg1:Object):void{
- var _local2:Object;
- var _local3:SFSEvent;
- _local2 = {};
- _local2.sender = _arg1.body.n.toString();
- _local2.message = "";
- if (_arg1.body.txt != undefined){
- _local2.message = Entities.decodeEntities(_arg1.body.txt);
- };
- _local3 = new SFSEvent(SFSEvent.onBuddyPermissionRequest, _local2);
- sfs.dispatchEvent(_local3);
- }
- public function handleLoginOk(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:Object;
- var _local6:SFSEvent;
- _local2 = int(_arg1.body.login.@id);
- _local3 = int(_arg1.body.login.@mod);
- _local4 = _arg1.body.login.@n;
- sfs.amIModerator = (_local3 == 1);
- sfs.myUserId = _local2;
- sfs.myUserName = _local4;
- sfs.playerId = -1;
- _local5 = {};
- _local5.success = true;
- _local5.name = _local4;
- _local5.error = "";
- _local6 = new SFSEvent(SFSEvent.onLogin, _local5);
- sfs.dispatchEvent(_local6);
- sfs.getRoomList();
- }
- public function handleUserLeaveRoom(_arg1:Object):void{
- var userId:* = 0;
- var roomId:* = 0;
- var theRoom:* = null;
- var uName:* = null;
- var params:* = null;
- var evt:* = null;
- var o:* = _arg1;
- trace(("----------------------------------------------SysHandler::handleUserLeaveRoom o=" + o));
- userId = int(o.body.user.@id);
- roomId = int(o.body.@r);
- trace(("----------------------------------------------SysHandler::handleUserLeaveRoom roomID=" + roomId));
- trace(("----------------------------------------------SysHandler::handleUserLeaveRoom sfs.getRoom=" + sfs.getRoom(roomId)));
- theRoom = sfs.getRoom(roomId);
- trace(("----------------------------------------------SysHandler::handleUserLeaveRoom theRoom.getUser(userId)=" + theRoom.getUser(userId)));
- try {
- uName = theRoom.getUser(userId).getName();
- theRoom.removeUser(userId);
- } catch(e:Error) {
- trace(("=--------------------------------------- SysHandler::handleUserLeaveRoom EXCEPTION" + e));
- } finally {
- params = {};
- params.roomId = roomId;
- params.userId = userId;
- params.userName = uName;
- evt = new SFSEvent(SFSEvent.onUserLeaveRoom, params);
- sfs.dispatchEvent(evt);
- };
- }
- public function handleRoomList(_arg1:Object):void{
- var _local2:Array;
- var _local3:XML;
- var _local4:Object;
- var _local5:SFSEvent;
- var _local6:int;
- var _local7:Room;
- sfs.clearRoomList();
- _local2 = sfs.getAllRooms();
- for each (_local3 in _arg1.body.rmList.rm) {
- _local6 = int(_local3.@id);
- _local7 = new Room(_local6, _local3.n, int(_local3.@maxu), int(_local3.@maxs), (_local3.@temp == "1"), (_local3.@game == "1"), (_local3.@priv == "1"), (_local3.@lmb == "1"), int(_local3.@ucnt), int(_local3.@scnt));
- if (_local3.vars.toString().length > 0){
- populateVariables(_local7.getVariables(), _local3);
- };
- _local2[_local6] = _local7;
- };
- _local4 = {};
- _local4.roomList = _local2;
- _local5 = new SFSEvent(SFSEvent.onRoomListUpdate, _local4);
- sfs.dispatchEvent(_local5);
- }
- private function handleBuddyAdded(_arg1:Object):void{
- var _local2:Object;
- var _local3:XMLList;
- var _local4:Object;
- var _local5:SFSEvent;
- var _local6:XML;
- _local2 = {};
- _local2.isOnline = (((_arg1.body.b.@s == "1")) ? true : false);
- _local2.name = _arg1.body.b.n.toString();
- _local2.id = _arg1.body.b.@i;
- _local2.isBlocked = (((_arg1.body.b.@x == "1")) ? true : false);
- _local2.variables = {};
- _local3 = _arg1.body.b.vs;
- if (_local3.toString().length > 0){
- for each (_local6 in _local3.v) {
- _local2.variables[_local6.@n.toString()] = _local6.toString();
- };
- };
- sfs.buddyList.push(_local2);
- _local4 = {};
- _local4.list = sfs.buddyList;
- _local5 = new SFSEvent(SFSEvent.onBuddyList, _local4);
- sfs.dispatchEvent(_local5);
- }
- private function handleRoomAdded(_arg1:Object):void{
- var _local2:int;
- var _local3:String;
- var _local4:int;
- var _local5:int;
- var _local6:Boolean;
- var _local7:Boolean;
- var _local8:Boolean;
- var _local9:Boolean;
- var _local10:Room;
- var _local11:Array;
- var _local12:Object;
- var _local13:SFSEvent;
- _local2 = int(_arg1.body.rm.@id);
- _local3 = _arg1.body.rm.name;
- _local4 = int(_arg1.body.rm.@max);
- _local5 = int(_arg1.body.rm.@spec);
- _local6 = (((_arg1.body.rm.@temp == "1")) ? true : false);
- _local7 = (((_arg1.body.rm.@game == "1")) ? true : false);
- _local8 = (((_arg1.body.rm.@priv == "1")) ? true : false);
- _local9 = (((_arg1.body.rm.@limbo == "1")) ? true : false);
- _local10 = new Room(_local2, _local3, _local4, _local5, _local6, _local7, _local8, _local9);
- _local11 = sfs.getAllRooms();
- _local11[_local2] = _local10;
- if (_arg1.body.rm.vars.toString().length > 0){
- populateVariables(_local10.getVariables(), _arg1.body.rm);
- };
- _local12 = {};
- _local12.room = _local10;
- _local13 = new SFSEvent(SFSEvent.onRoomAdded, _local12);
- sfs.dispatchEvent(_local13);
- }
- private function populateVariables(_arg1:Array, _arg2:Object, _arg3:Array=null):void{
- var _local4:XML;
- var _local5:String;
- var _local6:String;
- var _local7:String;
- for each (_local4 in _arg2.vars["var"]) {
- _local5 = _local4.@n;
- _local6 = _local4.@t;
- _local7 = _local4;
- if (_arg3 != null){
- _arg3.push(_local5);
- _arg3[_local5] = true;
- };
- if (_local6 == "b"){
- _arg1[_local5] = (((_local7 == "1")) ? true : false);
- } else {
- if (_local6 == "n"){
- _arg1[_local5] = Number(_local7);
- } else {
- if (_local6 == "s"){
- _arg1[_local5] = _local7;
- } else {
- if (_local6 == "x"){
- delete _arg1[_local5];
- };
- };
- };
- };
- };
- }
- public function handleRoomVarsUpdate(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:Room;
- var _local5:Array;
- var _local6:Object;
- var _local7:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = sfs.getRoom(_local2);
- _local5 = [];
- if (_arg1.body.vars.toString().length > 0){
- populateVariables(_local4.getVariables(), _arg1.body, _local5);
- };
- _local6 = {};
- _local6.room = _local4;
- _local6.changedVars = _local5;
- _local7 = new SFSEvent(SFSEvent.onRoomVariablesUpdate, _local6);
- sfs.dispatchEvent(_local7);
- }
- private function handleSpectatorSwitched(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:Room;
- var _local5:int;
- var _local6:User;
- var _local7:Object;
- var _local8:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.pid.@id);
- _local4 = sfs.getRoom(_local2);
- if (_local3 > 0){
- _local4.setUserCount((_local4.getUserCount() + 1));
- _local4.setSpectatorCount((_local4.getSpectatorCount() - 1));
- };
- if (_arg1.body.pid.@u != undefined){
- _local5 = int(_arg1.body.pid.@u);
- _local6 = _local4.getUser(_local5);
- if (_local6 != null){
- _local6.setIsSpectator(false);
- _local6.setPlayerId(_local3);
- };
- } else {
- sfs.playerId = _local3;
- _local7 = {};
- _local7.success = (sfs.playerId > 0);
- _local7.newId = sfs.playerId;
- _local7.room = _local4;
- _local8 = new SFSEvent(SFSEvent.onSpectatorSwitched, _local7);
- sfs.dispatchEvent(_local8);
- };
- }
- private function handleLeaveRoom(_arg1:Object):void{
- var _local2:int;
- var _local3:Object;
- var _local4:SFSEvent;
- _local2 = int(_arg1.body.rm.@id);
- _local3 = {};
- _local3.roomId = _local2;
- _local4 = new SFSEvent(SFSEvent.onRoomLeft, _local3);
- sfs.dispatchEvent(_local4);
- }
- private function handleBuddyListUpdate(_arg1:Object):void{
- var _local2:Object;
- var _local3:SFSEvent;
- var _local4:Object;
- var _local5:XMLList;
- var _local6:Object;
- var _local7:Boolean;
- var _local8:String;
- var _local9:XML;
- _local2 = {};
- _local3 = null;
- if (_arg1.body.b != null){
- _local4 = {};
- _local4.isOnline = (((_arg1.body.b.@s == "1")) ? true : false);
- _local4.name = _arg1.body.b.n.toString();
- _local4.id = _arg1.body.b.@i;
- _local4.isBlocked = (((_arg1.body.b.@x == "1")) ? true : false);
- _local5 = _arg1.body.b.vs;
- _local6 = null;
- _local7 = false;
- for (_local8 in sfs.buddyList) {
- _local6 = sfs.buddyList[_local8];
- if (_local6.name == _local4.name){
- sfs.buddyList[_local8] = _local4;
- _local4.isBlocked = _local6.isBlocked;
- _local4.variables = _local6.variables;
- if (_local5.toString().length > 0){
- for each (_local9 in _local5.v) {
- _local4.variables[_local9.@n.toString()] = _local9.toString();
- };
- };
- _local7 = true;
- break;
- };
- };
- if (_local7){
- _local2.buddy = _local4;
- _local3 = new SFSEvent(SFSEvent.onBuddyListUpdate, _local2);
- sfs.dispatchEvent(_local3);
- };
- } else {
- _local2.error = _arg1.body.err.toString();
- _local3 = new SFSEvent(SFSEvent.onBuddyListError, _local2);
- sfs.dispatchEvent(_local3);
- };
- }
- public function handleLoginKo(_arg1:Object):void{
- var _local2:Object;
- var _local3:SFSEvent;
- _local2 = {};
- _local2.success = false;
- _local2.error = _arg1.body.login.@e;
- _local3 = new SFSEvent(SFSEvent.onLogin, _local2);
- sfs.dispatchEvent(_local3);
- }
- public function handleModMessage(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:User;
- var _local6:Room;
- var _local7:Object;
- var _local8:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = _arg1.body.txt;
- _local5 = null;
- _local6 = sfs.getRoom(_local2);
- if (_local6 != null){
- _local5 = sfs.getRoom(_local2).getUser(_local3);
- };
- _local7 = {};
- _local7.message = Entities.decodeEntities(_local4);
- _local7.sender = _local5;
- _local8 = new SFSEvent(SFSEvent.onModeratorMessage, _local7);
- sfs.dispatchEvent(_local8);
- }
- public function handleApiOK(_arg1:Object):void{
- var _local2:SFSEvent;
- sfs.isConnected = true;
- _local2 = new SFSEvent(SFSEvent.onConnection, {success:true});
- sfs.dispatchEvent(_local2);
- }
- private function handleRoundTripBench(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:Object;
- var _local5:SFSEvent;
- _local2 = getTimer();
- _local3 = (_local2 - sfs.getBenchStartTime());
- _local4 = {};
- _local4.elapsed = _local3;
- _local5 = new SFSEvent(SFSEvent.onRoundTripResponse, _local4);
- sfs.dispatchEvent(_local5);
- }
- public function handleJoinOk(_arg1:Object):void{
- var _local2:int;
- var _local3:XMLList;
- var _local4:XMLList;
- var _local5:int;
- var _local6:Room;
- var _local7:XML;
- var _local8:Object;
- var _local9:SFSEvent;
- var _local10:String;
- var _local11:int;
- var _local12:Boolean;
- var _local13:Boolean;
- var _local14:int;
- var _local15:User;
- _local2 = int(_arg1.body.@r);
- _local3 = _arg1.body;
- _local4 = _arg1.body.uLs.u;
- _local5 = int(_arg1.body.pid.@id);
- sfs.activeRoomId = _local2;
- _local6 = sfs.getRoom(_local2);
- _local6.clearUserList();
- sfs.playerId = _local5;
- _local6.setMyPlayerIndex(_local5);
- if (_local3.vars.toString().length > 0){
- _local6.clearVariables();
- populateVariables(_local6.getVariables(), _local3);
- };
- for each (_local7 in _local4) {
- _local10 = _local7.n;
- _local11 = int(_local7.@i);
- _local12 = (((_local7.@m == "1")) ? true : false);
- _local13 = (((_local7.@s == "1")) ? true : false);
- _local14 = (((_local7.@p == null)) ? -1 : int(_local7.@p));
- _local15 = new User(_local11, _local10);
- _local15.setModerator(_local12);
- _local15.setIsSpectator(_local13);
- _local15.setPlayerId(_local14);
- if (_local7.vars.toString().length > 0){
- populateVariables(_local15.getVariables(), _local7);
- };
- _local6.addUser(_local15, _local11);
- };
- sfs.changingRoom = false;
- _local8 = {};
- _local8.room = _local6;
- _local9 = new SFSEvent(SFSEvent.onJoinRoom, _local8);
- sfs.dispatchEvent(_local9);
- }
- public function handleJoinKo(_arg1:Object):void{
- var _local2:Object;
- var _local3:SFSEvent;
- sfs.changingRoom = false;
- _local2 = {};
- _local2.error = _arg1.body.error.@msg;
- _local3 = new SFSEvent(SFSEvent.onJoinRoomError, _local2);
- sfs.dispatchEvent(_local3);
- }
- public function handleASObject(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:String;
- var _local5:User;
- var _local6:Object;
- var _local7:Object;
- var _local8:SFSEvent;
- _local2 = int(_arg1.body.@r);
- _local3 = int(_arg1.body.user.@id);
- _local4 = _arg1.body.dataObj;
- _local5 = sfs.getRoom(_local2).getUser(_local3);
- _local6 = ObjectSerializer.getInstance().deserialize(new XML(_local4));
- _local7 = {};
- _local7.obj = _local6;
- _local7.sender = _local5;
- _local8 = new SFSEvent(SFSEvent.onObjectReceived, _local7);
- sfs.dispatchEvent(_local8);
- }
- private function handleBuddyList(_arg1:Object):void{
- var _local2:XMLList;
- var _local3:XMLList;
- var _local4:Object;
- var _local5:Object;
- var _local6:SFSEvent;
- var _local7:XML;
- var _local8:XML;
- var _local9:XMLList;
- var _local10:XML;
- _local2 = _arg1.body.bList;
- _local3 = _arg1.body.mv;
- _local5 = {};
- _local6 = null;
- if (((!((_local2 == null))) && (!((_local2.b.length == null))))){
- if (((!((_local3 == null))) && ((_local3.toString().length > 0)))){
- for each (_local7 in _local3.v) {
- sfs.myBuddyVars[_local7.@n.toString()] = _local7.toString();
- };
- };
- if (_local2.toString().length > 0){
- for each (_local8 in _local2.b) {
- _local4 = {};
- _local4.isOnline = (((_local8.@s == "1")) ? true : false);
- _local4.name = _local8.n.toString();
- _local4.id = _local8.@i;
- _local4.isBlocked = (((_local8.@x == "1")) ? true : false);
- _local4.variables = {};
- _local9 = _local8.vs;
- if (_local9.toString().length > 0){
- for each (_local10 in _local9.v) {
- _local4.variables[_local10.@n.toString()] = _local10.toString();
- };
- };
- sfs.buddyList.push(_local4);
- };
- };
- _local5.list = sfs.buddyList;
- _local6 = new SFSEvent(SFSEvent.onBuddyList, _local5);
- sfs.dispatchEvent(_local6);
- } else {
- _local5.error = _arg1.body.err.toString();
- _local6 = new SFSEvent(SFSEvent.onBuddyListError, _local5);
- sfs.dispatchEvent(_local6);
- };
- }
- public function handleApiKO(_arg1:Object):void{
- var _local2:Object;
- var _local3:SFSEvent;
- _local2 = {};
- _local2.success = false;
- _local2.error = "API are obsolete, please upgrade";
- _local3 = new SFSEvent(SFSEvent.onConnection, _local2);
- sfs.dispatchEvent(_local3);
- }
- }
- }//package it.gotoandplay.smartfoxserver.handlers
- package it.gotoandplay.smartfoxserver.handlers {
- public interface IMessageHandler {
- function handleMessage(_arg1:Object, _arg2:String):void;
- }
- }//package it.gotoandplay.smartfoxserver.handlers
- package it.gotoandplay.smartfoxserver.handlers {
- import it.gotoandplay.smartfoxserver.util.*;
- import it.gotoandplay.smartfoxserver.*;
- public class ExtHandler implements IMessageHandler {
- private var sfs:SmartFoxClient;
- public function ExtHandler(_arg1:SmartFoxClient){
- this.sfs = _arg1;
- }
- public function handleMessage(_arg1:Object, _arg2:String):void{
- var _local3:Object;
- var _local4:SFSEvent;
- var _local5:XML;
- var _local6:String;
- var _local7:int;
- var _local8:String;
- var _local9:Object;
- if (_arg2 == SmartFoxClient.XTMSG_TYPE_XML){
- _local5 = (_arg1 as XML);
- _local6 = _local5.body.@action;
- _local7 = int(_local5.body.@id);
- if (_local6 == "xtRes"){
- _local8 = _local5.body.toString();
- _local9 = ObjectSerializer.getInstance().deserialize(_local8);
- _local3 = {};
- _local3.dataObj = _local9;
- _local3.type = _arg2;
- _local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
- sfs.dispatchEvent(_local4);
- };
- } else {
- if (_arg2 == SmartFoxClient.XTMSG_TYPE_JSON){
- _local3 = {};
- _local3.dataObj = _arg1.o;
- _local3.type = _arg2;
- _local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
- sfs.dispatchEvent(_local4);
- } else {
- if (_arg2 == SmartFoxClient.XTMSG_TYPE_STR){
- _local3 = {};
- _local3.dataObj = _arg1;
- _local3.type = _arg2;
- _local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
- sfs.dispatchEvent(_local4);
- };
- };
- };
- }
- }
- }//package it.gotoandplay.smartfoxserver.handlers
- package it.gotoandplay.smartfoxserver.data {
- public class Room {
- private var maxUsers:int;
- private var userList:Array;
- private var name:String;
- private var userCount:int;
- private var specCount:int;
- private var id:int;
- private var myPlayerIndex:int;
- private var priv:Boolean;
- private var temp:Boolean;
- private var limbo:Boolean;
- private var maxSpectators:int;
- private var game:Boolean;
- private var variables:Array;
- public function Room(_arg1:int, _arg2:String, _arg3:int, _arg4:int, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean, _arg8:Boolean, _arg9:int=0, _arg10:int=0){
- this.id = _arg1;
- this.name = _arg2;
- this.maxSpectators = _arg4;
- this.maxUsers = _arg3;
- this.temp = _arg5;
- this.game = _arg6;
- this.priv = _arg7;
- this.limbo = _arg8;
- this.userCount = _arg9;
- this.specCount = _arg10;
- this.userList = [];
- this.variables = [];
- }
- public function getVariable(_arg1:String){
- return (variables[_arg1]);
- }
- public function addUser(_arg1:User, _arg2:int):void{
- userList[_arg2] = _arg1;
- if (((this.game) && (_arg1.isSpectator()))){
- specCount++;
- } else {
- userCount++;
- };
- }
- public function getName():String{
- return (this.name);
- }
- public function getId():int{
- return (this.id);
- }
- public function setIsLimbo(_arg1:Boolean):void{
- this.limbo = _arg1;
- }
- public function clearVariables():void{
- this.variables = [];
- }
- public function isTemp():Boolean{
- return (this.temp);
- }
- public function getMaxSpectators():int{
- return (this.maxSpectators);
- }
- public function setVariables(_arg1:Array):void{
- this.variables = _arg1;
- }
- public function isGame():Boolean{
- return (this.game);
- }
- public function getUser(_arg1):User{
- var _local2:User;
- var _local3:String;
- var _local4:User;
- _local2 = null;
- if (typeof(_arg1) == "number"){
- _local2 = userList[_arg1];
- } else {
- if (typeof(_arg1) == "string"){
- for (_local3 in userList) {
- _local4 = this.userList[_local3];
- if (_local4.getName() == _arg1){
- _local2 = _local4;
- break;
- };
- };
- };
- };
- return (_local2);
- }
- public function setUserCount(_arg1:int):void{
- this.userCount = _arg1;
- }
- public function getVariables():Array{
- return (variables);
- }
- public function getUserCount():int{
- return (this.userCount);
- }
- public function isLimbo():Boolean{
- return (this.limbo);
- }
- public function getSpectatorCount():int{
- return (this.specCount);
- }
- public function setSpectatorCount(_arg1:int):void{
- this.specCount = _arg1;
- }
- public function setMyPlayerIndex(_arg1:int):void{
- this.myPlayerIndex = _arg1;
- }
- public function getMyPlayerIndex():int{
- return (this.myPlayerIndex);
- }
- public function clearUserList():void{
- this.userList = [];
- this.userCount = 0;
- this.specCount = 0;
- }
- public function isPrivate():Boolean{
- return (this.priv);
- }
- public function getMaxUsers():int{
- return (this.maxUsers);
- }
- public function removeUser(_arg1:int):void{
- var _local2:User;
- _local2 = userList[_arg1];
- if (((this.game) && (_local2.isSpectator()))){
- specCount--;
- } else {
- userCount--;
- };
- delete userList[_arg1];
- }
- public function getUserList():Array{
- return (this.userList);
- }
- }
- }//package it.gotoandplay.smartfoxserver.data
- package it.gotoandplay.smartfoxserver.data {
- public class User {
- private var isSpec:Boolean;
- private var name:String;
- private var id:int;
- private var pId:int;
- private var variables:Array;
- private var isMod:Boolean;
- public function User(_arg1:int, _arg2:String){
- this.id = _arg1;
- this.name = _arg2;
- this.variables = [];
- this.isSpec = false;
- this.isMod = false;
- }
- public function setModerator(_arg1:Boolean):void{
- this.isMod = _arg1;
- }
- public function getName():String{
- return (this.name);
- }
- public function getVariables():Array{
- return (this.variables);
- }
- public function getId():int{
- return (this.id);
- }
- public function getPlayerId():int{
- return (this.pId);
- }
- public function setPlayerId(_arg1:int):void{
- this.pId = _arg1;
- }
- public function setIsSpectator(_arg1:Boolean):void{
- this.isSpec = _arg1;
- }
- public function isSpectator():Boolean{
- return (this.isSpec);
- }
- public function clearVariables():void{
- this.variables = [];
- }
- public function getVariable(_arg1:String){
- return (this.variables[_arg1]);
- }
- public function setVariables(_arg1:Object):void{
- var _local2:String;
- var _local3:*;
- for (_local2 in _arg1) {
- _local3 = _arg1[_local2];
- if (_local3 != null){
- this.variables[_local2] = _local3;
- } else {
- delete this.variables[_local2];
- };
- };
- }
- public function isModerator():Boolean{
- return (this.isMod);
- }
- }
- }//package it.gotoandplay.smartfoxserver.data
- package {
- import flash.display.*;
- public dynamic class Button_disabledSkin extends MovieClip {
- }
- }//package
- package {
- import flash.media.*;
- public dynamic class mulchblurp extends Sound {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_selectedDownSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_selectedUpSkin extends MovieClip {
- }
- }//package
- package {
- import flash.display.*;
- public dynamic class Button_upSkin extends MovieClip {
- }
- }//package
- package fl.controls {
- import flash.display.*;
- import flash.events.*;
- import fl.core.*;
- import flash.utils.*;
- import fl.events.*;
- public class BaseButton extends UIComponent {
- private static var defaultStyles:Object = {
- upSkin:"Button_upSkin",
- downSkin:"Button_downSkin",
- overSkin:"Button_overSkin",
- disabledSkin:"Button_disabledSkin",
- selectedDisabledSkin:"Button_selectedDisabledSkin",
- selectedUpSkin:"Button_selectedUpSkin",
- selectedDownSkin:"Button_selectedDownSkin",
- selectedOverSkin:"Button_selectedOverSkin",
- focusRectSkin:null,
- focusRectPadding:null,
- repeatDelay:500,
- repeatInterval:35
- };
- protected var _selected:Boolean = false;
- private var unlockedMouseState:String;
- protected var pressTimer:Timer;
- protected var mouseState:String;
- protected var background:DisplayObject;
- private var _mouseStateLocked:Boolean = false;
- protected var _autoRepeat:Boolean = false;
- public function BaseButton(){
- _selected = false;
- _autoRepeat = false;
- _mouseStateLocked = false;
- super();
- buttonMode = true;
- mouseChildren = false;
- useHandCursor = false;
- setupMouseEvents();
- setMouseState("up");
- pressTimer = new Timer(1, 0);
- pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
- }
- public static function getStyleDefinition():Object{
- return (defaultStyles);
- }
- protected function endPress():void{
- pressTimer.reset();
- }
- public function set mouseStateLocked(_arg1:Boolean):void{
- _mouseStateLocked = _arg1;
- if (_arg1 == false){
- setMouseState(unlockedMouseState);
- } else {
- unlockedMouseState = mouseState;
- };
- }
- public function get autoRepeat():Boolean{
- return (_autoRepeat);
- }
- public function set autoRepeat(_arg1:Boolean):void{
- _autoRepeat = _arg1;
- }
- override public function set enabled(_arg1:Boolean):void{
- super.enabled = _arg1;
- mouseEnabled = _arg1;
- }
- public function get selected():Boolean{
- return (_selected);
- }
- protected function mouseEventHandler(_arg1:MouseEvent):void{
- if (_arg1.type == MouseEvent.MOUSE_DOWN){
- setMouseState("down");
- startPress();
- } else {
- if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
- setMouseState("over");
- endPress();
- } else {
- if (_arg1.type == MouseEvent.ROLL_OUT){
- setMouseState("up");
- endPress();
- };
- };
- };
- }
- public function setMouseState(_arg1:String):void{
- if (_mouseStateLocked){
- unlockedMouseState = _arg1;
- return;
- };
- if (mouseState == _arg1){
- return;
- };
- mouseState = _arg1;
- invalidate(InvalidationType.STATE);
- }
- protected function startPress():void{
- if (_autoRepeat){
- pressTimer.delay = Number(getStyleValue("repeatDelay"));
- pressTimer.start();
- };
- dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
- }
- protected function buttonDown(_arg1:TimerEvent):void{
- if (!_autoRepeat){
- endPress();
- return;
- };
- if (pressTimer.currentCount == 1){
- pressTimer.delay = Number(getStyleValue("repeatInterval"));
- };
- dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
- }
- public function set selected(_arg1:Boolean):void{
- if (_selected == _arg1){
- return;
- };
- _selected = _arg1;
- invalidate(InvalidationType.STATE);
- }
- override public function get enabled():Boolean{
- return (super.enabled);
- }
- override protected function draw():void{
- if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
- drawBackground();
- invalidate(InvalidationType.SIZE, false);
- };
- if (isInvalid(InvalidationType.SIZE)){
- drawLayout();
- };
- super.draw();
- }
- protected function setupMouseEvents():void{
- addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
- addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
- addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
- addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
- }
- protected function drawLayout():void{
- background.width = width;
- background.height = height;
- }
- protected function drawBackground():void{
- var _local1:String;
- var _local2:DisplayObject;
- _local1 = ((enabled) ? mouseState : "disabled");
- if (selected){
- _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
- };
- _local1 = (_local1 + "Skin");
- _local2 = background;
- background = getDisplayObjectInstance(getStyleValue(_local1));
- addChildAt(background, 0);
- if (((!((_local2 == null))) && (!((_local2 == background))))){
- removeChild(_local2);
- };
- }
- }
- }//package fl.controls
- package fl.controls {
- import flash.display.*;
- import flash.events.*;
- import fl.core.*;
- import fl.managers.*;
- import fl.events.*;
- import flash.text.*;
- import flash.ui.*;
- public class LabelButton extends BaseButton implements IFocusManagerComponent {
- private static var defaultStyles:Object = {
- icon:null,
- upIcon:null,
- downIcon:null,
- overIcon:null,
- disabledIcon:null,
- selectedDisabledIcon:null,
- selectedUpIcon:null,
- selectedDownIcon:null,
- selectedOverIcon:null,
- textFormat:null,
- disabledTextFormat:null,
- textPadding:5,
- embedFonts:false
- };
- public static var createAccessibilityImplementation:Function;
- protected var _labelPlacement:String = "right";
- protected var _toggle:Boolean = false;
- protected var icon:DisplayObject;
- protected var oldMouseState:String;
- protected var mode:String = "center";
- public var textField:TextField;
- protected var _label:String = "Label";
- public function LabelButton(){
- _labelPlacement = ButtonLabelPlacement.RIGHT;
- _toggle = false;
- _label = "Label";
- mode = "center";
- super();
- }
- public static function getStyleDefinition():Object{
- return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
- }
- protected function toggleSelected(_arg1:MouseEvent):void{
- selected = !(selected);
- dispatchEvent(new Event(Event.CHANGE, true));
- }
- public function get labelPlacement():String{
- return (_labelPlacement);
- }
- override protected function keyDownHandler(_arg1:KeyboardEvent):void{
- if (!enabled){
- return;
- };
- if (_arg1.keyCode == Keyboard.SPACE){
- if (oldMouseState == null){
- oldMouseState = mouseState;
- };
- setMouseState("down");
- startPress();
- };
- }
- protected function setEmbedFont(){
- var _local1:Object;
- _local1 = getStyleValue("embedFonts");
- if (_local1 != null){
- textField.embedFonts = _local1;
- };
- }
- override protected function keyUpHandler(_arg1:KeyboardEvent):void{
- if (!enabled){
- return;
- };
- if (_arg1.keyCode == Keyboard.SPACE){
- setMouseState(oldMouseState);
- oldMouseState = null;
- endPress();
- dispatchEvent(new MouseEvent(MouseEvent.CLICK));
- };
- }
- override public function get selected():Boolean{
- return (((_toggle) ? _selected : false));
- }
- public function set labelPlacement(_arg1:String):void{
- _labelPlacement = _arg1;
- invalidate(InvalidationType.SIZE);
- }
- public function set toggle(_arg1:Boolean):void{
- if (((!(_arg1)) && (super.selected))){
- selected = false;
- };
- _toggle = _arg1;
- if (_toggle){
- addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
- } else {
- removeEventListener(MouseEvent.CLICK, toggleSelected);
- };
- invalidate(InvalidationType.STATE);
- }
- public function get label():String{
- return (_label);
- }
- override public function set selected(_arg1:Boolean):void{
- _selected = _arg1;
- if (_toggle){
- invalidate(InvalidationType.STATE);
- };
- }
- override protected function draw():void{
- if (textField.text != _label){
- label = _label;
- };
- if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
- drawBackground();
- drawIcon();
- drawTextFormat();
- invalidate(InvalidationType.SIZE, false);
- };
- if (isInvalid(InvalidationType.SIZE)){
- drawLayout();
- };
- if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
- if (((isFocused) && (focusManager.showFocusIndicator))){
- drawFocus(true);
- };
- };
- validate();
- }
- public function get toggle():Boolean{
- return (_toggle);
- }
- override protected function configUI():void{
- super.configUI();
- textField = new TextField();
- textField.type = TextFieldType.DYNAMIC;
- textField.selectable = false;
- addChild(textField);
- }
- override protected function drawLayout():void{
- var _local1:Number;
- var _local2:String;
- var _local3:Number;
- var _local4:Number;
- var _local5:Number;
- var _local6:Number;
- var _local7:Number;
- var _local8:Number;
- _local1 = Number(getStyleValue("textPadding"));
- _local2 = (((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement);
- textField.height = (textField.textHeight + 4);
- _local3 = (textField.textWidth + 4);
- _local4 = (textField.textHeight + 4);
- _local5 = ((icon)==null) ? 0 : (icon.width + _local1);
- _local6 = ((icon)==null) ? 0 : (icon.height + _local1);
- textField.visible = (label.length > 0);
- if (icon != null){
- icon.x = Math.round(((width - icon.width) / 2));
- icon.y = Math.round(((height - icon.height) / 2));
- };
- if (textField.visible == false){
- textField.width = 0;
- textField.height = 0;
- } else {
- if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
- _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
- if ((height - 2) > _local4){
- _local8 = _local4;
- } else {
- _local8 = (height - 2);
- };
- _local3 = _local7;
- textField.width = _local3;
- _local4 = _local8;
- textField.height = _local4;
- textField.x = Math.round(((width - _local3) / 2));
- textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
- if (icon != null){
- icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
- };
- } else {
- _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
- _local3 = _local7;
- textField.width = _local3;
- textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
- textField.y = Math.round(((height - textField.height) / 2));
- if (icon != null){
- icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
- };
- };
- };
- super.drawLayout();
- }
- override protected function initializeAccessibility():void{
- if (LabelButton.createAccessibilityImplementation != null){
- LabelButton.createAccessibilityImplementation(this);
- };
- }
- protected function drawIcon():void{
- var _local1:DisplayObject;
- var _local2:String;
- var _local3:Object;
- _local1 = icon;
- _local2 = ((enabled) ? mouseState : "disabled");
- if (selected){
- _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
- };
- _local2 = (_local2 + "Icon");
- _local3 = getStyleValue(_local2);
- if (_local3 == null){
- _local3 = getStyleValue("icon");
- };
- if (_local3 != null){
- icon = getDisplayObjectInstance(_local3);
- };
- if (icon != null){
- addChildAt(icon, 1);
- };
- if (((!((_local1 == null))) && (!((_local1 == icon))))){
- removeChild(_local1);
- };
- }
- public function set label(_arg1:String):void{
- _label = _arg1;
- if (textField.text != _label){
- textField.text = _label;
- dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
- };
- invalidate(InvalidationType.SIZE);
- invalidate(InvalidationType.STYLES);
- }
- protected function drawTextFormat():void{
- var _local1:Object;
- var _local2:TextFormat;
- var _local3:TextFormat;
- _local1 = UIComponent.getStyleDefinition();
- _local2 = ((enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat));
- textField.setTextFormat(_local2);
- _local3 = (getStyleValue(((enabled) ? "textFormat" : "disabledTextFormat")) as TextFormat);
- if (_local3 != null){
- textField.setTextFormat(_local3);
- } else {
- _local3 = _local2;
- };
- textField.defaultTextFormat = _local3;
- setEmbedFont();
- }
- }
- }//package fl.controls
- package fl.controls {
- import flash.display.*;
- import fl.core.*;
- import fl.managers.*;
- public class Button extends LabelButton implements IFocusManagerComponent {
- private static var defaultStyles:Object = {
- emphasizedSkin:"Button_emphasizedSkin",
- emphasizedPadding:2
- };
- public static var createAccessibilityImplementation:Function;
- protected var emphasizedBorder:DisplayObject;
- protected var _emphasized:Boolean = false;
- public function Button(){
- _emphasized = false;
- super();
- }
- public static function getStyleDefinition():Object{
- return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
- }
- override public function drawFocus(_arg1:Boolean):void{
- var _local2:Number;
- var _local3:*;
- super.drawFocus(_arg1);
- if (_arg1){
- _local2 = Number(getStyleValue("emphasizedPadding"));
- if ((((_local2 < 0)) || (!(_emphasized)))){
- _local2 = 0;
- };
- _local3 = getStyleValue("focusRectPadding");
- _local3 = ((_local3)==null) ? 2 : _local3;
- _local3 = (_local3 + _local2);
- uiFocusRect.x = -(_local3);
- uiFocusRect.y = -(_local3);
- uiFocusRect.width = (width + (_local3 * 2));
- uiFocusRect.height = (height + (_local3 * 2));
- };
- }
- public function set emphasized(_arg1:Boolean):void{
- _emphasized = _arg1;
- invalidate(InvalidationType.STYLES);
- }
- override protected function draw():void{
- if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
- drawEmphasized();
- };
- super.draw();
- if (emphasizedBorder != null){
- setChildIndex(emphasizedBorder, (numChildren - 1));
- };
- }
- public function get emphasized():Boolean{
- return (_emphasized);
- }
- override protected function initializeAccessibility():void{
- if (Button.createAccessibilityImplementation != null){
- Button.createAccessibilityImplementation(this);
- };
- }
- protected function drawEmphasized():void{
- var _local1:Object;
- var _local2:Number;
- if (emphasizedBorder != null){
- removeChild(emphasizedBorder);
- };
- emphasizedBorder = null;
- if (!_emphasized){
- return;
- };
- _local1 = getStyleValue("emphasizedSkin");
- if (_local1 != null){
- emphasizedBorder = getDisplayObjectInstance(_local1);
- };
- if (emphasizedBorder != null){
- addChildAt(emphasizedBorder, 0);
- _local2 = Number(getStyleValue("emphasizedPadding"));
- emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
- emphasizedBorder.width = (width + (_local2 * 2));
- emphasizedBorder.height = (height + (_local2 * 2));
- };
- }
- }
- }//package fl.controls
- package fl.controls {
- public class ButtonLabelPlacement {
- public static const TOP:String = "top";
- public static const LEFT:String = "left";
- public static const BOTTOM:String = "bottom";
- public static const RIGHT:String = "right";
- }
- }//package fl.controls
- package fl.core {
- public class InvalidationType {
- public static const SIZE:String = "size";
- public static const ALL:String = "all";
- public static const DATA:String = "data";
- public static const SCROLL:String = "scroll";
- public static const STATE:String = "state";
- public static const STYLES:String = "styles";
- public static const SELECTED:String = "selected";
- public static const RENDERER_STYLES:String = "rendererStyles";
- }
- }//package fl.core
- package fl.core {
- import flash.display.*;
- import flash.events.*;
- import fl.managers.*;
- import flash.utils.*;
- import fl.events.*;
- import flash.text.*;
- import flash.system.*;
- public class UIComponent extends Sprite {
- public static var inCallLaterPhase:Boolean = false;
- private static var defaultStyles:Object = {
- focusRectSkin:"focusRectSkin",
- focusRectPadding:2,
- textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0),
- disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0),
- defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0),
- defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)
- };
- public static var createAccessibilityImplementation:Function;
- private static var focusManagers:Dictionary = new Dictionary(false);
- protected var _enabled:Boolean = true;
- private var _mouseFocusEnabled:Boolean = true;
- protected var startHeight:Number;
- protected var _height:Number;
- protected var _oldIMEMode:String = null;
- protected var startWidth:Number;
- public var focusTarget:IFocusManagerComponent;
- protected var errorCaught:Boolean = false;
- protected var uiFocusRect:DisplayObject;
- protected var _width:Number;
- public var version:String = "3.0.0.15";
- protected var isFocused:Boolean = false;
- protected var callLaterMethods:Dictionary;
- private var _focusEnabled:Boolean = true;
- private var tempText:TextField;
- protected var invalidateFlag:Boolean = false;
- protected var _inspector:Boolean = false;
- protected var sharedStyles:Object;
- protected var invalidHash:Object;
- protected var isLivePreview:Boolean = false;
- protected var _imeMode:String = null;
- protected var instanceStyles:Object;
- protected var _x:Number;
- protected var _y:Number;
- public function UIComponent(){
- version = "3.0.0.15";
- isLivePreview = false;
- invalidateFlag = false;
- _enabled = true;
- isFocused = false;
- _focusEnabled = true;
- _mouseFocusEnabled = true;
- _imeMode = null;
- _oldIMEMode = null;
- errorCaught = false;
- _inspector = false;
- super();
- instanceStyles = {};
- sharedStyles = {};
- invalidHash = {};
- callLaterMethods = new Dictionary();
- StyleManager.registerInstance(this);
- configUI();
- invalidate(InvalidationType.ALL);
- tabEnabled = (this is IFocusManagerComponent);
- focusRect = false;
- if (tabEnabled){
- addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
- addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
- addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
- addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
- };
- initializeFocusManager();
- addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
- }
- public static function getStyleDefinition():Object{
- return (defaultStyles);
- }
- public static function mergeStyles(... _args):Object{
- var _local2:Object;
- var _local3:uint;
- var _local4:uint;
- var _local5:Object;
- var _local6:String;
- _local2 = {};
- _local3 = _args.length;
- _local4 = 0;
- while (_local4 < _local3) {
- _local5 = _args[_local4];
- for (_local6 in _local5) {
- if (_local2[_local6] != null){
- } else {
- _local2[_local6] = _args[_local4][_local6];
- };
- };
- _local4++;
- };
- return (_local2);
- }
- public function drawFocus(_arg1:Boolean):void{
- var _local2:Number;
- isFocused = _arg1;
- if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
- removeChild(uiFocusRect);
- uiFocusRect = null;
- };
- if (_arg1){
- uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
- if (uiFocusRect == null){
- return;
- };
- _local2 = Number(getStyleValue("focusRectPadding"));
- uiFocusRect.x = -(_local2);
- uiFocusRect.y = -(_local2);
- uiFocusRect.width = (width + (_local2 * 2));
- uiFocusRect.height = (height + (_local2 * 2));
- addChildAt(uiFocusRect, 0);
- };
- }
- private function callLaterDispatcher(_arg1:Event):void{
- var _local2:Dictionary;
- var _local3:Object;
- if (_arg1.type == Event.ADDED_TO_STAGE){
- removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
- stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
- stage.invalidate();
- return;
- };
- _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
- if (stage == null){
- addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
- return;
- };
- inCallLaterPhase = true;
- _local2 = callLaterMethods;
- for (_local3 in _local2) {
- _local3();
- delete _local2[_local3];
- };
- inCallLaterPhase = false;
- }
- private function addedHandler(_arg1:Event):void{
- removeEventListener("addedToStage", addedHandler);
- initializeFocusManager();
- }
- protected function getStyleValue(_arg1:String):Object{
- return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
- }
- protected function isOurFocus(_arg1:DisplayObject):Boolean{
- return ((_arg1 == this));
- }
- override public function get scaleX():Number{
- return ((width / startWidth));
- }
- override public function get scaleY():Number{
- return ((height / startHeight));
- }
- override public function set height(_arg1:Number):void{
- if (_height == _arg1){
- return;
- };
- setSize(width, _arg1);
- }
- protected function keyDownHandler(_arg1:KeyboardEvent):void{
- }
- protected function focusInHandler(_arg1:FocusEvent):void{
- var _local2:IFocusManager;
- if (isOurFocus((_arg1.target as DisplayObject))){
- _local2 = focusManager;
- if (((_local2) && (_local2.showFocusIndicator))){
- drawFocus(true);
- isFocused = true;
- };
- };
- }
- public function setStyle(_arg1:String, _arg2:Object):void{
- if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
- return;
- };
- instanceStyles[_arg1] = _arg2;
- invalidate(InvalidationType.STYLES);
- }
- override public function get visible():Boolean{
- return (super.visible);
- }
- public function get componentInspectorSetting():Boolean{
- return (_inspector);
- }
- override public function get x():Number{
- return (((isNaN(_x)) ? super.x : _x));
- }
- override public function get y():Number{
- return (((isNaN(_y)) ? super.y : _y));
- }
- protected function setIMEMode(_arg1:Boolean){
- var enabled:* = _arg1;
- if (_imeMode != null){
- if (enabled){
- IME.enabled = true;
- _oldIMEMode = IME.conversionMode;
- try {
- if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
- IME.conversionMode = _imeMode;
- };
- errorCaught = false;
- } catch(e:Error) {
- errorCaught = true;
- throw (new Error(("IME mode not supported: " + _imeMode)));
- };
- } else {
- if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
- IME.conversionMode = _oldIMEMode;
- };
- IME.enabled = false;
- };
- };
- }
- public function set enabled(_arg1:Boolean):void{
- if (_arg1 == _enabled){
- return;
- };
- _enabled = _arg1;
- invalidate(InvalidationType.STATE);
- }
- public function setSharedStyle(_arg1:String, _arg2:Object):void{
- if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
- return;
- };
- sharedStyles[_arg1] = _arg2;
- if (instanceStyles[_arg1] == null){
- invalidate(InvalidationType.STYLES);
- };
- }
- protected function keyUpHandler(_arg1:KeyboardEvent):void{
- }
- public function set focusEnabled(_arg1:Boolean):void{
- _focusEnabled = _arg1;
- }
- override public function set scaleX(_arg1:Number):void{
- setSize((startWidth * _arg1), height);
- }
- public function get mouseFocusEnabled():Boolean{
- return (_mouseFocusEnabled);
- }
- override public function set scaleY(_arg1:Number):void{
- setSize(width, (startHeight * _arg1));
- }
- protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
- var classDef:* = null;
- var skin:* = _arg1;
- classDef = null;
- if ((skin is Class)){
- return ((new (skin)() as DisplayObject));
- };
- if ((skin is DisplayObject)){
- (skin as DisplayObject).x = 0;
- (skin as DisplayObject).y = 0;
- return ((skin as DisplayObject));
- };
- try {
- classDef = getDefinitionByName(skin.toString());
- } catch(e:Error) {
- try {
- classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
- } catch(e:Error) {
- };
- };
- if (classDef == null){
- return (null);
- };
- return ((new (classDef)() as DisplayObject));
- }
- protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
- var _local3:String;
- for (_local3 in _arg2) {
- _arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
- };
- }
- protected function beforeComponentParameters():void{
- }
- protected function callLater(_arg1:Function):void{
- if (inCallLaterPhase){
- return;
- };
- callLaterMethods[_arg1] = true;
- if (stage != null){
- stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
- stage.invalidate();
- } else {
- addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
- };
- }
- protected function createFocusManager():void{
- if (focusManagers[stage] == null){
- focusManagers[stage] = new FocusManager(stage);
- };
- }
- override public function set visible(_arg1:Boolean):void{
- var _local2:String;
- if (super.visible == _arg1){
- return;
- };
- super.visible = _arg1;
- _local2 = ((_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE);
- dispatchEvent(new ComponentEvent(_local2, true));
- }
- protected function hookAccessibility(_arg1:Event):void{
- removeEventListener(Event.ENTER_FRAME, hookAccessibility);
- initializeAccessibility();
- }
- public function set componentInspectorSetting(_arg1:Boolean):void{
- _inspector = _arg1;
- if (_inspector){
- beforeComponentParameters();
- } else {
- afterComponentParameters();
- };
- }
- override public function set x(_arg1:Number):void{
- move(_arg1, _y);
- }
- public function drawNow():void{
- draw();
- }
- override public function set y(_arg1:Number):void{
- move(_x, _arg1);
- }
- protected function checkLivePreview():Boolean{
- var className:* = null;
- if (parent == null){
- return (false);
- };
- try {
- className = getQualifiedClassName(parent);
- } catch(e:Error) {
- };
- return ((className == "fl.livepreview::LivePreviewParent"));
- }
- protected function focusOutHandler(_arg1:FocusEvent):void{
- if (isOurFocus((_arg1.target as DisplayObject))){
- drawFocus(false);
- isFocused = false;
- };
- }
- public function set mouseFocusEnabled(_arg1:Boolean):void{
- _mouseFocusEnabled = _arg1;
- }
- public function getFocus():InteractiveObject{
- if (stage){
- return (stage.focus);
- };
- return (null);
- }
- protected function validate():void{
- invalidHash = {};
- }
- override public function get height():Number{
- return (_height);
- }
- public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
- invalidHash[_arg1] = true;
- if (_arg2){
- this.callLater(draw);
- };
- }
- public function get enabled():Boolean{
- return (_enabled);
- }
- protected function getScaleX():Number{
- return (super.scaleX);
- }
- protected function getScaleY():Number{
- return (super.scaleY);
- }
- public function get focusEnabled():Boolean{
- return (_focusEnabled);
- }
- protected function afterComponentParameters():void{
- }
- protected function draw():void{
- if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
- if (((isFocused) && (focusManager.showFocusIndicator))){
- drawFocus(true);
- };
- };
- validate();
- }
- protected function configUI():void{
- var _local1:Number;
- var _local2:Number;
- var _local3:Number;
- isLivePreview = checkLivePreview();
- _local1 = rotation;
- rotation = 0;
- _local2 = super.width;
- _local3 = super.height;
- var _local4 = 1;
- super.scaleY = _local4;
- super.scaleX = _local4;
- setSize(_local2, _local3);
- move(super.x, super.y);
- rotation = _local1;
- startWidth = _local2;
- startHeight = _local3;
- if (numChildren > 0){
- removeChildAt(0);
- };
- }
- protected function setScaleX(_arg1:Number):void{
- super.scaleX = _arg1;
- }
- protected function setScaleY(_arg1:Number):void{
- super.scaleY = _arg1;
- }
- private function initializeFocusManager():void{
- if (stage == null){
- addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
- } else {
- createFocusManager();
- };
- }
- public function set focusManager(_arg1:IFocusManager):void{
- UIComponent.focusManagers[this] = _arg1;
- }
- public function clearStyle(_arg1:String):void{
- setStyle(_arg1, null);
- }
- protected function isInvalid(_arg1:String, ... _args):Boolean{
- if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
- return (true);
- };
- while (_args.length > 0) {
- if (invalidHash[_args.pop()]){
- return (true);
- };
- };
- return (false);
- }
- public function setSize(_arg1:Number, _arg2:Number):void{
- _width = _arg1;
- _height = _arg2;
- invalidate(InvalidationType.SIZE);
- dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
- }
- override public function set width(_arg1:Number):void{
- if (_width == _arg1){
- return;
- };
- setSize(_arg1, height);
- }
- public function setFocus():void{
- if (stage){
- stage.focus = this;
- };
- }
- protected function initializeAccessibility():void{
- if (UIComponent.createAccessibilityImplementation != null){
- UIComponent.createAccessibilityImplementation(this);
- };
- }
- public function get focusManager():IFocusManager{
- var _local1:DisplayObject;
- _local1 = this;
- while (_local1) {
- if (UIComponent.focusManagers[_local1] != null){
- return (IFocusManager(UIComponent.focusManagers[_local1]));
- };
- _local1 = _local1.parent;
- };
- return (null);
- }
- override public function get width():Number{
- return (_width);
- }
- public function move(_arg1:Number, _arg2:Number):void{
- _x = _arg1;
- _y = _arg2;
- super.x = Math.round(_arg1);
- super.y = Math.round(_arg2);
- dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
- }
- public function validateNow():void{
- invalidate(InvalidationType.ALL, false);
- draw();
- }
- public function getStyle(_arg1:String):Object{
- return (instanceStyles[_arg1]);
- }
- }
- }//package fl.core
- package fl.core {
- import flash.display.*;
- public dynamic class ComponentShim extends MovieClip {
- }
- }//package fl.core
- package fl.managers {
- import fl.controls.*;
- import flash.display.*;
- public interface IFocusManager {
- function getFocus():InteractiveObject;
- function deactivate():void;
- function set defaultButton(_arg1:Button):void;
- function set showFocusIndicator(_arg1:Boolean):void;
- function get defaultButtonEnabled():Boolean;
- function get nextTabIndex():int;
- function get defaultButton():Button;
- function get showFocusIndicator():Boolean;
- function setFocus(_arg1:InteractiveObject):void;
- function activate():void;
- function showFocus():void;
- function set defaultButtonEnabled(_arg1:Boolean):void;
- function hideFocus():void;
- function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
- function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
- }
- }//package fl.managers
- package fl.managers {
- public interface IFocusManagerComponent {
- function set focusEnabled(_arg1:Boolean):void;
- function drawFocus(_arg1:Boolean):void;
- function setFocus():void;
- function get focusEnabled():Boolean;
- function get tabEnabled():Boolean;
- function get tabIndex():int;
- function get mouseFocusEnabled():Boolean;
- }
- }//package fl.managers
- package fl.managers {
- import fl.core.*;
- import flash.utils.*;
- import flash.text.*;
- public class StyleManager {
- private static var _instance:StyleManager;
- private var globalStyles:Object;
- private var classToDefaultStylesDict:Dictionary;
- private var styleToClassesHash:Object;
- private var classToStylesDict:Dictionary;
- private var classToInstancesDict:Dictionary;
- public function StyleManager(){
- styleToClassesHash = {};
- classToInstancesDict = new Dictionary(true);
- classToStylesDict = new Dictionary(true);
- classToDefaultStylesDict = new Dictionary(true);
- globalStyles = UIComponent.getStyleDefinition();
- }
- public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
- var _local3:Class;
- var _local4:Object;
- _local3 = getClassDef(_arg1);
- _local4 = getInstance().classToStylesDict[_local3];
- if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
- delete _local4[_arg2];
- invalidateComponentStyle(_local3, _arg2);
- };
- }
- private static function getClassDef(_arg1:Object):Class{
- var component:* = _arg1;
- if ((component is Class)){
- return ((component as Class));
- };
- try {
- return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
- } catch(e:Error) {
- if ((component is UIComponent)){
- try {
- return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
- } catch(e:Error) {
- };
- };
- };
- return (null);
- }
- public static function clearStyle(_arg1:String):void{
- setStyle(_arg1, null);
- }
- public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
- var _local4:Class;
- var _local5:Object;
- _local4 = getClassDef(_arg1);
- _local5 = getInstance().classToStylesDict[_local4];
- if (_local5 == null){
- _local5 = (getInstance().classToStylesDict[_local4] = {});
- };
- if (_local5 == _arg3){
- return;
- };
- _local5[_arg2] = _arg3;
- invalidateComponentStyle(_local4, _arg2);
- }
- private static function setSharedStyles(_arg1:UIComponent):void{
- var _local2:StyleManager;
- var _local3:Class;
- var _local4:Object;
- var _local5:String;
- _local2 = getInstance();
- _local3 = getClassDef(_arg1);
- _local4 = _local2.classToDefaultStylesDict[_local3];
- for (_local5 in _local4) {
- _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
- };
- }
- public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
- var _local3:Class;
- var _local4:Object;
- _local3 = getClassDef(_arg1);
- _local4 = getInstance().classToStylesDict[_local3];
- return (((_local4)==null) ? null : _local4[_arg2]);
- }
- private static function getInstance(){
- if (_instance == null){
- _instance = new (StyleManager)();
- };
- return (_instance);
- }
- private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
- var _local3:Dictionary;
- var _local4:Object;
- var _local5:UIComponent;
- _local3 = getInstance().classToInstancesDict[_arg1];
- if (_local3 == null){
- return;
- };
- for (_local4 in _local3) {
- _local5 = (_local4 as UIComponent);
- if (_local5 == null){
- } else {
- _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
- };
- };
- }
- private static function invalidateStyle(_arg1:String):void{
- var _local2:Dictionary;
- var _local3:Object;
- _local2 = getInstance().styleToClassesHash[_arg1];
- if (_local2 == null){
- return;
- };
- for (_local3 in _local2) {
- invalidateComponentStyle(Class(_local3), _arg1);
- };
- }
- public static function registerInstance(_arg1:UIComponent):void{
- var inst:* = null;
- var classDef:* = null;
- var target:* = null;
- var defaultStyles:* = null;
- var styleToClasses:* = null;
- var n:* = null;
- var instance:* = _arg1;
- inst = getInstance();
- classDef = getClassDef(instance);
- if (classDef == null){
- return;
- };
- if (inst.classToInstancesDict[classDef] == null){
- inst.classToInstancesDict[classDef] = new Dictionary(true);
- target = classDef;
- while (defaultStyles == null) {
- if (target["getStyleDefinition"] != null){
- defaultStyles = target["getStyleDefinition"]();
- break;
- };
- try {
- target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
- } catch(err:Error) {
- try {
- target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
- } catch(e:Error) {
- defaultStyles = UIComponent.getStyleDefinition();
- break;
- };
- };
- };
- styleToClasses = inst.styleToClassesHash;
- for (n in defaultStyles) {
- if (styleToClasses[n] == null){
- styleToClasses[n] = new Dictionary(true);
- };
- styleToClasses[n][classDef] = true;
- };
- inst.classToDefaultStylesDict[classDef] = defaultStyles;
- inst.classToStylesDict[classDef] = {};
- };
- inst.classToInstancesDict[classDef][instance] = true;
- setSharedStyles(instance);
- }
- public static function getStyle(_arg1:String):Object{
- return (getInstance().globalStyles[_arg1]);
- }
- private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
- var _local3:Class;
- var _local4:StyleManager;
- var _local5:Object;
- _local3 = getClassDef(_arg1);
- _local4 = getInstance();
- _local5 = _local4.classToStylesDict[_local3][_arg2];
- if (_local5 != null){
- return (_local5);
- };
- _local5 = _local4.globalStyles[_arg2];
- if (_local5 != null){
- return (_local5);
- };
- return (_local4.classToDefaultStylesDict[_local3][_arg2]);
- }
- public static function setStyle(_arg1:String, _arg2:Object):void{
- var _local3:Object;
- _local3 = getInstance().globalStyles;
- if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
- return;
- };
- _local3[_arg1] = _arg2;
- invalidateStyle(_arg1);
- }
- }
- }//package fl.managers
- package fl.managers {
- public interface IFocusManagerGroup {
- function set groupName(_arg1:String):void;
- function set selected(_arg1:Boolean):void;
- function get groupName():String;
- function get selected():Boolean;
- }
- }//package fl.managers
- package fl.managers {
- import fl.controls.*;
- import flash.display.*;
- import flash.events.*;
- import fl.core.*;
- import flash.utils.*;
- import flash.text.*;
- import flash.ui.*;
- public class FocusManager implements IFocusManager {
- private var focusableObjects:Dictionary;
- private var _showFocusIndicator:Boolean = true;
- private var defButton:Button;
- private var focusableCandidates:Array;
- private var _form:DisplayObjectContainer;
- private var _defaultButtonEnabled:Boolean = true;
- private var activated:Boolean = false;
- private var _defaultButton:Button;
- private var calculateCandidates:Boolean = true;
- private var lastFocus:InteractiveObject;
- private var lastAction:String;
- public function FocusManager(_arg1:DisplayObjectContainer){
- activated = false;
- calculateCandidates = true;
- _showFocusIndicator = true;
- _defaultButtonEnabled = true;
- super();
- focusableObjects = new Dictionary(true);
- if (_arg1 != null){
- _form = _arg1;
- addFocusables(DisplayObject(_arg1));
- _arg1.addEventListener(Event.ADDED, addedHandler);
- _arg1.addEventListener(Event.REMOVED, removedHandler);
- activate();
- };
- }
- public function get showFocusIndicator():Boolean{
- return (_showFocusIndicator);
- }
- private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
- var _local5:int;
- var _local6:int;
- var _local7:DisplayObject;
- var _local8:IFocusManagerGroup;
- var _local9:int;
- var _local10:DisplayObject;
- var _local11:IFocusManagerGroup;
- _local5 = focusableCandidates.length;
- _local6 = _arg1;
- while (true) {
- if (_arg2){
- _arg1--;
- } else {
- _arg1++;
- };
- if (_arg3){
- if (((_arg2) && ((_arg1 < 0)))){
- break;
- };
- if (((!(_arg2)) && ((_arg1 == _local5)))){
- break;
- };
- } else {
- _arg1 = ((_arg1 + _local5) % _local5);
- if (_local6 == _arg1){
- break;
- };
- };
- if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
- _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
- if ((_local7 is IFocusManagerGroup)){
- _local8 = IFocusManagerGroup(_local7);
- _local9 = 0;
- while (_local9 < focusableCandidates.length) {
- _local10 = focusableCandidates[_local9];
- if ((_local10 is IFocusManagerGroup)){
- _local11 = IFocusManagerGroup(_local10);
- if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
- _arg1 = _local9;
- break;
- };
- };
- _local9++;
- };
- };
- return (_arg1);
- };
- };
- return (_arg1);
- }
- public function set form(_arg1:DisplayObjectContainer):void{
- _form = _arg1;
- }
- private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
- var focusable:* = null;
- var io:* = null;
- var doc:* = null;
- var i:* = 0;
- var child:* = null;
- var o:* = _arg1;
- var skipTopLevel:Boolean = _arg2;
- if (!skipTopLevel){
- if ((o is IFocusManagerComponent)){
- focusable = IFocusManagerComponent(o);
- if (focusable.focusEnabled){
- if (((focusable.tabEnabled) && (isTabVisible(o)))){
- focusableObjects[o] = true;
- calculateCandidates = true;
- };
- o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
- o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
- };
- } else {
- if ((o is InteractiveObject)){
- io = (o as InteractiveObject);
- if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
- focusableObjects[io] = true;
- calculateCandidates = true;
- };
- io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
- io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
- };
- };
- };
- if ((o is DisplayObjectContainer)){
- doc = DisplayObjectContainer(o);
- o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
- if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
- i = 0;
- while (i < doc.numChildren) {
- try {
- child = doc.getChildAt(i);
- if (child != null){
- addFocusables(doc.getChildAt(i));
- };
- } catch(error:SecurityError) {
- };
- i = (i + 1);
- };
- };
- };
- }
- private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
- return (_arg1.getChildIndex(_arg2));
- }
- private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
- if ((_arg1.relatedObject is TextField)){
- return;
- };
- _arg1.preventDefault();
- }
- private function focusOutHandler(_arg1:FocusEvent):void{
- var _local2:InteractiveObject;
- _local2 = (_arg1.target as InteractiveObject);
- }
- private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
- var _local3:IFocusManagerGroup;
- if (!isEnabledAndVisible(_arg1)){
- return (false);
- };
- if ((_arg1 is IFocusManagerGroup)){
- _local3 = IFocusManagerGroup(_arg1);
- if (_arg2 == _local3.groupName){
- return (false);
- };
- };
- return (true);
- }
- public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
- var _local2:InteractiveObject;
- _local2 = _arg1;
- while (_arg1) {
- if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
- return (_arg1);
- };
- _arg1 = _arg1.parent;
- };
- return (_local2);
- }
- private function sortFocusableObjectsTabIndex():void{
- var _local1:Object;
- var _local2:InteractiveObject;
- focusableCandidates = [];
- for (_local1 in focusableObjects) {
- _local2 = InteractiveObject(_local1);
- if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
- focusableCandidates.push(_local2);
- };
- };
- focusableCandidates.sort(sortByTabIndex);
- }
- private function removeFocusables(_arg1:DisplayObject):void{
- var _local2:Object;
- var _local3:DisplayObject;
- if ((_arg1 is DisplayObjectContainer)){
- _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
- _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
- for (_local2 in focusableObjects) {
- _local3 = DisplayObject(_local2);
- if (DisplayObjectContainer(_arg1).contains(_local3)){
- if (_local3 == lastFocus){
- lastFocus = null;
- };
- _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
- delete focusableObjects[_local2];
- calculateCandidates = true;
- };
- };
- };
- }
- private function addedHandler(_arg1:Event):void{
- var _local2:DisplayObject;
- _local2 = DisplayObject(_arg1.target);
- if (_local2.stage){
- addFocusables(DisplayObject(_arg1.target));
- };
- }
- private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
- while (_arg1 != InteractiveObject(form)) {
- if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
- return (_arg1);
- };
- _arg1 = _arg1.parent;
- if (_arg1 == null){
- break;
- };
- };
- return (null);
- }
- private function tabChildrenChangeHandler(_arg1:Event):void{
- var _local2:DisplayObjectContainer;
- if (_arg1.target != _arg1.currentTarget){
- return;
- };
- calculateCandidates = true;
- _local2 = DisplayObjectContainer(_arg1.target);
- if (_local2.tabChildren){
- addFocusables(_local2, true);
- } else {
- removeFocusables(_local2);
- };
- }
- public function sendDefaultButtonEvent():void{
- defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
- }
- public function getFocus():InteractiveObject{
- var _local1:InteractiveObject;
- _local1 = form.stage.focus;
- return (findFocusManagerComponent(_local1));
- }
- private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
- var _local2:DisplayObjectContainer;
- var _local3:TextField;
- var _local4:SimpleButton;
- _local2 = DisplayObject(form).parent;
- while (_arg1 != _local2) {
- if ((_arg1 is UIComponent)){
- if (!UIComponent(_arg1).enabled){
- return (false);
- };
- } else {
- if ((_arg1 is TextField)){
- _local3 = TextField(_arg1);
- if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
- return (false);
- };
- } else {
- if ((_arg1 is SimpleButton)){
- _local4 = SimpleButton(_arg1);
- if (!_local4.enabled){
- return (false);
- };
- };
- };
- };
- if (!_arg1.visible){
- return (false);
- };
- _arg1 = _arg1.parent;
- };
- return (true);
- }
- public function set defaultButton(_arg1:Button):void{
- var _local2:Button;
- _local2 = ((_arg1) ? Button(_arg1) : null);
- if (_local2 != _defaultButton){
- if (_defaultButton){
- _defaultButton.emphasized = false;
- };
- if (defButton){
- defButton.emphasized = false;
- };
- _defaultButton = _local2;
- defButton = _local2;
- if (_local2){
- _local2.emphasized = true;
- };
- };
- }
- private function deactivateHandler(_arg1:Event):void{
- var _local2:InteractiveObject;
- _local2 = InteractiveObject(_arg1.target);
- }
- public function setFocus(_arg1:InteractiveObject):void{
- if ((_arg1 is IFocusManagerComponent)){
- IFocusManagerComponent(_arg1).setFocus();
- } else {
- form.stage.focus = _arg1;
- };
- }
- private function setFocusToNextObject(_arg1:FocusEvent):void{
- var _local2:InteractiveObject;
- if (!hasFocusableObjects()){
- return;
- };
- _local2 = getNextFocusManagerComponent(_arg1.shiftKey);
- if (_local2){
- setFocus(_local2);
- };
- }
- private function hasFocusableObjects():Boolean{
- var _local1:Object;
- for (_local1 in focusableObjects) {
- return (true);
- };
- return (false);
- }
- private function tabIndexChangeHandler(_arg1:Event):void{
- calculateCandidates = true;
- }
- private function sortFocusableObjects():void{
- var _local1:Object;
- var _local2:InteractiveObject;
- focusableCandidates = [];
- for (_local1 in focusableObjects) {
- _local2 = InteractiveObject(_local1);
- if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
- sortFocusableObjectsTabIndex();
- return;
- };
- focusableCandidates.push(_local2);
- };
- focusableCandidates.sort(sortByDepth);
- }
- private function keyFocusChangeHandler(_arg1:FocusEvent):void{
- showFocusIndicator = true;
- if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
- setFocusToNextObject(_arg1);
- _arg1.preventDefault();
- };
- }
- private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
- var _local2:int;
- var _local3:int;
- _local2 = focusableCandidates.length;
- _local3 = 0;
- _local3 = 0;
- while (_local3 < _local2) {
- if (focusableCandidates[_local3] == _arg1){
- return (_local3);
- };
- _local3++;
- };
- return (-1);
- }
- public function hideFocus():void{
- }
- private function removedHandler(_arg1:Event):void{
- var _local2:int;
- var _local3:DisplayObject;
- var _local4:InteractiveObject;
- _local3 = DisplayObject(_arg1.target);
- if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
- if (_local3 == lastFocus){
- IFocusManagerComponent(lastFocus).drawFocus(false);
- lastFocus = null;
- };
- _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
- delete focusableObjects[_local3];
- calculateCandidates = true;
- } else {
- if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
- _local4 = (_local3 as InteractiveObject);
- if (_local4){
- if (_local4 == lastFocus){
- lastFocus = null;
- };
- delete focusableObjects[_local4];
- calculateCandidates = true;
- };
- _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
- };
- };
- removeFocusables(_local3);
- }
- private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
- var _local3:String;
- var _local4:String;
- var _local5:int;
- var _local6:String;
- var _local7:String;
- var _local8:String;
- var _local9:DisplayObject;
- var _local10:DisplayObject;
- _local3 = "";
- _local4 = "";
- _local8 = "0000";
- _local9 = DisplayObject(_arg1);
- _local10 = DisplayObject(_arg2);
- while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
- _local5 = getChildIndex(_local9.parent, _local9);
- _local6 = _local5.toString(16);
- if (_local6.length < 4){
- _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
- };
- _local3 = (_local7 + _local3);
- _local9 = _local9.parent;
- };
- while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
- _local5 = getChildIndex(_local10.parent, _local10);
- _local6 = _local5.toString(16);
- if (_local6.length < 4){
- _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
- };
- _local4 = (_local7 + _local4);
- _local10 = _local10.parent;
- };
- return ((((_local3 > _local4)) ? 1 : (((_local3 < _local4)) ? -1 : 0)));
- }
- public function get defaultButton():Button{
- return (_defaultButton);
- }
- private function activateHandler(_arg1:Event):void{
- var _local2:InteractiveObject;
- _local2 = InteractiveObject(_arg1.target);
- if (lastFocus){
- if ((lastFocus is IFocusManagerComponent)){
- IFocusManagerComponent(lastFocus).setFocus();
- } else {
- form.stage.focus = lastFocus;
- };
- };
- lastAction = "ACTIVATE";
- }
- public function showFocus():void{
- }
- public function set defaultButtonEnabled(_arg1:Boolean):void{
- _defaultButtonEnabled = _arg1;
- }
- public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
- var _local2:DisplayObject;
- var _local3:String;
- var _local4:int;
- var _local5:Boolean;
- var _local6:int;
- var _local7:int;
- var _local8:IFocusManagerGroup;
- if (!hasFocusableObjects()){
- return (null);
- };
- if (calculateCandidates){
- sortFocusableObjects();
- calculateCandidates = false;
- };
- _local2 = form.stage.focus;
- _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
- _local3 = "";
- if ((_local2 is IFocusManagerGroup)){
- _local8 = IFocusManagerGroup(_local2);
- _local3 = _local8.groupName;
- };
- _local4 = getIndexOfFocusedObject(_local2);
- _local5 = false;
- _local6 = _local4;
- if (_local4 == -1){
- if (_arg1){
- _local4 = focusableCandidates.length;
- };
- _local5 = true;
- };
- _local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
- return (findFocusManagerComponent(focusableCandidates[_local7]));
- }
- private function mouseDownHandler(_arg1:MouseEvent):void{
- var _local2:InteractiveObject;
- if (_arg1.isDefaultPrevented()){
- return;
- };
- _local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
- if (!_local2){
- return;
- };
- showFocusIndicator = false;
- if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
- setFocus(_local2);
- };
- lastAction = "MOUSEDOWN";
- }
- private function isTabVisible(_arg1:DisplayObject):Boolean{
- var _local2:DisplayObjectContainer;
- _local2 = _arg1.parent;
- while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
- if (!_local2.tabChildren){
- return (false);
- };
- _local2 = _local2.parent;
- };
- return (true);
- }
- public function get nextTabIndex():int{
- return (0);
- }
- private function keyDownHandler(_arg1:KeyboardEvent):void{
- if (_arg1.keyCode == Keyboard.TAB){
- lastAction = "KEY";
- if (calculateCandidates){
- sortFocusableObjects();
- calculateCandidates = false;
- };
- };
- if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
- sendDefaultButtonEvent();
- };
- }
- private function focusInHandler(_arg1:FocusEvent):void{
- var _local2:InteractiveObject;
- var _local3:Button;
- _local2 = InteractiveObject(_arg1.target);
- if (form.contains(_local2)){
- lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
- if ((lastFocus is Button)){
- _local3 = Button(lastFocus);
- if (defButton){
- defButton.emphasized = false;
- defButton = _local3;
- _local3.emphasized = true;
- };
- } else {
- if (((defButton) && (!((defButton == _defaultButton))))){
- defButton.emphasized = false;
- defButton = _defaultButton;
- _defaultButton.emphasized = true;
- };
- };
- };
- }
- private function tabEnabledChangeHandler(_arg1:Event):void{
- var _local2:InteractiveObject;
- var _local3:Boolean;
- calculateCandidates = true;
- _local2 = InteractiveObject(_arg1.target);
- _local3 = (focusableObjects[_local2] == true);
- if (_local2.tabEnabled){
- if (((!(_local3)) && (isTabVisible(_local2)))){
- if (!(_local2 is IFocusManagerComponent)){
- _local2.focusRect = false;
- };
- focusableObjects[_local2] = true;
- };
- } else {
- if (_local3){
- delete focusableObjects[_local2];
- };
- };
- }
- public function set showFocusIndicator(_arg1:Boolean):void{
- _showFocusIndicator = _arg1;
- }
- public function get form():DisplayObjectContainer{
- return (_form);
- }
- private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
- return ((((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : (((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2))));
- }
- public function activate():void{
- if (activated){
- return;
- };
- form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
- form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
- form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
- form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
- form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
- form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
- form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
- activated = true;
- if (lastFocus){
- setFocus(lastFocus);
- };
- }
- public function deactivate():void{
- form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
- form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
- form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
- form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
- form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
- form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
- form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
- activated = false;
- }
- public function get defaultButtonEnabled():Boolean{
- return (_defaultButtonEnabled);
- }
- }
- }//package fl.managers
- package fl.events {
- import flash.events.*;
- public class ComponentEvent extends Event {
- public static const HIDE:String = "hide";
- public static const BUTTON_DOWN:String = "buttonDown";
- public static const MOVE:String = "move";
- public static const RESIZE:String = "resize";
- public static const ENTER:String = "enter";
- public static const LABEL_CHANGE:String = "labelChange";
- public static const SHOW:String = "show";
- public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
- super(_arg1, _arg2, _arg3);
- }
- override public function toString():String{
- return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
- }
- override public function clone():Event{
- return (new ComponentEvent(type, bubbles, cancelable));
- }
- }
- }//package fl.events
- package com.adobe.serialization.json {
- public class JSONToken {
- private var _value:Object;
- private var _type:int;
- public function JSONToken(_arg1:int=-1, _arg2:Object=null){
- _type = _arg1;
- _value = _arg2;
- }
- public function set value(_arg1:Object):void{
- _value = _arg1;
- }
- public function get value():Object{
- return (_value);
- }
- public function set type(_arg1:int):void{
- _type = _arg1;
- }
- public function get type():int{
- return (_type);
- }
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- import flash.utils.*;
- public class JSONEncoder {
- private var jsonString:String;
- public function JSONEncoder(_arg1){
- jsonString = convertToString(_arg1);
- }
- private function arrayToString(_arg1:Array):String{
- var _local2:String;
- var _local3:int;
- _local2 = "";
- _local3 = 0;
- while (_local3 < _arg1.length) {
- if (_local2.length > 0){
- _local2 = (_local2 + ",");
- };
- _local2 = (_local2 + convertToString(_arg1[_local3]));
- _local3++;
- };
- return ((("[" + _local2) + "]"));
- }
- private function convertToString(_arg1):String{
- if ((_arg1 is String)){
- return (escapeString((_arg1 as String)));
- };
- if ((_arg1 is Number)){
- return (((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"));
- };
- if ((_arg1 is Boolean)){
- return (((_arg1) ? "true" : "false"));
- };
- if ((_arg1 is Array)){
- return (arrayToString((_arg1 as Array)));
- };
- if ((((_arg1 is Object)) && (!((_arg1 == null))))){
- return (objectToString(_arg1));
- };
- return ("null");
- }
- private function escapeString(_arg1:String):String{
- var _local2:String;
- var _local3:String;
- var _local4:Number;
- var _local5:int;
- var _local6:String;
- var _local7:String;
- _local2 = "";
- _local4 = _arg1.length;
- _local5 = 0;
- while (_local5 < _local4) {
- _local3 = _arg1.charAt(_local5);
- switch (_local3){
- case "\"":
- _local2 = (_local2 + "\\\"");
- break;
- case "\\":
- _local2 = (_local2 + "\\\\");
- break;
- case "\b":
- _local2 = (_local2 + "\\b");
- break;
- case "\f":
- _local2 = (_local2 + "\\f");
- break;
- case "\n":
- _local2 = (_local2 + "\\n");
- break;
- case "\r":
- _local2 = (_local2 + "\\r");
- break;
- case "\t":
- _local2 = (_local2 + "\\t");
- break;
- default:
- if (_local3 < " "){
- _local6 = _local3.charCodeAt(0).toString(16);
- _local7 = (((_local6.length == 2)) ? "00" : "000");
- _local2 = (_local2 + (("\\u" + _local7) + _local6));
- } else {
- _local2 = (_local2 + _local3);
- };
- };
- _local5++;
- };
- return ((("\"" + _local2) + "\""));
- }
- private function objectToString(_arg1:Object):String{
- var s:* = null;
- var classInfo:* = null;
- var value:* = null;
- var key:* = null;
- var v:* = null;
- var o:* = _arg1;
- s = "";
- classInfo = describeType(o);
- if (classInfo.@name.toString() == "Object"){
- for (key in o) {
- value = o[key];
- if ((value is Function)){
- } else {
- if (s.length > 0){
- s = (s + ",");
- };
- s = (s + ((escapeString(key) + ":") + convertToString(value)));
- };
- };
- } else {
- for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
- if (s.length > 0){
- s = (s + ",");
- };
- s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
- };
- };
- return ((("{" + s) + "}"));
- }
- public function getString():String{
- return (jsonString);
- }
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- public class JSONParseError extends Error {
- private var _text:String;
- private var _location:int;
- public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
- super(_arg1);
- _location = _arg2;
- _text = _arg3;
- }
- public function get text():String{
- return (_text);
- }
- public function get location():int{
- return (_location);
- }
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- public class JSONTokenizer {
- private var loc:int;
- private var ch:String;
- private var obj:Object;
- private var jsonString:String;
- public function JSONTokenizer(_arg1:String){
- jsonString = _arg1;
- loc = 0;
- nextChar();
- }
- private function skipComments():void{
- if (ch == "/"){
- nextChar();
- switch (ch){
- case "/":
- do {
- nextChar();
- } while (((!((ch == "\n"))) && (!((ch == "")))));
- nextChar();
- break;
- case "*":
- nextChar();
- while (true) {
- if (ch == "*"){
- nextChar();
- if (ch == "/"){
- nextChar();
- break;
- };
- } else {
- nextChar();
- };
- if (ch == ""){
- parseError("Multi-line comment not closed");
- };
- };
- break;
- default:
- parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
- };
- };
- }
- private function isDigit(_arg1:String):Boolean{
- return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
- }
- private function readNumber():JSONToken{
- var _local1:JSONToken;
- var _local2:String;
- var _local3:Number;
- _local1 = new JSONToken();
- _local1.type = JSONTokenType.NUMBER;
- _local2 = "";
- if (ch == "-"){
- _local2 = (_local2 + "-");
- nextChar();
- };
- if (!isDigit(ch)){
- parseError("Expecting a digit");
- };
- if (ch == "0"){
- _local2 = (_local2 + ch);
- nextChar();
- if (isDigit(ch)){
- parseError("A digit cannot immediately follow 0");
- };
- } else {
- while (isDigit(ch)) {
- _local2 = (_local2 + ch);
- nextChar();
- };
- };
- if (ch == "."){
- _local2 = (_local2 + ".");
- nextChar();
- if (!isDigit(ch)){
- parseError("Expecting a digit");
- };
- while (isDigit(ch)) {
- _local2 = (_local2 + ch);
- nextChar();
- };
- };
- if ((((ch == "e")) || ((ch == "E")))){
- _local2 = (_local2 + "e");
- nextChar();
- if ((((ch == "+")) || ((ch == "-")))){
- _local2 = (_local2 + ch);
- nextChar();
- };
- if (!isDigit(ch)){
- parseError("Scientific notation number needs exponent value");
- };
- while (isDigit(ch)) {
- _local2 = (_local2 + ch);
- nextChar();
- };
- };
- _local3 = Number(_local2);
- if (((isFinite(_local3)) && (!(isNaN(_local3))))){
- _local1.value = _local3;
- return (_local1);
- };
- parseError((("Number " + _local3) + " is not valid!"));
- return (null);
- }
- private function nextChar():String{
- return ((ch = jsonString.charAt(loc++)));
- }
- public function getNextToken():JSONToken{
- var _local1:JSONToken;
- var _local2:String;
- var _local3:String;
- var _local4:String;
- _local1 = new JSONToken();
- skipIgnored();
- switch (ch){
- case "{":
- _local1.type = JSONTokenType.LEFT_BRACE;
- _local1.value = "{";
- nextChar();
- break;
- case "}":
- _local1.type = JSONTokenType.RIGHT_BRACE;
- _local1.value = "}";
- nextChar();
- break;
- case "[":
- _local1.type = JSONTokenType.LEFT_BRACKET;
- _local1.value = "[";
- nextChar();
- break;
- case "]":
- _local1.type = JSONTokenType.RIGHT_BRACKET;
- _local1.value = "]";
- nextChar();
- break;
- case ",":
- _local1.type = JSONTokenType.COMMA;
- _local1.value = ",";
- nextChar();
- break;
- case ":":
- _local1.type = JSONTokenType.COLON;
- _local1.value = ":";
- nextChar();
- break;
- case "t":
- _local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
- if (_local2 == "true"){
- _local1.type = JSONTokenType.TRUE;
- _local1.value = true;
- nextChar();
- } else {
- parseError(("Expecting 'true' but found " + _local2));
- };
- break;
- case "f":
- _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
- if (_local3 == "false"){
- _local1.type = JSONTokenType.FALSE;
- _local1.value = false;
- nextChar();
- } else {
- parseError(("Expecting 'false' but found " + _local3));
- };
- break;
- case "n":
- _local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
- if (_local4 == "null"){
- _local1.type = JSONTokenType.NULL;
- _local1.value = null;
- nextChar();
- } else {
- parseError(("Expecting 'null' but found " + _local4));
- };
- break;
- case "\"":
- _local1 = readString();
- break;
- default:
- if (((isDigit(ch)) || ((ch == "-")))){
- _local1 = readNumber();
- } else {
- if (ch == ""){
- return (null);
- };
- parseError((("Unexpected " + ch) + " encountered"));
- };
- };
- return (_local1);
- }
- private function skipWhite():void{
- while (isWhiteSpace(ch)) {
- nextChar();
- };
- }
- private function isWhiteSpace(_arg1:String):Boolean{
- return ((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n"))));
- }
- public function parseError(_arg1:String):void{
- throw (new JSONParseError(_arg1, loc, jsonString));
- }
- private function skipIgnored():void{
- skipWhite();
- skipComments();
- skipWhite();
- }
- private function isHexDigit(_arg1:String):Boolean{
- var _local2:String;
- _local2 = _arg1.toUpperCase();
- return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
- }
- private function readString():JSONToken{
- var _local1:JSONToken;
- var _local2:String;
- var _local3:String;
- var _local4:int;
- _local1 = new JSONToken();
- _local1.type = JSONTokenType.STRING;
- _local2 = "";
- nextChar();
- while (((!((ch == "\""))) && (!((ch == ""))))) {
- if (ch == "\\"){
- nextChar();
- switch (ch){
- case "\"":
- _local2 = (_local2 + "\"");
- break;
- case "/":
- _local2 = (_local2 + "/");
- break;
- case "\\":
- _local2 = (_local2 + "\\");
- break;
- case "b":
- _local2 = (_local2 + "\b");
- break;
- case "f":
- _local2 = (_local2 + "\f");
- break;
- case "n":
- _local2 = (_local2 + "\n");
- break;
- case "r":
- _local2 = (_local2 + "\r");
- break;
- case "t":
- _local2 = (_local2 + "\t");
- break;
- case "u":
- _local3 = "";
- _local4 = 0;
- while (_local4 < 4) {
- if (!isHexDigit(nextChar())){
- parseError((" Excepted a hex digit, but found: " + ch));
- };
- _local3 = (_local3 + ch);
- _local4++;
- };
- _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
- break;
- default:
- _local2 = (_local2 + ("\\" + ch));
- };
- } else {
- _local2 = (_local2 + ch);
- };
- nextChar();
- };
- if (ch == ""){
- parseError("Unterminated string literal");
- };
- nextChar();
- _local1.value = _local2;
- return (_local1);
- }
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- public class JSONTokenType {
- public static const NUMBER:int = 11;
- public static const FALSE:int = 8;
- public static const RIGHT_BRACKET:int = 4;
- public static const NULL:int = 9;
- public static const TRUE:int = 7;
- public static const RIGHT_BRACE:int = 2;
- public static const UNKNOWN:int = -1;
- public static const COMMA:int = 0;
- public static const LEFT_BRACKET:int = 3;
- public static const STRING:int = 10;
- public static const LEFT_BRACE:int = 1;
- public static const COLON:int = 6;
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- public class JSONDecoder {
- private var value;
- private var tokenizer:JSONTokenizer;
- private var token:JSONToken;
- public function JSONDecoder(_arg1:String){
- tokenizer = new JSONTokenizer(_arg1);
- nextToken();
- value = parseValue();
- }
- private function nextToken():JSONToken{
- return ((token = tokenizer.getNextToken()));
- }
- private function parseObject():Object{
- var _local1:Object;
- var _local2:String;
- _local1 = new Object();
- nextToken();
- if (token.type == JSONTokenType.RIGHT_BRACE){
- return (_local1);
- };
- if (token.type == JSONTokenType.STRING){
- _local2 = String(token.value);
- nextToken();
- if (token.type == JSONTokenType.COLON){
- nextToken();
- _local1[_local2] = parseValue();
- nextToken();
- if (token.type == JSONTokenType.RIGHT_BRACE){
- return (_local1);
- };
- if (token.type == JSONTokenType.COMMA){
- nextToken();
- } else {
- tokenizer.parseError(("Expecting } or , but found " + token.value));
- };
- } else {
- tokenizer.parseError(("Expecting : but found " + token.value));
- };
- } else {
- tokenizer.parseError(("Expecting string but found " + token.value));
- };
- //unresolved jump
- }
- private function parseArray():Array{
- var _local1:Array;
- _local1 = new Array();
- nextToken();
- if (token.type == JSONTokenType.RIGHT_BRACKET){
- return (_local1);
- };
- _local1.push(parseValue());
- nextToken();
- if (token.type == JSONTokenType.RIGHT_BRACKET){
- return (_local1);
- };
- if (token.type == JSONTokenType.COMMA){
- nextToken();
- } else {
- tokenizer.parseError(("Expecting ] or , but found " + token.value));
- };
- //unresolved jump
- }
- public function getValue(){
- return (value);
- }
- private function parseValue():Object{
- switch (token.type){
- case JSONTokenType.LEFT_BRACE:
- return (parseObject());
- case JSONTokenType.LEFT_BRACKET:
- return (parseArray());
- case JSONTokenType.STRING:
- case JSONTokenType.NUMBER:
- case JSONTokenType.TRUE:
- case JSONTokenType.FALSE:
- case JSONTokenType.NULL:
- return (token.value);
- default:
- tokenizer.parseError(("Unexpected " + token.value));
- };
- return (null);
- }
- }
- }//package com.adobe.serialization.json
- package com.adobe.serialization.json {
- public class JSON {
- public static function decode(_arg1:String){
- var _local2:JSONDecoder;
- _local2 = new JSONDecoder(_arg1);
- return (_local2.getValue());
- }
- public static function encode(_arg1:Object):String{
- var _local2:JSONEncoder;
- _local2 = new JSONEncoder(_arg1);
- return (_local2.getString());
- }
- }
- }//package com.adobe.serialization.json
- package com.binweevils.utilities {
- import flash.display.*;
- import flash.events.*;
- import flash.net.*;
- import flash.system.*;
- public class URLhandler {
- private static var _basePathSmall:String;
- private static var _loginPageURL:String;
- private static var _autoBin:Boolean;
- private static var _pathAssetsNest:String;
- private static var _servicesLocation:String;
- public static var LOCAL_TEST_MODE = true;
- private static var _pathItemConfigs:String;
- private static var _pathAssetsGarden:String;
- private static var _basePathLarge:String;
- private static var _userName:String;
- private static var _pathAssetsTycoon:String;
- private static var _pathAssets3D:String;
- private static var _domain:String;
- public static function set pathAssetsNest(_arg1:String):void{
- _pathAssetsNest = _arg1;
- }
- public static function set pathItemConfigs(_arg1:String):void{
- _pathItemConfigs = _arg1;
- }
- public static function get pathAssetsNest():String{
- return (_pathAssetsNest);
- }
- public static function set domain(_arg1:String):void{
- _domain = _arg1;
- }
- public static function set basePathLarge(_arg1:String):void{
- _basePathLarge = _arg1;
- }
- public static function get basePathSmall():String{
- return (_basePathSmall);
- }
- public static function gotoURL(_arg1:String, _arg2:String):void{
- var _local3:String;
- var _local4:URLRequest;
- _arg1 = (((_domain + _arg1) + "?weevilname=") + _userName);
- if (_arg2 == "popup"){
- trace(("POPUP: " + _arg1));
- _local3 = (("javascript:NewWindow=window.open('" + _arg1) + "','newWin','width=400,height=300,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No'); NewWindow.focus(); void(0);");
- trace(("$url=" + _local3));
- _local4 = new URLRequest(_local3);
- navigateToURL(_local4);
- } else {
- _local3 = ("http://www." + _arg1);
- _local4 = new URLRequest(_local3);
- navigateToURL(_local4, _arg2);
- };
- }
- public static function get pathAssets3D():String{
- return (_pathAssets3D);
- }
- public static function set basePathSmall(_arg1:String):void{
- _basePathSmall = _arg1;
- }
- public static function get servicesLocation():String{
- return (_servicesLocation);
- }
- public static function set autoBin(_arg1:Boolean):void{
- _autoBin = _arg1;
- }
- public static function set pathAssetsGarden(_arg1:String):void{
- _pathAssetsGarden = _arg1;
- }
- public static function get loginPageURL():String{
- return (_loginPageURL);
- }
- public static function get domain():String{
- return (_domain);
- }
- public static function get basePathLarge():String{
- return (_basePathLarge);
- }
- public static function get pathAssetsGarden():String{
- return (_pathAssetsGarden);
- }
- public static function get autoBin():Boolean{
- return (_autoBin);
- }
- public static function loadFromCDN(_arg1:Loader, _arg2:String, _arg3:Function, _arg4:Boolean=false):void{
- var _local5:String;
- var _local6:LoaderContext;
- var _local7:URLRequest;
- _local5 = basePathSmall;
- if (_arg4){
- _local5 = basePathLarge;
- };
- _local6 = new LoaderContext();
- _local6.checkPolicyFile = true;
- _local6.applicationDomain = ApplicationDomain.currentDomain;
- _local6.securityDomain = SecurityDomain.currentDomain;
- _local7 = new URLRequest((_local5 + _arg2));
- _arg1.contentLoaderInfo.addEventListener(Event.COMPLETE, _arg3);
- _arg1.load(_local7, _local6);
- }
- public static function set servicesLocation(_arg1:String):void{
- _servicesLocation = _arg1;
- }
- public static function set userName(_arg1:String):void{
- _userName = _arg1;
- }
- public static function set loginPageURL(_arg1:String):void{
- _loginPageURL = _arg1;
- }
- public static function set pathAssetsTycoon(_arg1:String):void{
- _pathAssetsTycoon = _arg1;
- }
- public static function set pathAssets3D(_arg1:String):void{
- _pathAssets3D = _arg1;
- }
- public static function get pathAssetsTycoon():String{
- return (_pathAssetsTycoon);
- }
- public static function get pathItemConfigs():String{
- return (_pathItemConfigs);
- }
- }
- }//package com.binweevils.utilities
- package com.binweevils.utilities.remoting {
- import flash.events.*;
- import com.binweevils.utilities.events.*;
- import flash.net.*;
- public class RemotingEvents {
- protected var m_service:NetConnection;
- protected var m_eventBroadcaster:EventBroadcaster;
- protected var m_netErrorfunc:Function;
- protected var m_serviceName:String;
- protected var m_serviceFailureObj:Object;
- public function RemotingEvents(_arg1:String, _arg2:String, _arg3:Object=null, _arg4:Function=null){
- m_eventBroadcaster = new EventBroadcaster();
- m_serviceName = new String(_arg2);
- m_service = new NetConnection();
- m_netErrorfunc = _arg4;
- m_serviceFailureObj = _arg3;
- m_service.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- m_service.connect((_arg1 + "amfphp/gateway.php"));
- }
- protected function onFault(_arg1:Object){
- trace(("There was a problem: " + _arg1.description));
- }
- protected function createServiceFunctionName(_arg1:String){
- return (((m_serviceName + ".") + _arg1));
- }
- final public function addListener(_arg1:Object, _arg2:Function, _arg3:String, _arg4:Function):EventListenerObj{
- return (m_eventBroadcaster.addListener(_arg1, _arg2, _arg3, _arg4));
- }
- final public function removeListener(_arg1:Object, _arg2:String){
- m_eventBroadcaster.removeListener(_arg1, _arg2);
- }
- private function netStatusHandler(_arg1:NetStatusEvent):void{
- var _local2:Boolean;
- _local2 = false;
- switch (_arg1.info.code){
- case "NetConnection.Connect.Success":
- trace("RemotingEvents::netStatusHandler connection successful");
- break;
- case "NetConnection.Connect.Failed":
- trace("RemotingEvents::netStatusHandler connection failed");
- _local2 = true;
- break;
- case "NetConnection.Connect.Rejected":
- trace("RemotingEvents::netStatusHandler connection rejected");
- _local2 = true;
- break;
- case "NetConnection.Connect.InvalidApp":
- trace("RemotingEvents::netStatusHandler The application name specified during connect is invalid");
- _local2 = true;
- break;
- case "NetConnection.Call.Failed":
- trace("RemotingEvents::netStatusHandler Error opening URL");
- _local2 = true;
- break;
- default:
- trace(_arg1.info.code);
- };
- if (((((_local2) && (!((m_netErrorfunc == null))))) && (!((m_serviceFailureObj == null))))){
- m_netErrorfunc.apply(m_serviceFailureObj);
- };
- }
- final protected function createResponder(_arg1:Function, _arg2:Object, _arg3:String):Responder{
- var _local4:EventListenerObj;
- var _local5:Function;
- _local4 = m_eventBroadcaster.getEventListenerObject(_arg2, _arg3);
- if (_local4){
- if (_local4.faultFunc == null){
- _local5 = onFault;
- } else {
- _local5 = _local4.faultFunc;
- };
- } else {
- _local5 = onFault;
- };
- return (new Responder(_arg1, _local5));
- }
- }
- }//package com.binweevils.utilities.remoting
- package com.binweevils.utilities.events {
- public class EventBroadcaster {
- private var m_listeners:Array;
- public function EventBroadcaster(){
- m_listeners = new Array();
- }
- private function createListener(_arg1:Object, _arg2:Function, _arg3:String, _arg4=null){
- return (new EventListenerObj(_arg1, _arg2, _arg3, _arg4));
- }
- public function addListener(_arg1:Object, _arg2:Function, _arg3:String, _arg4=null):EventListenerObj{
- var _local5:EventListenerObj;
- removeListener(_arg1, _arg3);
- _local5 = createListener(_arg1, _arg2, _arg3, _arg4);
- m_listeners.push(_local5);
- return (_local5);
- }
- public function removeListener(_arg1:Object, _arg2:String):void{
- var _local3:uint;
- var _local4:int;
- if (m_listeners.length > 0){
- trace(m_listeners.length);
- _local3 = (m_listeners.length - 1);
- _local4 = _local3;
- while (_local4 >= 0) {
- if ((((m_listeners[_local4].eventName == _arg2)) && ((m_listeners[_local4].obj == _arg1)))){
- trace("removing listener");
- m_listeners.splice(_local4, 1);
- };
- _local4--;
- };
- trace(m_listeners.length);
- };
- }
- public function broadcastEvent(_arg1:String, ... _args):void{
- var _local3:uint;
- var _local4:uint;
- _local3 = m_listeners.length;
- _local4 = 0;
- while (_local4 < _local3) {
- if (m_listeners[_local4].eventName == _arg1){
- m_listeners[_local4].func.apply(m_listeners[_local4].obj, _args);
- };
- _local4++;
- };
- }
- public function broadcastFaultEvent(_arg1:String, ... _args):void{
- var _local3:uint;
- var _local4:uint;
- _local3 = m_listeners.length;
- _local4 = 0;
- while (_local4 < _local3) {
- if (m_listeners[_local4].eventName == _arg1){
- m_listeners[_local4].faultFunc.apply(m_listeners[_local4].obj, _args);
- };
- _local4++;
- };
- }
- public function getEventListenerObject(_arg1:Object, _arg2:String){
- var _local3:uint;
- var _local4:uint;
- _local3 = m_listeners.length;
- _local4 = 0;
- while (_local4 < _local3) {
- if ((((m_listeners[_local4].obj == _arg1)) && ((m_listeners[_local4].eventName == _arg2)))){
- return (m_listeners[_local4]);
- };
- _local4++;
- };
- }
- }
- }//package com.binweevils.utilities.events
- package com.binweevils.utilities.events {
- public class EventListenerObj {
- private var m_listenerFaultFunc:Function;
- private var m_listenerFunc:Function;
- private var m_listenerObj:Object;
- private var m_eventName:String;
- public function EventListenerObj(_arg1:Object, _arg2:Function, _arg3:String, _arg4=null){
- m_eventName = new String(_arg3);
- m_listenerFunc = _arg2;
- m_listenerObj = _arg1;
- m_listenerFaultFunc = _arg4;
- }
- public function get func():Function{
- return (m_listenerFunc);
- }
- public function get eventName():String{
- return (m_eventName);
- }
- public function set func(_arg1:Function){
- m_listenerFunc = _arg1;
- }
- public function set faultFunc(_arg1:Function){
- m_listenerFaultFunc = _arg1;
- }
- public function get faultFunc():Function{
- return (m_listenerFaultFunc);
- }
- public function set obj(_arg1:Object){
- m_listenerObj = _arg1;
- }
- public function get obj():Object{
- return (m_listenerObj);
- }
- public function set eventName(_arg1:String){
- m_eventName = _arg1;
- }
- }
- }//package com.binweevils.utilities.events
- package com.binweevils.externalUIs {
- public interface DraggableUI {
- function terminate():void;
- }
- }//package com.binweevils.externalUIs
- package com.binweevils.multiplayerGames.gameScores {
- import com.binweevils.utilities.remoting.*;
- import com.binweevils.utilities.*;
- public class MultiplayerGameScoreService extends RemotingEvents {
- public static var SUBMIT_PAIR_GAME_SCORE = "elo";
- public static var GET_GAME_PAIR_SCORE_HISTORY = "ggpsh";
- public static var GET_LEAGUE_TABLE = "glt";
- public static var WIN = "win";
- public static var SUBMIT_GAME_SCORE_COMMA_DELIM = "sgscd";
- public static var DRAW = "draw";
- public static var GET_GAME_PAIR_SCORE_INFO = "ggpsi";
- public static var GET_USER_GAME_STATS = "gugs";
- public function MultiplayerGameScoreService(_arg1:Object, _arg2:Function){
- if ((((URLhandler.servicesLocation == null)) || ((URLhandler.servicesLocation == "")))){
- URLhandler.servicesLocation = "http://dbuk.binweevils.com/";
- };
- super((URLhandler.servicesLocation + "php/"), "weevilservices.cWeevilMultiplayerGameScores", _arg1, _arg2);
- }
- public function getUserGameStatsResult(_arg1:Object){
- trace("MultiplayerGameScoreService::getUserGameStatsResult");
- m_eventBroadcaster.broadcastEvent(GET_USER_GAME_STATS, _arg1);
- }
- public function submitPairGameScoreResult(_arg1:Object){
- trace("MultiplayerGameScoreService::submitPairGameScoreResult");
- m_eventBroadcaster.broadcastEvent(SUBMIT_PAIR_GAME_SCORE, _arg1);
- }
- public function getUserGameStats(_arg1:Object, _arg2, _arg3){
- m_service.call(getServiceName(GET_USER_GAME_STATS), createResponder(getUserGameStatsResult, _arg1, GET_USER_GAME_STATS), _arg2, _arg3);
- }
- public function getGamePairScoreInformation(_arg1:Object, _arg2:String, _arg3:String, _arg4:String){
- m_service.call(getServiceName(GET_GAME_PAIR_SCORE_INFO), createResponder(getGamePairScoreInformationResult, _arg1, GET_GAME_PAIR_SCORE_INFO), _arg2, _arg3, _arg4);
- }
- public function submitPairGameScore(_arg1:Object, _arg2:String, _arg3:String, _arg4:int, _arg5:String="draw", _arg6:String=null){
- m_service.call(getServiceName(SUBMIT_PAIR_GAME_SCORE), createResponder(submitPairGameScoreResult, _arg1, SUBMIT_PAIR_GAME_SCORE), _arg2, _arg3, _arg4, _arg5, _arg6);
- }
- public function getGamePairScoreHistoryResult(_arg1:Object){
- trace("MultiplayerGameScoreService::getGamePairScoreHistoryResult");
- m_eventBroadcaster.broadcastEvent(GET_GAME_PAIR_SCORE_HISTORY, _arg1);
- }
- public function getGamePairScoreHistory(_arg1:Object, _arg2:String, _arg3:String, _arg4:String){
- m_service.call(getServiceName(GET_GAME_PAIR_SCORE_HISTORY), createResponder(getGamePairScoreHistoryResult, _arg1, GET_GAME_PAIR_SCORE_HISTORY), _arg2, _arg3, _arg4);
- }
- public function submitGameScoreCommaDelimListOfLoosersResult(_arg1:Object){
- trace("MultiplayerGameScoreService::submitGameScoreCommaDelimListOfLoosersResult");
- m_eventBroadcaster.broadcastEvent(SUBMIT_GAME_SCORE_COMMA_DELIM, _arg1);
- }
- public function submitGameScoreCommaDelimListOfLoosers(_arg1:Object, _arg2:int, _arg3:String, ... _args){
- var _local5:String;
- var _local6:int;
- _local5 = new String();
- _local6 = 0;
- while (_local6 < _args.length) {
- if (_local6 != (_args.length - 1)){
- _local5 = (_local5 + (_args[_local6] + ","));
- } else {
- _local5 = (_local5 + _args[_local6]);
- };
- _local6++;
- };
- m_service.call(getServiceName(SUBMIT_GAME_SCORE_COMMA_DELIM), createResponder(submitGameScoreCommaDelimListOfLoosersResult, _arg1, SUBMIT_GAME_SCORE_COMMA_DELIM), _arg3, _local5, _arg2);
- }
- public function getLeagueTable(_arg1:Object, _arg2:String){
- m_service.call(getServiceName(GET_LEAGUE_TABLE), createResponder(getLeagueTableResult, _arg1, GET_LEAGUE_TABLE), _arg2);
- }
- private function getServiceName(_arg1:String):String{
- switch (_arg1){
- case SUBMIT_PAIR_GAME_SCORE:
- return (createServiceFunctionName("submitPairGameScore"));
- case SUBMIT_GAME_SCORE_COMMA_DELIM:
- return (createServiceFunctionName("submitGameScoreCommaDelimListOfLoosers"));
- case GET_USER_GAME_STATS:
- return (createServiceFunctionName("getUserGameStats"));
- case GET_GAME_PAIR_SCORE_INFO:
- return (createServiceFunctionName("getGamePairScoreInformation"));
- case GET_GAME_PAIR_SCORE_HISTORY:
- return (createServiceFunctionName("getGamePairHistory"));
- case GET_LEAGUE_TABLE:
- return (createServiceFunctionName("getLeagueTable"));
- };
- trace("WARNING no service found in MultiplayerGameScoreService::getServiceName()");
- return ("");
- }
- public function getLeagueTableResult(_arg1:Object){
- trace("MultiplayerGameScoreService::getLeagueTableResult");
- m_eventBroadcaster.broadcastEvent(GET_LEAGUE_TABLE, _arg1);
- }
- public function getGamePairScoreInformationResult(_arg1:Object){
- trace("MultiplayerGameScoreService::getGamePairScoreInformationResult");
- m_eventBroadcaster.broadcastEvent(GET_GAME_PAIR_SCORE_INFO, _arg1);
- }
- }
- }//package com.binweevils.multiplayerGames.gameScores
- package com.binweevils.multiplayerGames {
- import flash.display.*;
- import flash.events.*;
- import com.binweevils.*;
- import flash.utils.*;
- import com.binweevils.multiplayerGames.common.*;
- import flash.media.*;
- import flash.text.*;
- import flash.errors.*;
- import fl.transitions.easing.*;
- public class mulch4 extends turnBasedMultiplayerGame {
- private static const GRAVITY:Number = 3;
- public static const WAITING_FOR_OTHER_PLAYER_TO_JOIN:String = "WFOPJ";
- public var slot3:MovieClip;
- public var slot4:MovieClip;
- public var slot1:MovieClip;
- private var m_animating:Boolean;
- private var m_winningSlots:String;
- private var m_userIDPlayer1:String;
- public var btnVS:SimpleButton;
- private var m_staleMateFound:Boolean;
- private var m_currentTurnTargetRow:int;
- private var m_userIDPlayer2:String;
- public var pos_5_0:MovieClip;
- public var pos_5_1:MovieClip;
- public var pos_5_3:MovieClip;
- public var pos_5_4:MovieClip;
- public var pos_5_2:MovieClip;
- public var pos_5_6:MovieClip;
- public var pos_5_5:MovieClip;
- private var m_winner:String;
- private var m_animTimer:Timer;
- public var pos_4_1:MovieClip;
- public var joinGame_mc:MovieClip;
- public var pos_4_3:MovieClip;
- public var gameOver_mc:MovieClip;
- public var pos_4_2:MovieClip;
- public var pos_4_4:MovieClip;
- public var contactingServer_mc:MovieClip;
- public var pos_4_5:MovieClip;
- private var m_origMulchPlacerY:int;
- public var player2_txt:TextField;
- public var pos_4_6:MovieClip;
- private var m_rows:int;
- public var pos_4_0:MovieClip;
- public var player1Mark_mc:MovieClip;
- public var pos_3_0:MovieClip;
- public var pos_3_2:MovieClip;
- public var pos_3_4:MovieClip;
- public var pos_3_6:MovieClip;
- public var pos_3_1:MovieClip;
- public var pos_3_3:MovieClip;
- public var pos_3_5:MovieClip;
- public var mulchPlacer:MovieClip;
- public var pos_2_3:MovieClip;
- public var pos_2_5:MovieClip;
- public var lowerPanel_spr:MovieClip;
- public var pos_2_6:MovieClip;
- public var pos_2_1:MovieClip;
- public var pos_2_4:MovieClip;
- public var pos_2_2:MovieClip;
- public var pos_1_1:MovieClip;
- public var player1_txt:TextField;
- public var pos_1_4:MovieClip;
- public var pos_1_6:MovieClip;
- public var pos_1_5:MovieClip;
- public var pos_1_2:MovieClip;
- public var pos_1_3:MovieClip;
- public var pos_2_0:MovieClip;
- public var staleMate_mc:MovieClip;
- public var pos_1_0:MovieClip;
- private var m_targetY:int;
- public var pos_0_0:MovieClip;
- public var pos_0_1:MovieClip;
- public var pos_0_2:MovieClip;
- public var pos_0_6:MovieClip;
- public var pos_0_4:MovieClip;
- public var pos_0_5:MovieClip;
- public var pos_0_3:MovieClip;
- public var close_btn:MovieClip;
- public var player2Mark_mc:MovieClip;
- public var winner_mc:MovieClip;
- private var m_cols:int;
- private var m_winnerFound:Boolean;
- public var confirmSpectator_mc:MovieClip;
- private var m_currentTurnTargetCol:int;
- private var m_slots:Array;
- public var waitingForPlayer_mc:MovieClip;
- public var slot0:MovieClip;
- public var slot2:MovieClip;
- public var slot5:MovieClip;
- private var m_dirY:int;
- public var slot6:MovieClip;
- public function mulch4(){
- super(1);
- trace("mulch4: ctor");
- addEventListeners();
- m_origMulchPlacerY = mulchPlacer.y;
- m_currentPlayersTurn = new String();
- m_winner = new String();
- m_cols = 7;
- m_rows = 6;
- m_gameTypeID = "mulch4";
- close_btn.buttonMode = true;
- joinGame_mc.btnYes.addEventListener(MouseEvent.MOUSE_UP, onStartGame, false, 0, true);
- joinGame_mc.btnNo.addEventListener(MouseEvent.MOUSE_UP, onCloseGame, false, 0, true);
- confirmSpectator_mc.btnYes.addEventListener(MouseEvent.MOUSE_UP, confirmSpectatorStatus, false, 0, true);
- confirmSpectator_mc.btnNo.addEventListener(MouseEvent.MOUSE_UP, onCloseGame, false, 0, true);
- close_btn.addEventListener(MouseEvent.MOUSE_UP, onCloseBtnClicked, false, 0, true);
- initNewGame();
- m_animTimer = new Timer(33);
- m_animTimer.addEventListener(TimerEvent.TIMER, animateTweenStep, false, 0, true);
- m_winningSlots = new String();
- }
- private function animateTweenStep(_arg1:Event){
- var _local2:int;
- m_dirY = (m_dirY + GRAVITY);
- _local2 = (mulchPlacer.y + m_dirY);
- mulchPlacer.y = (mulchPlacer.y + m_dirY);
- if (_local2 >= m_targetY){
- onMulchTweenAnimDone();
- };
- }
- private function onMulchTweenAnimDone(){
- var _local1:mulchblurp;
- var _local2:SoundChannel;
- var _local3:MovieClip;
- m_animTimer.stop();
- m_animating = false;
- trace("*************TWEEN DONE***********************************");
- _local1 = new mulchblurp();
- _local2 = _local1.play();
- mulchPlacer.visible = false;
- mulchPlacer.y = m_origMulchPlacerY;
- _local3 = MovieClip(getChildByName(((("pos_" + String(m_currentTurnTargetRow)) + "_") + String(m_currentTurnTargetCol))));
- if (m_currentPlayersTurn == m_userIDPlayer1){
- _local3.gotoAndStop("player1");
- } else {
- _local3.gotoAndStop("player2");
- };
- if (((!((m_nextPlayersTurn == null))) && ((m_nextPlayersTurn == m_userID)))){
- m_basicState = TAKING_TURN;
- };
- if (m_winnerFound == true){
- winner_mc.visible = true;
- lowerPanel_spr.visible = true;
- showWinningSlots(m_winningSlots);
- if (m_isSpectator){
- winner_mc.title_mc.gotoAndStop("spectator");
- winner_mc.msg_txt.text = ("winner: " + m_winner);
- } else {
- winner_mc.msg_txt.text = "";
- if (m_winner == m_userID){
- super.submitResult(1);
- winner_mc.title_mc.gotoAndStop("winner");
- m_bin.myWeevilAct(20);
- } else {
- super.submitResult(0);
- winner_mc.title_mc.gotoAndStop("loser");
- };
- m_basicState = GAME_END;
- m_bin.weevilStatManager.adjustHappiness(8);
- };
- return;
- };
- if (m_staleMateFound == true){
- if (m_isSpectator){
- staleMate_mc.msg_txt.text = "Stalemate!";
- } else {
- staleMate_mc.msg_txt.text = "Stalemate! You earned 8 mulch.";
- };
- staleMate_mc.visible = true;
- lowerPanel_spr.visible = true;
- };
- }
- override public function terminate():void{
- var _local1:Object;
- trace("mulch4: terminate");
- _local1 = compileStandardServerPacketVars();
- _local1.command = CMD_REMOVE_PLAYER;
- sendServerMessage(TURN_BASED_COMMAND_TYPE, _local1);
- m_animTimer.stop();
- super.terminate();
- }
- public function onStartGame(_arg1:Event){
- var _local2:Object;
- contactingServer_mc.visible = true;
- joinGame_mc.visible = false;
- _local2 = compileStandardServerPacketVars();
- _local2.command = CMD_JOIN;
- sendServerMessage(TURN_BASED_COMMAND_TYPE, _local2);
- }
- override protected function receivePlayersTurn(_arg1:Object):void{
- trace(((((((("mulch4: got players turn player: " + _arg1.userID) + " currentPlayer:") + _arg1.nextPlayer) + " row: ") + _arg1.row) + " col:") + _arg1.col));
- if (_arg1.success == "true"){
- if (m_animating){
- onMulchTweenAnimDone();
- };
- if (_arg1.staleMate == "true"){
- trace("stalemate found: ");
- m_staleMateFound = true;
- m_bin.gameOver();
- };
- setGameData(_arg1);
- m_currentTurnTargetRow = _arg1.row;
- m_currentTurnTargetCol = _arg1.col;
- if (_arg1.winnerFound == "true"){
- trace(("winner found: " + _arg1.userID));
- m_winner = _arg1.userID;
- m_winnerFound = true;
- m_winningSlots = _arg1.winningSlots;
- m_bin.gameOver();
- };
- if (_arg1.userID == m_userIDPlayer1){
- mulchPlacer.gotoAndStop("player1");
- } else {
- mulchPlacer.gotoAndStop("player2");
- };
- createAndAnimateMulchDrop(_arg1.row, _arg1.col);
- m_currentPlayersTurn = _arg1.userID;
- m_nextPlayersTurn = _arg1.nextPlayer;
- setMarkers();
- } else {
- if (_arg1.userID == m_userID){
- m_basicState = TAKING_TURN;
- };
- };
- }
- private function setMarkers(){
- if (m_nextPlayersTurn == m_userIDPlayer1){
- player1Mark_mc.visible = true;
- player2Mark_mc.visible = false;
- } else {
- if (m_nextPlayersTurn == m_userIDPlayer2){
- player1Mark_mc.visible = false;
- player2Mark_mc.visible = true;
- };
- };
- }
- private function onSlotHitAreaOut(_arg1:Event){
- if (!m_animating){
- mulchPlacer.visible = false;
- };
- }
- public function confirmSpectatorStatus(_arg1:Event){
- confirmSpectator_mc.visible = false;
- }
- private function initNewGame(){
- joinGame_mc.visible = true;
- lowerPanel_spr.visible = false;
- gameOver_mc.visible = false;
- m_animating = false;
- m_staleMateFound = false;
- m_gameStarted = false;
- staleMate_mc.visible = false;
- m_winnerFound = false;
- player1_txt.text = "";
- player2_txt.text = "";
- hideHighlights();
- initSlots();
- m_basicState = WAITING_FOR_LOGIN_RESULT;
- m_currentTurnTargetRow = 1;
- mulchPlacer.visible = false;
- confirmSpectator_mc.visible = false;
- contactingServer_mc.visible = false;
- winner_mc.visible = false;
- waitingForPlayer_mc.visible = false;
- player2Mark_mc.visible = false;
- player1Mark_mc.visible = true;
- }
- private function getTargetRowY(_arg1):int{
- var _local2:MovieClip;
- _local2 = MovieClip(getChildByName(((("pos_" + String(_arg1)) + "_") + "0")));
- trace(("got target clip : " + _local2));
- trace(("for target row y : " + _local2.y));
- return (_local2.y);
- }
- private function onSlotHitAreaOver(_arg1:Event){
- var _local2:MovieClip;
- trace(("over" + _arg1.target.name));
- _local2 = MovieClip(_arg1.target);
- if ((((m_basicState == TAKING_TURN)) && (!(m_winnerFound)))){
- if (m_userID == m_userIDPlayer1){
- mulchPlacer.gotoAndStop("player1");
- } else {
- mulchPlacer.gotoAndStop("player2");
- };
- mulchPlacer.visible = true;
- mulchPlacer.x = _local2.x;
- };
- }
- override public function init(_arg1:SSclient=null, _arg2:Object=null):void{
- super.init(_arg1, _arg2);
- if ((((_arg2.slot == undefined)) || ((_arg2.slot == null)))){
- throw (new IllegalOperationError("mulch4::init mulch4 game initialised without valid slot"));
- };
- m_slot = _arg2.slot;
- m_userID = m_bin.myUserName;
- initNewGame();
- }
- private function onSlotHitAreaPressed(_arg1:Event){
- if (!m_animating){
- if (m_basicState == TAKING_TURN){
- m_basicState = WAITING_FOR_TURN;
- switch (_arg1.target.name){
- case "slot0":
- m_currentTurnTargetCol = 0;
- takeTurn(0);
- break;
- case "slot1":
- m_currentTurnTargetCol = 1;
- takeTurn(1);
- break;
- case "slot2":
- m_currentTurnTargetCol = 2;
- takeTurn(2);
- break;
- case "slot3":
- m_currentTurnTargetCol = 3;
- takeTurn(3);
- break;
- case "slot4":
- m_currentTurnTargetCol = 4;
- takeTurn(4);
- break;
- case "slot5":
- m_currentTurnTargetCol = 5;
- takeTurn(5);
- break;
- case "slot6":
- m_currentTurnTargetCol = 6;
- takeTurn(6);
- break;
- };
- };
- };
- }
- override protected function receiveServerMessage(_arg1:String, _arg2:Object):void{
- trace(("mulch4: got server message" + _arg1));
- doTestHandling(_arg1, _arg2);
- }
- private function initSlots(){
- var _local1:*;
- var _local2:*;
- var _local3:*;
- var _local4:Object;
- var _local5:MovieClip;
- m_slots = new Array();
- _local1 = 0;
- while (_local1 < m_rows) {
- m_slots[_local1] = new Array();
- _local1++;
- };
- _local2 = 0;
- while (_local2 < m_rows) {
- _local3 = 0;
- while (_local3 < m_cols) {
- _local4 = new Object();
- _local4.userID = null;
- _local4.occupied = false;
- m_slots[_local2][_local3] = _local4;
- _local5 = MovieClip(getChildByName(((("pos_" + String(_local2)) + "_") + String(_local3))));
- _local5.gotoAndStop("init");
- _local3++;
- };
- _local2++;
- };
- }
- private function setGameData(_arg1:Object){
- }
- private function hideHighlights(){
- var _local1:*;
- var _local2:*;
- var _local3:MovieClip;
- _local1 = 0;
- while (_local1 < m_rows) {
- _local2 = 0;
- while (_local2 < m_cols) {
- _local3 = MovieClip(getChildByName(((("pos_" + String(_local1)) + "_") + String(_local2))));
- _local3.highlight_mc.visible = false;
- _local2++;
- };
- _local1++;
- };
- }
- private function createAndAnimateMulchDrop(_arg1:int, _arg2:int){
- var _local3:MovieClip;
- var _local4:int;
- mulchPlacer.visible = true;
- _local3 = MovieClip(getChildByName(("slot" + String(_arg2))));
- mulchPlacer.x = _local3.x;
- m_animating = true;
- _local4 = mulchPlacer.y;
- m_targetY = getTargetRowY(_arg1);
- trace(((("animating mulch drop from col:" + String(_arg2)) + "row:") + String(_arg1)));
- m_dirY = 2;
- m_animTimer.start();
- }
- private function initGame(_arg1:Object){
- trace(("**initGame** m_userID=" + m_userID));
- trace(((("dataObj.player1=" + _arg1.player1) + ", dataObj.player2=") + _arg1.player2));
- if ((((_arg1.player1 == m_userID)) || ((_arg1.player2 == m_userID)))){
- m_isPlaying = true;
- m_isSpectator = false;
- m_userIDPlayer1 = _arg1.player1;
- m_userIDPlayer2 = _arg1.player2;
- } else {
- m_isPlaying = false;
- m_isSpectator = true;
- m_userIDPlayer1 = _arg1.player1;
- m_userIDPlayer2 = _arg1.player2;
- };
- trace(("m_isPlaying=" + m_isPlaying));
- trace(("m_isSpectator=" + m_isSpectator));
- m_currentPlayersTurn = _arg1.currentPlayersTurn;
- if (m_isPlaying){
- if (m_userID == m_currentPlayersTurn){
- m_basicState = TAKING_TURN;
- } else {
- m_basicState = WAITING_FOR_TURN;
- };
- } else {
- m_basicState = SPECTATING;
- };
- setMarkers();
- initSlots();
- doStuffBasedOnState();
- }
- private function refreshDisplay(){
- var _local1:*;
- var _local2:*;
- var _local3:MovieClip;
- _local1 = 0;
- while (_local1 < m_rows) {
- _local2 = 0;
- while (_local2 < m_cols) {
- _local3 = MovieClip(getChildByName(((("pos_" + String(_local1)) + "_") + String(_local2))));
- if (m_slots[_local1][_local2].userID == m_userIDPlayer1){
- _local3.gotoAndStop("player1");
- };
- if (m_slots[_local1][_local2].userID == m_userIDPlayer2){
- _local3.gotoAndStop("player2");
- };
- if (((!((m_slots[_local1][_local2].userID == m_userIDPlayer2))) && (!((m_slots[_local1][_local2].userID == m_userIDPlayer1))))){
- _local3.gotoAndStop("init");
- };
- _local2++;
- };
- _local1++;
- };
- }
- override protected function receiveUserLost(_arg1:Object):void{
- trace(("mulch4: got user lost user ID:" + _arg1.userID));
- trace(("m_basicState=" + m_basicState));
- }
- override protected function receiveUserJoin(_arg1:Object):void{
- contactingServer_mc.visible = false;
- trace(((("mulch4: got user join user ID:" + _arg1.userID) + " and game SessionID :") + _arg1.uniqueGameID));
- if (((!(m_gameStarted)) && ((_arg1.gameStart == "true")))){
- m_userIDPlayer1 = _arg1.player1;
- m_userIDPlayer2 = _arg1.player2;
- if ((((m_userIDPlayer1 == m_userID)) || ((m_userIDPlayer2 == m_userID)))){
- m_isPlaying = true;
- m_isSpectator = false;
- } else {
- m_isPlaying = false;
- m_isSpectator = true;
- };
- player1_txt.text = _arg1.player1;
- player2_txt.text = _arg1.player2;
- trace(((("player1:" + m_userIDPlayer1) + " player2:") + m_userIDPlayer2));
- m_uniqueGameSessionID = _arg1.uniqueGameID;
- m_gameStarted = true;
- waitingForPlayer_mc.visible = false;
- if (_arg1.success == "true"){
- if (_arg1.player1 == m_userID){
- m_basicState = TAKING_TURN;
- } else {
- m_basicState = WAITING_FOR_TURN;
- m_bin.assignGamePlayer(2);
- };
- trace("starting as player");
- super.getKey();
- } else {
- trace("starting as spectator");
- confirmSpectator_mc.visible = true;
- m_basicState = SPECTATING;
- dataToArray(_arg1.gameData);
- refreshDisplay();
- };
- };
- trace(("success === " + _arg1.success));
- if ((((_arg1.success == "true")) && (!(m_gameStarted)))){
- m_userIDPlayer1 = _arg1.player1;
- player1_txt.text = m_userIDPlayer1;
- waitingForPlayer_mc.visible = true;
- if (_arg1.player1 == m_userID){
- m_bin.assignGamePlayer(1);
- };
- };
- doStuffBasedOnState();
- }
- private function doStuffBasedOnState(){
- switch (m_basicState){
- case WAITING_FOR_TURN:
- break;
- case TAKING_TURN:
- break;
- case SPECTATING:
- break;
- };
- }
- private function takeTurn(_arg1:int){
- var _local2:Object;
- trace((("sending col" + String(_arg1)) + "to server to take turn"));
- m_basicState = WAITING_FOR_TURN;
- _local2 = compileStandardServerPacketVars();
- _local2.command = CMD_TAKE_TURN;
- _local2.col = String(_arg1);
- sendServerMessage(turnBasedMultiplayerGame.TURN_BASED_COMMAND_TYPE, _local2);
- }
- private function showWinningSlots(_arg1:String){
- var _local2:Array;
- var _local3:*;
- var _local4:*;
- var _local5:MovieClip;
- trace(("showing winnning slots " + _arg1));
- _local2 = _arg1.split(",");
- _local3 = 0;
- while (_local3 < _local2.length) {
- _local4 = _local2[_local3].split(":");
- _local5 = MovieClip(getChildByName(((("pos_" + _local4[1]) + "_") + _local4[0])));
- _local5.highlight_mc.visible = true;
- _local3++;
- };
- }
- private function dataToArray(_arg1:String){
- var _local2:Array;
- var _local3:*;
- var _local4:Array;
- var _local5:String;
- var _local6:Array;
- var _local7:int;
- var _local8:int;
- trace(_arg1);
- _local2 = _arg1.split(",");
- trace("hello");
- _local3 = 0;
- while (_local3 < (_local2.length - 1)) {
- _local4 = _local2[_local3].split(":");
- trace("balls");
- _local5 = _local4[1];
- _local6 = _local4[0].split("_");
- _local7 = int(_local6[1]);
- _local8 = int(_local6[0]);
- trace(((((("gotID: " + _local5) + "gotRow: ") + _local6[0]) + "gotCol") + _local6[1]));
- m_slots[_local8][_local7].userID = _local5;
- _local3++;
- };
- }
- private function doTestHandling(_arg1:String, _arg2:Object){
- switch (_arg1){
- case "login":
- trace(("logged in with sucess= " + _arg2.success));
- break;
- };
- }
- private function getTargetRow(_arg1:int){
- return (m_currentTurnTargetRow);
- }
- private function addEventListeners(){
- slot0.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot0.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot0.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot1.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot1.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot1.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot2.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot2.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot2.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot3.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot3.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot3.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot4.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot4.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot4.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot5.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot5.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot5.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot6.addEventListener(MouseEvent.MOUSE_UP, onSlotHitAreaPressed, false, 0, true);
- slot6.addEventListener(MouseEvent.MOUSE_OVER, onSlotHitAreaOver, false, 0, true);
- slot6.addEventListener(MouseEvent.MOUSE_OUT, onSlotHitAreaOut, false, 0, true);
- slot0.buttonMode = true;
- slot1.buttonMode = true;
- slot2.buttonMode = true;
- slot3.buttonMode = true;
- slot4.buttonMode = true;
- slot5.buttonMode = true;
- slot6.buttonMode = true;
- }
- override protected function receiveGameOver(_arg1:Object):void{
- trace("**mulch4: receiveGameOver**");
- trace(("m_basicState=" + m_basicState));
- m_bin.gameOver();
- gameOver_mc.msg_txt.text = (_arg1.userID + " has left the game.");
- lowerPanel_spr.visible = true;
- gameOver_mc.visible = true;
- super.opponentHasQuit();
- }
- override protected function receiveGameStart(_arg1:Object):void{
- trace("mulch4: got game start");
- initGame(_arg1);
- }
- }
- }//package com.binweevils.multiplayerGames
- package com.binweevils.multiplayerGames.common {
- import flash.display.*;
- import flash.events.*;
- import it.gotoandplay.smartfoxserver.*;
- import com.binweevils.*;
- import com.binweevils.externalUIs.*;
- import com.binweevils.DBaccess.*;
- import flash.utils.*;
- import com.binweevils.multiplayerGames.gameScores.*;
- import flash.errors.*;
- public dynamic class turnBasedMultiplayerGame extends MovieClip implements DraggableUI {
- public static const CMD_TIME_OUT:String = "to";
- public static const CMD_TAKE_TURN:String = "tt";
- public static const SPECTATING:String = "SPEC";
- public static const CMD_REMOVE_PLAYER:String = "rp";
- public static const TAKING_TURN:String = "TTT";
- public static const APPROPRIATE_SFS_EXTENSION = "login";
- public static const CMD_GAME_OVER:String = "go";
- public static const CMD_ADD_PLAYER:String = "ap";
- public static const WAITING_FOR_TURN:String = "TFW";
- public static const GAME_END:String = "EG";
- public static const CMD_JOIN:String = "j";
- public static const CMD_GAME_START:String = "gs";
- public static const WAITING_FOR_LOGIN_RESULT:String = "WFLR";
- protected static const TURN_BASED_COMMAND_TYPE = "tbmt";
- protected static var m_userPasswordArray = [{
- userID:"tester2",
- password:"password"
- }, {
- userID:"renderman",
- password:"password"
- }, {
- userID:"james",
- password:"bond"
- }];
- protected static var m_userpasswordIDX:int = 0;
- private var m_eDispatcher:EventDispatcher;
- protected var m_basicState:String;
- protected var m_isSpectator:Boolean;
- protected var m_timeOutTimer:Timer;
- protected var m_password:String;
- protected var m_SSc:SSclient;
- protected var m_bin:Object;
- protected var m_userID:String;
- protected var m_uniqueGameSessionID:String;
- protected var m_gameStarted:Boolean;
- protected var key:String;
- protected var m_numMoves:int;
- protected var m_gameScoreService:MultiplayerGameScoreService;
- protected var m_sfsUserID:int;
- protected var m_nextPlayersTurn:String;
- protected var m_slot:int;
- protected var m_gameTypeID:String;
- protected var timedOut:Boolean;
- protected var m_isPlaying:Boolean;
- protected var m_gameID:int;
- protected var m_timeout:uint;
- protected var m_currentPlayersTurn:String;
- protected var m_timeoutCount:uint;
- protected var m_testMode:Boolean;
- public function turnBasedMultiplayerGame(_arg1:int, _arg2=false){
- m_testMode = _arg2;
- m_gameID = _arg1;
- m_slot = -1;
- m_eDispatcher = new EventDispatcher();
- m_nextPlayersTurn = new String();
- m_gameStarted = false;
- m_isSpectator = false;
- m_isPlaying = false;
- m_basicState = turnBasedMPGSTATE.GAME_START;
- m_userID = new String();
- m_uniqueGameSessionID = new String("a");
- m_gameTypeID = new String();
- if (_arg2){
- m_userpasswordIDX = 1;
- m_userID = m_userPasswordArray[m_userpasswordIDX].userID;
- m_password = m_userPasswordArray[m_userpasswordIDX].password;
- m_slot = 0;
- };
- m_timeOutTimer = new Timer(45000);
- m_timeOutTimer.addEventListener(TimerEvent.TIMER, onTimeoutTimer, false, 0, true);
- m_SSc = null;
- }
- protected function opponentHasQuit():void{
- trace(("**opponentHasQuit** m_basicState=" + m_basicState));
- if (m_isPlaying){
- if (m_basicState == WAITING_FOR_TURN){
- if (m_numMoves > 5){
- submitResult(1);
- } else {
- submitResult(-1);
- };
- } else {
- submitResult(-1);
- };
- };
- m_basicState = GAME_END;
- }
- private function onExtensionResponse(_arg1:SFSEvent):void{
- var _local2:String;
- var _local3:String;
- trace("**turnBasedMultiplayerGame: onExtensionResponse**");
- trace(((("m_isPlaying=" + m_isPlaying) + " m_basicState=") + m_basicState));
- _local2 = _arg1.params.dataObj.commandType;
- trace(("cmdType=" + _local2));
- if (_local2 == null){
- trace(("evt.params.dataObj[0]=" + _arg1.params.dataObj[0]));
- (_local2 == _arg1.params.dataObj[0]);
- };
- trace(("cmdType=" + _local2));
- _local3 = _arg1.params.dataObj.command;
- trace(("command=" + _local3));
- switch (_local2){
- case TURN_BASED_COMMAND_TYPE:
- switch (_local3){
- case CMD_TAKE_TURN:
- m_numMoves++;
- receivePlayersTurn(_arg1.params.dataObj);
- startTimeOutTimer();
- break;
- case CMD_GAME_OVER:
- receiveGameOver(_arg1.params.dataObj);
- m_timeOutTimer.stop();
- break;
- case CMD_GAME_START:
- receiveGameStart(_arg1.params.dataObj);
- startTimeOutTimer();
- break;
- case CMD_REMOVE_PLAYER:
- receiveUserLost(_arg1.params.dataObj);
- break;
- case CMD_JOIN:
- receiveUserJoin(_arg1.params.dataObj);
- break;
- case "trace":
- trace(_arg1.params.dataObj.trace);
- break;
- default:
- receiveServerMessage(_local2, _arg1.params.dataObj);
- };
- break;
- case "login":
- if (m_testMode){
- if (_arg1.params.dataObj.success == "true"){
- trace("**turnBasedMultiplayerGame: onExtensionResponse** login sucess");
- onLogin();
- } else {
- trace("**turnBasedMultiplayerGame: onExtensionResponse** login failed");
- };
- };
- break;
- default:
- receiveServerMessage(_local2, _arg1.params.dataObj);
- };
- m_eDispatcher.dispatchEvent(_arg1);
- }
- protected function startTimeOutTimer():void{
- if (m_isPlaying){
- m_timeOutTimer.reset();
- m_timeOutTimer.start();
- timedOut = false;
- };
- }
- public function onCloseGame(_arg1:Event=null){
- trace(((("**onCloseGame** m_isPlaying=" + m_isPlaying) + " m_basicState=") + m_basicState));
- if (((m_isPlaying) && ((m_numMoves >= 3)))){
- switch (m_basicState){
- case TAKING_TURN:
- m_bin.weevilStatManager.adjustHappiness(-5);
- m_bin.showAlertBox("Oh no! You have lost 5 happiness points for quitting the game without finishing!");
- break;
- };
- };
- m_bin.hideDialogueBox();
- m_bin.closeGame();
- }
- public function init(_arg1:SSclient=null, _arg2:Object=null):void{
- var _local3:Object;
- key = "0";
- m_numMoves = 0;
- m_isPlaying = false;
- if (m_testMode){
- connectToSmartFox();
- } else {
- trace("turnBasedMultiplayerGame::init");
- _local3 = Bin_extInterface.bin;
- if (_local3 == null){
- throw (new IllegalOperationError("turnBasedMultiplayerGame.init ---game initialised without valid bin"));
- };
- if (_arg1 == null){
- throw (new IllegalOperationError("turnBasedMultiplayerGame.init -- game initialised without vaid sfs client"));
- };
- m_bin = _local3;
- m_SSc = _arg1;
- };
- m_SSc.addEventListener(SFSEvent.onExtensionResponse, onExtensionResponse);
- }
- public function getKey():void{
- var _local1:PHPcall;
- _local1 = new PHPcall("game/start", true);
- _local1.sendAndAwaitResponse(["gameId"], [m_gameID], keyReceived);
- }
- protected function receiveServerMessage(_arg1:String, _arg2:Object):void{
- trace("*******WARNING turnBasedMultiplayerGame.receiveServerMessage() is not overidden by derived class**********************");
- trace(("turnbased multiplayer game: got server message" + _arg1));
- }
- private function connectToSmartFox(){
- }
- public function submitResult(_arg1:int):void{
- var _local2:PHPcall;
- if (m_isPlaying){
- if (key != "0"){
- _local2 = new PHPcall("game/submit-turn", true);
- _local2.sendAndAwaitResponse(["key", "result"], [key, _arg1], mulchAndXpReceived, true);
- } else {
- if (_arg1 != -1){
- m_bin.hideDialogueBox();
- m_bin.showAlertBox("You can't earn any more mulch or experience from this game today. You get 5 plays per day, so come back tomorrow to earn more.");
- };
- };
- };
- }
- public function terminate():void{
- m_timeOutTimer.stop();
- m_SSc.removeEventListener(SFSEvent.onExtensionResponse, onExtensionResponse);
- }
- protected function receivePlayersTurn(_arg1:Object):void{
- throw (new IllegalOperationError("turnBasedMultiplayerGame.receivePlayersTurn() Must be overridden"));
- }
- private function keyReceived(_arg1:Object):void{
- if (_arg1.key != "0"){
- key = _arg1.key;
- };
- }
- private function messageToString(_arg1:Object):String{
- var _local2:String;
- var _local3:String;
- _local2 = new String();
- for (_local3 in _arg1) {
- _local2 = (_local2 + (((_local3 + ":") + _arg1[_local3]) + ","));
- };
- return (_local2);
- }
- protected function onCloseBtnClicked(_arg1:MouseEvent):void{
- if (m_isSpectator){
- onCloseGame(_arg1);
- } else {
- if (m_numMoves >= 3){
- switch (m_basicState){
- case WAITING_FOR_TURN:
- m_bin.showDialogueBox("<font color='#EE0000'>Are you sure you want to quit?</font><br>You will earn mulch & xp even if you lose, but if you quit you earn nothing.", onCloseGame);
- break;
- case TAKING_TURN:
- m_bin.showDialogueBox("<font color='#EE0000'>Are you sure you want to quit?</font><br>You will earn mulch & xp even if you lose, but if you quit you earn nothing (and it will make your weevil unhappy).", onCloseGame);
- break;
- default:
- onCloseGame();
- };
- } else {
- onCloseGame();
- };
- };
- }
- protected function receiveUserLost(_arg1:Object):void{
- throw (new IllegalOperationError("turnBasedMultiplayerGame.receiveUserLost() Must be overridden"));
- }
- private function mulchAndXpReceived(_arg1:Object):void{
- var _local2:int;
- var _local3:int;
- var _local4:int;
- var _local5:int;
- var _local6:String;
- _local2 = _arg1.mulchEarned;
- _local3 = _arg1.mulch;
- _local4 = _arg1.xpEarned;
- _local5 = _arg1.xp;
- if (_local2 > 0){
- _local6 = "";
- if (_local4 > 1){
- _local6 = "s";
- };
- m_bin.hideDialogueBox();
- m_bin.showAlertBox((((((("You have earned " + _local2) + " mulch and ") + _local4) + " experience point") + _local6) + "."));
- m_bin.updateMulch(_local3);
- m_bin.updateXp(_local5);
- };
- }
- protected function receiveUserJoin(_arg1:Object):void{
- throw (new IllegalOperationError("turnBasedMultiplayerGame.receiveUserJoin() Must be overridden"));
- }
- private function onTimeoutTimer(_arg1:TimerEvent):void{
- trace(("onTimeoutTimer: m_basicState=" + m_basicState));
- switch (m_basicState){
- case WAITING_FOR_TURN:
- m_bin.showDialogueBox("Your opponent is taking a long time to take their move. Do you want to quit this game?", quitWithoutPenalty);
- break;
- case TAKING_TURN:
- timedOut = true;
- break;
- };
- }
- protected function compileStandardServerPacketVars():Object{
- var _local1:Object;
- _local1 = new Object();
- _local1.userID = m_userID;
- _local1.uniqueGameSessionID = m_uniqueGameSessionID;
- _local1.gameTypeID = m_gameTypeID;
- _local1.slot = m_slot;
- return (_local1);
- }
- protected function onLogin(){
- }
- protected function quitWithoutPenalty(_arg1:Event=null):void{
- trace("**quitWithoutPenalty**");
- submitResult(-1);
- m_bin.hideDialogueBox();
- m_bin.closeGame();
- }
- protected function receiveGameOver(_arg1:Object):void{
- throw (new IllegalOperationError("turnBasedMultiplayerGame.receiveGameOver() Must be overridden"));
- }
- protected function receiveGameStart(_arg1:Object):void{
- throw (new IllegalOperationError("turnBasedMultiplayerGame.receiveGameStart() Must be overridden"));
- }
- protected function sendServerMessage(_arg1:String, _arg2:Object, _arg3:String="login"){
- var _local4:String;
- var _local5:Array;
- if (_arg2.command != CMD_JOIN){
- _arg2.gameSessionID = m_uniqueGameSessionID;
- };
- _local4 = messageToString(_arg2);
- _local5 = new Array();
- _local5[0] = _local4;
- trace(((("sending message to server: " + _local4) + "message type= ") + _arg1));
- m_SSc.turnBasedGameMessageS(_arg3, _arg1, _local5);
- }
- }
- }//package com.binweevils.multiplayerGames.common
- package com.binweevils.multiplayerGames.common {
- public final class turnBasedMPGSTATE {
- public static const WAITING_FOR_TURN:String = "TFW";
- public static const GAME_END:String = "EG";
- public static const WAITING_FOR_OTHER_PLAYER_TO_JOIN:String = "WFOPJ";
- public static const GAME_START:String = "SG";
- public static const TAKING_TURN:String = "TTT";
- public static const WAITING_FOR_LOGIN_RESULT:String = "WFLR";
- public static const SPECTATING:String = "SPEC";
- }
- }//package com.binweevils.multiplayerGames.common
- package com.binweevils.DBaccess {
- import flash.events.*;
- import flash.net.*;
- import flash.utils.*;
- import com.binweevils.utilities.*;
- import com.binweevils.rssmv.*;
- public class PHPcall {
- private var path:String;
- private var callBack:Function;
- private var APIserver:Boolean;
- public function PHPcall(_arg1:String, _arg2:Boolean=false){
- APIserver = _arg2;
- setPath(_arg1);
- }
- private function responseReceived(_arg1:Event):void{
- var _local2:Object;
- trace(("evt.target.data=" + _arg1.target.data));
- _local2 = _arg1.target.data;
- callBack(_local2);
- }
- public function sendAndAwaitResponse(_arg1:Array, _arg2:Array, _arg3:Function, _arg4:Boolean=false){
- var variables:* = null;
- var i:* = 0;
- var j:* = undefined;
- var request:* = null;
- var loader:* = null;
- var $st:* = 0;
- var $hash:* = null;
- var $varNames:* = _arg1;
- var $varValues:* = _arg2;
- var $callBack:* = _arg3;
- var $secure:Boolean = _arg4;
- trace("**sendAndAwaitResponse**");
- callBack = $callBack;
- variables = new URLVariables();
- if ($secure){
- $st = getTimer();
- $varNames.push("st");
- $varValues.push($st);
- $hash = Rssmv.o_2($varValues);
- $varNames.push("hash");
- $varValues.push($hash);
- };
- i = ($varNames.length - 1);
- while (i >= 0) {
- variables[$varNames[i]] = $varValues[i];
- i = (i - 1);
- };
- for (j in variables) {
- trace(((("variables." + j) + " ---> ") + variables[j]));
- };
- request = new URLRequest();
- request.url = path;
- trace(("request.url=" + request.url));
- request.method = URLRequestMethod.POST;
- request.data = variables;
- loader = new URLLoader();
- loader.dataFormat = URLLoaderDataFormat.VARIABLES;
- loader.addEventListener(Event.COMPLETE, responseReceived);
- try {
- loader.load(request);
- } catch(error:Error) {
- trace("Unable to load URL");
- };
- }
- public function fireAndForget(_arg1:Array, _arg2:Array, _arg3:Boolean=false):void{
- var variables:* = null;
- var i:* = 0;
- var j:* = undefined;
- var request:* = null;
- var loader:* = null;
- var $st:* = 0;
- var $hash:* = null;
- var $varNames:* = _arg1;
- var $varValues:* = _arg2;
- var $secure:Boolean = _arg3;
- trace("**fireAndForget**");
- variables = new URLVariables();
- if ($secure){
- $st = getTimer();
- $varNames.push("st");
- $varValues.push($st);
- $hash = Rssmv.o_2($varValues);
- $varNames.push("hash");
- $varValues.push($hash);
- };
- i = ($varNames.length - 1);
- while (i >= 0) {
- variables[$varNames[i]] = $varValues[i];
- i = (i - 1);
- };
- for (j in variables) {
- trace(((("variables." + j) + " ---> ") + variables[j]));
- };
- request = new URLRequest();
- request.url = path;
- trace(("request.url=" + request.url));
- request.method = URLRequestMethod.POST;
- request.data = variables;
- loader = new URLLoader();
- try {
- loader.load(request);
- } catch(error:Error) {
- trace("Unable to load URL");
- };
- }
- public function setPath(_arg1:String):void{
- if (APIserver){
- path = (((URLhandler.servicesLocation + _arg1) + "?rndVar=") + Math.random());
- } else {
- path = ((((URLhandler.servicesLocation + "php/") + _arg1) + ".php?rndVar=") + Math.random());
- };
- }
- public function awaitResponse(_arg1:Function){
- var variables:* = null;
- var request:* = null;
- var loader:* = null;
- var $callBack:* = _arg1;
- trace("**awaitResponse**");
- callBack = $callBack;
- variables = new URLVariables();
- request = new URLRequest();
- request.url = path;
- trace(("request.url=" + request.url));
- loader = new URLLoader();
- loader.dataFormat = URLLoaderDataFormat.VARIABLES;
- loader.addEventListener(Event.COMPLETE, responseReceived);
- try {
- loader.load(request);
- } catch(error:Error) {
- trace("Unable to load URL");
- };
- }
- }
- }//package com.binweevils.DBaccess
- package com.binweevils {
- import flash.events.*;
- import it.gotoandplay.smartfoxserver.*;
- import com.binweevils.conf.*;
- public class SSclient extends EventDispatcher {
- private var loginKey:String;
- private var sfs:SmartFoxClient;
- private var defaultZone:String;
- private var nestXML:String;
- private var myUserName:String;
- public var crntRoom:String;
- public function SSclient(){
- defaultZone = new String("BinWeevils");
- nestXML = new String("");
- sfs = new SmartFoxClient();
- sfs.debug = true;
- sfs.addEventListener(SFSEvent.onConnection, onConnection);
- sfs.addEventListener(SFSEvent.onConnectionLost, onConnectionLost);
- sfs.addEventListener(SFSEvent.onLogin, onLogin);
- sfs.addEventListener(SFSEvent.onRoomListUpdate, onRoomListUpdate);
- sfs.addEventListener(SFSEvent.onRoomVariablesUpdate, onRoomVariablesUpdate);
- sfs.addEventListener(SFSEvent.onJoinRoom, onJoinRoom);
- sfs.addEventListener(SFSEvent.onJoinRoomError, onJoinRoomError);
- sfs.addEventListener(SFSEvent.onUserEnterRoom, onUserEnterRoom);
- sfs.addEventListener(SFSEvent.onUserLeaveRoom, onUserLeaveRoom);
- sfs.addEventListener(SFSEvent.onPublicMessage, publicMsgReceived);
- sfs.addEventListener(SFSEvent.onExtensionResponse, onExtensionResponse);
- sfs.addEventListener(SFSEvent.onAdminMessage, onAdminMessage);
- sfs.addEventListener(SFSEvent.onModeratorMessage, onModeratorMessage);
- sfs.addEventListener(SFSEvent.onConfigLoadSuccess, onConfigLoadSuccess);
- sfs.addEventListener(SFSEvent.onConfigLoadFailure, onConfigLoadFailureHandler);
- sfs.addEventListener(SFSEvent.onBuddyList, onBuddyList);
- sfs.addEventListener(SFSEvent.onBuddyListUpdate, onBuddyListUpdate);
- sfs.addEventListener(SFSEvent.onBuddyPermissionRequest, onBuddyPermissionRequest);
- sfs.addEventListener(SFSEvent.onBuddyRoom, onBuddyRoom);
- }
- function onRoomListUpdate(_arg1:SFSEvent):void{
- trace("Room list received");
- dispatchEvent(_arg1);
- }
- public function sendDrivenOff():void{
- sfs.sendXtMessage("login", "b", ["drivenOff"], "str");
- }
- private function onUserLeaveRoom(_arg1:SFSEvent):void{
- trace("onUserLeaveRoom");
- dispatchEvent(_arg1);
- }
- function onSecurityError(_arg1:SecurityErrorEvent):void{
- trace(("Security error: " + _arg1.text));
- }
- public function getBuddyRoom(_arg1:Object):void{
- sfs.getBuddyRoom(_arg1);
- }
- public function evictUsersFromMyNest(_arg1:String):void{
- trace("**evictUsersFromMyNest**");
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_RETURN_TO_NEST), [_arg1], "str");
- }
- public function removeApparel(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_REMOVE_APPAREL), [_arg1], "str");
- }
- public function getZoneTime():void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_GET_ZONE_TIME), [], "str");
- }
- public function get_sfs():SmartFoxClient{
- return (sfs);
- }
- public function setUserVars(_arg1:Object):void{
- sfs.setUserVariables(_arg1);
- }
- public function setLoginDetails(_arg1:String, _arg2:String){
- myUserName = _arg1;
- loginKey = _arg2;
- }
- public function sendBusinesses(_arg1:String){
- sfs.sendXtMessage("login", ((MessageProtocol.BUSINESS_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.BUSINESS_MODULE_SET_BUSINESS_STATE), [_arg1], "str");
- }
- public function setNestDoorNPC(_arg1:int, _arg2:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_SET_NPC_NEST_DOOR), [_arg1, _arg2], "str");
- }
- public function weevilReportUser(_arg1:String, _arg2:String, _arg3:String){
- sfs.sendXtMessage("login", ((MessageProtocol.ADMIN_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.ADMIN_MODULE_REPORT), [_arg1, _arg2, _arg3], "str");
- }
- function onConnection(_arg1:SFSEvent):void{
- var _local2:Boolean;
- _local2 = _arg1.params.success;
- if (_local2){
- trace("Connection successful!");
- login();
- } else {
- trace("Connection failed!");
- };
- }
- public function joinRoom(_arg1:String, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:int=0, _arg7:int=0){
- crntRoom = _arg1;
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_JOIN_ROOM), [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7], "str");
- }
- public function removeUserFromIgnoreList(_arg1:String):void{
- var _local2:*;
- trace("**removeUserFromIgnoreList**");
- _local2 = new Array((("userName:" + _arg1) + ","));
- sfs.sendXtMessage("login", "removeUserFromIgnoreList", _local2, "str");
- }
- function onJoinRoom(_arg1:SFSEvent):void{
- trace(("Successfully joined room: " + _arg1.params.room.getName()));
- trace(("room id = " + _arg1.params.room.getId()));
- dispatchEvent(_arg1);
- }
- public function removeNestInvite(_arg1:String="-1"):void{
- trace("**removeNestInvite**");
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_REMOVE_NEST_INVITES), [_arg1], "str");
- }
- public function sendPetGotBall(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_GOT_BALL), [_arg1], "str");
- }
- public function chefQuit():void{
- sfs.sendXtMessage("login", ((MessageProtocol.DINER_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.DINER_MODULE_CHEF_QUIT), [], "str");
- }
- private function onAdminMessage(_arg1:SFSEvent){
- trace(("got admin message: " + _arg1.params.dataObj.message));
- }
- public function guestJoinedNest(_arg1:String, _arg2:int):void{
- trace("**guestJoinedNest**");
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_GUEST_JOINED_NEST), [_arg1, _arg2], "str");
- }
- public function getRoomByName(_arg1:String):Object{
- return (sfs.getRoomByName(_arg1));
- }
- public function setPetState(_arg1:int, _arg2:String, _arg3:int, _arg4:Boolean):void{
- var _local5:Array;
- var _local6:Object;
- trace("**setPetVars**");
- if (_arg4){
- _local5 = [{
- name:("petState" + _arg1),
- val:_arg2,
- persistent:true
- }];
- sfs.setRoomVariables(_local5, _arg3);
- } else {
- trace("setting user vars");
- _local6 = {petState:_arg2};
- sfs.setUserVariables(_local6);
- };
- }
- public function chefStart():void{
- sfs.sendXtMessage("login", ((MessageProtocol.DINER_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.DINER_MODULE_CHEF_START), [], "str");
- }
- public function loadBuddyList():void{
- sfs.loadBuddyList();
- }
- private function onModeratorMessage(_arg1:SFSEvent){
- trace(("got moderator message:" + _arg1.params.message));
- dispatchEvent(_arg1);
- }
- public function setPetIDs(_arg1:String, _arg2:int):void{
- var _local3:Array;
- trace("**setPetIDs**");
- _local3 = [{
- name:"petIDs",
- val:_arg1,
- persistent:true
- }];
- sfs.setRoomVariables(_local3, _arg2);
- }
- public function sendPetCmd(_arg1:String, _arg2:String, _arg3:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_SEND_PET_COMMAND), [_arg1, _arg2, _arg3], "str");
- }
- function onJoinRoomError(_arg1:SFSEvent):void{
- trace(("Problems joining default room. Reason: " + _arg1.params.error));
- }
- public function createNPC(_arg1:int, _arg2:String, _arg3:String){
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_CREATE_NPC), [_arg1, _arg2, _arg3], "str");
- }
- public function sendExpression(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_EXPRESSION), [_arg1], "str");
- }
- public function submitWeevilDetails(_arg1:Object){
- var _local2:*;
- _local2 = new Array();
- _local2.push(weevilToString(_arg1));
- sfs.sendXtMessage("login", "submitUser", _local2, "str");
- }
- public function setBuddyVariables(_arg1:Array):void{
- sfs.setBuddyVariables(_arg1);
- }
- public function setNestDoorPet(_arg1:int, _arg2:int, _arg3:uint=0):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_SET_NEST_DOOR_PET), [_arg1, _arg2, _arg3], "str");
- }
- public function addApparel(_arg1:int, _arg2:String="0"):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_ADD_APPAREL), [_arg1, _arg2], "str");
- }
- public function checkMsg(_arg1:String, _arg2:String):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_CHECK_MESSAGE), [_arg1, _arg2], "str");
- }
- public function updatePetSkill(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):void{
- trace("**updatePetSkill**");
- sfs.sendXtMessage("login", "p", ["sk", _arg1, _arg2, _arg3, _arg4], "str");
- }
- public function testIsWeevilUnique(_arg1:Object){
- var _local2:Array;
- trace(("testIsUserUnique: " + _arg1.username));
- _local2 = new Array(weevilToString(_arg1));
- sfs.sendXtMessage("login", "isWeevilUnique", _local2, "str");
- }
- public function joinNestLoc(_arg1:int, _arg2:int, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_JOIN_NEST_LOCATION), [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6], "str");
- }
- public function getChatState():void{
- sfs.sendXtMessage("login", ((MessageProtocol.CHAT_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.CHAT_MODULE_CHANGE_CHAT_STATE), [], "str");
- }
- private function onBuddyList(_arg1:SFSEvent):void{
- var _local2:String;
- for (_local2 in sfs.myBuddyVars) {
- trace(((_local2 + " >> ") + sfs.myBuddyVars[_local2]));
- };
- dispatchEvent(_arg1);
- }
- private function onRoomVariablesUpdate(_arg1:SFSEvent):void{
- trace("**onRoomVariablesUpdate**");
- }
- public function setPetDef(_arg1:int, _arg2:String, _arg3:int, _arg4:Boolean=true):void{
- var _local5:Array;
- var _local6:Object;
- trace(("**setPetDef: $petDef=" + _arg2));
- if (_arg4){
- _local5 = [{
- name:("petDef" + _arg1),
- val:_arg2,
- persistent:true
- }];
- sfs.setRoomVariables(_local5, _arg3);
- } else {
- trace("setting user vars");
- _local6 = {petDef:_arg2};
- sfs.setUserVariables(_local6);
- };
- }
- public function login(){
- sfs.login(defaultZone, myUserName, loginKey);
- }
- public function sendPetExpression(_arg1:int, _arg2:int, _arg3:uint=0):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_PET_EXPRESSION), [_arg1, _arg2, _arg3], "str");
- }
- private function onBuddyPermissionRequest(_arg1:SFSEvent):void{
- dispatchEvent(_arg1);
- }
- public function getMyUserID():int{
- return (sfs.myUserId);
- }
- public function sendMove(_arg1:Number, _arg2:Number, _arg3:Number):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_MOVE), [_arg1, _arg2, _arg3], "str");
- }
- public function changeWeevilDef(_arg1:String):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_CHANGE_WEEVILDEF), [_arg1], "str");
- }
- private function publicMsgReceived(_arg1:SFSEvent):void{
- dispatchEvent(_arg1);
- }
- public function onConfigLoadSuccess(_arg1:SFSEvent):void{
- trace("Config file loaded, now connecting...");
- sfs.connect(sfs.ipAddress, sfs.port);
- }
- public function getRoom(_arg1:int):Object{
- trace(("$id=" + _arg1));
- trace(("sfs.getRoom($id)=" + sfs.getRoom(_arg1)));
- return (sfs.getRoom(_arg1));
- }
- private function onExtensionResponse(_arg1:SFSEvent):void{
- var _local2:String;
- trace("SSClient:onExtensionResponse");
- trace(("evt.params.dataObj.commandType=" + _arg1.params.dataObj.commandType));
- _local2 = _arg1.params.dataObj.commandType;
- trace(("$cmdType=" + _local2));
- if (_local2 == null){
- trace(("evt.params.dataObj[0]=" + _arg1.params.dataObj[0]));
- if (_arg1.params.dataObj[0] == "mv"){
- _local2 = "mv";
- };
- };
- dispatchEvent(_arg1);
- }
- public function sendBuyTicket():void{
- var _local1:*;
- _local1 = new Array("crap:crap,");
- sfs.sendXtMessage("login", "buyTicket", _local1, "str");
- }
- public function getPetSkills(_arg1:int):void{
- trace("**getPetSkills**");
- sfs.sendXtMessage("login", "p", ["gps", _arg1], "str");
- }
- private function onBuddyListUpdate(_arg1:SFSEvent):void{
- dispatchEvent(_arg1);
- }
- public function getRoomList():void{
- sfs.getRoomList();
- }
- public function sendPetAction(_arg1:int, _arg2:int, _arg3:String, _arg4:uint, _arg5:String):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_ACTION), [_arg1, _arg2, _arg3, _arg4, _arg5], "str");
- }
- public function addUserToIgnoreList(_arg1:String):void{
- var _local2:*;
- trace("**addUserToIgnoreList**");
- _local2 = new Array((("userName:" + _arg1) + ","));
- sfs.sendXtMessage("login", "addUserToIgnoreList", _local2, "str");
- }
- public function getLastLog(_arg1:String):void{
- var _local2:*;
- trace("**getLastLog**");
- _local2 = new Array((("userName:" + _arg1) + ","));
- sfs.sendXtMessage("login", "getLastLog", _local2, "str");
- }
- public function setUserVar(_arg1:String, _arg2:String):void{
- var _local3:Object;
- _local3 = new Object();
- _local3[_arg1] = _arg2;
- sfs.setUserVariables(_local3);
- }
- public function turnBasedGameMessageS(_arg1:String, _arg2:String, _arg3:Array){
- sfs.sendXtMessage(_arg1, _arg2, _arg3, "str");
- }
- public function getIgnoreList():void{
- var _local1:*;
- trace("**getIgnoreList**");
- _local1 = new Array("crap:crap,");
- sfs.sendXtMessage("login", "getIgnoreList", _local1, "str");
- }
- public function grabTray(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.DINER_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.DINER_MODULE_GRAB_TRAY), [_arg1], "str");
- }
- public function dispatchLottoDrawEvent():void{
- var _local1:*;
- _local1 = new Event("lottoDraw");
- dispatchEvent(_local1);
- }
- public function addBuddy(_arg1:String):void{
- sfs.addBuddy(_arg1);
- }
- public function petJoinNestLoc(_arg1:int, _arg2:int, _arg3:int, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:uint=0):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_PET_JOIN_NEST_LOC), [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8], "str");
- }
- public function updatePlayerScore(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.DAILYRANKING_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.DAILYRANKING_MODULE_UPDATE_PLAYER_SCORE), [_arg1], "str");
- }
- public function removeBuddy(_arg1:String):void{
- sfs.removeBuddy(_arg1);
- }
- public function sendGetPlazaAvailable(_arg1:String){
- sfs.sendXtMessage("login", ((MessageProtocol.BUSINESS_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.BUSINESS_MODULE_GET_PLAZA_AVAILABILITY), [_arg1], "str");
- }
- public function setNestDoor(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_SET_NEST_DOOR), [_arg1], "str");
- }
- public function updatePetStats(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
- trace("**updatePetStats**");
- sfs.sendXtMessage("login", "p", ["st", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6], "str");
- }
- public function sendNPCExpression(_arg1:int, _arg2:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_SET_NPC_EXPRESSION), [_arg1, _arg2], "str");
- }
- public function getBuddyByName(_arg1:String):Object{
- return (sfs.getBuddyByName(_arg1));
- }
- public function sendPublicMessage(_arg1:String):void{
- sfs.sendPublicMessage(_arg1);
- }
- public function getNewJugglingTrick(_arg1:int, _arg2:int, _arg3:int):void{
- trace("**getNewJugglingTrick**");
- sfs.sendXtMessage("login", "p", ["newJt", _arg1, _arg2, _arg3], "str");
- }
- public function updateJugglingTrick(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{
- trace("**updateJugglingTrick**");
- sfs.sendXtMessage("login", "p", ["jt", _arg1, _arg2, _arg3, _arg4], "str");
- }
- private function onBuddyRoom(_arg1:SFSEvent):void{
- dispatchEvent(_arg1);
- }
- public function sendGetBusinesses(){
- sfs.sendXtMessage("login", ((MessageProtocol.BUSINESS_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.BUSINESS_MODULE_GET_BUSINESS_LIST), [], "str");
- }
- public function removeNPC(_arg1:int){
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_REMOVE_NPC), [_arg1], "str");
- }
- public function addWeevilExp(_arg1:int):void{
- trace("**updateJugglingTrick**");
- sfs.sendXtMessage("login", "addWeevilExp", [("exp:" + _arg1)], "str");
- }
- function onIOError(_arg1:IOErrorEvent):void{
- trace(("I/O Error: " + _arg1.text));
- }
- public function NPCJoinNestLoc(_arg1:int, _arg2:int, _arg3:int, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_NPC_JOIN_NEST_LOC), [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7], "str");
- }
- public function dropTray(_arg1:int):void{
- sfs.sendXtMessage("login", ((MessageProtocol.DINER_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.DINER_MODULE_DROP_TRAY), [_arg1], "str");
- }
- function onConfigLoadFailureHandler(_arg1:SFSEvent):void{
- trace(("Failed loading config file: " + _arg1.params.message));
- }
- function onLogin(_arg1:SFSEvent):void{
- var _local2:*;
- _local2 = _arg1.params.dataObj;
- if ((_local2.logged == "true")){
- trace("Successfully logged in");
- trace(("My user info object head colour: " + _local2.user.hc));
- trace(("My user ID sent back is: " + _local2.user.userID));
- trace(("My nest info is: " + _local2.nestXML));
- } else {
- if ((_local2.guest == "true")){
- trace("logged as guest user");
- } else {
- trace("Login failed");
- };
- };
- }
- private function onUserEnterRoom(_arg1:SFSEvent):void{
- trace("onUserEnterRoom");
- dispatchEvent(_arg1);
- }
- public function getPetJugglingSkills(_arg1:int):void{
- trace("**getPetJugglingSkills**");
- sfs.sendXtMessage("login", "p", ["gpjs", _arg1], "str");
- }
- public function sendNPCAction(_arg1:int, _arg2:int, _arg3:String, _arg4:String):void{
- sfs.sendXtMessage("login", ((MessageProtocol.NPC_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NPC_MODULE_NPC_ACTION), [_arg1, _arg2, _arg3, _arg4], "str");
- }
- public function sendRoomEvent(_arg1:String, _arg2:String="-1"):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_ROOM_EVENT), [_arg1, _arg2], "str");
- }
- public function inviteToNest(_arg1:String):void{
- trace("**inviteToNest**");
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_INVITE_TO_NEST), [_arg1], "str");
- }
- public function sendAction(_arg1:int, _arg2:int=0, _arg3:String="-1"):void{
- sfs.sendXtMessage("login", ((MessageProtocol.INGAME_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.INGAME_MODULE_ACTION), [_arg1, _arg2, _arg3], "str");
- }
- function onConnectionLost(_arg1:SFSEvent):void{
- trace("Connection lost!");
- dispatchEvent(_arg1);
- }
- public function petGoHome(_arg1:String, _arg2:int, _arg3:String):void{
- sfs.sendXtMessage("login", ((MessageProtocol.PET_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.PET_MODULE_PET_GO_NEST), [_arg1, _arg2, _arg3], "str");
- }
- public function connect(_arg1:String):void{
- defaultZone = _arg1;
- if (!sfs.isConnected){
- sfs.connect(sfs.ipAddress, sfs.port);
- } else {
- trace("You are already connected!");
- };
- }
- public function sendBuddyPermissionResponse(_arg1:Boolean, _arg2:String):void{
- sfs.sendBuddyPermissionResponse(_arg1, _arg2);
- }
- public function updateSpecialMoves(_arg1:String):void{
- trace("**updateSpecialMoves**");
- sfs.sendXtMessage("login", "updateSpecialMoves", [("specialMoves:" + _arg1)], "str");
- }
- public function weevilToString(_arg1:Object):String{
- var _local2:String;
- var _local3:*;
- var _local4:*;
- _local2 = new String("");
- _local3 = new Array("username", "password", "email", "ht", "hc", "bt", "bc", "et", "ec", "at", "ac", "lc", "lids");
- _local4 = 0;
- while (_local4 < _local3.length) {
- if (_arg1[_local3[_local4]] != null){
- _local2 = (_local2 + (((_local3[_local4] + ":") + _arg1[_local3[_local4]]) + ","));
- };
- _local4++;
- };
- return (_local2);
- }
- public function removeGuestFromNest(_arg1:String="-1"):void{
- trace("**removeGuestFromNest**");
- sfs.sendXtMessage("login", ((MessageProtocol.NEST_MODULE_NAME + MessageProtocol.SEPARATOR) + MessageProtocol.NEST_MODULE_REMOVE_GUESTS_FROM_NEST), [_arg1], "str");
- }
- public function getActiveRoom():Object{
- return (sfs.getActiveRoom());
- }
- public function testIsUserUnique(_arg1:String){
- var _local2:Array;
- trace(("testIsUserUnique: " + _arg1));
- _local2 = new Array((("username:" + _arg1) + ",DEf:hooah"));
- trace(_local2[0]);
- sfs.sendXtMessage("login", "isUserUnique", _local2, "str");
- }
- public function getMyPets():void{
- trace("**getMyPets**");
- sfs.sendXtMessage("login", "p", ["getMyPets"], "str");
- }
- public function getSpecialMoves():void{
- var _local1:*;
- trace("**getSpecialMoves**");
- _local1 = new Array("crap:crap,");
- sfs.sendXtMessage("login", "getSpecialMoves", _local1, "str");
- }
- }
- }//package com.binweevils
- package com.binweevils {
- public class Bin_extInterface {
- public static var WEEVILWHEELS_LOCID:int;
- public static var bin:Object;
- }
- }//package com.binweevils
- package com.binweevils.rssmv {
- import flash.display.*;
- import flash.net.*;
- public class Rssmv {
- private static var vars:Array;
- private static var salt:String = "P07aJK8soogA815CxjkTcA==";
- private static var so:SharedObject;
- public function Rssmv(){
- clearVars();
- }
- public static function o_1(_arg1:MovieClip):String{
- var _local2:String;
- var _local3:*;
- so = SharedObject.getLocal("bw-li=sasdasd9283412o3ni423li4jn12l3kn4");
- _local2 = ((so.data.ky)==null) ? "" : so.data.ky;
- _local3 = salt;
- _local3 = (_local3 + _arg1.weevilName_txt.text);
- _local3 = (_local3 + _arg1.password_txt.text);
- _local3 = (_local3 + _local2);
- return (getHashString(_local3));
- }
- private static function arrayToString(_arg1:Array):String{
- var _local2:String;
- var _local3:int;
- _local2 = "";
- _local3 = 0;
- while (_local3 < _arg1.length) {
- _local2 = (_local2 + _arg1[_local3]);
- _local3++;
- };
- return (_local2);
- }
- public static function addVar(_arg1:String):void{
- vars.push(_arg1);
- }
- public static function o_2(_arg1:Array):String{
- var _local2:*;
- _local2 = arrayToString(_arg1);
- return (getHashString((salt + _local2)));
- }
- public static function getHashString(_arg1:String):String{
- var _local2:Ne6;
- if (_arg1 == ""){
- return (_arg1);
- };
- _local2 = new Ne6();
- return (_local2.calculate(_arg1));
- }
- public static function clearVars():void{
- vars = [];
- }
- }
- }//package com.binweevils.rssmv
- package com.binweevils.rssmv {
- public class Ne6 {
- private static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
- return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- private static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
- return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- private static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
- return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
- }
- private static function binl2hex(_arg1:Array):String{
- var _local2:String;
- var _local3:String;
- var _local4:Number;
- _local2 = new String("");
- _local3 = new String("0123456789abcdef");
- _local4 = 0;
- while (_local4 < (_arg1.length * 4)) {
- _local2 = (_local2 + (_local3.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local3.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
- _local4++;
- };
- return (_local2);
- }
- private static function str2binl(_arg1:String):Array{
- var _local2:Array;
- var _local3:Number;
- var _local4:Number;
- _local2 = new Array();
- _local3 = ((1 << 8) - 1);
- _local4 = 0;
- while (_local4 < (_arg1.length * 8)) {
- _local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / 8)) & _local3) << (_local4 % 32)));
- _local4 = (_local4 + 8);
- };
- return (_local2);
- }
- private static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
- return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- private static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
- return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- private static function hex_md5(_arg1:String):String{
- return (binl2hex(core_md5(str2binl(_arg1), (_arg1.length * 8))));
- }
- private static function bit_rol(_arg1:Number, _arg2:Number):Number{
- return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
- }
- private static function core_md5(_arg1:Array, _arg2:Number):Array{
- var _local3:Number;
- var _local4:Number;
- var _local5:Number;
- var _local6:Number;
- var _local7:Number;
- var _local8:Number;
- var _local9:Number;
- var _local10:Number;
- var _local11:Number;
- _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
- _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
- _local3 = 1732584193;
- _local4 = -271733879;
- _local5 = -1732584194;
- _local6 = 271733878;
- _local7 = 0;
- while (_local7 < _arg1.length) {
- _local8 = _local3;
- _local9 = _local4;
- _local10 = _local5;
- _local11 = _local6;
- _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
- _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
- _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
- _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
- _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
- _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
- _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
- _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
- _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
- _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
- _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
- _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
- _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
- _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
- _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
- _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
- _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
- _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
- _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
- _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
- _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
- _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
- _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
- _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
- _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
- _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
- _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
- _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
- _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
- _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
- _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
- _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
- _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
- _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
- _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
- _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
- _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
- _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
- _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
- _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
- _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
- _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
- _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
- _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
- _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
- _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
- _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
- _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
- _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
- _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
- _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
- _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
- _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
- _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
- _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
- _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
- _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
- _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
- _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
- _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
- _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
- _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
- _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
- _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
- _local3 = safe_add(_local3, _local8);
- _local4 = safe_add(_local4, _local9);
- _local5 = safe_add(_local5, _local10);
- _local6 = safe_add(_local6, _local11);
- _local7 = (_local7 + 16);
- };
- return (new Array(_local3, _local4, _local5, _local6));
- }
- private static function safe_add(_arg1:Number, _arg2:Number):Number{
- var _local3:Number;
- var _local4:Number;
- _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
- _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
- return (((_local4 << 16) | (_local3 & 0xFFFF)));
- }
- public function calculate(_arg1:String):String{
- return (hex_md5(_arg1));
- }
- }
- }//package com.binweevils.rssmv
- package com.binweevils.conf {
- public class MessageProtocol {
- public static const NPC_MODULE_NAME:String = "14";
- public static const SQUARE_GAME_NAME:String = "s";
- public static const CHAT_MODULE_NAME:String = "1";
- public static const INGAME_MODULE_MOVE:String = "1";
- public static const TURN_BASED_GAME_MODULE_PLAYER_PLAYED:String = "1";
- public static const INGAME_MODULE_ROOM_EVENT:String = "5";
- public static const BUSINESS_MODULE_DISCOTHEQUE:String = "2";
- public static const EVENT_SPECTATOR_SWITCHED:String = "spectatorSwitched";
- public static const PET_MODULE_ACTION:String = "4";
- public static const BUSINESS_MODULE_RESTAURANT:String = "4";
- public static const NPC_MODULE_REMOVE_NPC:String = "2";
- public static const USER_LOST_END_GAME:String = "l";
- public static const CARD_SEPARATOR:String = "#";
- public static const ADMIN_MODULE_REMOVE_BAN:String = "remove_ban_by_name";
- public static const EVENT_NEW_ROOM:String = "newRoom";
- public static const LOTTERY_MODULE_NAME:String = "8";
- public static const NEST_MODULE_SET_NEST_DOOR:String = "1";
- public static const EVENT_LOGIN_REQUEST:String = "loginRequest";
- public static const EVENT_PUBLIC_MESSAGE:String = "pubMsg";
- public static const BALL_GAME_NAME:String = "b";
- public static const DAILYRANKING_MODULE_UPDATE_PLAYER_SCORE:String = "1";
- public static const NEST_MODULE_GUEST_JOINED_NEST:String = "5";
- public static const BINCARD_MODULE_PLAYER_LEAVE_SLOT:String = "8";
- public static const EVENT_ROOM_LOST:String = "roomLost";
- public static const BUSINESS_MODULE_NAME:String = "12";
- public static const NEST_MODULE_REMOVE_GUESTS_FROM_NEST:String = "4";
- public static const LOGIN_MODULE_NAME:String = "3";
- public static const TURN_BASED_GAME_MODULE_PLAYER_JOINED:String = "2";
- public static const DINER_MODULE_NAME:String = "9";
- public static const STAT_SEPARATOR:String = ",";
- public static const SEPARATOR_LEVEL_1:String = "|";
- public static const SEPARATOR_LEVEL_2:String = ":";
- public static const CRONJOBS_MODULE_NAME = "11";
- public static const NPC_MODULE_SET_NPC_NEST_DOOR:String = "6";
- public static const BINCARD_MODULE_START_ROUND:String = "10";
- public static const BUSINESS_MODULE_SALON:String = "3";
- public static const INGAME_MODULE_EXPRESSION:String = "2";
- public static const ADMIN_MODULE_BAN:String = "ban_by_name";
- public static const CHAT_MODULE_CHANGE_CHAT_STATE:String = "2";
- public static const BINCARD_MODULE_NAME:String = "13";
- public static const NPC_MODULE_CREATE_NPC:String = "1";
- public static const DINER_MODULE_DROP_TRAY:String = "2";
- public static const ATTRIBUTE_SEPARATOR:String = "|";
- public static const SEPARATOR:String = "#";
- public static const BINCARD_MODULE_PLAYER_START_TO_PLAY:String = "5";
- public static const PET_MODULE_PET_EXPRESSION:String = "3";
- public static const ADMIN_MODULE_SILENCE:String = "2";
- public static const EVENT_LOG_OUT:String = "logOut";
- public static const BINCARD_MODULE_PLAYER_RESPONSE:String = "4";
- public static const INGAME_MODULE_NAME:String = "2";
- public static const TURN_BASED_GAME_MODULE_NAME:String = "4";
- public static const BINCARD_MODULE_PLAYER_CHOSE_CARD:String = "7";
- public static const NEST_MODULE_JOIN_NEST_LOCATION:String = "2";
- public static const CHAT_MODULE_CHAT_YOURSELF:String = "1";
- public static const BINCARD_MODULE_RULE_NORMAL:String = "n";
- public static const BUSINESS_MODULE_GET_BUSINESS_LIST:String = "2";
- public static const BINCARD_MODULE_PLAYER_READY_TO_PLAY:String = "3";
- public static const DINER_MODULE_CHEF_START:String = "3";
- public static const NEST_MODULE_NAME:String = "5";
- public static const NEST_MODULE_RETURN_TO_NEST:String = "7";
- public static const PET_MODULE_PET_JOIN_NEST_LOC:String = "1";
- public static const PET_MODULE_GOT_BALL:String = "5";
- public static const ADMIN_MODULE_KICK:String = "kick";
- public static const NPC_MODULE_SET_NPC_EXPRESSION:String = "4";
- public static const FLIP_MULCH_GAME_NAME:String = "f";
- public static const DAILYRANKING_MODULE_NAME:String = "10";
- public static const PET_MODULE_NAME:String = "6";
- public static const INGAME_MODULE_CHANGE_WEEVILDEF:String = "10";
- public static const NPC_MODULE_NPC_ACTION:String = "3";
- public static const EVENT_PRIVATE_MESSAGE:String = "privMsg";
- public static const NORMAL_END_GAME:String = "n";
- public static const NEST_MODULE_REMOVE_NEST_INVITES:String = "6";
- public static const ADMIN_MODULE_REPORT:String = "1";
- public static const DINER_MODULE_CHEF_QUIT:String = "4";
- public static const INGAME_MODULE_JOIN_ROOM:String = "4";
- public static const BINCARD_MODULE_PLAYER2:String = "p2";
- public static const BINCARD_MODULE_SHOW_DECK:String = "14";
- public static const ADMIN_MODULE_WARN:String = "warn";
- public static const ADMIN_MODULE_NAME:String = "7";
- public static const BINCARD_MODULE_DRAW:String = "d";
- public static const USER_QUIT_END_GAME:String = "q";
- public static const BINCARD_MODULE_PLAYER1:String = "p1";
- public static const DINER_MODULE_GRAB_TRAY:String = "1";
- public static const EVENT_USER_EXIT:String = "userExit";
- public static const BINCARD_MODULE_STAT1:String = "1";
- public static const EVENT_USER_LOST:String = "userLost";
- public static const BINCARD_MODULE_STAT3:String = "3";
- public static const BINCARD_MODULE_STAT4:String = "4";
- public static const EVENT_USER_JOIN:String = "userJoin";
- public static const BINCARD_MODULE_STAT2:String = "2";
- public static const BINCARD_MODULE_END_ROUND:String = "11";
- public static const BINCARD_MODULE_END_GAME:String = "12";
- public static const INGAME_MODULE_CHECK_MESSAGE:String = "9";
- public static const BUSINESS_MODULE_GET_PLAZA_AVAILABILITY:String = "3";
- public static const BINCARD_MODULE_PLAYER_QUIT_GAME:String = "6";
- public static const INGAME_MODULE_ADD_APPAREL:String = "7";
- public static const BINCARD_MODULE_GAME_OVER:String = "13";
- public static const BINCARD_MODULE_START_GAME:String = "9";
- public static const LOTTERY_MODULE_BROADCAST_DRAW:String = "1";
- public static const BINCARD_MODULE_PLAYER_JOIN_SLOT:String = "2";
- public static const INGAME_MODULE_ACTION:String = "3";
- public static const BUSINESS_MODULE_SET_BUSINESS_STATE:String = "1";
- public static const MULCH4_GAME_NAME:String = "m";
- public static const INGAME_MODULE_GET_ZONE_TIME:String = "6";
- public static const TURN_BASED_GAME_MODULE_PLAYER_LEFT:String = "3";
- public static const NPC_MODULE_NPC_JOIN_NEST_LOC:String = "5";
- public static const EVENT_FILE_UPLOAD:String = "fileUpload";
- public static const PET_MODULE_SET_NEST_DOOR_PET:String = "2";
- public static const PET_MODULE_SEND_PET_COMMAND:String = "7";
- public static const INGAME_MODULE_REMOVE_APPAREL:String = "8";
- public static const BINCARD_MODULE_RULE_INVERT:String = "i";
- public static const NEST_MODULE_INVITE_TO_NEST:String = "3";
- public static const BINCARD_MODULE_PLAYER_REFUSED_TO_PLAY:String = "1";
- public static const BUSINESS_MODULE_PHOTOSTUDIO:String = "7";
- public static const PET_MODULE_PET_GO_NEST:String = "6";
- public static function getCommmandRest(_arg1:String):String{
- var _local2:String;
- _local2 = getCommmandName(_arg1);
- return (_arg1.substring((_local2.length + MessageProtocol.SEPARATOR.length), _arg1.length));
- }
- public static function getCommmandName(_arg1:String):String{
- var _local2:Array;
- _local2 = _arg1.split(SEPARATOR);
- return (_local2[0]);
- }
- }
- }//package com.binweevils.conf
- package {
- import flash.display.*;
- public dynamic class Button_overSkin extends MovieClip {
- }
- }//package
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class confirmSpectatorStatus_mc_18 extends MovieClip {
- public var btnYes:SimpleButton;
- public var btnNo:SimpleButton;
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class winnerHeader_23 extends MovieClip {
- public function winnerHeader_23(){
- addFrameScript(0, frame1, 1, frame2, 2, frame3);
- }
- function frame3(){
- stop();
- }
- function frame1(){
- stop();
- }
- function frame2(){
- stop();
- }
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- import flash.text.*;
- public dynamic class winner_mc_22 extends MovieClip {
- public var msg_txt:TextField;
- public var title_mc:MovieClip;
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- import flash.text.*;
- public dynamic class gameOver_mc_24 extends MovieClip {
- public var msg_txt:TextField;
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- import flash.text.*;
- public dynamic class staleMate_mc_25 extends MovieClip {
- public var msg_txt:TextField;
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class confirmJoin_mc_26 extends MovieClip {
- public var btnYes:SimpleButton;
- public var btnNo:SimpleButton;
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class mulchPiece2_9 extends MovieClip {
- public function mulchPiece2_9(){
- addFrameScript(0, frame1, 1, frame2);
- }
- function frame1(){
- stop();
- }
- function frame2(){
- stop();
- }
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class mulch_6 extends MovieClip {
- public var highlight_mc:MovieClip;
- public function mulch_6(){
- addFrameScript(0, frame1, 1, frame2, 2, frame3);
- }
- function frame3(){
- stop();
- }
- function frame1(){
- stop();
- }
- function frame2(){
- stop();
- }
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class waitingForOtherPlayer_12 extends MovieClip {
- public function waitingForOtherPlayer_12(){
- addFrameScript(28, frame29);
- }
- function frame29(){
- gotoAndPlay(0);
- }
- }
- }//package mulch4_08_07_11_fla
- package mulch4_08_07_11_fla {
- import flash.display.*;
- public dynamic class pleaseWait_27 extends MovieClip {
- public function pleaseWait_27(){
- addFrameScript(7, frame8);
- }
- function frame8(){
- gotoAndPlay(0);
- }
- }
- }//package mulch4_08_07_11_fla
Add Comment
Please, Sign In to add comment