STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228102
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

swfchan turned sixteen years old yesterday! (5may2024)

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/64666150?noj=FRM64666150-7DC" width="1" height="1"></div>

WellMahjong.swf

This is the info page for
Flash #97619

(Click the ID number above for more basic data on this flash file.)


Text
<p align="center"><font face="Showcard Gothic Cyr_ya" size="34" color="#000000" letterSpacing="4.000000" kerning="0">TEXT</font></p>

ActionScript [AS3]

Section 1
//OAdBanner (ENGINE.AD.OAdBanner) package ENGINE.AD { import flash.events.*; import flash.display.*; import flash.net.*; public class OAdBanner { private var iManager:DisplayObject; private var iID:String; private var iBanner:DisplayObject; private var iPrefix:String; private var iLoader:Loader; private static const strURL:String = "http://wellgames.com/ad/"; public function OAdBanner(_arg1:String, _arg2:String){ this.iPrefix = _arg1; this.iID = _arg2; this.iLoader = new Loader(); this.iLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, OnIOError); this.iLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, OnComplete); this.iLoader.load(new URLRequest(this.prURL)); } private function OnIOError(_arg1:IOErrorEvent):void{ } public function DeleteBanner():void{ this.iBanner = null; } private function get prURL():String{ return ((((((OAdBanner.strURL + this.iPrefix) + "AdBanner.swf?r=") + this.iPrefix) + this.iID) + "&i=-1")); } public function get prBanner():DisplayObject{ return (this.iBanner); } public function CreateBanner():void{ if (this.iManager){ this.iBanner = this.iManager["prBanner"]; }; } private function OnComplete(_arg1:Event):void{ this.iManager = this.iLoader.content; } } }//package ENGINE.AD
Section 2
//OAdBanners (ENGINE.AD.OAdBanners) package ENGINE.AD { import flash.display.*; import ENGINE.CORE.*; public class OAdBanners { public static var iBBanner:OAdBanner; public static var iTBanner:OAdBanner; public static function InitTBanner(_arg1:String, _arg2:String):void{ OAdBanners.iTBanner = new OAdBanner(_arg1, _arg2); } public static function RemoveBBanner(_arg1:DisplayObjectContainer):void{ var _local2:Sprite; _local2 = (OAdBanners.iBBanner.prBanner as Sprite); if (((_local2) && (_arg1.contains(_local2)))){ _arg1.removeChild(_local2); }; OAdBanners.iBBanner.DeleteBanner(); } public static function AddBBanner(_arg1:DisplayObjectContainer, _arg2:int, _arg3:int, _arg4:int=0, _arg5:int=0):void{ var _local6:Sprite; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; OAdBanners.iBBanner.CreateBanner(); _local6 = (OAdBanners.iBBanner.prBanner as Sprite); if (!_local6){ return; }; _local7 = OGlobal.ToGlobal(_arg2); _local8 = OGlobal.ToGlobal(_arg3); _local9 = OGlobal.ToGlobal(_arg4); _local10 = OGlobal.ToGlobal(_arg5); _local6.x = Math.floor((_local7 + ((_local9 - _local6.width) / 2))); _local6.y = Math.floor((_local8 + ((_local10 - _local6.height) / 2))); _arg1.addChild(_local6); } public static function RemoveTBanner(_arg1:DisplayObjectContainer):void{ var _local2:Sprite; _local2 = (OAdBanners.iTBanner.prBanner as Sprite); if (((_local2) && (_arg1.contains(_local2)))){ _arg1.removeChild(_local2); }; OAdBanners.iTBanner.DeleteBanner(); } public static function InitBBanner(_arg1:String, _arg2:String):void{ OAdBanners.iBBanner = new OAdBanner(_arg1, _arg2); } public static function AddTBanner(_arg1:DisplayObjectContainer, _arg2:int, _arg3:int, _arg4:int=0, _arg5:int=0):void{ var _local6:Sprite; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; OAdBanners.iTBanner.CreateBanner(); _local6 = (OAdBanners.iTBanner.prBanner as Sprite); if (!_local6){ return; }; _local7 = OGlobal.ToGlobal(_arg2); _local8 = OGlobal.ToGlobal(_arg3); _local9 = OGlobal.ToGlobal(_arg4); _local10 = OGlobal.ToGlobal(_arg5); _local6.x = Math.floor((_local7 + ((_local9 - _local6.width) / 2))); _local6.y = Math.floor((_local8 + ((_local10 - _local6.height) / 2))); _arg1.addChild(_local6); } } }//package ENGINE.AD
Section 3
//OCache (ENGINE.CORE.OCache) package ENGINE.CORE { import flash.utils.*; public dynamic class OCache { public function Pack():ByteArray{ var _local1:ByteArray; _local1 = new ByteArray(); _local1.writeObject(this); _local1.compress(); return (_local1); } public function AddCategoryArr(_arg1:String, _arg2:String):Array{ var _local3:OCache; _local3 = ((this[_arg1])==undefined) ? AddCategory(_arg1) : this[_arg1]; return (_local3.AddArr(_arg2)); } public function GetArrItem(_arg1:String, _arg2:int){ if ((((this[_arg1] == undefined)) || ((this[_arg1][_arg2] == undefined)))){ return (null); }; return (this[_arg1][_arg2]); } public function DeleteArrItem(_arg1:String, _arg2:int):void{ if (this[_arg1] == undefined){ return; }; this[_arg1].splice(_arg2, 1); } public function IsCategoryArrItem(_arg1:String, _arg2:String, _arg3:int):Boolean{ if (this[_arg1] == undefined){ return (false); }; return (this[_arg1].IsArrItem(_arg2, _arg3)); } public function GetCategoryItem(_arg1:String, _arg2:String){ if (this[_arg1] == undefined){ return (null); }; return (this[_arg1].GetItem(_arg2)); } public function SetCategoryItem(_arg1:String, _arg2:String, _arg3):void{ if (this[_arg1] == undefined){ this[_arg1] = new OCache(); }; this[_arg1].SetItem(_arg2, _arg3); } public function SetCategoryArrItem(_arg1:String, _arg2:String, _arg3:int, _arg4):void{ if (this[_arg1] == undefined){ this[_arg1] = new OCache(); }; this[_arg1].SetArrItem(_arg2, _arg3, _arg4); } public function IsCategoryItem(_arg1:String, _arg2:String):Boolean{ if (this[_arg1] == undefined){ return (false); }; return (this[_arg1].IsItem(_arg2)); } public function DeleteCategoryItem(_arg1:String, _arg2:String):void{ if (this[_arg1] == undefined){ return; }; this[_arg1].DeleteItem(_arg2); } public function AddCategory(_arg1:String):OCache{ this[_arg1] = new OCache(); return (this[_arg1]); } public function GetCategoryArrItem(_arg1:String, _arg2:String, _arg3:int){ if (this[_arg1] == undefined){ return (null); }; return (GetArrItem(_arg2, _arg3)); } public function GetCategoryNames(_arg1:String):Array{ var _local2:Array; var _local3:String; if (this[_arg1] == undefined){ return (null); }; _local2 = new Array(); for (_local3 in this[_arg1]) { _local2.push(_local3); }; return ((_local2.length) ? _local2.sort() : null); } public function AddArr(_arg1:String):Array{ this[_arg1] = new Array(); return (this[_arg1]); } public function GetItem(_arg1:String){ if (this[_arg1] == undefined){ return (null); }; return (this[_arg1]); } public function IsArrItem(_arg1:String, _arg2:int):Boolean{ return (((!((this[_arg1] == undefined))) && (!((this[_arg1][_arg2] == undefined))))); } public function DeleteCategoryArrItem(_arg1:String, _arg2:String, _arg3:int):void{ if (this[_arg1] == undefined){ return; }; this[_arg1].DeleteArrItem(_arg2, _arg3); } public function Clear():void{ var _local1:String; for (_local1 in this) { delete this[_local1]; }; } public function SetArrItem(_arg1:String, _arg2:int, _arg3):void{ if (this[_arg1] == undefined){ this[_arg1] = new Array(); }; this[_arg1][_arg2] = _arg3; } public function SetItem(_arg1:String, _arg2):void{ this[_arg1] = _arg2; } public function GetNames():Array{ var _local1:Array; var _local2:String; _local1 = new Array(); for (_local2 in this) { _local1.push(_local2); }; return ((_local1.length) ? _local1.sort() : null); } public function IsItem(_arg1:String):Boolean{ return (!((this[_arg1] == undefined))); } public function DeleteItem(_arg1:String):void{ if (this[_arg1] == undefined){ return; }; delete this[_arg1]; } } }//package ENGINE.CORE
Section 4
//OGlobal (ENGINE.CORE.OGlobal) package ENGINE.CORE { import flash.display.*; import flash.geom.*; import flash.net.*; public class OGlobal { private static var iFPS:int = 60; private static var iDomain:String; private static var iSRect:Rectangle = new Rectangle(); private static var iVRect:Rectangle = new Rectangle(0, 0, 800, 600); private static var iStage:Stage; private static var iScale:Number = 1; private static var iAppName:String; private static var iOldScale:Number = 1; public static function get FPS():int{ return (OGlobal.iFPS); } public static function CheckDomain(_arg1:String):Boolean{ var _local2:int; _local2 = OGlobal.iDomain.indexOf(_arg1); return ((((_local2 >= 0)) && ((_local2 <= 4)))); } public static function ToLocal(_arg1:Number):Number{ return ((_arg1 / OGlobal.iScale)); } public static function set FPS(_arg1:int):void{ OGlobal.iFPS = _arg1; if (OGlobal.iStage){ OGlobal.iStage.frameRate = _arg1; }; } public static function Rescale(_arg1:Sprite, _arg2:Boolean=true):void{ var _local3:Number; _local3 = (((OGlobal.iStage.stageWidth / OGlobal.iStage.stageHeight))<=(800 / 600)) ? (OGlobal.iStage.stageWidth / 800) : (OGlobal.iStage.stageHeight / 600); OGlobal.iSRect.x = 0; OGlobal.iSRect.y = 0; OGlobal.iSRect.width = OGlobal.iStage.stageWidth; OGlobal.iSRect.height = OGlobal.iStage.stageHeight; OGlobal.iVRect.width = Math.round((800 * _local3)); OGlobal.iVRect.height = Math.round((600 * _local3)); OGlobal.iVRect.x = Math.floor(((OGlobal.iStage.stageWidth - OGlobal.iVRect.width) / 2)); OGlobal.iVRect.y = Math.floor(((OGlobal.iStage.stageHeight - OGlobal.iVRect.height) / 2)); if (_arg2){ _arg1.x = OGlobal.iVRect.x; _arg1.y = OGlobal.iVRect.y; }; OGlobal.iScale = _local3; } public static function get prStage():Stage{ return (OGlobal.iStage); } public static function ClearScale():void{ OGlobal.iOldScale = OGlobal.iScale; OGlobal.iScale = 1; OGlobal.iVRect = OGlobal.iSRect.clone(); } public static function ToGlobal(_arg1:Number):Number{ return ((_arg1 * OGlobal.iScale)); } public static function set AppName(_arg1:String):void{ OGlobal.iAppName = ("WellGames_" + _arg1); } public static function get Domain():String{ return (OGlobal.iDomain); } public static function SetDomain():void{ var _local1:LocalConnection; _local1 = new LocalConnection(); OGlobal.iDomain = _local1.domain; } public static function get StageRect():Rectangle{ return (OGlobal.iSRect); } public static function ScaleFloor(_arg1:Number):Number{ return ((Math.floor((_arg1 * OGlobal.iScale)) / OGlobal.iScale)); } public static function get Scale():Number{ return (OGlobal.iScale); } public static function get ViewporRect():Rectangle{ return (OGlobal.iVRect); } public static function get AppName():String{ return (OGlobal.iAppName); } public static function set prStage(_arg1:Stage):void{ OGlobal.iStage = _arg1; } public static function RestoreScale():void{ OGlobal.iScale = OGlobal.iOldScale; } public static function ScaleMod(_arg1:Number):Number{ var _local2:Number; _local2 = (_arg1 * OGlobal.iScale); return (((_local2 - Math.floor(_local2)) / OGlobal.iScale)); } } }//package ENGINE.CORE
Section 5
//ORandomInt (ENGINE.CORE.ORandomInt) package ENGINE.CORE { import flash.utils.*; public class ORandomInt { private var iNextRandom:int; public function ORandomInt(){ iNextRandom = getTimer(); } public function RandNumber():Number{ var _local1:Number; _local1 = Rand(); return ((_local1 / 32767)); } public function Rand():int{ iNextRandom = ((iNextRandom * 1103515245) + 12345); return (((iNextRandom >> 16) & 32767)); } public function get NextRandom():int{ return (this.iNextRandom); } public function RandOnInterval(_arg1:Number=0, _arg2:Number=1):int{ return ((_arg1 + (Rand() % ((1 + _arg2) - _arg1)))); } public function RandVal(_arg1:int):int{ var _local2:Number; _local2 = Rand(); return ((_local2 % _arg1)); } public function SeedRand(_arg1:int=0):void{ if (_arg1 == 0){ iNextRandom = getTimer(); } else { iNextRandom = _arg1; }; } } }//package ENGINE.CORE
Section 6
//OSound (ENGINE.CORE.OSound) package ENGINE.CORE { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.media.*; public class OSound { private static var iMusicInd:int = 0; private static var iSoundsObjects:Array; private static var iSounds:Dictionary = new Dictionary(true); private static var iMusicPlayList:Array = new Array(); private static var iSoundVolume:Number = 1; private static var iMusicChannel:SoundChannel; private static var iMusicVolume:Number = 1; private static var iMusic:Sound; public static function PlaySoundInd(_arg1:int, _arg2:Number=0):Boolean{ if (OSound.iSoundVolume == 0){ return (false); }; _arg1 = Math.max(_arg1, 0); _arg1 = Math.min(_arg1, (OSound.iSoundsObjects.length - 1)); return (OSound.PlaySound(OSound.iSoundsObjects[_arg1], _arg2)); } public static function set MusicVolume(_arg1:Number):void{ var _local2:SoundTransform; OSound.iMusicVolume = _arg1; if (OSound.iMusicChannel){ if (_arg1 == 0){ OSound.StopMusic(); } else { _local2 = OSound.iMusicChannel.soundTransform; _local2.volume = _arg1; OSound.iMusicChannel.soundTransform = _local2; }; } else { if (OSound.iMusicVolume > 0){ OSound.PlayMusic(); }; }; } private static function OnMusicLoadComplete(_arg1:Event):void{ if (OSound.iMusicVolume == 0){ return; }; OSound.iMusicChannel = iMusic.play(0, 0, new SoundTransform(OSound.iMusicVolume, 0)); OSound.RemoveMusic(); OSound.iMusicChannel.addEventListener(Event.SOUND_COMPLETE, OnMusicComplete); } public static function set SoundVolume(_arg1:Number):void{ OSound.iSoundVolume = _arg1; } private static function OnMusicLoadIOError(_arg1:Event):void{ OSound.RemoveMusic(); OSound.iMusicPlayList.splice(OSound.iMusicInd, 1); OSound.iMusicInd = ((OSound.iMusicInd > (OSound.iMusicPlayList.length - 1))) ? (OSound.iMusicPlayList.length - 1) : OSound.iMusicInd; OSound.PlayMusic(); } private static function OnMusicComplete(_arg1:Event):void{ PlayMusic(); } public static function PlaySound(_arg1:Class, _arg2:Number=0):Boolean{ var _local3:Sound; if (OSound.iSoundVolume == 0){ return (false); }; _local3 = OSound.iSounds[_arg1]; if (_local3 != null){ _local3.play(0, 0, new SoundTransform(OSound.iSoundVolume, _arg2)); }; return (!((_local3 == null))); } private static function RemoveMusic():void{ if (OSound.iMusic){ OSound.iMusic.removeEventListener(Event.COMPLETE, OSound.OnMusicLoadComplete); OSound.iMusic.removeEventListener(IOErrorEvent.IO_ERROR, OSound.OnMusicLoadIOError); OSound.iMusic = null; }; } public static function StopMusic():void{ if (OSound.iMusicChannel){ OSound.iMusicChannel.removeEventListener(Event.SOUND_COMPLETE, OnMusicComplete); OSound.iMusicChannel.stop(); OSound.iMusicChannel = null; }; } public static function get SoundVolume():Number{ return (OSound.iSoundVolume); } public static function PlayListClear():void{ OSound.iMusicPlayList = new Array(); } public static function PlayListAdd(_arg1:String):void{ OSound.iMusicPlayList.push(_arg1); OSound.iMusicInd = (OSound.iMusicPlayList.length - 1); } public static function PlayMusic():void{ var request:URLRequest; if ((((OSound.iMusicVolume == 0)) || (!(OSound.iMusicPlayList.length)))){ return; }; OSound.StopMusic(); OSound.iMusicInd = ((OSound.iMusicInd + 1) % OSound.iMusicPlayList.length); request = new URLRequest(OSound.iMusicPlayList[OSound.iMusicInd]); OSound.iMusic = new Sound(); OSound.iMusic.addEventListener(Event.COMPLETE, OSound.OnMusicLoadComplete); OSound.iMusic.addEventListener(IOErrorEvent.IO_ERROR, OSound.OnMusicLoadIOError); try { OSound.iMusic.load(request); } catch(e:Error) { }; } public static function RegisterEmbedSounds(_arg1:Array):Boolean{ var _local2:int; var _local3:Sound; OSound.iSoundsObjects = _arg1; _local2 = 0; while (_local2 < _arg1.length) { _local3 = (new (_arg1[_local2]) as Sound); OSound.iSounds[_arg1[_local2]] = _local3; _local2++; }; return (true); } public static function PlaySoundRandom(_arg1:Number=0, _arg2:int=0, _arg3:int=-1):Boolean{ var _local4:int; if (OSound.iSoundVolume == 0){ return (false); }; _arg2 = Math.max(_arg2, 0); _arg2 = Math.min(_arg2, (OSound.iSoundsObjects.length - 1)); if (_arg3 < 0){ _arg3 = (OSound.iSoundsObjects.length - 1); }; _arg3 = Math.max(_arg3, 0); _arg3 = Math.min(_arg3, (OSound.iSoundsObjects.length - 1)); _local4 = OUtils.Random(_arg2, _arg3); return (OSound.PlaySound(OSound.iSoundsObjects[_local4], _arg1)); } public static function get MusicVolume():Number{ return (OSound.iMusicVolume); } } }//package ENGINE.CORE
Section 7
//OSystem (ENGINE.CORE.OSystem) package ENGINE.CORE { import flash.events.*; import flash.display.*; import flash.text.*; import flash.utils.*; import flash.system.*; public class OSystem extends Sprite { private var iLastTime:int; private var iCount:int; private var iText:TextField; private var iSTimer:String; public static var iUserText1:String = ""; public static var iUserText:String = ""; public static var iUserText2:String = ""; public function OSystem(){ this.iText = new TextField(); this.iText.autoSize = TextFieldAutoSize.LEFT; this.iText.mouseEnabled = false; this.addChild(this.iText); this.addEventListener(Event.ENTER_FRAME, OnEnterFrame); this.iLastTime = getTimer(); this.iSTimer = ""; } public function OnEnterFrame(_arg1:Event):void{ var _local2:uint; var _local3:int; _local2 = System.totalMemory; _local3 = (getTimer() - this.iLastTime); this.iCount++; if (_local3 >= 1000){ this.iSTimer = String((Math.round(((_local3 / this.iCount) * 100)) / 100)); this.iLastTime = getTimer(); this.iCount = 0; }; iText.text = ((((((((((_local2.toString() + " ") + this.iSTimer) + " ") + OGlobal.prStage.frameRate) + " | ") + OSystem.iUserText) + " ") + OSystem.iUserText1) + " ") + OSystem.iUserText2); } } }//package ENGINE.CORE
Section 8
//OUtils (ENGINE.CORE.OUtils) package ENGINE.CORE { import ENGINE.DISPLAY.*; import flash.geom.*; public class OUtils { public static function AddZero(_arg1:String, _arg2:int):String{ var _local3:String; var _local4:int; _local3 = ""; _local4 = _arg1.length; while (_local4 < _arg2) { _local3 = (_local3 + "0"); _local4++; }; _local3 = (_local3 + _arg1); return (_local3); } public static function Random(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + ((_arg2 - _arg1) * Math.random()))); } public static function StringToTarget(_arg1:Class, _arg2:int, _arg3:String, _arg4:String, _arg5:int):String{ var _local6:Number; var _local7:Rectangle; var _local8:String; var _local9:String; var _local10:int; _local6 = Math.round((1 + (_arg2 / 70))); _local8 = ((_arg4)==null) ? "" : ((" (" + _arg4) + ")"); _local9 = (_arg3 + _local8); _local7 = ODisplay.TextRect(_arg1, _arg2, _local6, _local9); if (_local7.width <= _arg5){ return (_local9); }; _local8 = ("..." + _local8); _local10 = (_arg3.length - 1); while (_local10 > 0) { _local9 = (_arg3.substr(0, _local10) + _local8); _local7 = ODisplay.TextRect(_arg1, _arg2, _local6, _local9); if (_local7.width <= _arg5){ return (_local9); }; _local10--; }; return ((_arg3.substr(0, 1) + _local8)); } public static function ClearString(_arg1:String):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "; _local3 = ""; _local4 = 0; while (_local4 < _arg1.length) { if (_local2.indexOf(_arg1.charAt(_local4)) > -1){ _local3 = (_local3 + _arg1.charAt(_local4)); }; _local4++; }; return (_local3); } } }//package ENGINE.CORE
Section 9
//OEffect (ENGINE.DISPLAY.EFFECTS.OEffect) package ENGINE.DISPLAY.EFFECTS { import ENGINE.DISPLAY.*; import flash.filters.*; import ENGINE.CORE.*; public class OEffect { protected var iColors:OCache; protected var iFilters:OCache; public function OEffect(){ this.iColors = new OCache(); this.iFilters = new OCache(); } public function RegisterColor(_arg1:String, _arg2):void{ this.iColors.SetItem(_arg1, _arg2); } public function Init(_arg1:String, _arg2:String, _arg3:Number=1):void{ } public function RegisterFilter(_arg1:String, _arg2):void{ this.iFilters.SetItem(_arg1, _arg2); } public function Apply(_arg1:Array, _arg2:Number=1, _arg3:Number=0, _arg4:Number=0):OBM{ return (null); } public static function MakeBevelFilter(_arg1:Array):BevelFilter{ return (new BevelFilter(_arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10], _arg1[11], _arg1[12])); } } }//package ENGINE.DISPLAY.EFFECTS
Section 10
//OEffects (ENGINE.DISPLAY.EFFECTS.OEffects) package ENGINE.DISPLAY.EFFECTS { import ENGINE.DISPLAY.*; import ENGINE.CORE.*; public class OEffects { private static var iEffects:OCache = new OCache(); public static function RegisterColor(_arg1:String, _arg2:String, _arg3):void{ var _local4:OEffect; _local4 = iEffects.GetItem(_arg1); if (_local4 == null){ return; }; _local4.RegisterColor(_arg2, _arg3); } public static function RegisterEffect(_arg1:String, _arg2:OEffect):void{ iEffects.SetItem(_arg1, _arg2); } public static function Make(_arg1:Array):OBM{ var _local2:OEffect; _local2 = iEffects.GetItem(_arg1[3]); if (_local2 == null){ return (null); }; _local2.Init(_arg1[4], _arg1[5], _arg1[6]); return (_local2.Apply(_arg1[1], _arg1[2], _arg1[7], _arg1[8])); } public static function GetEffect(_arg1:String):OEffect{ return (iEffects.GetItem(_arg1)); } public static function RegisterFilter(_arg1:String, _arg2:String, _arg3):void{ var _local4:OEffect; _local4 = iEffects.GetItem(_arg1); if (_local4 == null){ return; }; _local4.RegisterFilter(_arg2, _arg3); } public static function Apply(_arg1, _arg2:Number, _arg3:String, _arg4:String, _arg5:String, _arg6:Number=1, _arg7:Number=0, _arg8:Number=0):OBM{ var _local9:OEffect; _local9 = iEffects.GetItem(_arg3); if (_local9 == null){ return (null); }; _local9.Init(_arg4, _arg5, _arg6); return (_local9.Apply([ODisplay.SpriteLib, _arg1], _arg2, _arg7, _arg8)); } } }//package ENGINE.DISPLAY.EFFECTS
Section 11
//IDisplayObject (ENGINE.DISPLAY.IDisplayObject) package ENGINE.DISPLAY { public interface IDisplayObject { function set prVisible(_arg1:Boolean):void; function get prWidth():Number; function get prHeight():Number; function set prX(_arg1:Number):void; function set prY(_arg1:Number):void; function get prVisible():Boolean; function Move(_arg1:Number, _arg2:Number):void; function Pos(_arg1:Number, _arg2:Number):void; function get prX():Number; function get prY():Number; } }//package ENGINE.DISPLAY
Section 12
//OBitmap (ENGINE.DISPLAY.OBitmap) package ENGINE.DISPLAY { import flash.display.*; import flash.geom.*; import ENGINE.DISPLAY.EFFECTS.*; import flash.text.*; import ENGINE.CORE.*; public class OBitmap extends Bitmap implements IDisplayObject { protected var iY:Number;// = 0 protected var iX:Number;// = 0 protected var iOBM:OBM;// = null public function OBitmap(_arg1:OBM=null, _arg2:Number=0, _arg3:Number=0){ iX = 0; iY = 0; iOBM = null; super(); this.iX = _arg2; this.iY = _arg3; Init(_arg1); } public function get prVisible():Boolean{ return (this.visible); } public function set prX(_arg1:Number):void{ this.iX = _arg1; Pos(this.iX, this.iY); } public function Clear():void{ this.Init(null); } public function set prOBM(_arg1:OBM):void{ this.Init(_arg1); } public function Pos(_arg1:Number, _arg2:Number):void{ this.iX = _arg1; this.iY = _arg2; if (this.iOBM){ this.x = ((this.iX * OGlobal.Scale) + this.iOBM.iX); this.y = ((this.iY * OGlobal.Scale) + this.iOBM.iY); } else { this.x = (this.iX * OGlobal.Scale); this.y = (this.iY * OGlobal.Scale); }; } public function set prY(_arg1:Number):void{ this.iY = _arg1; Pos(this.iX, this.iY); } public function Init(_arg1:OBM):void{ this.iOBM = _arg1; this.bitmapData = (_arg1) ? _arg1.iBM : null; this.Pos(this.iX, this.iY); } public function set prVisible(_arg1:Boolean):void{ this.visible = _arg1; } public function Clone():OBitmap{ return (new OBitmap(this.iOBM.Clone(), this.iX, this.iY)); } public function get prX():Number{ return (this.iX); } public function get prY():Number{ return (this.iY); } public function get prOBM():OBM{ return (this.iOBM); } public function get prHeight():Number{ return ((this.iOBM) ? (this.iOBM.iHeight / OGlobal.Scale) : 0); } public function get prWidth():Number{ return ((this.iOBM) ? (this.iOBM.iWidth / OGlobal.Scale) : 0); } public function CopyFrom(_arg1:OBitmap):void{ this.iX = _arg1.iX; this.iY = _arg1.iY; this.Init(_arg1.iOBM); } public function Move(_arg1:Number, _arg2:Number):void{ Pos((this.iX + _arg1), (this.iY + _arg2)); } public static function MakeEffectFromListP(_arg1:Array):OBitmap{ var _local2:Sprite; var _local3:Sprite; _local2 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); _local3 = (_local2.getChildAt(_arg1[2]) as Sprite); return (OBitmap.MakeEffect(_local3, _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[7], _local3.x, _local3.y)); } public static function MakeEffectP(_arg1:Array):OBitmap{ return (OBitmap.MakeEffect(_arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8])); } public static function MakeEffectTextInRectP(_arg1:Array):OBitmap{ var _local2:Sprite; var _local3:Rectangle; var _local4:Number; var _local5:Number; var _local6:TextField; var _local7:TextFormat; _local2 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); if ((_local2.getChildAt(0) is TextField)){ _local6 = (_local2.getChildAt(0) as TextField); _local6.autoSize = TextFieldAutoSize.LEFT; _local6.text = _arg1[4]; _local7 = _local6.defaultTextFormat; _local7.size = _arg1[2]; _local7.letterSpacing = _arg1[3]; _local6.setTextFormat(_local7); } else { return (null); }; _local3 = _local2.getBounds(_local2); _local4 = ((_arg1[9] - _local3.width) / 2); _local5 = ((_arg1[10] - _local3.height) / 2); return (OBitmap.MakeEffect(_local2, 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], (_arg1[11] + _local4), (_arg1[12] + _local5))); } public static function MakeEffectTextP(_arg1:Array):OBitmap{ var _local2:Sprite; var _local3:TextField; var _local4:TextFormat; _local2 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); if ((_local2.getChildAt(0) is TextField)){ _local3 = (_local2.getChildAt(0) as TextField); _local3.autoSize = TextFieldAutoSize.LEFT; _local3.text = _arg1[4]; _local4 = _local3.defaultTextFormat; _local4.size = _arg1[2]; _local4.letterSpacing = _arg1[3]; _local3.setTextFormat(_local4); } else { return (null); }; return (OBitmap.MakeEffect(_local2, 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10])); } public static function MakeRoundRectBorderEffectP(_arg1:Array):OBitmap{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRoundRect(0, 0, _arg1[1], _arg1[2], _arg1[3]); _local2.graphics.drawRoundRect(_arg1[4], _arg1[4], (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), (_arg1[3] - _arg1[4])); return (OBitmap.MakeEffect(_local2, 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10])); } public static function MakeEffectInRectP(_arg1:Array):OBitmap{ var _local2:Number; var _local3:Sprite; var _local4:Rectangle; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = Math.min(_arg1[7], _arg1[8]); _local3 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); _local4 = _local3.getBounds(_local3); _local5 = Math.max(_local4.width, _local4.height); _local6 = ((_local2 / _local5) * _arg1[2]); _local7 = ((_arg1[7] - (_local4.width * _local6)) / 2); _local8 = ((_arg1[8] - (_local4.height * _local6)) / 2); return (OBitmap.MakeEffect(_local3, _local6, _arg1[3], _arg1[4], _arg1[5], _arg1[6], (_arg1[9] + _local7), (_arg1[10] + _local8))); } public static function MakeTmp(_arg1, _arg2:Number=1, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0):OBitmap{ var _local6:OBM; _local6 = OBM.Make([null, [ODisplay.SpriteLib, _arg1], _arg2, _arg3, _arg4, _arg5]); return (new OBitmap(_local6, _arg3, _arg4)); } public static function MakeP(_arg1:Array):OBitmap{ return (OBitmap.MakeTmp(_arg1[1], _arg1[2], _arg1[3], _arg1[4])); } public static function MakeRoundRectEffectP(_arg1:Array):OBitmap{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRoundRect(0, 0, _arg1[1], _arg1[2], _arg1[3]); return (OBitmap.MakeEffect(_local2, 1, _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9])); } public static function Make(_arg1:Array):OBitmap{ return (new OBitmap(_arg1[1][0](_arg1[1]), _arg1[2], _arg1[3])); } public static function MakeEffect(_arg1, _arg2:Number, _arg3:String, _arg4:String, _arg5:String, _arg6:Number=1, _arg7:Number=0, _arg8:Number=0):OBitmap{ var _local9:OBM; _local9 = OEffects.Apply(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); return (new OBitmap(_local9, _arg7, _arg8)); } } }//package ENGINE.DISPLAY
Section 13
//OBM (ENGINE.DISPLAY.OBM) package ENGINE.DISPLAY { import flash.display.*; import flash.geom.*; import ENGINE.CORE.*; public class OBM { public var iX:Number; public var iHeight:Number; public var iBM:BitmapData; public var iY:Number; public var iWidth:Number; public function OBM(_arg1:BitmapData=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0){ this.iBM = _arg1; this.iX = _arg2; this.iY = _arg3; this.iWidth = _arg4; this.iHeight = _arg5; } public function Clone():OBM{ var _local1:BitmapData; _local1 = this.iBM.clone(); return (new OBM(_local1, this.iX, this.iY, this.iWidth, this.iHeight)); } public static function MakeFill(_arg1:Array):OBM{ var _local2:Sprite; var _local3:Sprite; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Rectangle; var _local8:Sprite; var _local9:int; var _local10:int; var _local11:Number; var _local12:Number; var _local13:BitmapData; var _local14:Matrix; _local2 = new Sprite(); _local3 = _arg1[1][0](_arg1[1]); _local4 = (OGlobal.Scale * _arg1[2]); _local5 = OGlobal.ToGlobal(_arg1[4]); _local6 = OGlobal.ToGlobal(_arg1[5]); _local3.scaleX = _local4; _local3.scaleY = _local4; _local3.x = (_local3.x * OGlobal.Scale); _local3.y = (_local3.y * OGlobal.Scale); _local3.x = (_local3.x + _local5); _local3.y = (_local3.y + _local6); _local2.addChild(_local3); _local7 = _local3.getBounds(_local2); _local2.removeChild(_local3); _local8 = new Sprite(); _local8.graphics.beginBitmapFill(_arg1[3]); _local8.graphics.drawRect((_local7.x - 1), (_local7.y - 1), (_local7.width + 2), (_local7.height + 2)); _local8.graphics.endFill(); _local8.mask = _local3; _local2.addChild(_local8); _local9 = ((_local7.width + 4) + (_arg1[6] * 2)); _local10 = ((_local7.height + 4) + (_arg1[6] * 2)); _local11 = Math.floor(_local7.x); _local12 = Math.floor(_local7.y); _local13 = new BitmapData(_local9, _local10, true, 0); _local14 = new Matrix(1, 0, 0, 1, ((-(_local11) + 1) + _arg1[6]), ((-(_local12) + 1) + _arg1[6])); _local13.draw(_local2, _local14); return (new OBM(_local13, (((_local11 - _local5) - 1) - _arg1[6]), (((_local12 - _local6) - 1) - _arg1[6]), _local7.width, _local7.height)); } public static function Make(_arg1:Array):OBM{ var _local2:Sprite; var _local3:Sprite; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Rectangle; var _local8:int; var _local9:int; var _local10:Number; var _local11:Number; var _local12:BitmapData; var _local13:Matrix; _local2 = new Sprite(); _local3 = _arg1[1][0](_arg1[1]); _local4 = (OGlobal.Scale * _arg1[2]); _local5 = OGlobal.ToGlobal(_arg1[3]); _local6 = OGlobal.ToGlobal(_arg1[4]); _local3.scaleX = _local4; _local3.scaleY = _local4; _local3.x = (_local3.x * OGlobal.Scale); _local3.y = (_local3.y * OGlobal.Scale); _local3.x = (_local3.x + _local5); _local3.y = (_local3.y + _local6); _local2.addChild(_local3); _local7 = _local3.getBounds(_local2); _local8 = ((_local7.width + 4) + (_arg1[5] * 2)); _local9 = ((_local7.height + 4) + (_arg1[5] * 2)); _local10 = Math.floor(_local7.x); _local11 = Math.floor(_local7.y); _local12 = new BitmapData(_local8, _local9, true, 0); _local13 = new Matrix(1, 0, 0, 1, ((-(_local10) + 1) + _arg1[5]), ((-(_local11) + 1) + _arg1[5])); _local12.draw(_local2, _local13); return (new OBM(_local12, (((_local10 - _local5) - 1) - _arg1[5]), (((_local11 - _local6) - 1) - _arg1[5]), _local7.width, _local7.height)); } } }//package ENGINE.DISPLAY
Section 14
//ODisplay (ENGINE.DISPLAY.ODisplay) package ENGINE.DISPLAY { import flash.display.*; import flash.geom.*; import ENGINE.DISPLAY.EFFECTS.*; import flash.text.*; import ENGINE.CORE.*; public class ODisplay { public static function SpriteErase(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Sprite; var _local4:Sprite; var _local5:Sprite; _local2 = new Sprite(); _local3 = new Sprite(); _local3.blendMode = BlendMode.LAYER; _local4 = _arg1[1][0](_arg1[1]); _local5 = _arg1[2][0](_arg1[2]); _local5.blendMode = BlendMode.ERASE; _local3.addChild(_local4); _local3.addChild(_local5); _local2.addChild(_local3); return (_local2); } public static function HSBToRGB(_arg1:Number, _arg2:Number, _arg3:Number):uint{ var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; var _local11:int; var _local12:int; _arg1 = (_arg1 % 360); if (_arg2 > 1){ _arg2 = 1; }; if (_arg3 > 1){ _arg3 = 1; }; if (_arg2 == 0){ _local4 = (_arg3 * 0xFF); return ((((_local4 << 16) | (_local4 << 8)) | _local4)); }; if (_arg1 == 360){ _arg1 = 0; } else { _arg1 = (_arg1 / 60); }; _local5 = Math.floor(_arg1); _local6 = (_arg1 - _local5); _local7 = (_arg3 * (1 - _arg2)); _local8 = (_arg3 * (1 - (_arg2 * _local6))); _local9 = (_arg3 * (1 - (_arg2 * (1 - _local6)))); switch (_local5){ case 0: _local10 = (_arg3 * 0xFF); _local11 = (_local9 * 0xFF); _local12 = (_local7 * 0xFF); break; case 1: _local10 = (_local8 * 0xFF); _local11 = (_arg3 * 0xFF); _local12 = (_local7 * 0xFF); break; case 2: _local10 = (_local7 * 0xFF); _local11 = (_arg3 * 0xFF); _local12 = (_local9 * 0xFF); break; case 3: _local10 = (_local7 * 0xFF); _local11 = (_local8 * 0xFF); _local12 = (_arg3 * 0xFF); break; case 4: _local10 = (_local9 * 0xFF); _local11 = (_local7 * 0xFF); _local12 = (_arg3 * 0xFF); break; case 5: _local10 = (_arg3 * 0xFF); _local11 = (_local7 * 0xFF); _local12 = (_local8 * 0xFF); break; }; return ((((_local10 << 16) | (_local11 << 8)) | _local12)); } public static function OBitmapXBorderSprite(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteXBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[15], _arg1[16]], [null, [ODisplay.SpriteInRect, [ODisplay.SpriteLib, _arg1[9]], _arg1[10], _arg1[1], _arg1[2]], _arg1[9], _arg1[11], _arg1[12], _arg1[13], _arg1[14], _arg1[15], _arg1[16]]]])); } public static function OBitmapAngleFrameSprite(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteAngleRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] * (_arg1[1] - (_arg1[4] * 2))) / _arg1[1])], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[18] + _arg1[4]), (_arg1[19] + _arg1[4])], [null, [ODisplay.SpriteAngleBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[18], _arg1[19]], [null, [ODisplay.SpriteInRect, [ODisplay.SpriteLib, _arg1[12]], _arg1[13], _arg1[1], _arg1[2]], _arg1[13], _arg1[14], _arg1[15], _arg1[16], _arg1[17], _arg1[18], _arg1[19]]]])); } public static function OBitmapXBorder(_arg1:Array):OBitmap{ return (OBitmapMake([null, [SpriteXBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10]])); } public static function OBitmapAngleFrameText(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteAngleRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] * (_arg1[1] - (_arg1[4] * 2))) / _arg1[1])], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[20] + _arg1[4]), (_arg1[21] + _arg1[4])], [null, [ODisplay.SpriteAngleBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[20], _arg1[21]], [null, [ODisplay.SpriteTextInRect, _arg1[12], _arg1[13], _arg1[14], _arg1[15], _arg1[1], _arg1[2]], 1, _arg1[16], _arg1[17], _arg1[18], _arg1[19], _arg1[20], _arg1[21]]]])); } public static function OBitmapRoundFrameText(_arg1:Array):OBitmap{ if (_arg1[4]){ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteRoundBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[20], _arg1[21]], [null, [ODisplay.SpriteRoundRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] - _arg1[4]) - 2)], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[20] + _arg1[4]), (_arg1[21] + _arg1[4])], [null, [ODisplay.SpriteTextInRect, _arg1[12], _arg1[13], _arg1[14], _arg1[15], _arg1[1], _arg1[2]], 1, _arg1[16], _arg1[17], _arg1[18], _arg1[19], _arg1[20], _arg1[21]]]])); }; return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteRoundRect, _arg1[1], _arg1[2], _arg1[3]], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[20] + _arg1[4]), (_arg1[21] + _arg1[4])], [null, [ODisplay.SpriteTextInRect, _arg1[12], _arg1[13], _arg1[14], _arg1[15], _arg1[1], _arg1[2]], 1, _arg1[16], _arg1[17], _arg1[18], _arg1[19], _arg1[20], _arg1[21]]]])); } public static function SpriteFillRect(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Sprite; var _local4:Rectangle; var _local5:Number; _local2 = new Sprite(); _local3 = _arg1[1][0](_arg1[1]); _local2.addChild(_local3); _local4 = _local3.getBounds(_local2); _local5 = (Math.max(_arg1[2], _arg1[3]) / Math.max(_local4.width, _local4.height)); _local3.scaleX = _local5; _local3.scaleY = _local5; _local4 = _local3.getBounds(_local2); _local2.removeChild(_local3); _local3.x = (_local3.x + ((_arg1[2] - _local4.width) / 2)); _local3.y = (_local3.y + ((_arg1[3] - _local4.height) / 2)); return (_local3); } public static function TextRect(_arg1, _arg2:Number, _arg3:Number, _arg4:String):Rectangle{ var _local5:Sprite; var _local6:TextField; var _local7:TextFormat; _local5 = ((_arg1 is Sprite)) ? (_arg1 as Sprite) : new ((_arg1 as Class)); if ((_local5.getChildAt(0) is TextField)){ _local6 = (_local5.getChildAt(0) as TextField); _local6.autoSize = TextFieldAutoSize.LEFT; _local6.text = _arg4; _local7 = _local6.defaultTextFormat; _local7.size = _arg2; _local7.letterSpacing = _arg3; _local6.setTextFormat(_local7); } else { return (null); }; return (_local5.getBounds(_local5)); } public static function OBitmapXBorderText(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteXBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[17], _arg1[18]], [null, [ODisplay.SpriteTextInRect, _arg1[9], _arg1[10], _arg1[11], _arg1[12], _arg1[1], _arg1[2]], 1, _arg1[13], _arg1[14], _arg1[15], _arg1[16], _arg1[17], _arg1[18]]]])); } public static function OBitmapRoundRect(_arg1:Array):OBitmap{ return (OBitmapMake([null, [SpriteRoundRect, _arg1[1], _arg1[2], _arg1[3]], 1, _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9]])); } public static function OBitmapAngleFrame(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteAngleBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[12], _arg1[13]], [null, [ODisplay.SpriteAngleRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] * (_arg1[1] - (_arg1[4] * 2))) / _arg1[1])], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[12] + _arg1[4]), (_arg1[13] + _arg1[4])]]])); } public static function HSBAToRGBA(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):uint{ var _local5:uint; var _local6:uint; _local5 = HSBToRGB(_arg1, _arg2, _arg3); _local6 = (0xFF * _arg4); _local6 = (_local6 << 24); return ((_local5 + _local6)); } public static function OBitmapTextAlign(_arg1:Array):OBitmap{ return (OBitmapMake([null, [ODisplay.SpriteTextAlign, _arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[11], _arg1[12]], 1, _arg1[7], _arg1[8], _arg1[9], _arg1[10], _arg1[13], _arg1[14]])); } public static function OBitmapList(_arg1:Array):OBitmap{ var _local2:OBM; var _local3:Number; var _local4:Number; var _local5:int; var _local6:OBM; var _local7:Matrix; _local2 = OEffects.Make(_arg1[1][0]); _local3 = (_local2.iX + (_arg1[1][0][7] * OGlobal.Scale)); _local4 = (_local2.iY + (_arg1[1][0][8] * OGlobal.Scale)); _local5 = 1; while (_local5 < _arg1[1].length) { _local6 = OEffects.Make(_arg1[1][_local5]); _local7 = new Matrix(1, 0, 0, 1, (((_arg1[1][_local5][7] * OGlobal.Scale) + _local6.iX) - _local3), (((_arg1[1][_local5][8] * OGlobal.Scale) + _local6.iY) - _local4)); _local2.iBM.draw(_local6.iBM, _local7); _local5++; }; return (new OBitmap(_local2, _arg1[1][0][7], _arg1[1][0][8])); } public static function SpriteLibList(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); if (_arg1[2] >= _local2.numChildren){ return (null); }; return ((_local2.getChildAt(_arg1[2]) as Sprite)); } public static function SpriteXBorder(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.lineStyle(_arg1[4]); _local2.graphics.moveTo(0, _arg1[3]); _local2.graphics.lineTo(_arg1[1], _arg1[3]); _local2.graphics.moveTo(0, (_arg1[2] - _arg1[3])); _local2.graphics.lineTo(_arg1[1], (_arg1[2] - _arg1[3])); _local2.graphics.moveTo(_arg1[3], 0); _local2.graphics.lineTo(_arg1[3], _arg1[2]); _local2.graphics.moveTo((_arg1[1] - _arg1[3]), 0); _local2.graphics.lineTo((_arg1[1] - _arg1[3]), _arg1[2]); return (_local2); } public static function SpriteLib(_arg1:Array):Sprite{ return (((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class))); } public static function OBitmapAngleBorder(_arg1:Array):OBitmap{ return (OBitmapMake([null, [SpriteAngleBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10]])); } public static function OBitmapRoundBorder(_arg1:Array):OBitmap{ return (OBitmapMake([null, [SpriteRoundBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10]])); } public static function SpriteScale(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = _arg1[1][0](_arg1[1]); _local2.scaleX = _arg1[2]; _local2.scaleY = _arg1[2]; return (_local2); } public static function IDisplayObjectMake(_arg1:Array){ var _local2:IDisplayObject; _local2 = _arg1[1][0](_arg1[1]); _local2.Pos(_arg1[2], _arg1[3]); return (_local2); } public static function SpriteAlign(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Sprite; var _local4:Rectangle; _local2 = new Sprite(); _local3 = _arg1[1][0](_arg1[1]); _local3.scaleX = _arg1[2]; _local3.scaleY = _arg1[2]; _local2.addChild(_local3); _local4 = _local3.getBounds(_local2); _local2.removeChild(_local3); switch (_arg1[3]){ case 1: _local3.x = (_local3.x + ((_arg1[5] - _local4.width) / 2)); break; case 2: _local3.x = (_local3.x + (_arg1[5] - _local4.width)); break; }; switch (_arg1[4]){ case 1: _local3.y = (_local3.y + ((_arg1[6] - _local4.height) / 2)); break; case 2: _local3.y = (_local3.y + (_arg1[6] - _local4.height)); break; }; return (_local3); } public static function OBitmapAngleRect(_arg1:Array):OBitmap{ return (OBitmapMake([null, [SpriteAngleRect, _arg1[1], _arg1[2], _arg1[3]], 1, _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9]])); } public static function SpriteRect(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRect(0, 0, _arg1[1], _arg1[2]); return (_local2); } public static function OBitmapSpriteFillRect(_arg1:Array):OBitmap{ var _local2:Sprite; _local2 = ODisplay.SpriteFillRect([null, _arg1[3], _arg1[1], _arg1[2]]); return (OBitmapMake([null, [ODisplay.SpriteFillRect, _arg1[3], _arg1[1], _arg1[2]], _local2.scaleX, _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9]])); } public static function OBitmapText(_arg1:Array):OBitmap{ return (OBitmapMake([null, [ODisplay.SpriteText, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10]])); } public static function OBitmapMake(_arg1:Array):OBitmap{ return (new OBitmap(OEffects.Make(_arg1), _arg1[7], _arg1[8])); } public static function SpriteRoundRect(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRoundRect(0, 0, _arg1[1], _arg1[2], _arg1[3]); return (_local2); } public static function SpriteInRect(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Sprite; var _local4:Rectangle; _local2 = new Sprite(); _local3 = _arg1[1][0](_arg1[1]); _local3.scaleX = _arg1[2]; _local3.scaleY = _arg1[2]; _local2.addChild(_local3); _local4 = _local3.getBounds(_local2); _local2.removeChild(_local3); _local3.x = (_local3.x + ((_arg1[3] - _local4.width) / 2)); _local3.y = (_local3.y + ((_arg1[4] - _local4.height) / 2)); return (_local3); } public static function SpriteScaleRotate(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Number; var _local4:Number; var _local5:Matrix; var _local6:Matrix; var _local7:Sprite; _local2 = _arg1[1][0](_arg1[1]); _local3 = (_arg1[4] * _arg1[2]); _local4 = (_arg1[5] * _arg1[2]); _local5 = new Matrix(); _local5.scale(_arg1[2], _arg1[2]); _local5.translate(-(_local3), -(_local4)); _local5.rotate(((Math.PI / 180) * _arg1[3])); _local6 = new Matrix(); _local6.translate(_local3, _local4); _local5.concat(_local6); _local7 = new Sprite(); _local7.addChild(_local2); _local2.transform.matrix = _local5; return (_local7); } public static function OBitmapRoundFrameSprite(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteRoundBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[18], _arg1[19]], [null, [ODisplay.SpriteRoundRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] - _arg1[4]) - 2)], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[18] + _arg1[4]), (_arg1[19] + _arg1[4])], [null, [ODisplay.SpriteInRect, [ODisplay.SpriteLib, _arg1[12]], _arg1[13], _arg1[1], _arg1[2]], _arg1[13], _arg1[14], _arg1[15], _arg1[16], _arg1[17], _arg1[18], _arg1[19]]]])); } public static function SpriteText(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:TextField; var _local4:TextFormat; _local2 = ((_arg1[1] is Sprite)) ? (_arg1[1] as Sprite) : new ((_arg1[1] as Class)); if ((_local2.getChildAt(0) is TextField)){ _local3 = (_local2.getChildAt(0) as TextField); _local3.autoSize = TextFieldAutoSize.LEFT; _local3.text = _arg1[4]; _local4 = _local3.defaultTextFormat; _local4.size = _arg1[2]; _local4.letterSpacing = _arg1[3]; _local3.setTextFormat(_local4); } else { return (null); }; return (_local2); } public static function SpriteTextAlign(_arg1:Array):Sprite{ return (ODisplay.SpriteAlign([null, [ODisplay.SpriteText, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8]])); } public static function OBitmapTextInRect(_arg1:Array):OBitmap{ return (OBitmapMake([null, [ODisplay.SpriteTextInRect, _arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[9], _arg1[10]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[11], _arg1[12]])); } public static function SpriteRoundBorder(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRoundRect(0, 0, _arg1[1], _arg1[2], _arg1[3]); _local2.graphics.drawRoundRect(_arg1[4], _arg1[4], (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), (_arg1[3] - _arg1[4])); return (_local2); } public static function SpriteAngleRect(_arg1:Array):Sprite{ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.moveTo(_arg1[3], 0); _local2.graphics.lineTo((_arg1[1] - _arg1[3]), 0); _local2.graphics.lineTo(_arg1[1], _arg1[3]); _local2.graphics.lineTo(_arg1[1], (_arg1[2] - _arg1[3])); _local2.graphics.lineTo((_arg1[1] - _arg1[3]), _arg1[2]); _local2.graphics.lineTo(_arg1[3], _arg1[2]); _local2.graphics.lineTo(0, (_arg1[2] - _arg1[3])); _local2.graphics.lineTo(0, _arg1[3]); _local2.graphics.endFill(); return (_local2); } public static function SpriteAngleBorder(_arg1:Array):Sprite{ var _local2:Sprite; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.moveTo(_arg1[3], 0); _local2.graphics.lineTo((_arg1[1] - _arg1[3]), 0); _local2.graphics.lineTo(_arg1[1], _arg1[3]); _local2.graphics.lineTo(_arg1[1], (_arg1[2] - _arg1[3])); _local2.graphics.lineTo((_arg1[1] - _arg1[3]), _arg1[2]); _local2.graphics.lineTo(_arg1[3], _arg1[2]); _local2.graphics.lineTo(0, (_arg1[2] - _arg1[3])); _local2.graphics.lineTo(0, _arg1[3]); _local3 = (_arg1[1] - (_arg1[4] * 2)); _local4 = (_arg1[2] - (_arg1[4] * 2)); _local5 = ((_arg1[3] * _local3) / _arg1[1]); _local2.graphics.moveTo((_arg1[4] + _local5), (_arg1[4] + 0)); _local2.graphics.lineTo(((_arg1[4] + _local3) - _local5), (_arg1[4] + 0)); _local2.graphics.lineTo((_arg1[4] + _local3), (_arg1[4] + _local5)); _local2.graphics.lineTo((_arg1[4] + _local3), ((_arg1[4] + _local4) - _local5)); _local2.graphics.lineTo(((_arg1[4] + _local3) - _local5), (_arg1[4] + _local4)); _local2.graphics.lineTo((_arg1[4] + _local5), (_arg1[4] + _local4)); _local2.graphics.lineTo((_arg1[4] + 0), ((_arg1[4] + _local4) - _local5)); _local2.graphics.lineTo((_arg1[4] + 0), (_arg1[4] + _local5)); return (_local2); } public static function SpriteTextInRect(_arg1:Array):Sprite{ return (ODisplay.SpriteInRect([null, [ODisplay.SpriteText, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6]])); } public static function OBitmapRoundFrame(_arg1:Array):OBitmap{ return (ODisplay.OBitmapList([null, [[null, [ODisplay.SpriteRoundBorder, _arg1[1], _arg1[2], _arg1[3], _arg1[4]], 1, _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[12], _arg1[13]], [null, [ODisplay.SpriteRoundRect, (_arg1[1] - (_arg1[4] * 2)), (_arg1[2] - (_arg1[4] * 2)), ((_arg1[3] - _arg1[4]) - 2)], 1, _arg1[5], _arg1[9], _arg1[10], _arg1[11], (_arg1[12] + _arg1[4]), (_arg1[13] + _arg1[4])]]])); } } }//package ENGINE.DISPLAY
Section 15
//OSprite (ENGINE.DISPLAY.OSprite) package ENGINE.DISPLAY { import flash.display.*; import ENGINE.CORE.*; public class OSprite extends Sprite implements IDisplayObject { private var iY:Number;// = 0 private var iX:Number;// = 0 public function OSprite(){ iX = 0; iY = 0; super(); } public function get prVisible():Boolean{ return (this.visible); } public function set prX(_arg1:Number):void{ this.iX = _arg1; this.x = (_arg1 * OGlobal.Scale); } public function set prY(_arg1:Number):void{ this.iY = _arg1; this.y = (_arg1 * OGlobal.Scale); } public function Pos(_arg1:Number, _arg2:Number):void{ this.iX = _arg1; this.iY = _arg2; this.x = (this.iX * OGlobal.Scale); this.y = (this.iY * OGlobal.Scale); } public function set prVisible(_arg1:Boolean):void{ this.visible = _arg1; } public function lineStyle(_arg1:Number, _arg2:uint=0, _arg3:Number=1, _arg4:Boolean=false, _arg5:String="normal", _arg6:String=null, _arg7:String=null, _arg8:Number=3):void{ this.graphics.lineStyle((_arg1 * OGlobal.Scale), _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, (_arg8 * OGlobal.Scale)); } public function drawCircle(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.graphics.drawCircle((_arg1 * OGlobal.Scale), (_arg2 * OGlobal.Scale), (_arg3 * OGlobal.Scale)); } public function moveTo(_arg1:Number, _arg2:Number):void{ this.graphics.moveTo((_arg1 * OGlobal.Scale), (_arg2 * OGlobal.Scale)); } public function get prX():Number{ return (this.iX); } public function get prY():Number{ return (this.iY); } public function Free():void{ var _local1:DisplayObject; while (this.numChildren) { _local1 = this.getChildAt(0); if ((_local1 is OSprite)){ (_local1 as OSprite).Free(); }; this.removeChildAt(0); }; } public function lineTo(_arg1:Number, _arg2:Number):void{ this.graphics.lineTo((_arg1 * OGlobal.Scale), (_arg2 * OGlobal.Scale)); } public function get prHeight():Number{ return ((this.height / OGlobal.Scale)); } public function get prWidth():Number{ return ((this.width / OGlobal.Scale)); } public function Move(_arg1:Number, _arg2:Number):void{ Pos((this.iX + _arg1), (this.iY + _arg2)); } public static function Make(_arg1:Array):OSprite{ var _local2:OSprite; var _local3:int; var _local4:int; _local2 = new (OSprite); _local3 = _arg1[1].length; _local4 = 0; while (_local4 < _local3) { _local2.addChild(_arg1[1][_local4][0](_arg1[1][_local4])); _local4++; }; _local2.Pos(_arg1[2], _arg1[3]); return (_local2); } } }//package ENGINE.DISPLAY
Section 16
//OGame (ENGINE.GAME.OGame) package ENGINE.GAME { import ENGINE.CORE.*; import flash.utils.*; import flash.net.*; public class OGame { protected var iSTableSize:int; protected var iCache:OCache; protected var iPlayer:OPlayer; protected var iRNDFactor:int; protected var iModes:int; protected var iScores:OScoresTable; public static const catGlobal:String = "Global"; public static const catTmp:String = "Tmp"; protected static const strgMusicVolume:String = "Music Volume"; protected static const strgResX:String = "ResX"; protected static const strgResY:String = "ResY"; protected static const strgСurPlayer:String = "Current Player"; protected static const strgFullScreen:String = "Full Screen"; protected static const strgSoundVolume:String = "Sound Volume"; protected static const strgLocalScores:String = "Local Scores"; public static const catPlayers:String = "Players"; public function OGame(_arg1:int=1, _arg2:int=10, _arg3:int=10){ var _local4:String; super(); this.iModes = _arg1; this.iSTableSize = _arg2; registerClassAlias("OCacheClass", OCache); registerClassAlias("OGameParamsClass", OGameParams); registerClassAlias("OScoreParamsClass", OScoreParams); registerClassAlias("OScoresTableClass", OScoresTable); registerClassAlias("OPlayerClass", OPlayer); this.LoadCache(); _local4 = this.iCache.GetCategoryItem(catGlobal, strgСurPlayer); if (_local4){ this.iPlayer = this.iCache.GetCategoryItem(catPlayers, _local4); this.iScores = this.iCache.GetCategoryItem(catGlobal, strgLocalScores); this.InitAfterLoadCache(); } else { this.iScores = new OScoresTable(_arg1, this.iSTableSize); this.DefaultInitLocalScores(); this.iCache.SetCategoryItem(catGlobal, strgLocalScores, this.iScores); this.iCache.SetCategoryItem(catGlobal, strgSoundVolume, 1); this.iCache.SetCategoryItem(catGlobal, strgMusicVolume, 1); this.iCache.SetCategoryItem(catGlobal, strgResX, OGlobal.StageRect.width); this.iCache.SetCategoryItem(catGlobal, strgResY, OGlobal.StageRect.height); this.iCache.SetCategoryItem(catGlobal, strgFullScreen, false); }; OSound.SoundVolume = this.prSoundVolume; OSound.MusicVolume = this.prMusicVolume; } public function set prFullScreen(_arg1:Boolean):void{ this.iCache.SetCategoryItem(catGlobal, strgFullScreen, _arg1); } public function set prMode(_arg1:int):void{ this.iPlayer.iMode = _arg1; } public function get prGamesStartCount():int{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iCGamesStart); } public function get prLevelScore():int{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iLevelScore); } public function set prPassword(_arg1:String):void{ this.iPlayer.iPassword = _arg1; } public function DeletePlayer(_arg1:String):String{ var _local2:String; var _local3:Array; _local2 = (this.iPlayer) ? this.iPlayer.iName : ""; this.iCache.DeleteCategoryItem(catPlayers, _arg1); if (_arg1 == _local2){ _local3 = this.iCache.GetCategoryNames(catPlayers); if (!_local3){ this.iPlayer = null; return (null); }; this.iPlayer = this.iCache.GetCategoryItem(catPlayers, _local3[0]); this.iCache.SetCategoryItem(catGlobal, strgСurPlayer, _local3[0]); }; return ((this.iPlayer) ? this.iPlayer.iName : null); } public function get prPlayerNames():Array{ return (this.iCache.GetCategoryNames(catPlayers)); } public function ClearPersonalScores(_arg1:int):void{ this.iPlayer.iScoreTable.Clear(_arg1); } public function GetPersonalRecord(_arg1:int):int{ return (this.iPlayer.iScoreTable.GetRecord(_arg1)); } public function InitAfterLoadCache():void{ } public function AddScore(_arg1:int):void{ this.iPlayer.iGParams[this.iPlayer.iMode].iScore = (this.iPlayer.iGParams[this.iPlayer.iMode].iScore + _arg1); } public function get prPlayersData(){ var _local1:OCache; var _local2:ByteArray; _local1 = this.iCache.GetItem(catPlayers); _local2 = _local1.Pack(); _local2.uncompress(); _local1 = _local2.readObject(); return (_local1); } public function IsPersonalRecord(_arg1:int, _arg2:int):Boolean{ return (this.iPlayer.iScoreTable.IsRecord(_arg1, _arg2)); } public function LoadCache():void{ var so:SharedObject; var a:ByteArray; so = SharedObject.getLocal(OGlobal.AppName); if (so.data.iData == undefined){ this.iCache = new OCache(); } else { try { a = so.data.iData; a.uncompress(); this.iCache = a.readObject(); } catch(error:Error) { this.iCache = new OCache(); }; }; so.close(); } public function NewGame():void{ this.iPlayer.iGParams[this.iPlayer.iMode].iLevel = 0; this.iPlayer.iGParams[this.iPlayer.iMode].iScore = 0; this.iPlayer.iGParams[this.iPlayer.iMode].iLevelScore = 0; this.iPlayer.iGParams[this.iPlayer.iMode].iSavedGame = null; this.iPlayer.iGParams[this.iPlayer.iMode].iCGamesStart++; } public function get prLevel():int{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iLevel); } public function get prSoundVolume():Number{ return (this.iCache.GetCategoryItem(catGlobal, strgSoundVolume)); } public function get prPlayerName():String{ return ((this.iPlayer) ? this.iPlayer.iName : ""); } public function get prScore():int{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iScore); } public function NextLevel():Boolean{ this.iPlayer.iGParams[this.iPlayer.iMode].iLevel++; return (true); } public function set prPlayersData(_arg1):void{ this.iCache.SetItem(catPlayers, _arg1); } public function Read(_arg1:String, _arg2:String){ return (this.iCache.GetCategoryItem(_arg1, _arg2)); } public function get prSavedGame():String{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iSavedGame); } public function set prResX(_arg1:int):void{ this.iCache.SetCategoryItem(catGlobal, strgResX, _arg1); } public function get prRNDFactor():int{ return (this.iPlayer.iRNDFactor); } public function get prMusicVolume():Number{ return (this.iCache.GetCategoryItem(catGlobal, strgMusicVolume)); } public function Write(_arg1:String, _arg2:String, _arg3):void{ this.iCache.SetCategoryItem(_arg1, _arg2, _arg3); } public function Start():void{ this.iPlayer.iGParams[this.iPlayer.iMode].iCGamesStart++; } public function get prPassword():String{ return ((this.iPlayer.iPassword) ? this.iPlayer.iPassword : ""); } public function get prMode():int{ return (this.iPlayer.iMode); } public function End():void{ this.iPlayer.iGParams[this.iPlayer.iMode].iCGamesEnd++; } public function set prSoundVolume(_arg1:Number):void{ OSound.SoundVolume = _arg1; this.iCache.SetCategoryItem(catGlobal, strgSoundVolume, _arg1); } public function SetLevelScore(_arg1:int):void{ this.iPlayer.iGParams[this.iPlayer.iMode].iLevelScore = _arg1; } public function GetLocalScores(_arg1:int, _arg2:int):OScoreParams{ return (this.iScores.GetScore(_arg1, _arg2)); } public function GetPersonalScores(_arg1:int, _arg2:int):OScoreParams{ return (this.iPlayer.iScoreTable.GetScore(_arg1, _arg2)); } public function AddScoreInTable(_arg1:int):Boolean{ var _local2:Boolean; _local2 = false; if (this.iScores.AddScore(this.prPlayerName, _arg1, this.prMode, this.prLevel)){ this.iCache.SetCategoryItem(OGame.catGlobal, OGame.strgLocalScores, this.iScores); _local2 = true; }; if (this.iPlayer.iScoreTable.AddScore(this.prPlayerName, _arg1, this.prMode, this.prLevel, true)){ this.iCache.SetCategoryItem(OGame.catPlayers, this.prPlayerName, this.iPlayer); _local2 = true; }; return (_local2); } public function get prResX():int{ return (this.iCache.GetCategoryItem(catGlobal, strgResX)); } public function get prResY():int{ return (this.iCache.GetCategoryItem(catGlobal, strgResY)); } public function set prPlayerName(_arg1:String):void{ var _local2:OPlayer; _local2 = this.iCache.GetCategoryItem(catPlayers, _arg1); if (!_local2){ _local2 = new OPlayer(_arg1, "", this.iModes, this.iSTableSize); this.iCache.SetCategoryItem(catPlayers, _arg1, _local2); }; this.iPlayer = _local2; this.iCache.SetCategoryItem(catGlobal, strgСurPlayer, _arg1); } public function DefaultInitLocalScores():void{ this.iScores.Clear(0); this.iScores.AddScore("Emily", (int(((Math.random() * 100) + 50)) * 50), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Michael", (int(((Math.random() * 100) + 50)) * 50), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Jacob", (int(((Math.random() * 100) + 50)) * 50), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Isabella", (int(((Math.random() * 100) + 50)) * 50), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Madison", (int(((Math.random() * 100) + 50)) * 50), 0, int(((Math.random() * 5) + 3))); this.iScores.SortOn(0); } public function SaveCache():Boolean{ var _local1:SharedObject; var _local2:String; _local1 = SharedObject.getLocal(OGlobal.AppName); _local1.data.iData = this.iCache.Pack(); _local2 = _local1.flush(); _local1.close(); return ((_local2 == SharedObjectFlushStatus.FLUSHED)); } public function set prResY(_arg1:int):void{ this.iCache.SetCategoryItem(catGlobal, strgResY, _arg1); } public function SetSaveGame(_arg1:String):void{ this.iPlayer.iGParams[this.iPlayer.iMode].iSavedGame = _arg1; } public function get prGamesEndCount():int{ return (this.iPlayer.iGParams[this.iPlayer.iMode].iCGamesEnd); } public function set prMusicVolume(_arg1:Number):void{ OSound.MusicVolume = _arg1; this.iCache.SetCategoryItem(catGlobal, strgMusicVolume, _arg1); } public function get prFullScreen():Boolean{ return (this.iCache.GetCategoryItem(catGlobal, strgFullScreen)); } public function ClearLocalScores(_arg1:int):void{ this.iScores.Clear(_arg1); } } }//package ENGINE.GAME
Section 17
//OGameParams (ENGINE.GAME.OGameParams) package ENGINE.GAME { public class OGameParams { public var iLevel:int; public var iScore:int; public var iSavedGame:String; public var iCGamesEnd:int; public var iLevelScore:int; public var iCGamesStart:int; } }//package ENGINE.GAME
Section 18
//OPlayer (ENGINE.GAME.OPlayer) package ENGINE.GAME { public class OPlayer { public var iPassword:String; public var iScoreTable:OScoresTable; public var iGParams:Array; public var iMode:int; public var iRNDFactor:int; public var iName:String; public function OPlayer(_arg1:String=null, _arg2:String=null, _arg3:int=1, _arg4:int=10, _arg5:int=10){ var _local6:int; super(); this.iName = _arg1; this.iPassword = _arg2; this.iGParams = new Array(_arg3); this.iRNDFactor = Math.round((Math.random() * (_arg5 - 1))); _local6 = 0; while (_local6 < _arg3) { this.iGParams[_local6] = new OGameParams(); _local6++; }; this.iScoreTable = new OScoresTable(_arg3, _arg4); } } }//package ENGINE.GAME
Section 19
//OScoreParams (ENGINE.GAME.OScoreParams) package ENGINE.GAME { public class OScoreParams { public var iScore:int; public var iName:String; public var iLevel:int; public var iTime:Number; public function OScoreParams(_arg1:String=null, _arg2:int=0, _arg3:int=0){ var _local4:Date; super(); this.iName = _arg1; this.iScore = _arg2; _local4 = new Date(); this.iTime = _local4.time; } } }//package ENGINE.GAME
Section 20
//OScoresTable (ENGINE.GAME.OScoresTable) package ENGINE.GAME { public class OScoresTable { public var iTable:Array; public var iMaxElements:int; public function OScoresTable(_arg1:int=1, _arg2:int=10){ var _local3:int; super(); this.iMaxElements = _arg2; this.iTable = new Array(); _local3 = 0; while (_local3 < _arg1) { this.iTable[_local3] = new Array(); _local3++; }; } public function FindByName(_arg1:int, _arg2:String):int{ var _local3:int; _local3 = 0; while (_local3 < this.iTable[_arg1].length) { if (this.iTable[_arg1][_local3].iName == _arg2){ return (_local3); }; _local3++; }; return (-1); } public function Clear(_arg1:int):void{ this.iTable[_arg1] = new Array(); } public function GetRecord(_arg1:int):int{ if (!this.iTable[_arg1].length){ return (0); }; return (this.iTable[_arg1][0].iScore); } public function AddScore(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean=false):Boolean{ var _local6:Array; var _local7:int; _local6 = this.iTable[_arg3]; if ((((_local6.length < this.iMaxElements)) || ((_local6[(_local6.length - 1)].iScore < _arg2)))){ _local7 = (_arg5) ? -1 : this.FindByName(_arg3, _arg1); if (_local7 >= 0){ if (_arg2 < _local6[_local7].iScore){ return (false); }; _local6[_local7] = new OScoreParams(_arg1, _arg2, _arg4); this.SortOn(_arg3); return (true); }; if (_local6.length < this.iMaxElements){ _local6[_local6.length] = new OScoreParams(_arg1, _arg2, _arg4); this.SortOn(_arg3); return (true); }; if (_local6[(_local6.length - 1)].iScore > _arg2){ return (false); }; _local6[(_local6.length - 1)] = new OScoreParams(_arg1, _arg2, _arg4); this.SortOn(_arg3); return (true); }; return (false); } public function IsRecord(_arg1:int, _arg2:int):Boolean{ if (!this.iTable[_arg1].length){ return (true); }; return ((_arg2 >= this.iTable[_arg1][0].iScore)); } public function GetScore(_arg1:int, _arg2:int):OScoreParams{ return (this.iTable[_arg1][_arg2]); } public function SortOn(_arg1:int):void{ this.iTable[_arg1] = this.iTable[_arg1].sortOn("iScore", (Array.DESCENDING | Array.NUMERIC)); } } }//package ENGINE.GAME
Section 21
//OA_Alpha (ENGINE.INTERFACE.ANIMATORS.OA_Alpha) package ENGINE.INTERFACE.ANIMATORS { import ENGINE.INTERFACE.*; public class OA_Alpha extends OAnimator { public var iEAlpha:Number; private var iDAlpha:Number; public var iSAlpha:Number; private var iEndAlpha:Number; public var iPIter:int; public function OA_Alpha(_arg1:Object, _arg2:OIObject=null){ super(_arg1, _arg2); } override protected function Start():int{ var _local1:Number; _local1 = ((this.iSAlpha)>=0) ? this.iSAlpha : this.iTarget.alpha; this.iEndAlpha = ((this.iEAlpha)>=0) ? this.iEAlpha : this.iTarget.alpha; this.iDAlpha = ((this.iEndAlpha - _local1) / iPIter); this.iTarget.visible = true; this.iTarget.alpha = _local1; return (((Math.abs(this.iDAlpha) > 0.001)) ? stPlay : stEnd); } override public function Play():void{ var _local1:Number; _local1 = (this.iTarget.alpha + this.iDAlpha); if ((((((this.iDAlpha > 0)) && ((_local1 >= this.iEndAlpha)))) || ((((this.iDAlpha <= 0)) && ((_local1 <= this.iEndAlpha)))))){ this.iTarget.alpha = this.iEndAlpha; if (this.iTarget.alpha == 0){ this.iTarget.visible = false; }; this.State = OAnimator.stEnd; } else { this.iTarget.alpha = _local1; }; } public static function Make(_arg1:Object, _arg2:OIObject=null):OA_Alpha{ return (new OA_Alpha(_arg1, _arg2)); } } }//package ENGINE.INTERFACE.ANIMATORS
Section 22
//OA_AlphaFade (ENGINE.INTERFACE.ANIMATORS.OA_AlphaFade) package ENGINE.INTERFACE.ANIMATORS { import flash.display.*; import ENGINE.INTERFACE.*; public class OA_AlphaFade extends OAnimator { public var iEAlpha:Number; public var iEInd:Array; private var iEndAlpha:Array; private var iCurAlpha:Number; private var iDAlpha:Array; private var iStartAlpha:Array; public var iSInd:Array; public var iSAlpha:Number; public var iPIter:int; public function OA_AlphaFade(_arg1:Object, _arg2:OIObject=null){ super(_arg1, _arg2); } override protected function Start():int{ var _local1:int; var _local2:int; var _local3:DisplayObject; var _local4:DisplayObject; if ((((this.iSInd == null)) && ((this.iEInd == null)))){ return (OAnimator.stEnd); }; if (this.iSInd.length != this.iEInd.length){ return (OAnimator.stEnd); }; _local1 = this.iSInd.length; this.iStartAlpha = new Array(_local1); this.iEndAlpha = new Array(_local1); this.iDAlpha = new Array(_local1); _local2 = 0; while (_local2 < _local1) { _local3 = this.iTarget.getChildAt(this.iSInd[_local2]); _local4 = this.iTarget.getChildAt(this.iEInd[_local2]); this.iStartAlpha[_local2] = ((this.iSAlpha)>=0) ? this.iSAlpha : _local3.alpha; this.iEndAlpha[_local2] = ((this.iEAlpha)>=0) ? this.iEAlpha : _local4.alpha; this.iDAlpha[_local2] = ((this.iEndAlpha[_local2] - this.iStartAlpha[_local2]) / iPIter); _local3.alpha = this.iStartAlpha[_local2]; _local3.visible = true; _local4.alpha = this.iEndAlpha[_local2]; _local4.visible = true; _local2++; }; this.iCurAlpha = this.iStartAlpha[0]; return (OAnimator.stPlay); } override public function Play():void{ var _local1:DisplayObject; var _local2:DisplayObject; var _local3:int; var _local4:int; this.iCurAlpha = (this.iCurAlpha + this.iDAlpha[0]); _local3 = this.iSInd.length; if ((((((this.iDAlpha[0] > 0)) && ((this.iCurAlpha >= this.iEndAlpha[0])))) || ((((this.iDAlpha[0] <= 0)) && ((this.iCurAlpha <= this.iEndAlpha[0])))))){ _local4 = 0; while (_local4 < _local3) { _local1 = this.iTarget.getChildAt(this.iSInd[_local4]); _local2 = this.iTarget.getChildAt(this.iEInd[_local4]); _local1.alpha = this.iEndAlpha[_local4]; if (_local1.alpha == 0){ _local1.visible = false; }; _local2.alpha = this.iStartAlpha[_local4]; if (_local2.alpha == 0){ _local2.visible = false; }; _local4++; }; this.State = OAnimator.stEnd; } else { _local4 = 0; while (_local4 < _local3) { _local1 = this.iTarget.getChildAt(this.iSInd[_local4]); _local2 = this.iTarget.getChildAt(this.iEInd[_local4]); _local1.alpha = (_local1.alpha + this.iDAlpha[_local4]); _local2.alpha = (_local2.alpha - this.iDAlpha[_local4]); _local4++; }; }; } public static function Make(_arg1:Object, _arg2:OIObject=null):OA_AlphaFade{ return (new OA_AlphaFade(_arg1, _arg2)); } } }//package ENGINE.INTERFACE.ANIMATORS
Section 23
//OA_AlphaInd (ENGINE.INTERFACE.ANIMATORS.OA_AlphaInd) package ENGINE.INTERFACE.ANIMATORS { import flash.display.*; import ENGINE.INTERFACE.*; public class OA_AlphaInd extends OAnimator { public var iEAlpha:Number; private var iCurAlpha:Number; private var iEndAlpha:Array; private var iDAlpha:Array; public var iInd:Array; public var iSAlpha:Number; public var iPIter:int; public function OA_AlphaInd(_arg1:Object, _arg2:OIObject=null){ super(_arg1, _arg2); } override protected function Start():int{ var _local1:int; var _local2:int; var _local3:DisplayObject; var _local4:Number; if (((!(this.iInd)) || ((this.iInd.length == 0)))){ return (stEnd); }; _local1 = this.iInd.length; this.iEndAlpha = new Array(_local1); this.iDAlpha = new Array(_local1); _local2 = 0; while (_local2 < _local1) { _local3 = this.iTarget.getChildAt(this.iInd[_local2]); _local4 = ((this.iSAlpha)>=0) ? this.iSAlpha : _local3.alpha; this.iEndAlpha[_local2] = ((this.iEAlpha)>=0) ? this.iEAlpha : _local3.alpha; this.iDAlpha[_local2] = ((this.iEndAlpha[_local2] - _local4) / iPIter); _local3.visible = true; _local3.alpha = _local4; _local2++; }; this.iCurAlpha = this.iTarget.getChildAt(this.iInd[0]).alpha; return (((Math.abs(this.iDAlpha[0]) > 0.001)) ? stPlay : stEnd); } override public function Play():void{ var _local1:int; var _local2:int; var _local3:DisplayObject; this.iCurAlpha = (this.iCurAlpha + this.iDAlpha[0]); _local1 = this.iInd.length; if ((((((this.iDAlpha[0] > 0)) && ((this.iCurAlpha >= this.iEndAlpha[0])))) || ((((this.iDAlpha[0] <= 0)) && ((this.iCurAlpha <= this.iEndAlpha[0])))))){ _local2 = 0; while (_local2 < _local1) { _local3 = this.iTarget.getChildAt(this.iInd[_local2]); _local3.alpha = this.iEndAlpha[_local2]; _local3.visible = (_local3.alpha > 0); _local2++; }; this.State = stEnd; } else { _local2 = 0; while (_local2 < _local1) { _local3 = this.iTarget.getChildAt(this.iInd[_local2]); _local3.alpha = (_local3.alpha + this.iDAlpha[_local2]); _local2++; }; }; } public static function Make(_arg1:Object, _arg2:OIObject=null):OA_AlphaInd{ return (new OA_AlphaInd(_arg1, _arg2)); } } }//package ENGINE.INTERFACE.ANIMATORS
Section 24
//OA_Scale (ENGINE.INTERFACE.ANIMATORS.OA_Scale) package ENGINE.INTERFACE.ANIMATORS { import ENGINE.INTERFACE.*; public class OA_Scale extends OAnimator { public var iSScale:Number; private var iEndScale:Number; public var iEScale:Number; private var iDScale:Number; public var iPIter:int; public function OA_Scale(_arg1:Object, _arg2:OIObject=null){ super(_arg1, _arg2); } override protected function Start():int{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = ((this.iSScale)>=0) ? this.iSScale : this.iTarget.scaleX; this.iEndScale = ((this.iEScale)>=0) ? this.iEScale : this.iTarget.scaleX; this.iDScale = ((this.iEndScale - _local1) / iPIter); _local2 = this.iTarget.prWidth; _local3 = this.iTarget.prHeight; this.iTarget.scaleX = _local1; this.iTarget.scaleY = _local1; this.iTarget.Move(((_local2 - this.iTarget.prWidth) / 2), ((_local3 - this.iTarget.prHeight) / 2)); return (((Math.abs(this.iDScale) > 1E-5)) ? stPlay : stEnd); } override public function Play():void{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = this.iTarget.prWidth; _local2 = this.iTarget.prHeight; _local3 = (this.iTarget.scaleX + this.iDScale); if ((((((this.iDScale > 0)) && ((_local3 >= this.iEndScale)))) || ((((this.iDScale <= 0)) && ((_local3 <= this.iEndScale)))))){ this.iTarget.scaleX = this.iEndScale; this.iTarget.scaleY = this.iEndScale; this.State = OAnimator.stEnd; } else { this.iTarget.scaleX = (this.iTarget.scaleX + this.iDScale); this.iTarget.scaleY = (this.iTarget.scaleY + this.iDScale); }; this.iTarget.Move(((_local1 - this.iTarget.prWidth) / 2), ((_local2 - this.iTarget.prHeight) / 2)); } public static function Make(_arg1:Object, _arg2:OIObject=null):OA_Scale{ return (new OA_Scale(_arg1, _arg2)); } } }//package ENGINE.INTERFACE.ANIMATORS
Section 25
//OAnimator (ENGINE.INTERFACE.ANIMATORS.OAnimator) package ENGINE.INTERFACE.ANIMATORS { import ENGINE.INTERFACE.*; public class OAnimator { private var iState:int; protected var iTarget:OIObject; public static const stStart:int = 1; public static const stEnd:int = 3; public static const stPause:int = 0; public static const stReturn:int = 4; public static const stPlay:int = 2; public function OAnimator(_arg1:Object, _arg2:OIObject=null){ var _local3:String; super(); for (_local3 in _arg1) { if (this.hasOwnProperty(_local3)){ this[_local3] = _arg1[_local3]; }; }; this.iTarget = _arg2; this.State = stPause; } public function set State(_arg1:int):void{ this.iState = _arg1; switch (this.iState){ case stStart: this.State = this.Start(); break; case stReturn: this.State = Return(); break; }; } public function Play():void{ this.State = stEnd; } public function set prTarget(_arg1:OIObject):void{ this.iTarget = _arg1; } protected function Start():int{ return (stPlay); } public function get State():int{ return (this.iState); } public function Return():int{ return (stPlay); } public function OnEnterFrame():void{ if (this.iState == stPlay){ Play(); }; } } }//package ENGINE.INTERFACE.ANIMATORS
Section 26
//OAnimatorManager (ENGINE.INTERFACE.ANIMATORS.OAnimatorManager) package ENGINE.INTERFACE.ANIMATORS { import ENGINE.INTERFACE.*; public class OAnimatorManager { private var iPlaying:Array; private var iTarget:OIObject; public static const anActivate:int = 2; public static const anDeactivate:int = 3; public static const anShow:int = 0; public static const iAnimatorsCount:int = 10; public static const anHide:int = 1; public static const anPress:int = 8; public static const anRoolOver:int = 6; public static const anUnpress:int = 9; public static const anFocusOut:int = 5; public static const anRoolOut:int = 7; public static const anUncheck:int = 10; public static const anCheck:int = 9; public static const anFocusIn:int = 4; public static const iNullAnimators:Array = [null, null, null, null, null, null, null, null, null, null]; public function OAnimatorManager(_arg1:OIObject){ this.iTarget = _arg1; this.iPlaying = new Array(); } public function get prAnimation():Boolean{ return ((iPlaying.length > 0)); } public function AddAnimator(_arg1:Object):void{ var _local2:*; if (_arg1 == null){ return; }; if (this.iPlaying.length > 0){ this.iPlaying[0].Return(); }; _local2 = _arg1.F(_arg1); _local2.prTarget = this.iTarget; this.iPlaying.push(_local2); } public function OnEnterFrame():void{ if (this.iPlaying.length == 0){ return; }; switch (this.iPlaying[0].State){ case OAnimator.stEnd: this.iPlaying[0] = null; this.iPlaying.splice(0, 1); break; case OAnimator.stPause: this.iPlaying[0].State = OAnimator.stStart; break; case OAnimator.stPlay: this.iPlaying[0].Play(); break; }; } public function Free():void{ this.iTarget = null; this.iPlaying = null; } } }//package ENGINE.INTERFACE.ANIMATORS
Section 27
//OHtmlTextField (ENGINE.INTERFACE.ELEMENTS.OHtmlTextField) package ENGINE.INTERFACE.ELEMENTS { import ENGINE.DISPLAY.*; import flash.display.*; import flash.text.*; import ENGINE.CORE.*; public class OHtmlTextField extends TextField { private var iTextFormat:TextFormat; public function OHtmlTextField(_arg1:Number, _arg2:Number, _arg3, _arg4:Number, _arg5:Number, _arg6:Boolean, _arg7:Array, _arg8:String, _arg9:Number, _arg10:Number, _arg11:Boolean=true){ var _local12:Number; var _local13:Sprite; super(); _local12 = (_arg11) ? OGlobal.Scale : 1; this.type = TextFieldType.DYNAMIC; this.autoSize = TextFieldAutoSize.NONE; this.multiline = true; this.wordWrap = true; this.selectable = false; if (_arg3){ _local13 = ((_arg3 is Sprite)) ? (_arg3 as Sprite) : new ((_arg3 as Class)); if ((_local13.getChildAt(0) is TextField)){ this.iTextFormat = (_local13.getChildAt(0) as TextField).getTextFormat(); } else { this.iTextFormat = this.defaultTextFormat; }; } else { this.iTextFormat = this.defaultTextFormat; }; this.iTextFormat.size = (_arg4 * _local12); this.iTextFormat.letterSpacing = (_arg5 * _local12); this.iTextFormat.color = ODisplay.HSBToRGB(_arg7[0], _arg7[1], _arg7[2]); this.iTextFormat.align = TextFormatAlign.LEFT; this.defaultTextFormat = this.iTextFormat; this.prText = _arg8; this.width = (_arg1 * _local12); this.height = (_arg2 * _local12); this.x = (_arg9 * _local12); this.y = (_arg10 * _local12); this.border = _arg6; } public function set prText(_arg1:String):void{ this.htmlText = _arg1; } public function set prFormat(_arg1:TextFormat):void{ this.iTextFormat = _arg1; this.defaultTextFormat = _arg1; this.setTextFormat(this.iTextFormat); } public function get prText():String{ return (this.htmlText); } public function get prFormat():TextFormat{ return (this.iTextFormat); } } }//package ENGINE.INTERFACE.ELEMENTS
Section 28
//OInputTextField (ENGINE.INTERFACE.ELEMENTS.OInputTextField) package ENGINE.INTERFACE.ELEMENTS { import ENGINE.DISPLAY.*; import flash.events.*; import flash.display.*; import flash.text.*; import ENGINE.CORE.*; public class OInputTextField extends TextField { private var iTextFormat:TextFormat; public function OInputTextField(_arg1:Number, _arg2:Number, _arg3, _arg4:Number, _arg5:Number, _arg6:Boolean, _arg7:Array, _arg8:String, _arg9:int, _arg10:Number, _arg11:Number){ var _local12:Number; var _local13:Sprite; super(); _local12 = OGlobal.Scale; this.type = TextFieldType.INPUT; this.autoSize = TextFieldAutoSize.NONE; this.embedFonts = true; _local13 = ((_arg3 is Sprite)) ? (_arg3 as Sprite) : new ((_arg3 as Class)); if ((_local13.getChildAt(0) is TextField)){ this.iTextFormat = (_local13.getChildAt(0) as TextField).getTextFormat(); } else { this.iTextFormat = this.defaultTextFormat; }; this.iTextFormat.size = (_arg4 * _local12); this.iTextFormat.letterSpacing = (_arg5 * _local12); this.iTextFormat.color = ODisplay.HSBToRGB(_arg7[0], _arg7[1], _arg7[2]); this.defaultTextFormat = this.iTextFormat; this.prText = _arg8; this.width = (_arg1 * _local12); this.height = (_arg2 * _local12); this.x = (_arg10 * _local12); this.y = (_arg11 * _local12); this.border = _arg6; this.maxChars = _arg9; this.restrict = "A-Za-z0-9 @._\\-"; this.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, OnFocusIn); } public function set prText(_arg1:String):void{ this.text = (((!(_arg1)) || ((_arg1 == "")))) ? " " : _arg1; } protected function OnFocusIn(_arg1:FocusEvent):void{ this.setTextFormat(this.iTextFormat); } public function set prFormat(_arg1:TextFormat):void{ this.iTextFormat = _arg1; this.defaultTextFormat = _arg1; this.setTextFormat(this.iTextFormat); } public function get prText():String{ var _local1:String; _local1 = this.text; while (_local1.charAt() == " ") { _local1 = _local1.substr(1); }; while (_local1.charAt((_local1.length - 1)) == " ") { _local1 = _local1.substr(0, (_local1.length - 1)); }; return (_local1); } public function get prFormat():TextFormat{ return (this.iTextFormat); } } }//package ENGINE.INTERFACE.ELEMENTS
Section 29
//OListBoxElement (ENGINE.INTERFACE.ELEMENTS.OListBoxElement) package ENGINE.INTERFACE.ELEMENTS { import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.INTERFACE.ANIMATORS.*; public class OListBoxElement extends OButton { public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:3}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:3}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:3}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:3}, null, null, {F:OA_AlphaInd.Make, iSAlpha:-1, iEAlpha:0.6, iInd:[1], iPIter:3}, {F:OA_AlphaInd.Make, iSAlpha:-1, iEAlpha:1, iInd:[1], iPIter:3}, {F:OA_AlphaInd.Make, iSAlpha:0, iEAlpha:1, iInd:[0], iPIter:9}, {F:OA_AlphaInd.Make, iSAlpha:-1, iEAlpha:0, iInd:[0], iPIter:9}]; public function OListBoxElement(_arg1:Array, _arg2:Array=null){ var _local3:Array; _local3 = (_arg2) ? _arg2 : iDefAnimators; super(_arg1, _local3); } override public function OnMouseUp(_arg1:MouseEvent):void{ } override public function OnRollOut(_arg1:MouseEvent):void{ this.prRool = false; } override public function OnMouseDown(_arg1:MouseEvent):void{ if (((this.prPress) && ((this.parent is OIObject)))){ (this.parent as OIObject).OnPress(_arg1, this); return; }; super.OnMouseDown(_arg1); } } }//package ENGINE.INTERFACE.ELEMENTS
Section 30
//OAlert (ENGINE.INTERFACE.OAlert) package ENGINE.INTERFACE { import flash.events.*; public class OAlert extends ODialog { protected var iMessages:Array; public var iButtons:Array; public function OAlert(_arg1:Array, _arg2:Array, _arg3:Array=null){ var _local4:Array; this.iMessages = _arg2; _local4 = (_arg3) ? _arg3 : ODialog.iDefAnimators; super(_arg1, _local4); } override public function Init():void{ this.iButtons = new Array(); super.Init(); } override public function OnPress(_arg1:Event, _arg2):void{ var _local3:int; var _local4:int; if (((!(this.iMessages)) || (!(this.iButtons)))){ this.prVisible = false; return; }; _local3 = 0; _local4 = 0; while (_local4 < this.iButtons.length) { if ((((_arg2 == this.iButtons[_local4])) && ((_local4 < this.iMessages.length)))){ if ((this.parent is OIObject)){ (this.parent as OIObject).OnPress(null, iMessages[_local4]); }; this.prVisible = false; return; }; _local4++; }; } override public function Free():void{ this.iButtons = null; super.Free(); } } }//package ENGINE.INTERFACE
Section 31
//OApplication (ENGINE.INTERFACE.OApplication) package ENGINE.INTERFACE { import flash.events.*; import flash.display.*; import ENGINE.CORE.*; import flash.external.*; public class OApplication extends OWindow { private var iStaged:Boolean;// = false protected var iBackground:OBackground; protected var iMenuItem:Array; public function OApplication(_arg1:String){ iStaged = false; OGlobal.AppName = _arg1; if (this.stage){ OGlobal.SetDomain(); this.InitStage(); }; super(null); if (!this.iStaged){ this.addEventListener(Event.ENTER_FRAME, NotStagedEnterFrame); }; } private function NotStagedEnterFrame(_arg1:Event):void{ if (!iStaged){ if (!this.stage){ return; }; OGlobal.SetDomain(); this.InitStage(); this.Init(); this.removeEventListener(Event.ENTER_FRAME, NotStagedEnterFrame); this.iStaged = true; }; } override public function Init():void{ if (!this.stage){ return; }; super.Init(); this.iMenuItem = new Array(); this.iStaged = true; this.visible = true; } protected function OnMenuItem():void{ } public function get prMenuItem():int{ return ((this.iMenuItem.length) ? this.iMenuItem.pop() : -1); } public function set prMenuItem(_arg1:int):void{ this.iMenuItem.push(_arg1); } public function OnResize(_arg1:Event):void{ this.Free(); this.InitStage(); this.Init(); } override public function Free():void{ OGlobal.prStage.removeEventListener(Event.DEACTIVATE, OnDeactivate); OGlobal.prStage.removeEventListener(Event.RESIZE, OnResize); this.iMenuItem = null; super.Free(); } public function InitBackground(_arg1:Array, _arg2:int=0):void{ this.iBackground = new OBackground(_arg1, _arg2); this.addChildAt(this.iBackground, 0); } protected function OnDeactivate(_arg1:Event):void{ } public function InitStage(_arg1:Stage=null):void{ var s:String; var b:int; var aStage = _arg1; if (((aStage) || (this.stage))){ OGlobal.prStage = (aStage) ? aStage : this.stage; }; if (!OGlobal.prStage){ return; }; OGlobal.prStage.scaleMode = StageScaleMode.NO_SCALE; OGlobal.prStage.align = StageAlign.TOP_LEFT; OGlobal.prStage.quality = StageQuality.BEST; OGlobal.prStage.stageFocusRect = false; OGlobal.Rescale(this); OGlobal.FPS = 60; if (ExternalInterface.available){ s = ("function getInternetExplorerVersion() { var rv = -1; if (navigator.appName == \"Microsoft Internet Explorer\") { var ua = navigator.userAgent;" + "var re = new RegExp(\"MSIE ([0-9]{1,}[.0-9]{0,})\"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; }"); b = 0; try { b = ExternalInterface.call(s); } catch(e:Error) { OGlobal.prStage.frameRate = OGlobal.FPS; }; if (b > 0){ OGlobal.FPS = (OGlobal.FPS * 2); }; }; OGlobal.prStage.frameRate = OGlobal.FPS; OGlobal.prStage.addEventListener(Event.RESIZE, OnResize); OGlobal.prStage.addEventListener(Event.DEACTIVATE, OnDeactivate); } } }//package ENGINE.INTERFACE
Section 32
//OBackground (ENGINE.INTERFACE.OBackground) package ENGINE.INTERFACE { import ENGINE.DISPLAY.*; import flash.display.*; import flash.geom.*; import ENGINE.CORE.*; public class OBackground extends OSprite { protected var iImages:Array; protected var iIInd:int;// = 0 public function OBackground(_arg1:Array, _arg2:int=0){ iIInd = 0; super(); this.iImages = _arg1; this.prIInd = _arg2; } public function Make():void{ var _local1:Sprite; var _local2:BitmapData; var _local3:OBM; var _local4:Rectangle; var _local5:Rectangle; var _local6:int; var _local7:int; var _local8:Number; var _local9:int; var _local10:Bitmap; var _local11:int; var _local12:OBitmap; if (this.iImages == null){ return; }; this.Free(); if ((this.iImages[this.iIInd] is Class)){ _local1 = new (this.iImages[this.iIInd]); _local2 = new BitmapData(_local1.width, _local1.height, false, 4294967295); _local2.draw(_local1); }; if ((this.iImages[this.iIInd] is BitmapData)){ _local2 = this.iImages[this.iIInd]; _local1 = new Sprite(); _local10 = new Bitmap(_local2); _local1.addChild(_local10); }; _local3 = new OBM(_local2, 0, 0, _local1.width, _local1.height); _local4 = OGlobal.ViewporRect; _local5 = OGlobal.StageRect; this.x = -(_local4.x); this.y = -(_local4.y); _local6 = Math.floor((_local5.width / _local1.width)); if (_local6 == 0){ return; }; _local7 = Math.floor((_local5.height / _local1.height)); if (_local7 == 0){ return; }; if ((_local5.width - (_local6 * _local1.width)) > 0){ _local6++; }; if ((_local5.height - (_local7 * _local1.height)) > 0){ _local7++; }; _local8 = OGlobal.Scale; _local9 = 0; while (_local9 < _local7) { _local11 = 0; while (_local11 < _local6) { _local12 = new OBitmap(_local3, ((_local11 * _local1.width) / _local8), ((_local9 * _local1.height) / _local8)); this.addChild(_local12); _local11++; }; _local9++; }; } override public function Free():void{ super.Free(); } public function set prIInd(_arg1:int):void{ this.iIInd = _arg1; if (this.iImages == null){ this.iIInd = -1; return; }; if (this.iIInd >= (this.iImages.length - 1)){ this.iIInd = (this.iImages.length - 1); }; Make(); } public function get prIInd():int{ return (this.iIInd); } } }//package ENGINE.INTERFACE
Section 33
//OButton (ENGINE.INTERFACE.OButton) package ENGINE.INTERFACE { import ENGINE.DISPLAY.*; import flash.events.*; import ENGINE.INTERFACE.ANIMATORS.*; public class OButton extends OIObject { public var iHit:OSprite; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.6, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Scale.Make, iSScale:1, iEScale:0.8, iPIter:6}, {F:OA_Scale.Make, iSScale:0.8, iEScale:1, iPIter:6}]; public function OButton(_arg1:Array, _arg2:Array=null){ var _local3:Array; _local3 = ((_arg2)==null) ? OButton.iDefAnimators : _arg2; super(_arg1, _local3); } override public function OnRollOver(_arg1:MouseEvent):void{ this.prRool = true; } override public function Init():void{ this.useHandCursor = true; this.buttonMode = true; super.Init(); if (this.iHit){ this.iHit.visible = false; this.hitArea = this.iHit; }; } override public function OnMouseUp(_arg1:MouseEvent):void{ this.prPress = false; } override public function OnRollOut(_arg1:MouseEvent):void{ if (this.prPress){ this.prPress = false; }; this.prRool = false; } override public function Free():void{ this.iHit = null; super.Free(); } override public function OnMouseDown(_arg1:MouseEvent):void{ this.prPress = true; if ((this.parent is OIObject)){ (this.parent as OIObject).OnPress(_arg1, this); }; } } }//package ENGINE.INTERFACE
Section 34
//OCounter (ENGINE.INTERFACE.OCounter) package ENGINE.INTERFACE { import ENGINE.INTERFACE.ANIMATORS.*; public class OCounter extends OIObject { public var iSeparator:OIObject; public var iDigits0:Array; public var iDigits:Array; protected var iValue:int; protected var iValue0:int; protected var iWidth:Number; protected var iHeight:Number; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, null, null, null, null]; public function OCounter(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Array=null){ var _local5:Array; this.iWidth = _arg2; this.iHeight = _arg3; _local5 = (_arg4) ? _arg4 : iDefAnimators; super(_arg1, _local5); } public function set prValue0(_arg1:int):void{ this.iValue0 = Math.max(_arg1, 0); if (!this.iDigits0){ return; }; this.iValue0 = Math.min(this.iValue0, (Math.pow(10, this.iDigits0.length) - 1)); Draw(); } public function set prValue(_arg1:int):void{ this.iValue = Math.max(_arg1, 0); if (!this.iDigits){ return; }; this.iValue = Math.min(this.iValue, (Math.pow(10, this.iDigits.length) - 1)); Draw(); } override public function Init():void{ this.iDigits = new Array(); this.iDigits0 = new Array(); super.Init(); } private function Draw():void{ var _local1:Number; var _local2:String; var _local3:String; var _local4:int; var _local5:Number; var _local6:int; _local1 = 0; _local2 = this.iValue0.toString(); _local3 = this.iValue.toString(); _local4 = 0; while (_local4 < this.iDigits0.length) { this.iDigits0[_local4].prAnimationEnabled = this.iAEnabled; _local4++; }; _local4 = 0; while (_local4 < this.iDigits.length) { this.iDigits[_local4].prAnimationEnabled = this.iAEnabled; _local4++; }; if (this.iDigits0.length){ _local4 = (_local2.length - 1); while (_local4 >= 0) { this.iDigits0[_local4].prValue = (_local2.charCodeAt(_local4) - 47); _local4--; }; _local6 = (this.iDigits0.length - _local2.length); _local4 = 0; while (_local4 < _local6) { if (this.iDigits0[_local4].prValue){ this.iDigits0[_local4].prValue = 0; }; _local4++; }; }; if (this.iDigits.length){ _local4 = 0; while (_local4 < _local3.length) { this.iDigits[_local4].prValue = (_local3.charCodeAt(_local4) - 47); _local4++; }; _local6 = this.iDigits.length; _local4 = _local3.length; while (_local4 < _local6) { if (this.iDigits[_local4].prValue){ this.iDigits[_local4].prValue = 0; }; _local4++; }; }; if (this.iDigits0.length){ _local4 = (_local2.length - 1); while (_local4 >= 0) { _local1 = (_local1 + this.iDigits0[_local4].prWidth); _local4--; }; }; if (this.iSeparator){ _local1 = (_local1 + this.iSeparator.prWidth); }; if (this.iDigits.length){ _local4 = 0; while (_local4 < _local3.length) { _local1 = (_local1 + this.iDigits[_local4].prWidth); _local4++; }; }; _local5 = ((this.iWidth - _local1) / 2); if (this.iDigits0.length){ _local4 = 0; while (_local4 < this.iDigits0.length) { if (this.iDigits0[_local4].prValue){ this.iDigits0[_local4].PosValue(_local5, ((this.iWidth - this.iDigits0[_local4].prHeight) / 2)); _local5 = (_local5 + this.iDigits0[_local4].prWidth); }; _local4++; }; }; if (this.iSeparator){ this.iSeparator.Pos(_local5, ((this.iHeight - this.iSeparator.prHeight) / 2)); _local5 = (_local5 + this.iSeparator.prWidth); }; if (this.iDigits.length){ _local4 = 0; while (_local4 < this.iDigits.length) { if (this.iDigits[_local4].prValue){ this.iDigits[_local4].PosValue(_local5, ((this.iHeight - this.iDigits[_local4].prHeight) / 2)); _local5 = (_local5 + this.iDigits[_local4].prWidth); }; _local4++; }; }; } public function get prValue0():int{ return (this.iValue0); } override public function Free():void{ this.iDigits = null; this.iDigits0 = null; this.iSeparator = null; super.Free(); } public function get prValue():int{ return (this.iValue); } } }//package ENGINE.INTERFACE
Section 35
//ODialog (ENGINE.INTERFACE.ODialog) package ENGINE.INTERFACE { import ENGINE.INTERFACE.ANIMATORS.*; public class ODialog extends OWindow { public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:12}, null, null, null, null, null, null]; public function ODialog(_arg1:Array, _arg2:Array=null){ var _local3:Array; _local3 = (_arg2) ? _arg2 : ODialog.iDefAnimators; super(_arg1, _local3); } override public function Init():void{ super.Init(); this.SetVisible(false); this.PosCenter(); this.prVisible = true; } } }//package ENGINE.INTERFACE
Section 36
//OInput (ENGINE.INTERFACE.OInput) package ENGINE.INTERFACE { import flash.events.*; import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.INTERFACE.ELEMENTS.*; public class OInput extends OIObject { public var iText:OInputTextField; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.5, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, null, null]; public function OInput(_arg1:Array, _arg2:Array=null){ var _local3:Array; _local3 = ((_arg2)==null) ? OInput.iDefAnimators : _arg2; super(_arg1, _local3); } public function set prText(_arg1:String):void{ this.iText.prText = _arg1; } override public function Init():void{ super.Init(); this.addEventListener(KeyboardEvent.KEY_UP, OnKeyUp); } public function get prText():String{ return (this.iText.prText); } protected function OnKeyUp(_arg1:KeyboardEvent):void{ if ((((_arg1.keyCode == 13)) && ((this.parent is OWindow)))){ (this.parent as OWindow).OnPress(null, this); }; } } }//package ENGINE.INTERFACE
Section 37
//OInterface (ENGINE.INTERFACE.OInterface) package ENGINE.INTERFACE { import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.INTERFACE.ELEMENTS.*; public class OInterface { public static const iDefLBButtonAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.6, iPIter:4}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:4}, {F:OA_Scale.Make, iSScale:1, iEScale:0.8, iPIter:4}, {F:OA_Scale.Make, iSScale:0.8, iEScale:1, iPIter:4}]; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:12}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:12}, null, null, null, null, null, null]; public static const iDefSlowAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:30}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:30}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:30}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:30}, null, null, null, null, null, null]; public static function OHtmlTextFieldMake(_arg1:Array):OHtmlTextField{ return (new OHtmlTextField(_arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10])); } public static function OIObjectMake(_arg1:Array):OIObject{ var _local2:OIObject; _local2 = new OIObject(_arg1[1], _arg1[2]); _local2.Pos(_arg1[3], _arg1[4]); return (_local2); } public static function OProgressMake(_arg1:Array):OProgress{ return (new OProgress(_arg1[1], _arg1[2])); } public static function OInputTextFieldMake(_arg1:Array):OInputTextField{ return (new OInputTextField(_arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5], _arg1[6], _arg1[7], _arg1[8], _arg1[9], _arg1[10], _arg1[11])); } public static function OTabMake(_arg1:Array):OTab{ return (new OTab(_arg1[1], _arg1[2], _arg1[3], _arg1[4], _arg1[5])); } public static function OCounterMake(_arg1:Array):OCounter{ return (new OCounter(_arg1[1], _arg1[2], _arg1[3], _arg1[4])); } } }//package ENGINE.INTERFACE
Section 38
//OIObject (ENGINE.INTERFACE.OIObject) package ENGINE.INTERFACE { import ENGINE.DISPLAY.*; import flash.events.*; import flash.display.*; import flash.geom.*; import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.CORE.*; public class OIObject extends OSprite { protected var iTrigger:uint; protected var iAEnabled:Boolean;// = true protected var iAManager:OAnimatorManager; protected var iState:int; protected var iAParams:Array; protected var iParam:Array; public static var trActive:uint = 2; public static var trPress:uint = 16; public static var trRool:uint = 8; public static var trFocus:uint = 3; public static var trVisible:uint = 1; public function OIObject(_arg1:Array, _arg2:Array=null){ iTrigger = (trVisible | trActive); iAEnabled = true; super(); this.iParam = _arg1; this.iAParams = _arg2; this.Init(); } public function get prMouseEnabled():Boolean{ return (((this.prVisible) && (this.prActive))); } public function get prRool():Boolean{ return (((this.iTrigger & trRool) > 0)); } public function set prFocus(_arg1:Boolean):void{ if (_arg1){ this.iTrigger = (this.iTrigger | trFocus); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anFocusIn]); }; } else { this.iTrigger = (this.iTrigger & ~(trFocus)); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anFocusOut]); }; }; } override public function get prVisible():Boolean{ return (((this.iTrigger & trVisible) > 0)); } public function set prRool(_arg1:Boolean):void{ if (_arg1){ this.iTrigger = (this.iTrigger | trRool); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anRoolOver]); }; } else { this.iTrigger = (this.iTrigger & ~(trRool)); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anRoolOut]); }; }; } override public function set prVisible(_arg1:Boolean):void{ if (_arg1){ this.iTrigger = (this.iTrigger | trVisible); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anShow], false); }; } else { this.iTrigger = (this.iTrigger & ~(trVisible)); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anHide], false); }; }; if (((!(this.iAManager)) || (!(this.iAEnabled)))){ this.visible = _arg1; }; this.mouseEnabled = this.prMouseEnabled; this.mouseChildren = this.mouseEnabled; } public function OnRollOver(_arg1:MouseEvent):void{ this.prRool = true; } public function Init():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:DisplayObject; var _local5:String; if (this.iParam){ _local1 = this.iParam.length; _local2 = 0; while (_local2 < _local1) { _local3 = this.iParam[_local2].length; _local4 = this.iParam[_local2][0](this.iParam[_local2]); _local5 = this.iParam[_local2][(_local3 - 3)]; if (_local5){ if ((this[_local5] is Array)){ this[_local5][this.iParam[_local2][(_local3 - 2)]] = _local4; } else { this[_local5] = _local4; }; }; if ((_local4 is OIObject)){ (_local4 as OIObject).SetVisible(this.iParam[_local2][(_local3 - 1)]); } else { if ((_local4 is IDisplayObject)){ (_local4 as IDisplayObject).prVisible = this.iParam[_local2][(_local3 - 1)]; } else { _local4.visible = this.iParam[_local2][(_local3 - 1)]; }; }; this.addChild(_local4); _local2++; }; }; this.iAManager = (this.iAParams) ? new OAnimatorManager(this) : null; this.tabEnabled = false; this.addEventListener(Event.ENTER_FRAME, OnEnterFrame); this.addEventListener(MouseEvent.ROLL_OVER, OnRollOver); this.addEventListener(MouseEvent.ROLL_OUT, OnRollOut); this.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); this.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp); } public function get prAnimationEnabled():Boolean{ return (this.iAEnabled); } public function set prActive(_arg1:Boolean):void{ if (_arg1){ this.iTrigger = (this.iTrigger | trActive); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anActivate]); }; } else { this.iTrigger = (this.iTrigger & ~(trActive)); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anDeactivate]); }; }; this.mouseEnabled = this.prMouseEnabled; this.mouseChildren = this.mouseEnabled; } public function OnMouseUp(_arg1:MouseEvent):void{ this.prPress = false; } public function get prPress():Boolean{ return (((this.iTrigger & trPress) > 0)); } public function get State():int{ return (this.iState); } public function OnPress(_arg1:Event, _arg2):void{ } public function OnRollOut(_arg1:MouseEvent):void{ this.prRool = false; } override public function Free():void{ this.removeEventListener(MouseEvent.MOUSE_UP, OnMouseUp); this.removeEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); this.removeEventListener(MouseEvent.ROLL_OUT, OnRollOut); this.removeEventListener(MouseEvent.ROLL_OVER, OnRollOver); this.removeEventListener(Event.ENTER_FRAME, OnEnterFrame); super.Free(); if (this.iAManager){ this.iAManager.Free(); }; this.iAManager = null; } public function get prAnimation():Boolean{ var _local1:int; if (((this.iAManager) && (this.iAManager.prAnimation))){ return (true); }; _local1 = 0; while (_local1 < this.numChildren) { if (!(this.getChildAt(_local1) is OIObject)){ } else { if ((this.getChildAt(_local1) as OIObject).prAnimation){ return (true); }; }; _local1++; }; return (false); } public function get prActive():Boolean{ return (((this.iTrigger & trActive) > 0)); } public function PosCenter(_arg1:Number=800, _arg2:Number=600):void{ var _local3:Rectangle; _local3 = this.getBounds(this); this.Pos(OGlobal.ScaleFloor((((_arg1 - this.prWidth) - (OGlobal.ToLocal(_local3.x) * 2)) / 2)), OGlobal.ScaleFloor((((_arg2 - this.prHeight) - (OGlobal.ToLocal(_local3.y) * 2)) / 2))); } public function AddAnimator(_arg1:Object, _arg2:Boolean=true):void{ var _local3:Boolean; _local3 = (_arg2) ? ((((this.iAManager) && (this.prVisible))) && (this.iAEnabled)) : ((this.iAManager) && (this.iAEnabled)); if (_local3){ this.iAManager.AddAnimator(_arg1); }; } public function set prAnimationEnabled(_arg1:Boolean):void{ this.iAEnabled = _arg1; } public function set prPress(_arg1:Boolean):void{ if (_arg1){ this.iTrigger = (this.iTrigger | trPress); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anPress]); }; } else { this.iTrigger = (this.iTrigger & ~(trPress)); if (this.iAManager){ this.AddAnimator(this.iAParams[OAnimatorManager.anUnpress]); }; }; } public function OnMouseDown(_arg1:MouseEvent):void{ this.prPress = true; } public function OnEnterFrame(_arg1:Event):void{ if (this.iAManager){ this.iAManager.OnEnterFrame(); }; } public function SetVisible(_arg1:Boolean):void{ this.prAnimationEnabled = false; this.prVisible = _arg1; this.prAnimationEnabled = true; } public function set prAnimatorParams(_arg1:Array):void{ this.iAParams = _arg1; if (!this.iAManager){ this.iAManager = new OAnimatorManager(this); }; } public function set State(_arg1:int):void{ this.iState = _arg1; } public function get prAnimatorParams():Array{ return (this.iAParams); } public function get prFocus():Boolean{ return (((this.iTrigger & trFocus) > 0)); } } }//package ENGINE.INTERFACE
Section 39
//OListBox (ENGINE.INTERFACE.OListBox) package ENGINE.INTERFACE { import flash.events.*; import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.INTERFACE.ELEMENTS.*; import ENGINE.CORE.*; public class OListBox extends OIObject { private var iLBParams:Array; private var iEGenP:Function; private var iElements:Array; public var iDown:OButton; private var iEGen:Array; public var iUp:OButton; private var iEShowInd:int; private var iSelection:Boolean;// = true private var iECoord:Array; private var iECount:int; private var iCycling:Boolean; private var iECurInd:int; private var iPageScrool:Boolean; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, {F:OA_AlphaInd.Make, iSAlpha:-1, iEAlpha:0.6, iInd:[0], iPIter:6}, {F:OA_AlphaInd.Make, iSAlpha:-1, iEAlpha:1, iInd:[0], iPIter:6}, null, null]; public function OListBox(_arg1:Array, _arg2:Array, _arg3:Function, _arg4:Array, _arg5:Array, _arg6:Array=null){ var _local7:Array; iSelection = true; _local7 = (_arg6) ? _arg6 : iDefAnimators; this.iEGen = _arg2; this.iEGenP = _arg3; this.iECoord = _arg4; this.iLBParams = _arg5; this.iECount = this.iECoord.length; super(_arg1, _local7); } public function SetCurrentElement(_arg1, _arg2:Array=null):void{ var _local3:int; if (((!(_arg1)) && (!(_arg2)))){ this.FreeElements(); this.iLBParams = null; this.iECurInd = 0; this.iEShowInd = 0; return; }; if (_arg2){ this.iLBParams = _arg2; }; if (!this.iLBParams){ return; }; this.iECurInd = 0; _local3 = 0; while (_local3 < this.iLBParams.length) { if (_arg1 == this.iLBParams[_local3]){ this.iECurInd = _local3; break; }; _local3++; }; this.iEShowInd = this.iECurInd; if ((this.iEShowInd + this.iECount) >= this.iLBParams.length){ this.iEShowInd = (this.iLBParams.length - this.iECount); }; if (this.iEShowInd < 0){ this.iEShowInd = 0; }; InitElements(); } protected function UnpressElements(_arg1:OListBoxElement):void{ var _local2:int; _local2 = 0; while (_local2 < this.iElements.length) { if (!this.iElements[_local2]){ } else { if (this.iElements[_local2] == _arg1){ this.iECurInd = (this.iEShowInd + _local2); } else { if (this.iElements[_local2].prPress){ this.iElements[_local2].prPress = false; }; }; }; _local2++; }; } public function get prPageScrool():Boolean{ return (this.iPageScrool); } protected function InitElements():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Boolean; this.FreeElements(); if (this.iLBParams == null){ return; }; _local1 = 0; _local2 = (((this.iEShowInd + this.iECount) <= this.iLBParams.length)) ? (this.iEShowInd + this.iECount) : this.iLBParams.length; _local3 = this.iEShowInd; while (_local3 < _local2) { this.iEGenP(this.iEGen, this.iLBParams[_local3]); this.iElements[_local1] = this.iEGen[0](this.iEGen); this.iElements[_local1].Pos(OGlobal.ScaleFloor(this.iECoord[_local1][0]), OGlobal.ScaleFloor(this.iECoord[_local1][1])); this.iElements[_local1].mouseEnabled = this.iSelection; this.addChild(this.iElements[_local1]); if ((((this.iECurInd == _local3)) && (this.iSelection))){ this.iElements[_local1].prPress = true; }; _local1++; _local3++; }; if (((this.iUp) && (this.iDown))){ if (this.iCycling){ _local4 = (this.iLBParams) ? (this.iLBParams.length > this.iECount) : false; if (this.iUp.prVisible != _local4){ this.iUp.prVisible = _local4; }; if (this.iDown.prVisible != _local4){ this.iDown.prVisible = _local4; }; } else { if ((((this.iEShowInd == 0)) && (this.iUp.prVisible))){ if (this.iUp.prPress){ this.iUp.prPress = false; }; this.iUp.prVisible = false; }; if ((((this.iEShowInd > 0)) && (!(this.iUp.prVisible)))){ this.iUp.prVisible = true; }; if (((((this.iEShowInd + this.iECount) >= this.iLBParams.length)) && (this.iDown.prVisible))){ if (this.iDown.prPress){ this.iDown.prPress = false; }; this.iDown.prVisible = false; }; if (((((this.iEShowInd + this.iECount) < this.iLBParams.length)) && (!(this.iDown.prVisible)))){ this.iDown.prVisible = true; }; }; }; } public function set prPageScrool(_arg1:Boolean):void{ this.iPageScrool = _arg1; } override public function Free():void{ this.iUp = null; this.iDown = null; this.iElements = null; super.Free(); } public function set prCurrentInd(_arg1:int):void{ if (!this.iLBParams){ return; }; this.SetCurrentElement(this.iLBParams[_arg1]); } override public function Init():void{ super.Init(); this.iElements = new Array(); this.InitElements(); } public function set prLBParams(_arg1:Array):void{ this.iLBParams = _arg1; this.iECurInd = 0; this.iEShowInd = 0; this.InitElements(); } public function get prCurrentInd():int{ return (this.iECurInd); } public function set prSelection(_arg1:Boolean):void{ this.iSelection = _arg1; InitElements(); } public function set prCycling(_arg1:Boolean):void{ this.iCycling = _arg1; InitElements(); } override public function OnPress(_arg1:Event, _arg2):void{ if ((_arg2 is OListBoxElement)){ this.UnpressElements((_arg2 as OListBoxElement)); }; if ((((_arg2 == this.iUp)) && (this.SkipElements((this.iPageScrool) ? -(this.iECount) : -1)))){ this.InitElements(); }; if ((((_arg2 == this.iDown)) && (this.SkipElements((this.iPageScrool) ? this.iECount : 1)))){ this.InitElements(); }; if ((this.parent is OIObject)){ (this.parent as OIObject).OnPress(_arg1, this); }; } public function get prSelection():Boolean{ return (this.iSelection); } protected function FreeElements():void{ var _local1:int; _local1 = 0; while (_local1 < this.iElements.length) { if (!this.iElements[_local1]){ } else { this.removeChild(this.iElements[_local1]); this.iElements[_local1].Free(); this.iElements[_local1] = null; }; _local1++; }; } protected function SkipElements(_arg1:int):Boolean{ var _local2:int; if (!this.iLBParams){ return (false); }; _local2 = (this.iEShowInd + _arg1); if ((_local2 + this.iECount) >= this.iLBParams.length){ _local2 = (this.iCycling) ? (_local2 - this.iLBParams.length) : (this.iLBParams.length - this.iECount); }; if (_local2 < 0){ _local2 = (this.iCycling) ? (this.iLBParams.length + _local2) : 0; }; if (this.iEShowInd == _local2){ return (false); }; this.iEShowInd = _local2; if (!this.iSelection){ this.iECurInd = this.iEShowInd; }; return (true); } public function get prCurrentLBParam(){ return ((this.iLBParams) ? this.iLBParams[this.iECurInd] : null); } public function get prCycling():Boolean{ return (this.iCycling); } } }//package ENGINE.INTERFACE
Section 40
//OProgress (ENGINE.INTERFACE.OProgress) package ENGINE.INTERFACE { import ENGINE.DISPLAY.*; import flash.geom.*; public class OProgress extends OIObject { public var iProgressBG:OBitmap; private var iPBG:OBitmap; public var iProgress:OBitmap; private var iValue:Number; public function OProgress(_arg1:Array, _arg2:Array=null){ super(_arg1, _arg2); } public function set prValue(_arg1:Number):void{ var _local2:int; var _local3:Rectangle; var _local4:Rectangle; if (_arg1 < 0){ _arg1 = 0; } else { if (_arg1 > 100){ _arg1 = 100; }; }; if (this.iValue != _arg1){ _local2 = Math.round(((iProgressBG.prOBM.iBM.width * _arg1) / 100)); _local3 = new Rectangle(0, 0, _local2, this.iProgressBG.prOBM.iBM.height); _local4 = new Rectangle(_local2, 0, (iProgressBG.prOBM.iBM.width - _local2), this.iProgressBG.prOBM.iBM.height); this.iProgressBG.prOBM.iBM.fillRect(this.iPBG.prOBM.iBM.rect, 0); this.iProgressBG.prOBM.iBM.copyPixels(this.iProgress.prOBM.iBM, _local3, new Point(0, 0)); this.iProgressBG.prOBM.iBM.copyPixels(this.iPBG.prOBM.iBM, _local4, new Point(_local2, 0)); }; this.iValue = _arg1; } override public function Init():void{ super.Init(); if (this.iProgressBG){ this.iPBG = this.iProgressBG.Clone(); }; } override public function Free():void{ this.iProgressBG = null; this.iProgress = null; super.Free(); } public function get prValue():Number{ return (this.iValue); } } }//package ENGINE.INTERFACE
Section 41
//OTab (ENGINE.INTERFACE.OTab) package ENGINE.INTERFACE { import ENGINE.DISPLAY.*; import ENGINE.INTERFACE.ANIMATORS.*; public class OTab extends OIObject { private var iVAnimator:Object; private var iCurInd:int; protected var iWidth:Number; protected var iHeight:Number; public static const iDefAnimators:Array = [{F:OA_Alpha.Make, iSAlpha:0, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:1, iPIter:6}, {F:OA_Alpha.Make, iSAlpha:-1, iEAlpha:0.2, iPIter:6}, null, null, null, null, null, null]; public static const iDefVAnimator:Object = {F:OA_AlphaFade.Make, iSAlpha:-1, iEAlpha:0, iSInd:[0], iEInd:[1], iPIter:3}; public function OTab(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Object=null, _arg5:Array=null){ var _local6:Array; this.iWidth = _arg2; this.iHeight = _arg3; this.iVAnimator = (_arg4) ? _arg4 : iDefVAnimator; _local6 = (_arg5) ? _arg5 : iDefAnimators; super(_arg1, _local6); } override public function get prWidth():Number{ return (this.iWidth); } public function get prElements():int{ return (this.numChildren); } public function set prValue(_arg1:int):void{ if (_arg1 < 0){ _arg1 = 0; } else { if (_arg1 >= this.numChildren){ _arg1 = (this.numChildren - 1); }; }; if (((this.iAEnabled) && (this.iVAnimator))){ if (this.iCurInd == _arg1){ return; }; this.iVAnimator.iSInd = [this.iCurInd]; this.iVAnimator.iEInd = [_arg1]; this.AddAnimator(this.iVAnimator, false); } else { if ((this.getChildAt(this.iCurInd) is IDisplayObject)){ (this.getChildAt(this.iCurInd) as IDisplayObject).prVisible = false; }; if ((this.getChildAt(_arg1) is IDisplayObject)){ (this.getChildAt(_arg1) as IDisplayObject).prVisible = true; }; }; this.iCurInd = _arg1; } override public function Init():void{ super.Init(); (this.getChildAt(0) as IDisplayObject).prVisible = true; } public function get prValue():int{ return (this.iCurInd); } override public function get prHeight():Number{ return (this.iHeight); } public function PosValue(_arg1:Number, _arg2:Number):void{ (this.getChildAt(this.iCurInd) as IDisplayObject).Pos((_arg1 - this.prX), (_arg2 - this.prY)); } } }//package ENGINE.INTERFACE
Section 42
//OWindow (ENGINE.INTERFACE.OWindow) package ENGINE.INTERFACE { public class OWindow extends OIObject { public function OWindow(_arg1:Array, _arg2:Array=null){ super(_arg1, _arg2); } } }//package ENGINE.INTERFACE
Section 43
//OEffectGel (ENGINE.SKIN.OEffectGel) package ENGINE.SKIN { import ENGINE.DISPLAY.*; import flash.display.*; import flash.geom.*; import ENGINE.DISPLAY.EFFECTS.*; import flash.filters.*; import ENGINE.CORE.*; public class OEffectGel extends OEffect { private var iColor:uint;// = 0 private var iF2B:BlurFilter; private var iF2GG1:GradientGlowFilter; private var iF2GG2:GradientGlowFilter; private var iF0S:DropShadowFilter; private var iF1G:GlowFilter; private var iBorder:Number;// = 0 private var iF1S:DropShadowFilter; public function OEffectGel(){ iColor = 0; iBorder = 0; super(); } override public function Apply(_arg1:Array, _arg2:Number=1, _arg3:Number=0, _arg4:Number=0):OBM{ var _local5:OBM; var _local6:Number; var _local7:Number; var _local8:Sprite; var _local9:Sprite; var _local10:ColorTransform; var _local11:Bitmap; var _local12:Bitmap; var _local13:Bitmap; var _local14:Sprite; var _local15:Bitmap; var _local16:Bitmap; var _local17:BitmapData; var _local18:Bitmap; _local5 = OBM.Make([null, _arg1, _arg2, _arg3, _arg4, 0]); _local6 = OGlobal.Scale; _local7 = 0.85; _local8 = new Sprite(); _local9 = new Sprite(); _local9.x = iBorder; _local9.y = iBorder; _local9.alpha = _local7; _local8.addChild(_local9); _local10 = new ColorTransform(0, 0, 0); _local10.color = this.iColor; _local11 = new Bitmap(_local5.iBM); _local11.transform.colorTransform = _local10; _local9.addChild(_local11); if (this.iF0S.distance > 0){ _local18 = new Bitmap(_local5.iBM); _local18.blendMode = "multiply"; _local18.filters = [this.iF0S]; _local9.addChild(_local18); }; _local12 = new Bitmap(_local5.iBM); _local12.blendMode = "multiply"; _local12.filters = [this.iF1S]; _local9.addChild(_local12); _local13 = new Bitmap(_local5.iBM); _local13.blendMode = "multiply"; _local13.filters = [this.iF1G]; _local9.addChild(_local13); _local14 = new Sprite(); _local14.blendMode = "layer"; _local14.filters = [this.iF2B]; _local9.addChild(_local14); _local15 = new Bitmap(_local5.iBM); _local15.blendMode = "screen"; _local15.filters = [this.iF2GG1]; _local14.addChild(_local15); _local16 = new Bitmap(_local5.iBM); _local16.blendMode = "erase"; _local16.filters = [this.iF2GG2]; _local14.addChild(_local16); _local17 = new BitmapData((_local8.width + (this.iBorder * 2)), (_local8.height + (this.iBorder * 2)), true, 0); _local17.draw(_local8); return (new OBM(_local17, (-(this.iBorder) + _local5.iX), (-(this.iBorder) + _local5.iY), _local5.iWidth, _local5.iHeight)); } override public function Init(_arg1:String, _arg2:String, _arg3:Number=1):void{ var _local4:Object; var _local5:Object; var _local6:Number; var _local7:uint; var _local8:Number; var _local9:Number; var _local10:int; var _local11:int; var _local12:Array; var _local13:Array; _local4 = this.iColors.GetItem(_arg1); _local5 = this.iFilters.GetItem(_arg2); if (_local5 == null){ return; }; _local6 = (OGlobal.Scale * _arg3); if (_local4 == null){ _local4 = new Object(); if (_arg1.search(/,/) < 0){ _local4.iCH = Number(_arg1); if (_local4.iCH == undefined){ return; }; _local4.iCH = (_local4.iCH % 360); _local10 = Math.floor((_local4.iCH / 30)); _local11 = ((_local10 + 1) % 12); _local12 = [50, 50, 60, 60, 50, 50, 40, 40, 30, 30, 40, 40]; _local4.iCS = ((_local12[_local10] + ((_local12[_local11] - _local12[_local10]) * ((_local4.iCH / 30) - _local10))) * 0.01); _local4.iCB = 1; _local4.iSH = (((_local10 % 2))==0) ? (_local4.iCH - 15) : (_local4.iCH + 15); if (_local4.iSH < 0){ _local4.iSH = (_local4.iSH + 360); }; _local4.iSS = 0.9; _local4.iSB = 0.6; } else { _local13 = _arg1.split(/,/); _local4.iCH = _local13[0]; _local4.iCS = _local13[1]; _local4.iCB = _local13[2]; _local4.iSH = _local13[3]; _local4.iSS = _local13[4]; _local4.iSB = _local13[5]; }; }; _local7 = ODisplay.HSBToRGB(_local4.iSH, _local4.iSS, _local4.iSB); this.iF0S = new DropShadowFilter((_local5.iF0SD * _local6), _local5.iAngle, ODisplay.HSBToRGB(_local4.iCH, _local4.iCS, (_local4.iCB * 0.5)), 0.75, (_local5.iF0SB * _local6), (_local5.iF0SB * _local6), 1, 2, false, true, true); this.iF1S = new DropShadowFilter((_local5.iF1SD * _local6), _local5.iAngle, _local7, 0.85, (_local5.iF1SB * _local6), (_local5.iF1SB * _local6), 1.5, 3, true, true, true); this.iF1G = new GlowFilter(_local7, _local5.iF1GA, (_local5.iF1GB * _local6), (_local5.iF1GB * _local6), 2, 3, true, true); _local8 = ((_local6)<1) ? (_local5.iF2GGC1 * _local6) : _local5.iF2GGC1; this.iF2GG1 = new GradientGlowFilter((_local5.iF2GGD1 * _local6), _local5.iAngle, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0, 0, 1], [0, _local8, 0xFF], (_local5.iF2GGB1 * _local6), (_local5.iF2GGB1 * _local6), 1, 1, "inner", true); _local9 = ((_local6)<1) ? (_local5.iF2GGC2 * _local6) : _local5.iF2GGC2; this.iF2GG2 = new GradientGlowFilter((_local5.iF2GGD2 * _local6), _local5.iAngle, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0, 0, 1], [0, _local9, 0xFF], (_local5.iF2GGB2 * _local6), (_local5.iF2GGB2 * _local6), 1, 1, "inner", true); this.iF2B = new BlurFilter((_local5.iF2B * _local6), (_local5.iF2B * _local6)); this.iColor = ODisplay.HSBToRGB(_local4.iCH, _local4.iCS, _local4.iCB); this.iBorder = Math.ceil((_local5.iBorder * _local6)); } } }//package ENGINE.SKIN
Section 44
//OEffectPlastic (ENGINE.SKIN.OEffectPlastic) package ENGINE.SKIN { import ENGINE.DISPLAY.*; import flash.display.*; import flash.geom.*; import ENGINE.DISPLAY.EFFECTS.*; import flash.filters.*; import ENGINE.CORE.*; public class OEffectPlastic extends OEffect { private var iColor:uint;// = 0 private var iF2B:BlurFilter; private var iF2GG1:GradientGlowFilter; private var iF2GG2:GradientGlowFilter; private var iF0S:DropShadowFilter; private var iF1G:GlowFilter; private var iBorder:Number;// = 0 private var iF1S:DropShadowFilter; public function OEffectPlastic(){ iColor = 0; iBorder = 0; super(); } override public function Apply(_arg1:Array, _arg2:Number=1, _arg3:Number=0, _arg4:Number=0):OBM{ var _local5:OBM; var _local6:Number; var _local7:Number; var _local8:Sprite; var _local9:Sprite; var _local10:ColorTransform; var _local11:Bitmap; var _local12:Bitmap; var _local13:Bitmap; var _local14:Sprite; var _local15:Bitmap; var _local16:Bitmap; var _local17:BitmapData; var _local18:Bitmap; _local5 = OBM.Make([null, _arg1, _arg2, _arg3, _arg4, 0]); _local6 = OGlobal.Scale; _local7 = 1; _local8 = new Sprite(); _local9 = new Sprite(); _local9.x = iBorder; _local9.y = iBorder; _local9.alpha = _local7; _local8.addChild(_local9); _local10 = new ColorTransform(0, 0, 0); _local10.color = this.iColor; _local11 = new Bitmap(_local5.iBM); _local11.transform.colorTransform = _local10; _local9.addChild(_local11); if (this.iF0S.distance > 0){ _local18 = new Bitmap(_local5.iBM); _local18.blendMode = "multiply"; _local18.filters = [this.iF0S]; _local9.addChild(_local18); }; _local12 = new Bitmap(_local5.iBM); _local12.blendMode = "multiply"; _local12.filters = [this.iF1S]; _local9.addChild(_local12); _local13 = new Bitmap(_local5.iBM); _local13.blendMode = "multiply"; _local13.filters = [this.iF1G]; _local9.addChild(_local13); _local14 = new Sprite(); _local14.blendMode = "layer"; _local14.filters = [this.iF2B]; _local9.addChild(_local14); _local15 = new Bitmap(_local5.iBM); _local15.blendMode = "screen"; _local15.filters = [this.iF2GG1]; _local14.addChild(_local15); _local16 = new Bitmap(_local5.iBM); _local16.blendMode = "erase"; _local16.filters = [this.iF2GG2]; _local14.addChild(_local16); _local17 = new BitmapData((_local8.width + (this.iBorder * 2)), (_local8.height + (this.iBorder * 2)), true, 0); _local17.draw(_local8); return (new OBM(_local17, (-(this.iBorder) + _local5.iX), (-(this.iBorder) + _local5.iY), _local5.iWidth, _local5.iHeight)); } override public function Init(_arg1:String, _arg2:String, _arg3:Number=1):void{ var _local4:Object; var _local5:Object; var _local6:Number; var _local7:uint; var _local8:Number; var _local9:Number; var _local10:int; var _local11:int; var _local12:Array; var _local13:Array; _local4 = this.iColors.GetItem(_arg1); _local5 = this.iFilters.GetItem(_arg2); if (_local5 == null){ return; }; _local6 = (OGlobal.Scale * _arg3); if (_local4 == null){ _local4 = new Object(); if (_arg1.search(/,/) < 0){ _local4.iCH = Number(_arg1); if (_local4.iCH == undefined){ return; }; _local4.iCH = (_local4.iCH % 360); _local10 = Math.floor((_local4.iCH / 30)); _local11 = ((_local10 + 1) % 12); _local12 = [50, 50, 60, 60, 50, 50, 40, 40, 30, 30, 40, 40]; _local4.iCS = ((_local12[_local10] + ((_local12[_local11] - _local12[_local10]) * ((_local4.iCH / 30) - _local10))) * 0.01); _local4.iCB = 1; _local4.iSH = (((_local10 % 2))==0) ? (_local4.iCH - 15) : (_local4.iCH + 15); if (_local4.iSH < 0){ _local4.iSH = (_local4.iSH + 360); }; _local4.iSS = 0.9; _local4.iSB = 0.6; } else { _local13 = _arg1.split(/,/); _local4.iCH = _local13[0]; _local4.iCS = _local13[1]; _local4.iCB = _local13[2]; _local4.iSH = _local13[3]; _local4.iSS = _local13[4]; _local4.iSB = _local13[5]; }; }; _local7 = ODisplay.HSBToRGB(_local4.iSH, _local4.iSS, _local4.iSB); this.iF0S = new DropShadowFilter((_local5.iF0SD * _local6), _local5.iAngle, ODisplay.HSBToRGB(_local4.iCH, _local4.iCS, (_local4.iCB * 0.5)), 0.75, (_local5.iF0SB * _local6), (_local5.iF0SB * _local6), 1, 2, false, true, true); this.iF1S = new DropShadowFilter((_local5.iF1SD * _local6), _local5.iAngle, _local7, 0.85, (_local5.iF1SB * _local6), (_local5.iF1SB * _local6), 1.5, 3, true, true, true); this.iF1G = new GlowFilter(_local7, _local5.iF1GA, (_local5.iF1GB * _local6), (_local5.iF1GB * _local6), 2, 3, true, true); _local8 = ((_local6)<1) ? (_local5.iF2GGC1 * _local6) : _local5.iF2GGC1; this.iF2GG1 = new GradientGlowFilter((_local5.iF2GGD1 * _local6), _local5.iAngle, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0, 0, 1], [0, _local8, 0xFF], (_local5.iF2GGB1 * _local6), (_local5.iF2GGB1 * _local6), 1, 1, "inner", true); _local9 = ((_local6)<1) ? (_local5.iF2GGC2 * _local6) : _local5.iF2GGC2; this.iF2GG2 = new GradientGlowFilter((_local5.iF2GGD2 * _local6), _local5.iAngle, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0, 0, 1], [0, _local9, 0xFF], (_local5.iF2GGB2 * _local6), (_local5.iF2GGB2 * _local6), 1, 1, "inner", true); this.iF2B = new BlurFilter((_local5.iF2B * _local6), (_local5.iF2B * _local6)); this.iColor = ODisplay.HSBToRGB(_local4.iCH, _local4.iCS, _local4.iCB); this.iBorder = Math.ceil((_local5.iBorder * _local6)); } } }//package ENGINE.SKIN
Section 45
//OMultiplayer (ENGINE.SMARTFOX.OMultiplayer) package ENGINE.SMARTFOX { import it.gotoandplay.smartfoxserver.handlers.*; import it.gotoandplay.smartfoxserver.data.*; import it.gotoandplay.smartfoxserver.*; import it.gotoandplay.smartfoxserver.util.*; import ENGINE.CORE.*; import flash.utils.*; public class OMultiplayer extends SmartFoxClient { private var iCmd:String; private var iError:String; private var iConnection:Boolean;// = false private var iUsersCount:int; private var iErrorsCount:int; private var iPassword:String; private var iAdress:String; private var iXTName:String; private var iTimer:int; private var iGameParams:Array; private var iCMessages:Array; private var iOpponentID:int; private var iOpponentName:String; private var iName:String; private var iTurn:Array; private var iState:int; private var iGRoomParams:Array; private var iZoneName:String; public static const stInGame:int = 13; public static const stLogin:int = 3; public static const cmdJoinGameRoom:String = "jgr"; public static const cmdZoneUsersCount:String = "zuc"; public static const stNone:int = 0; public static const stMainRoomError:int = 6; public static const stGameError:int = 12; public static const cmdJoinGame:String = "jgm"; public static const cmdJoinMainRoom:String = "jmr"; public static const stConnection:int = 1; public static const stLoginError:int = 4; public static const cmdMakeTurn:String = "m"; public static const cmdCmd:String = "cmd"; public static const stConnectionError:int = 2; public static const stInZone:int = 7; public static const stInGameRoom:int = 10; public static const cmdChatMessage:String = "c"; public static const stJoinGameRoom:int = 8; public static const stGameRoomError:int = 9; public static const stJoinGame:int = 11; public static const stJoinMainRoom:int = 5; public function OMultiplayer(_arg1:Boolean=false){ iConnection = false; super(_arg1); this.State = stNone; } private function OnConnectionLost(_arg1:SFSEvent):void{ this.iConnection = false; this.State = stNone; } public function get prActiveRoomID():int{ return (this.activeRoomId); } public function get prErrorsCount():int{ return (this.iErrorsCount); } public function get prError():String{ return (this.iError); } public function get prChatMessage():String{ return (((this.iCMessages.length)==0) ? null : this.iCMessages.shift()); } public function ClearChatMessage(_arg1:Boolean=false):void{ if (_arg1){ this.iCMessages = new Array(); } else { if (this.iCMessages[0]){ this.iCMessages.shift(); }; }; } public function Init(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String=""):void{ if (((!(OGlobal.CheckDomain(_arg1))) || (!((this.iState == stNone))))){ return; }; this.iAdress = _arg2; this.iZoneName = _arg3; this.iXTName = _arg4; this.iName = _arg5; this.iPassword = _arg6; this.iTurn = new Array(); this.iCMessages = new Array(); addEventListener(SFSEvent.onConnection, OnConnection); addEventListener(SFSEvent.onConnectionLost, OnConnectionLost); addEventListener(SFSEvent.onExtensionResponse, OnExtensionResponse); this.State = stConnection; } private function OnConnection(_arg1:SFSEvent):void{ if (!_arg1.params.success){ this.iError = _arg1.params.error; this.iErrorsCount++; this.iConnection = false; }; this.State = (_arg1.params.success) ? stLogin : stConnectionError; } public function set prGRoomParams(_arg1:Array):void{ this.iGRoomParams = _arg1; } public function ClearOpponentTurn(_arg1:Boolean=false):void{ if (_arg1){ this.iTurn = new Array(); } else { if (this.iTurn[0]){ this.iTurn.shift(); }; }; } private function OnExtensionResponse(_arg1:SFSEvent):void{ var _local2:Array; if (_arg1.params.type != "str"){ return; }; _local2 = _arg1.params.dataObj; if (_local2 == null){ return; }; switch (_local2[0]){ case "logOK": this.myUserId = int(_local2[2]); this.myUserName = _local2[3]; this.amIModerator = (Number(_local2[4]) > 0); this.State = stJoinMainRoom; break; case "logKO": this.iError = _local2[2]; this.State = stLoginError; this.iErrorsCount++; break; case cmdJoinMainRoom: if (_local2[2]){ this.activeRoomId = _local2[3]; this.State = stInZone; } else { this.State = stMainRoomError; }; break; case cmdZoneUsersCount: this.iUsersCount = _local2[2]; break; case cmdJoinGameRoom: if (_local2[2] < 0){ this.activeRoomId = -1; this.State = OMultiplayer.stGameRoomError; } else { this.activeRoomId = _local2[2]; this.State = stInGameRoom; }; break; case cmdJoinGame: if (_local2[2] < 0){ this.activeRoomId = -1; this.playerId = -1; this.iOpponentID = -1; this.iOpponentName = null; this.State = OMultiplayer.stGameError; } else { this.activeRoomId = _local2[2]; this.playerId = _local2[3]; this.iOpponentID = _local2[4]; this.iOpponentName = _local2[5]; this.State = OMultiplayer.stInGame; }; break; case cmdMakeTurn: this.iTurn.push(_local2[2]); break; case cmdChatMessage: this.iCMessages.push(_local2[2]); break; case cmdCmd: this.iCmd = _local2[2]; break; }; } public function ChatMessage(_arg1:Array=null):void{ this.sendXtMessage(this.iXTName, OMultiplayer.cmdChatMessage, (_arg1) ? [_arg1.toString()] : ["0"], "str"); } public function get State():int{ return (this.iState); } public function set prGameParams(_arg1:Array):void{ this.iGameParams = _arg1; } public function get prUsersCount():int{ return (this.iUsersCount); } public function Free():void{ if (this.iConnection){ this.disconnect(); }; this.iConnection = false; this.iCMessages = null; removeEventListener(SFSEvent.onConnection, OnConnection); removeEventListener(SFSEvent.onConnectionLost, OnConnectionLost); removeEventListener(SFSEvent.onExtensionResponse, OnExtensionResponse); } public function Turn(_arg1:Array=null):void{ if (this.iState > stLoginError){ this.sendXtMessage(this.iXTName, OMultiplayer.cmdMakeTurn, (_arg1) ? [_arg1.toString(), this.iOpponentID] : ["0", this.iOpponentID], "str"); }; } public function get prOpponentTurn():String{ return (((this.iTurn.length)>0) ? this.iTurn[0] : null); } public function get prGRoomParams():Array{ return (this.iGRoomParams); } public function get prOpponentName():String{ return ((this.iOpponentName) ? this.iOpponentName.slice(0, (this.iOpponentName.length - 3)) : "..."); } public function get prGameParams():Array{ return (this.iGameParams); } public function ClearCmd():void{ this.iCmd = null; } public function OnEnterFrame():void{ if (((!(this.isConnected)) && ((this.iState > stConnection)))){ this.iState = stNone; }; switch (this.iState){ case stInZone: if ((getTimer() - this.iTimer) > 180000){ this.cmdSend(cmdZoneUsersCount); this.iTimer = getTimer(); }; break; }; } public function get prCmd():String{ return (this.iCmd); } public function get prFullOpponentName():String{ return ((this.iOpponentName) ? this.iOpponentName : "..."); } public function get prPlayerID():int{ return (this.playerId); } public function set State(_arg1:int):void{ var aState = _arg1; if ((((aState > stConnectionError)) && (!(this.isConnected)))){ return; }; this.iState = aState; switch (aState){ case stNone: this.iError = null; this.iUsersCount = 0; this.myUserId = -1; this.myUserName = null; this.amIModerator = false; this.playerId = -1; this.activeRoomId = -1; this.Free(); break; case stConnection: try { this.connect(this.iAdress, 9339); this.iConnection = true; } catch(error:Error) { OSystem.iUserText2 = "connect error"; this.State = stConnectionError; }; break; case stLogin: this.login(this.iZoneName, this.iName, this.iPassword); break; case stJoinMainRoom: this.cmdSend(cmdJoinMainRoom); break; case stInZone: this.playerId = -1; this.iOpponentID = -1; this.iOpponentName = null; this.iTimer = getTimer(); this.cmdSend(cmdZoneUsersCount); break; case stJoinGameRoom: this.cmdSend(cmdJoinGameRoom, this.iGRoomParams); break; case stJoinGame: this.cmdSend(cmdJoinGame, this.iGameParams); break; }; } public function cmdSend(_arg1:String, _arg2:Array=null):void{ if (this.iState > stLoginError){ this.sendXtMessage(this.iXTName, _arg1, (_arg2) ? _arg2 : [], "str"); }; } } }//package ENGINE.SMARTFOX
Section 46
//Room (it.gotoandplay.smartfoxserver.data.Room) 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):Object{ return (variables[_arg1]); } public function addUser(_arg1:User, _arg2:int):void{ userList[_arg2] = _arg1; 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 removeUser(_arg1:int):void{ delete userList[_arg1]; userCount--; } public function getMyPlayerIndex():int{ return (this.myPlayerIndex); } public function isPrivate():Boolean{ return (this.priv); } public function getMaxUsers():int{ return (this.maxUsers); } public function getUserList():Array{ return (this.userList); } } }//package it.gotoandplay.smartfoxserver.data
Section 47
//User (it.gotoandplay.smartfoxserver.data.User) 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):Object{ return (this.variables[_arg1]); } public function setVariables(_arg1:Array):void{ this.variables = _arg1; } public function isModerator():Boolean{ return (this.isMod); } } }//package it.gotoandplay.smartfoxserver.data
Section 48
//ExtHandler (it.gotoandplay.smartfoxserver.handlers.ExtHandler) package it.gotoandplay.smartfoxserver.handlers { import it.gotoandplay.smartfoxserver.*; import it.gotoandplay.smartfoxserver.util.*; 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
Section 49
//IMessageHandler (it.gotoandplay.smartfoxserver.handlers.IMessageHandler) package it.gotoandplay.smartfoxserver.handlers { public interface IMessageHandler { function handleMessage(_arg1:Object, _arg2:String):void; } }//package it.gotoandplay.smartfoxserver.handlers
Section 50
//SysHandler (it.gotoandplay.smartfoxserver.handlers.SysHandler) package it.gotoandplay.smartfoxserver.handlers { import it.gotoandplay.smartfoxserver.data.*; import it.gotoandplay.smartfoxserver.*; import it.gotoandplay.smartfoxserver.util.*; 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["rmList"] = this.handleRoomList; handlersTable["uCount"] = this.handleUserCountChange; handlersTable["joinOK"] = this.handleJoinOk; handlersTable["joinKO"] = this.handleJoinKo; handlersTable["uER"] = this.handleUserEnterRoom; handlersTable["userGone"] = this.handleUserLeaverRoom; 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; } 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); } public function handleUserLeaverRoom(_arg1:Object):void{ var _local2:int; var _local3:int; var _local4:Room; var _local5:String; var _local6:Object; var _local7:SFSEvent; _local2 = int(_arg1.body.user.@id); _local3 = int(_arg1.body.@r); _local4 = sfs.getRoom(_local3); _local5 = _local4.getUser(_local2).getName(); _local4.removeUser(_local2); _local6 = {}; _local6.roomId = _local3; _local6.userId = _local2; _local6.userName = _local5; _local7 = new SFSEvent(SFSEvent.onUserLeaveRoom, _local6); sfs.dispatchEvent(_local7); } 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 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); } 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); } 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.variables = {}; _local5 = _arg1.body.b.vs; if (_local5.toString().length > 0){ for each (_local9 in _local5.v) { _local4.variables[_local9.@n.toString()] = _local9.v.toString(); }; }; _local6 = null; _local7 = false; for (_local8 in sfs.buddyList) { _local6 = sfs.buddyList[_local8]; if (_local6.name == _local4.name){ sfs.buddyList[_local8] = _local4; _local7 = true; break; }; }; _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 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 _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; _local7 = new SFSEvent(SFSEvent.onPublicMessage, _local6); sfs.dispatchEvent(_local7); } 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 handleSpectatorSwitched(_arg1:Object):void{ var _local2:int; var _local3:Object; var _local4:SFSEvent; _local2 = int(_arg1.body.rm.@id); sfs.playerId = int(_arg1.body.pid.@id); _local3 = {}; _local3.success = (sfs.playerId > 0); _local3.newId = sfs.playerId; _local3.room = sfs.getRoom(_local2); _local4 = new SFSEvent(SFSEvent.onSpectatorSwitched, _local3); sfs.dispatchEvent(_local4); } 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 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); } public function handleRoomList(_arg1:Object):void{ var _local2:Array; var _local3:XML; var _local4:Object; var _local5:SFSEvent; var _local6:int; var _local7:Room; _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.variables = {}; _local3 = _arg1.body.b.vs; if (_local3.toString().length > 0){ for each (_local6 in _local3.v) { _local2.variables[_local6.@n.toString()] = _local6.v.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] = Boolean(_local7); } else { if (_local6 == "n"){ _arg1[_local5] = Number(_local7); } else { if (_local6 == "s"){ _arg1[_local5] = _local7; } else { if (_local6 == "x"){ delete _arg1[_local5]; }; }; }; }; }; } 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); } 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: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; _local7 = new SFSEvent(SFSEvent.onModeratorMessage, _local6); sfs.dispatchEvent(_local7); } 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); 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 == undefined)) ? -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:Object; var _local4:Object; var _local5:SFSEvent; var _local6:XML; var _local7:XMLList; var _local8:XML; _local2 = _arg1.body.bList; _local4 = {}; _local5 = null; if (((!((_local2 == null))) && (!((_local2.b.length == null))))){ if (_local2.toString().length > 0){ for each (_local6 in _local2.b) { _local3 = {}; _local3.isOnline = ((_local6.@s == "1")) ? true : false; _local3.name = _local6.n.toString(); _local3.id = _local6.@i; _local3.variables = {}; _local7 = _local6.vs; if (_local7.toString().length > 0){ for each (_local8 in _local7.v) { _local3.variables[_local8.@n.toString()] = _local8.v.toString(); }; }; sfs.buddyList.push(_local3); }; }; _local4.list = sfs.buddyList; _local5 = new SFSEvent(SFSEvent.onBuddyList, _local4); sfs.dispatchEvent(_local5); } else { _local4.error = _arg1.body.err.toString(); _local5 = new SFSEvent(SFSEvent.onBuddyListError, _local4); sfs.dispatchEvent(_local5); }; } 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
Section 51
//JSON (it.gotoandplay.smartfoxserver.json.JSON) package it.gotoandplay.smartfoxserver.json { public class JSON { public static function decode(_arg1:String):Object{ var _local2:JSONDecoder; _local2 = new JSONDecoder(_arg1); return (_local2.getObject()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder; _local2 = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package it.gotoandplay.smartfoxserver.json
Section 52
//JSONDecoder (it.gotoandplay.smartfoxserver.json.JSONDecoder) package it.gotoandplay.smartfoxserver.json { public class JSONDecoder { private var tokenizer:JSONTokenizer; private var token:JSONToken; private var obj:Object; public function JSONDecoder(_arg1:String){ tokenizer = new JSONTokenizer(_arg1); nextToken(); obj = parseValue(); } 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); } 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); }; while (true) { 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)); }; }; return (null); } private function parseArray():Array{ var _local1:Array; _local1 = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _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)); }; }; return (null); } public function getObject():Object{ return (obj); } } }//package it.gotoandplay.smartfoxserver.json
Section 53
//JSONEncoder (it.gotoandplay.smartfoxserver.json.JSONEncoder) package it.gotoandplay.smartfoxserver.json { public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1:Object){ 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:Object):String{ if ((_arg1 is String)){ return (escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { 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 _local2:String; var _local3:Object; var _local4:String; _local2 = ""; for (_local4 in _arg1) { _local3 = _arg1[_local4]; if ((_local3 is Function)){ } else { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + ((escapeString(_local4) + ":") + convertToString(_local3))); }; }; return ((("{" + _local2) + "}")); } public function getString():String{ return (jsonString); } } }//package it.gotoandplay.smartfoxserver.json
Section 54
//JSONParseError (it.gotoandplay.smartfoxserver.json.JSONParseError) package it.gotoandplay.smartfoxserver.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 it.gotoandplay.smartfoxserver.json
Section 55
//JSONToken (it.gotoandplay.smartfoxserver.json.JSONToken) package it.gotoandplay.smartfoxserver.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 it.gotoandplay.smartfoxserver.json
Section 56
//JSONTokenizer (it.gotoandplay.smartfoxserver.json.JSONTokenizer) package it.gotoandplay.smartfoxserver.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(); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; _local3 = Number(_local2); if (isFinite(_local3)){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String; _local2 = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } 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 (isSpace(ch)) { nextChar(); }; } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } private function skipIgnored():void{ skipWhite(); skipComments(); skipWhite(); } private function isSpace(_arg1:String):Boolean{ return ((((_arg1 == " ")) || ((_arg1 == "\t")))); } 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 it.gotoandplay.smartfoxserver.json
Section 57
//JSONTokenType (it.gotoandplay.smartfoxserver.json.JSONTokenType) package it.gotoandplay.smartfoxserver.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 it.gotoandplay.smartfoxserver.json
Section 58
//Entities (it.gotoandplay.smartfoxserver.util.Entities) 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 != ";"); _local6 = ascTabRev[_local4]; if (_local6 != null){ _local2 = (_local2 + _local6); } else { _local2 = (_local2 + String.fromCharCode(getCharCode(_local4))); }; } else { _local2 = (_local2 + _local3); }; _local7++; }; trace(((("DECODE: " + _arg1) + ", ") + _local2)); 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[">"] = "&gt;"; ascTab["<"] = "&lt;"; ascTab["&"] = "&amp;"; ascTab["'"] = "&apos;"; ascTab["\""] = "&quot;"; ascTabRev["&gt;"] = ">"; ascTabRev["&lt;"] = "<"; ascTabRev["&amp;"] = "&"; ascTabRev["&apos;"] = "'"; ascTabRev["&quot;"] = "\""; 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
Section 59
//ObjectSerializer (it.gotoandplay.smartfoxserver.util.ObjectSerializer) package it.gotoandplay.smartfoxserver.util { public class ObjectSerializer { private var eof:String; private var debug:Boolean; private var tabs:String; private static var instance:ObjectSerializer; public function ObjectSerializer(_arg1:Boolean=false){ this.tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t"; setDebug(_arg1); } 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); } public static function getInstance(_arg1:Boolean=false):ObjectSerializer{ if (instance == null){ instance = new ObjectSerializer(_arg1); }; return (instance); } } }//package it.gotoandplay.smartfoxserver.util
Section 60
//SFSEvent (it.gotoandplay.smartfoxserver.SFSEvent) package it.gotoandplay.smartfoxserver { import flash.events.*; public class SFSEvent extends Event { public var params:Object; public static const onRoomLeft:String = "onRoomLeft"; public static const onBuddyListUpdate:String = "onBuddyListUpdate"; public static const onUserLeaveRoom:String = "onUserLeaveRoom"; public static const onRoomListUpdate:String = "onRoomListUpdate"; public static const onRoundTripResponse:String = "onRoundTripResponse"; public static const onExtensionResponse:String = "onExtensionResponse"; public static const onConnection:String = "onConnection"; public static const onBuddyListError:String = "onBuddyListError"; public static const onJoinRoom:String = "onJoinRoom"; public static const onUserEnterRoom:String = "onUserEnterRoom"; public static const onBuddyRoom:String = "onBuddyRoom"; 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 onJoinRoomError:String = "onJoinRoomError"; public static const onRoomAdded:String = "onRoomAdded"; public static const onLogin:String = "onLogin"; public static const onSpectatorSwitched:String = "onSpectatorSwitched"; 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 onRandomKey:String = "onRandomKey"; public static const onObjectReceived:String = "onObjectReceived"; 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
Section 61
//SmartFoxClient (it.gotoandplay.smartfoxserver.SmartFoxClient) package it.gotoandplay.smartfoxserver { import flash.events.*; import it.gotoandplay.smartfoxserver.handlers.*; import it.gotoandplay.smartfoxserver.data.*; import it.gotoandplay.smartfoxserver.util.*; import it.gotoandplay.smartfoxserver.json.*; import flash.utils.*; import flash.net.*; public class SmartFoxClient extends EventDispatcher { private var connected:Boolean; private var benchStartTime:int; public var myUserId:int; private var roomList:Array; private var minVersion:Number; public var buddyVars:Array; public var debug:Boolean; private var byteBuffer:ByteArray; private var subVersion:Number; public var buddyList:Array; private var messageHandlers:Array; private var majVersion:Number; private var socketConnection:Socket; private var sysHandler:SysHandler; public var myUserName:String; public var playerId:int; public var amIModerator:Boolean; public var changingRoom:Boolean; private var extHandler:ExtHandler; public var activeRoomId:int; private static const EOM:int = 0; private static const MSG_JSON:String = "{"; public static const XTMSG_TYPE_STR:String = "str"; public static const MODMSG_TO_USER:String = "u"; public static const MODMSG_TO_ZONE:String = "z"; private static const MSG_STR:String = "%"; private static const MSG_XML:String = "<"; public static const XTMSG_TYPE_JSON:String = "json"; public static const XTMSG_TYPE_XML:String = "xml"; public static const MODMSG_TO_ROOM:String = "r"; public function SmartFoxClient(_arg1:Boolean=false){ this.majVersion = 1; this.minVersion = 3; 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(ErrorEvent.ERROR, handleSocketError); socketConnection.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); socketConnection.addEventListener(ProgressEvent.SOCKET_DATA, handleSocketData); socketConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError); byteBuffer = new ByteArray(); } private function getXmlUserVariable(_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); if (_local5 == "boolean"){ _local4 = "b"; _local3 = (_local3) ? "1" : "0"; } else { if (_local5 == "number"){ _local4 = "n"; } else { if (_local5 == "string"){ _local4 = "s"; } else { if (_local5 == "null"){ _local4 = "x"; }; }; }; }; if (_local4 != null){ _local2 = (_local2 + (((((("<var n='" + _local6) + "' t='") + _local4) + "'><![CDATA[") + _local3) + "]]></var>")); }; }; _local2 = (_local2 + "</vars>"); return (_local2); } 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); } public function getBuddyRoom(_arg1:Object):void{ if (_arg1.id != -1){ send({t:"sys", bid:_arg1.id}, "roomB", -1, (("<b id='" + _arg1.id) + "' />")); }; } 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(); }; }; } private function handleSocketError(_arg1:Event):void{ trace("SOCKET ERROR!!!"); } private function getXmlRoomVariable(_arg1:Object):String{ var _local2:String; var _local3:*; var _local4:String; var _local5:String; var _local6:String; _local2 = _arg1.name.toString(); _local3 = _arg1.val.toString(); _local4 = (_arg1.priv) ? "1" : "0"; _local5 = (_arg1.persistent) ? "1" : "0"; _local6 = null; if (typeof(_local3) == "boolean"){ _local6 = "b"; _local3 = (_local3) ? "1" : "0"; } else { if (typeof(_local3) == "number"){ _local6 = "n"; } else { if (typeof(_local3) == "string"){ _local6 = "s"; } else { if (typeof(_local3) == "null"){ _local6 = "x"; }; }; }; }; if (_local6 != null){ return ((((((((((("<var n='" + _local2) + "' t='") + _local6) + "' pr='") + _local4) + "' pe='") + _local5) + "'><![CDATA[") + _local3) + "]]></var>")); }; return (""); } private function handleSocketDisconnection(_arg1:Event):void{ var _local2:SFSEvent; initialize(); _local2 = new SFSEvent(SFSEvent.onConnectionLost, {}); dispatchEvent(_local2); } 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, ""); } 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 { trace("SmartFoxError: requested room to join does not exist!"); }; }; } public function getActiveRoom():Room{ return (roomList[activeRoomId]); } 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); } 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); }; } 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); } public function loadBuddyList():void{ send({t:"sys"}, "loadB", -1, ""); } 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 { trace((("Warning, message handler called: " + _arg1) + " already exist!")); }; } public function getAllRooms():Array{ return (roomList); } 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 (buddyVars[_local4] != _local5){ buddyVars[_local4] = _local5; _local3 = (_local3 + (((("<var n='" + _local4) + "'><![CDATA[") + _local5) + "]]></var>")); }; }; _local3 = (_local3 + "</vars>"); this.send(_local2, "setBvars", -1, _local3); } public function getRoom(_arg1:int):Room{ return (roomList[_arg1]); } private function handleSecurityError(_arg1:Event):void{ trace("SECURITY ERROR!!!"); } private function handleIOError(_arg1:Event):void{ var _local2:SFSEvent; var _local3:Object; if (!connected){ _local3 = {}; _local3.success = false; _local3.error = "I/O Error"; _local2 = new SFSEvent(SFSEvent.onConnection, _local3); dispatchEvent(_local2); } else { trace("I/O Error during connected session"); }; } private function setupMessageHandlers():void{ sysHandler = new SysHandler(this); extHandler = new ExtHandler(this); addMessageHandler("sys", sysHandler); addMessageHandler("xt", extHandler); } public function login(_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 autoJoin():void{ var _local1:Object; _local1 = {t:"sys"}; this.send(_local1, "autoJoin", (this.activeRoomId) ? this.activeRoomId : -1, ""); } 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())); if (this.debug){ trace((("[Sending]: " + _local5) + "\n")); }; writeToSocket(_local5); } public function getRoomList():void{ var _local1:Object; _local1 = {t:"sys"}; send(_local1, "getRmList", activeRoomId, ""); } private function initialize():void{ this.changingRoom = false; this.amIModerator = false; this.playerId = -1; this.connected = false; this.roomList = []; this.buddyList = []; this.buddyVars = []; } public function setRoomVariables(_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 disconnect():void{ socketConnection.close(); connected = false; sysHandler.dispatchDisconnection(); } public function sendJson(_arg1:String):void{ if (this.debug){ trace((("[Sending - JSON]: " + _arg1) + "\n")); }; writeToSocket(_arg1); } private function closeHeader():String{ return ("</msg>"); } 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(); _local5 = _local4.getUser(myUserId); _local6 = getXmlUserVariable(_arg1); send(_local3, "setUvars", _arg2, _local6); } 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 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 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{ if (this.debug){ trace((("[Sending - STR]: " + _arg1) + "\n")); }; 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); }; } private function handleMessage(_arg1:String):void{ var _local2:String; if (this.debug){ trace((((("[ RECEIVED ]: " + _arg1) + ", (len: ") + _arg1.length) + ")")); }; _local2 = _arg1.charAt(0); if (_local2 == MSG_XML){ if ((((_arg1.substr(0, 4) == "<msg")) && (!((_arg1.substr(-6) == "</msg>"))))){ _arg1 = (_arg1 + "</body></msg>"); }; xmlReceived(_arg1); } else { if (_local2 == MSG_STR){ strReceived(_arg1); } else { if (_local2 == MSG_JSON){ jsonReceived(_arg1); }; }; }; } 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 = (((((("%xt%" + _arg1) + "%") + _arg2) + "%") + _arg5) + "%"); _local10 = 0; while (_local10 < _arg3.length) { _local9 = (_local9 + (_arg3[_local10].toString() + "%")); _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); }; }; }; } 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(); } public function sendObjectToGroup(_arg1:Object, _arg2:Array, _arg3:int):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 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); } 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); }; } public function connect(_arg1:String, _arg2:int):void{ if (!connected){ initialize(); socketConnection.connect(_arg1, _arg2); } else { trace("*** ALREADY CONNECTED ***"); }; } public function sendModeratorMessage(_arg1:String, _arg2:int, _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 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 set isConnected(_arg1:Boolean):void{ this.connected = _arg1; } public function get isConnected():Boolean{ return (this.connected); } } }//package it.gotoandplay.smartfoxserver
Section 62
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "2.0.1.0"; public function FlexSprite(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 63
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 64
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function set height(_arg1:Number):void; function get scaleY():Number; function move(_arg1:Number, _arg2:Number):void; function get scaleX():Number; function set mask(_arg1:DisplayObject):void; function set scaleX(_arg1:Number):void; function set name(_arg1:String):void; function set scaleY(_arg1:Number):void; function get visible():Boolean; function get measuredWidth():Number; function set visible(_arg1:Boolean):void; function get alpha():Number; function get height():Number; function get width():Number; function get parent():DisplayObjectContainer; function get mask():DisplayObject; function set x(_arg1:Number):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set y(_arg1:Number):void; function get x():Number; function get y():Number; function set alpha(_arg1:Number):void; } }//package mx.core
Section 65
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function get repeaters():Array; function get instanceIndices():Array; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 66
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 67
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "2.0.1.0"; } }//package mx.core
Section 68
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject { private var _measuredWidth:Number; private var _measuredHeight:Number; mx_internal static const VERSION:String = "2.0.1.0"; public function SpriteAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 69
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import flash.utils.*; import mx.core.*; public class NameUtil { mx_internal static const VERSION:String = "2.0.1.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local3:DisplayObject; var _local4:String; var _local5:Array; _local3 = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ var _local2:String; var _local3:int; var _local4:int; if (!_arg1){ return (null); }; _local2 = getQualifiedClassName(_arg1); _local3 = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; _local4 = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 70
//OWLevelSender (RES.EDITOR.WINDOWS.OWLevelSender) package RES.EDITOR.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import flash.utils.*; import ENGINE.SMARTFOX.*; public class OWLevelSender extends ODialog { private var iDAlpha:Number;// = 0.025 private var iTimer:int; public var iCancel:OButton; private var iInfo:OIObject; public static const stFailedConnect:int = 3; public static const stLevelSent:int = 2; public static const stInitGraphics:int = 0; public static const stConnection:int = 1; public function OWLevelSender(){ iDAlpha = 0.025; super(WellMahjongL.OWLevelSender, ODialog.iDefAnimators); } override public function Init():void{ super.Init(); } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg2 == this.iCancel){ this.prActive = false; this.prVisible = false; return; }; } public function SplashInfoMessage():Boolean{ var _local1:Boolean; _local1 = false; if (this.iInfo.prAnimation){ return (false); }; this.iInfo.alpha = (this.iInfo.alpha + this.iDAlpha); if ((((this.iDAlpha > 0)) && ((this.iInfo.alpha >= 1)))){ this.iInfo.alpha = 1; this.iDAlpha = (this.iDAlpha * -1); }; if ((((this.iDAlpha < 0)) && ((this.iInfo.alpha <= 0)))){ this.iInfo.alpha = 0; this.iDAlpha = (this.iDAlpha * -1); _local1 = true; }; return (_local1); } override public function Free():void{ iCancel.Free(); iCancel = null; super.Free(); } private function AddInfo(_arg1:OIObject, _arg2:Boolean=true):void{ if (this.iInfo){ this.removeChild(this.iInfo); this.iInfo.Free(); this.iInfo = null; }; if (_arg1){ this.iInfo = _arg1; this.iInfo.Pos(((540 - this.iInfo.prWidth) / 2), (136 - (this.iInfo.prHeight / 2))); if (_arg2){ this.iInfo.SetVisible(false); this.iInfo.prVisible = true; }; this.addChild(this.iInfo); }; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; var _local3:Boolean; super.OnEnterFrame(_arg1); switch (this.iState){ case stInitGraphics: if (!this.prAnimation){ this.State = stConnection; }; break; case stConnection: _local2 = getTimer(); _local3 = this.SplashInfoMessage(); if (((((_local2 - this.iTimer) > 10000)) && (_local3))){ this.State = stFailedConnect; }; if (((((_local2 - this.iTimer) > 2000)) && ((WellMahjongL.iMP.State == OMultiplayer.stInZone)))){ this.State = stLevelSent; }; break; }; } override public function set State(_arg1:int):void{ super.State = _arg1; switch (this.iState){ case stConnection: this.iTimer = getTimer(); this.AddInfo(WellMahjongS.ColorText(WellMahjongL.OWSendLevelConnection), true); iInfo.prX = (iInfo.prX + WellMahjongL.OWSendLevelConnection[5]); if (WellMahjongL.iMP.State == OMultiplayer.stInZone){ this.State = stLevelSent; } else { WellMahjongL.iMP.State = OMultiplayer.stNone; WellMahjongL.iMP.Init(WellMahjongL.sDomain, WellMahjongL.sServer, WellMahjongL.sZone, WellMahjongL.sXTName, WellMahjongL.iGAME.prPlayerName); }; break; case stLevelSent: this.AddInfo(WellMahjongS.ColorText(WellMahjongL.OWSendLevelSent), true); if (WellMahjongL.SendLevel != ""){ WellMahjongL.iMP.Turn(["wrf", 1, 1, WellMahjongL.iGAME.prPlayerName, WellMahjongL.SendLevel]); }; break; case stFailedConnect: this.AddInfo(WellMahjongS.ColorText(WellMahjongL.OWSendLevelFailed), true); break; }; } } }//package RES.EDITOR.WINDOWS
Section 71
//OWReader (RES.EDITOR.WINDOWS.OWReader) package RES.EDITOR.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import RES.GAME.*; import RES.EDITOR.*; public class OWReader extends OWindow { public var strTiles:OIObject; public var iWL:OButton; public var iWR:OButton; private var MCells:Array; public var iCount:OCounter; public var iBTest:OButton; private var iField:SEdField; public var iLayer:OCounter; public var iBClose:OButton; public var iResize:OButton; public var strLayer:OIObject; public var iBPublish:OButton; public var iBClear:OButton; private static const st_Resize:int = 0; private static const st_Error:int = 2; private static const st_Clear:int = 1; public function OWReader(){ super(WellMahjongL.OWReaderParam, ODialog.iDefAnimators); } private function showElements(_arg1:Boolean):void{ if (this.iField != null){ this.iField.prVisible = _arg1; }; if (this.iResize != null){ this.iResize.prVisible = _arg1; }; if (this.strLayer != null){ this.strLayer.prVisible = _arg1; }; if (this.iBClear != null){ this.iBClear.prVisible = _arg1; }; if (this.iBPublish != null){ if (_arg1 == true){ if (this.contains(this.iBPublish) == true){ this.removeChild(this.iBPublish); }; this.iBPublish.Free(); this.iBPublish = null; this.iBPublish = WellMahjongS.MakeTextButton(WellMahjongL.OWReaderParam[1]); this.addChild(this.iBPublish); this.iBPublish.alpha = 0; }; this.iBPublish.prVisible = _arg1; }; if (this.iWL != null){ this.iWL.prVisible = _arg1; }; if (this.iLayer != null){ this.iLayer.prVisible = _arg1; }; if (this.iWR != null){ this.iWR.prVisible = _arg1; }; if (this.strTiles != null){ this.strTiles.prVisible = _arg1; }; if (this.iCount != null){ this.iCount.prVisible = _arg1; }; if (this.iBTest != null){ if (_arg1 == true){ if (this.contains(this.iBTest) == true){ this.removeChild(this.iBTest); }; this.iBTest.Free(); this.iBTest = null; this.iBTest = WellMahjongS.MakeTextButton(WellMahjongL.OWReaderParam[2]); this.addChild(this.iBTest); this.iBTest.alpha = 0; }; this.iBTest.prVisible = _arg1; }; if (this.iBClose != null){ this.iBClose.prVisible = _arg1; }; } override public function Init():void{ super.Init(); this.createField(null); this.iLayer.prValue = 0; this.iCount.prValue = 0; } override public function set prActive(_arg1:Boolean):void{ this.showElements(_arg1); super.prActive = _arg1; if ((((this.iState == st_Resize)) && ((_arg1 == true)))){ this.State = this.iState; }; } private function createField(_arg1:Array):void{ if (this.iField != null){ if (this.contains(this.iField) == true){ this.removeChild(this.iField); }; this.iField.Free(); this.iField = null; }; this.iField = new SEdField(WellMahjongL.F_W, WellMahjongL.F_H, WellMahjongL.M_W, WellMahjongL.M_H, _arg1); this.addChild(this.iField); this.setChildIndex(this.iField, 0); this.centrField(); } override public function OnPress(_arg1:Event, _arg2):void{ switch (_arg2){ case this.iBClear: this.State = st_Clear; break; case this.iResize: (this.parent as OWindow).OnPress(null, WellMahjongL.miResize); this.iState = st_Resize; this.prActive = false; break; case this.iBPublish: if (this.iCount.prValue == 0){ return; }; WellMahjongL.SendLevel = getLevel(this.iField.MFishki); if (this.calcError() == true){ (this.parent as OWindow).OnPress(null, WellMahjongL.miPublish); this.prActive = false; } else { this.State = st_Error; return; }; break; case this.iWL: if (this.iLayer.prValue > 0){ this.iLayer.prValue--; this.iField.indexLayer = this.iLayer.prValue; this.centrField(); }; break; case this.iWR: if (this.iLayer.prValue < (this.iField.layerCount - 1)){ this.iLayer.prValue++; this.iField.indexLayer = this.iLayer.prValue; this.centrField(); }; break; case this.iBClose: (this.parent as OWindow).OnPress(null, WellMahjongL.miMenu); this.prActive = false; this.prVisible = false; break; case this.iBTest: if (this.iCount.prValue == 0){ return; }; this.prActive = false; if (this.calcError() == true){ WellMahjongL.TestLevel = getLevel(this.iField.MFishki); (this.parent as OWindow).OnPress(null, WellMahjongL.miTest); } else { this.State = st_Error; return; }; break; }; } override public function Free():void{ super.Free(); } private function calcError():Boolean{ if (this.iCount.prValue == 0){ return (false); }; if ((this.iCount.prValue - (Math.floor((this.iCount.prValue / 2)) * 2)) > 0){ return (false); }; return (true); } private function centrField():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; _local1 = this.iField.RealWidth; _local2 = this.iField.RealHeight; _local3 = (this.iField.dX * this.iLayer.prValue); _local4 = (this.iField.dY * this.iLayer.prValue); this.iField.prX = (((600 - _local1) / 2) + _local3); this.iField.prY = (((600 - _local2) / 2) + _local4); } override public function set State(_arg1:int):void{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; var _local6:int; this.iState = _arg1; switch (this.iState){ case st_Resize: WellMahjongL.OWReaderParam[0][6] = ((WellMahjongL.M_W.toString() + " x ") + WellMahjongL.M_H.toString()); this.removeChild(this.iResize); this.iResize.Free(); this.iResize = null; this.iResize = WellMahjongS.MakeTextButton(WellMahjongL.OWReaderParam[0]); this.addChild(this.iResize); _local2 = this.iField.MFishki; if ((((WellMahjongL.M_W == _local2[0][0].length)) && ((WellMahjongL.M_H == _local2[0].length)))){ return; }; this.State = st_Clear; break; case st_Clear: this.iLayer.prValue = 0; this.iCount.prValue = 0; this.createField(null); break; case st_Error: (this.parent as OWindow).OnPress(null, WellMahjongL.miNeChet); this.prActive = false; break; }; } private static function getLevel(_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:Array; var _local16:Array; _local2 = ""; _local3 = -1; _local4 = -1; _local5 = -1; _local6 = -1; _local7 = -1; _local8 = -1; _local11 = 0; while (_local11 < _arg1.length) { _local9 = 0; while (_local9 < _arg1[0].length) { _local10 = 0; while (_local10 < _arg1[0][0].length) { if (_arg1[_local11][_local9][_local10] == SEdCell.TYPE_NOR){ if (_local3 == -1){ _local3 = _local11; }; if (_local7 == -1){ _local7 = _local9; }; if (_local5 == -1){ _local5 = _local10; }; if (_local11 < _local3){ _local3 = _local11; }; if (_local11 > _local4){ _local4 = _local11; }; if (_local9 < _local7){ _local7 = _local9; }; if (_local9 > _local8){ _local8 = _local9; }; if (_local10 < _local5){ _local5 = _local10; }; if (_local10 > _local6){ _local6 = _local10; }; }; _local10++; }; _local9++; }; _local11++; }; if ((((((((_local5 == -1)) || ((_local6 == -1)))) || ((_local7 == -1)))) || ((_local8 == -1)))){ return (""); }; _local12 = ((_local6 - _local5) + 2); _local13 = ((_local8 - _local7) + 2); _local14 = ((_local4 - _local3) + 1); _local2 = (_local2 + SConvert.getStr(_local12)); _local2 = (_local2 + SConvert.getStr(_local13)); _local2 = (_local2 + SConvert.getStr(_local14)); _local15 = new Array(); _local11 = _local3; while (_local11 <= _local4) { _local9 = _local7; while (_local9 <= _local8) { _local16 = new Array(); _local10 = _local5; while (_local10 <= _local6) { if (_arg1[_local11][_local9][_local10] == SEdCell.TYPE_NOR){ _local16.push((_local10 - _local5)); }; _local10++; }; if (_local16.length > 0){ _local15.push((_local11 - _local3), (_local9 - _local7), _local16.length); _local10 = 0; while (_local10 < _local16.length) { _local15.push(_local16[_local10]); _local10++; }; }; _local9++; }; _local11++; }; _local9 = 0; while (_local9 < _local15.length) { _local2 = (_local2 + SConvert.getStr(_local15[_local9])); _local9++; }; return (_local2); } } }//package RES.EDITOR.WINDOWS
Section 72
//OWResize (RES.EDITOR.WINDOWS.OWResize) package RES.EDITOR.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; public class OWResize extends OWindow { public var iWL:OButton; public var iWR:OButton; public var iHL:OButton; public var iClose:OButton; public var iHR:OButton; public var iWidth:OCounter; public var iHeight:OCounter; public function OWResize(){ super(WellMahjongL.OWResizeParam); } override public function Init():void{ super.Init(); this.iWidth.prValue = WellMahjongL.M_W; this.iHeight.prValue = WellMahjongL.M_H; this.PosCenter(); } override public function OnPress(_arg1:Event, _arg2):void{ switch (_arg2){ case this.iClose: WellMahjongL.M_W = this.iWidth.prValue; WellMahjongL.M_H = this.iHeight.prValue; this.prVisible = false; break; case this.iWL: if (this.iWidth.prValue > 2){ this.iWidth.prValue = (this.iWidth.prValue - 2); }; break; case this.iWR: if (this.iWidth.prValue <= (54 - 2)){ this.iWidth.prValue = (this.iWidth.prValue + 2); }; break; case this.iHL: if (this.iHeight.prValue > 2){ this.iHeight.prValue = (this.iHeight.prValue - 2); }; break; case this.iHR: if (this.iHeight.prValue <= (54 - 2)){ this.iHeight.prValue = (this.iHeight.prValue + 2); }; break; }; } override public function Free():void{ this.iClose = null; super.Free(); } } }//package RES.EDITOR.WINDOWS
Section 73
//SEdCell (RES.EDITOR.SEdCell) package RES.EDITOR { import ENGINE.DISPLAY.*; import flash.display.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; public class SEdCell extends OIObject { private var cellD:OBitmap; private var L:Number; private var cell:OBitmap; private var cellL:OBitmap; private var iLayer:int; private var iCol:int; private var iDrawL:int;// = -1 private var iDrawD:int;// = -1 private var iRow:int; private var SHit:Sprite; public static const DRAW_ALL:int = 2; public static const DRAW_NONE:int = -1; public static const TYPE_FON:int = -1; public static const TYPE_NOR:int = 0; public static const DRAW_0:int = 0; public static const DRAW_1:int = 1; private static var PcCellD_1:OBitmap; private static var PcCellL_0:OBitmap; private static var cL:Number = 0; private static var Asp:Number = 0; private static var PcCellD:OBitmap; private static var PcCellL:OBitmap; private static var PcCellL_1:OBitmap; private static var cCell:OBitmap; private static var PcCellD_0:OBitmap; public function SEdCell(_arg1:Number, _arg2:int, _arg3:int, _arg4:int){ iDrawD = DRAW_NONE; iDrawL = DRAW_NONE; SHit = new Sprite(); this.L = _arg1; this.iLayer = _arg2; this.iRow = _arg3; this.iCol = _arg4; super(null); } public function showFishka(_arg1:Boolean):void{ this.visible = _arg1; } override public function Init():void{ redrawCache(this.L); super.Init(); } public function get Layer():int{ return (this.iLayer); } public function get flagDrawD():int{ return (this.iDrawD); } public function get flagDrawL():int{ return (this.iDrawL); } public function get Col():int{ return (this.iCol); } override public function Free():void{ if (this.cell != null){ if (this.contains(this.cell) == true){ this.removeChild(this.cell); }; this.cell = null; }; if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.removeChild(this.cellL); }; this.cellL = null; }; if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.removeChild(this.cellD); }; this.cellD = null; }; super.Free(); } public function drawD(_arg1:int):void{ if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.removeChild(this.cellD); }; this.cellD = null; }; switch (_arg1){ case DRAW_0: this.cellD = PcCellD_0.Clone(); this.cellD.x = PcCellD_0.x; this.cellD.y = PcCellD_0.y; this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; case DRAW_1: this.cellD = PcCellD_1.Clone(); this.cellD.x = PcCellD_1.x; this.cellD.y = PcCellD_1.y; this.cellD.x = (this.cellD.x + ((this.L * OGlobal.Scale) / 2)); this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; case DRAW_ALL: this.cellD = PcCellD.Clone(); this.cellD.x = PcCellD.x; this.cellD.y = PcCellD.y; this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; case DRAW_NONE: this.iDrawD = _arg1; return; }; this.addChild(this.cellD); this.iDrawD = _arg1; } public function get Row():int{ return (this.iRow); } public function drawL(_arg1:int):void{ if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.removeChild(this.cellL); }; this.cellL = null; }; switch (_arg1){ case DRAW_0: this.cellL = PcCellL_0.Clone(); this.cellL.x = PcCellL_0.x; this.cellL.y = PcCellL_0.y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); break; case DRAW_1: this.cellL = PcCellL_1.Clone(); this.cellL.x = PcCellL_1.x; this.cellL.y = PcCellL_1.y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); this.cellL.y = (this.cellL.y + (((this.L * WellMahjongL.hL) * OGlobal.Scale) / 2)); break; case DRAW_ALL: this.cellL = PcCellL.Clone(); this.cellL.x = PcCellL.x; this.cellL.y = PcCellL.y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); break; case DRAW_NONE: this.iDrawL = _arg1; return; }; this.addChild(this.cellL); this.iDrawL = _arg1; } private function createHitAreaL():void{ if (this.SHit != null){ if (this.contains(this.SHit) == true){ this.removeChild(this.SHit); }; }; this.SHit.graphics.clear(); this.SHit.graphics.beginFill(0); this.SHit.graphics.drawRect(((this.L * WellMahjongL.dLx) * OGlobal.Scale), ((this.L * WellMahjongL.dLy) * OGlobal.Scale), ((this.L * OGlobal.Scale) / 2), (((this.L * WellMahjongL.hL) * OGlobal.Scale) / 2)); this.SHit.graphics.endFill(); this.hitArea = this.SHit; this.SHit.visible = false; this.addChild(this.SHit); } private function createHitAreaAll():void{ if (this.SHit != null){ if (this.contains(this.SHit) == true){ this.removeChild(this.SHit); }; }; this.SHit.graphics.clear(); this.SHit.graphics.beginFill(0); this.SHit.graphics.drawRect(0, 0, (this.L * OGlobal.Scale), ((this.L * WellMahjongL.hL) * OGlobal.Scale)); this.SHit.graphics.endFill(); this.hitArea = this.SHit; this.SHit.visible = false; this.addChild(this.SHit); } override public function set State(_arg1:int):void{ this.iState = _arg1; this.graphics.clear(); if (this.cell != null){ if (this.contains(this.cell) == true){ this.removeChild(this.cell); }; }; if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.removeChild(this.cellL); }; this.cellL = null; this.iDrawL = DRAW_NONE; }; if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.removeChild(this.cellD); }; this.cellD = null; this.iDrawD = DRAW_NONE; }; switch (this.iState){ case TYPE_NOR: this.cell = cCell.Clone(); this.cell.x = cCell.x; this.cell.y = cCell.y; this.addChild(this.cell); this.drawD(DRAW_ALL); this.drawL(DRAW_ALL); this.createHitAreaAll(); break; }; } private static function redrawCache(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Sprite; var _local6:Sprite; var _local7:Sprite; var _local8:Sprite; var _local9:Sprite; var _local10:Sprite; if ((((cL == _arg1)) && ((Asp == OGlobal.Scale)))){ return; }; cL = _arg1; Asp = OGlobal.Scale; _local3 = (cL * WellMahjongL.dLx); _local4 = (cL * WellMahjongL.dLy); _local2 = WellMahjongL.cellFiltrP; cCell = WellMahjongS.Fishka([null, cL, (cL * WellMahjongL.hL), WellMahjongL.cellColor[0], _local2, 0, 0]); _local2 = WellMahjongL.cellDFiltrP; _local5 = new Sprite(); _local5.graphics.beginFill(0); _local5.graphics.moveTo(0, 0); _local5.graphics.lineTo((cL * OGlobal.Scale), 0); _local5.graphics.lineTo(((cL + _local3) * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local5.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local5.graphics.lineTo(0, 0); _local5.graphics.endFill(); PcCellD = WellMahjongS.MakeForm([null, (cL + _local3), _local4, WellMahjongL.cellDColor[0], _local5, _local2, 0, 0]); _local6 = new Sprite(); _local6.graphics.beginFill(0); _local6.graphics.moveTo(0, 0); _local6.graphics.lineTo(((cL * OGlobal.Scale) / 2), 0); _local6.graphics.lineTo(((cL * OGlobal.Scale) / 2), (_local4 * OGlobal.Scale)); _local6.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local6.graphics.lineTo(0, 0); _local6.graphics.endFill(); PcCellD_0 = WellMahjongS.MakeForm([null, (cL / 2), _local4, WellMahjongL.cellDColor[0], _local6, _local2, 0, 0]); _local7 = new Sprite(); _local7.graphics.beginFill(0); _local7.graphics.moveTo(0, 0); _local7.graphics.lineTo(((cL * OGlobal.Scale) / 2), 0); _local7.graphics.lineTo((((cL / 2) + _local3) * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local7.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local7.graphics.lineTo(0, 0); _local7.graphics.endFill(); PcCellD_1 = WellMahjongS.MakeForm([null, ((cL / 2) + _local3), _local4, WellMahjongL.cellDColor[0], _local7, _local2, 0, 0]); _local2 = WellMahjongL.cellLFiltrP; _local8 = new Sprite(); _local8.graphics.beginFill(0); _local8.graphics.moveTo(0, 0); _local8.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local8.graphics.lineTo((_local3 * OGlobal.Scale), ((_local4 + (cL * WellMahjongL.hL)) * OGlobal.Scale)); _local8.graphics.lineTo(0, ((cL * WellMahjongL.hL) * OGlobal.Scale)); _local8.graphics.lineTo(0, 0); _local8.graphics.endFill(); PcCellL = WellMahjongS.MakeForm([null, _local3, ((cL * WellMahjongL.hL) + _local4), WellMahjongL.cellLColor[0], _local8, _local2, 0, 0]); _local9 = new Sprite(); _local9.graphics.beginFill(0); _local9.graphics.moveTo(0, 0); _local9.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local9.graphics.lineTo((_local3 * OGlobal.Scale), (((cL * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local9.graphics.lineTo(0, (((cL * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local9.graphics.lineTo(0, 0); _local9.graphics.endFill(); PcCellL_0 = WellMahjongS.MakeForm([null, _local3, ((cL * WellMahjongL.hL) / 2), WellMahjongL.cellLColor[0], _local9, _local2, 0, 0]); _local10 = new Sprite(); _local10.graphics.beginFill(0); _local10.graphics.moveTo(0, 0); _local10.graphics.lineTo((_local3 * OGlobal.Scale), (_local4 * OGlobal.Scale)); _local10.graphics.lineTo((_local3 * OGlobal.Scale), ((_local4 + ((cL * WellMahjongL.hL) / 2)) * OGlobal.Scale)); _local10.graphics.lineTo(0, (((cL * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local10.graphics.lineTo(0, 0); _local10.graphics.endFill(); PcCellL_1 = WellMahjongS.MakeForm([null, _local3, (((cL * WellMahjongL.hL) / 2) + _local4), WellMahjongL.cellLColor[0], _local10, _local2, 0, 0]); } } }//package RES.EDITOR
Section 74
//SEdField (RES.EDITOR.SEdField) package RES.EDITOR { import ENGINE.DISPLAY.*; import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; import RES.EDITOR.WINDOWS.*; public class SEdField extends OIObject { private const cFragX:int = 5; private const cFragY:int = 5; public var dX:Number; public var dY:Number; private var MKoord:Array; private var iSelect:OSprite; private var selCol:int;// = -1 private var iWidth:Number; private var iHeight:Number; private var iL:Number; private var MCells:Array; private var selLayer:int;// = -1 private var selRow:int;// = -1 private var iGrid:OSprite; private var mGrids:Array; private var MF:Array; private var activeLayer:int;// = 0 public static const stAdd:int = 0; public static const stDelete:int = 1; public function SEdField(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int, _arg5:Array){ var _local6:int; var _local7:int; var _local8:int; var _local9:Array; var _local10:Array; selLayer = -1; selRow = -1; selCol = -1; activeLayer = 0; this.iWidth = _arg1; this.iHeight = _arg2; this.MF = new Array(); if (_arg5 == null){ _local9 = new Array(); _local6 = 0; while (_local6 < _arg4) { _local10 = new Array(); _local7 = 0; while (_local7 < _arg3) { _local10.push(SEdCell.TYPE_FON); _local7++; }; _local9.push(_local10); _local6++; }; this.MF.push(_local9); } else { _local8 = 0; while (_local8 < (_arg5.length + 1)) { _local9 = new Array(); _local6 = 0; while (_local6 < _arg5[0].length) { _local10 = new Array(); _local7 = 0; while (_local7 < _arg5[0][0].length) { if (_local8 < _arg5.length){ _local10.push(_arg5[_local8][_local6][_local7]); } else { _local10.push(SEdCell.TYPE_FON); }; _local7++; }; _local9.push(_local10); _local6++; }; this.MF.push(_local9); _local8++; }; }; super(null); } private function reDrawGrid(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; _local3 = Math.floor((_arg1 / this.cFragX)); _local4 = Math.floor((_arg2 / this.cFragY)); this.drawFragGrid(_local3, _local4); if (_arg1 < (this.MF[0][0].length - 1)){ if (Math.floor(((_arg1 + 1) / this.cFragX)) != _local3){ this.drawFragGrid((_local3 + 1), _local4); }; }; if (_arg2 < (this.MF[0].length - 1)){ if (Math.floor(((_arg2 + 1) / this.cFragY)) != _local4){ this.drawFragGrid(_local3, (_local4 + 1)); }; }; if (_arg1 < (this.MF[0][0].length - 1)){ if (_arg2 < (this.MF[0].length - 1)){ if (((!((Math.floor(((_arg1 + 1) / this.cFragX)) == _local3))) && (!((Math.floor(((_arg2 + 1) / this.cFragY)) == _local4))))){ this.drawFragGrid((_local3 + 1), (_local4 + 1)); }; }; }; } private function drawCellD(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Boolean; var _local9:Boolean; _local8 = false; _local9 = false; _local4 = (_arg3 + 2); if (_local4 < MF[0].length){ _local5 = (_arg2 - 1); _local6 = _arg2; _local7 = (_arg2 + 1); if (_local5 < 0){ _local5 = -1; }; if (_local7 >= MF[0][0].length){ _local7 = -1; }; if (this.MF[_arg1][_local4][_local6] != SEdCell.TYPE_FON){ this.MCells[_arg1][_arg3][_arg2].drawD(SEdCell.DRAW_NONE); return; }; if (_local5 >= 0){ if (this.MF[_arg1][_local4][_local5] == SEdCell.TYPE_FON){ _local8 = true; }; } else { _local8 = true; }; if (_local7 >= 0){ if (this.MF[_arg1][_local4][_local7] == SEdCell.TYPE_FON){ _local9 = true; }; } else { _local9 = true; }; } else { _local8 = true; _local9 = true; }; if ((((_local8 == true)) && ((_local9 == true)))){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SEdCell.DRAW_ALL){ this.MCells[_arg1][_arg3][_arg2].drawD(SEdCell.DRAW_ALL); }; return; }; if ((((_local8 == false)) && ((_local9 == false)))){ this.MCells[_arg1][_arg3][_arg2].drawD(SEdCell.DRAW_NONE); }; if (_local8 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SEdCell.DRAW_0){ this.MCells[_arg1][_arg3][_arg2].drawD(SEdCell.DRAW_0); }; }; if (_local9 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SEdCell.DRAW_1){ this.MCells[_arg1][_arg3][_arg2].drawD(SEdCell.DRAW_1); }; }; } public function get layerCount():int{ return (this.MF.length); } private function drawCellL(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Boolean; var _local9:Boolean; _local8 = false; _local9 = false; _local4 = (_arg2 + 2); if (_local4 < MF[0][0].length){ _local5 = (_arg3 - 1); _local6 = _arg3; _local7 = (_arg3 + 1); if (_local5 < 0){ _local5 = -1; }; if (_local7 >= MF[0].length){ _local7 = -1; }; if (this.MF[_arg1][_local6][_local4] != SEdCell.TYPE_FON){ this.MCells[_arg1][_arg3][_arg2].drawL(SEdCell.DRAW_NONE); return; }; if (_local5 >= 0){ if (this.MF[_arg1][_local5][_local4] == SEdCell.TYPE_FON){ _local8 = true; }; } else { _local8 = true; }; if (_local7 >= 0){ if (this.MF[_arg1][_local7][_local4] == SEdCell.TYPE_FON){ _local9 = true; }; } else { _local9 = true; }; } else { _local8 = true; _local9 = true; }; if ((((_local8 == true)) && ((_local9 == true)))){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SEdCell.DRAW_ALL){ this.MCells[_arg1][_arg3][_arg2].drawL(SEdCell.DRAW_ALL); }; return; }; if ((((_local8 == false)) && ((_local9 == false)))){ this.MCells[_arg1][_arg3][_arg2].drawL(SEdCell.DRAW_NONE); }; if (_local8 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SEdCell.DRAW_0){ this.MCells[_arg1][_arg3][_arg2].drawL(SEdCell.DRAW_0); }; }; if (_local9 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SEdCell.DRAW_1){ this.MCells[_arg1][_arg3][_arg2].drawL(SEdCell.DRAW_1); }; }; } public function get MFishki():Array{ return (this.MF); } private function deleteLayer():void{ this.MF.pop(); this.MKoord.pop(); this.MCells.pop(); } override public function Free():void{ var _local1:int; var _local2:int; var _local3:int; this.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove); this.removeEventListener(MouseEvent.MOUSE_MOVE, this.OnMouseDown); if (this.MF != null){ _local1 = 0; while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] == SEdCell.TYPE_NOR){ if (this.MCells[_local1][_local2][_local3] != null){ if (this.contains(this.MCells[_local1][_local2][_local3]) == true){ this.removeChild(this.MCells[_local1][_local2][_local3]); }; this.MCells[_local1][_local2][_local3].Free(); this.MCells[_local1][_local2][_local3] = null; }; }; _local3++; }; _local2++; }; _local1++; }; }; if (this.contains(this.iGrid) == true){ this.removeChild(this.iGrid); }; if (this.contains(this.iSelect) == true){ this.removeChild(this.iSelect); }; super.Free(); } public function get RealHeight():int{ return ((this.dY + (((this.iL * WellMahjongL.hL) * this.MF[0].length) / 2))); } public function get RealWidth():int{ return ((this.dX + ((this.iL * this.MF[0][0].length) / 2))); } private function drawGrid():void{ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; var _local7:Array; var _local8:OSprite; _local3 = ((this.iL * OGlobal.Scale) / 2); _local4 = (((this.iL * WellMahjongL.hL) * OGlobal.Scale) / 2); _local5 = this.MF[0][0].length; _local6 = this.MF[0].length; this.iGrid.graphics.clear(); this.iGrid.graphics.beginFill(0, 0); this.iGrid.graphics.drawRect(-(_local3), -(_local4), ((_local3 * _local5) + ((2 * _local3) * OGlobal.Scale)), ((_local4 * _local6) + ((2 * _local4) * OGlobal.Scale))); this.iGrid.graphics.endFill(); this.mGrids = new Array(); _local1 = 0; while (_local1 < this.MF[0].length) { _local7 = new Array(); _local2 = 0; while (_local2 < this.MF[0][0].length) { _local8 = new OSprite(); _local7.push(_local8); _local8.Pos(this.MKoord[0][_local1][_local2][0], this.MKoord[0][_local1][_local2][1]); this.iGrid.addChild(_local8); _local2 = (_local2 + this.cFragX); }; this.mGrids.push(_local7); _local1 = (_local1 + this.cFragY); }; _local1 = 0; while (_local1 < this.MF[0].length) { _local2 = 0; while (_local2 < this.MF[0][0].length) { this.reDrawGrid(_local2, _local1); _local2 = (_local2 + this.cFragX); }; _local1 = (_local1 + this.cFragY); }; } private function onMouseMove(_arg1:MouseEvent):void{ var _local2:Number; var _local3:Number; var _local4:int; var _local5:int; var _local6:int; _local2 = this.iGrid.mouseX; _local3 = this.iGrid.mouseY; if ((((_local2 < 0)) || ((_local3 < 0)))){ this.clearSelect(); return; }; _local4 = this.activeLayer; _local5 = ((2 * _local2) / (this.iL * OGlobal.Scale)); _local6 = ((2 * _local3) / ((this.iL * WellMahjongL.hL) * OGlobal.Scale)); if ((((((((_local5 < 0)) || ((_local5 >= (this.MF[0][0].length - 1))))) || ((_local6 < 0)))) || ((_local6 >= (this.MF[0].length - 1))))){ this.clearSelect(); return; }; if ((((((_local4 == this.selLayer)) && ((_local6 == this.selRow)))) && ((_local5 == this.selCol)))){ return; }; if (this.liberty(_local4, _local5, _local6) == false){ this.clearSelect(); return; }; this.calcSelect(_local5, _local6); } override public function Init():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:SEdCell; this.iL = calcL(this.MF.length, this.MF[0][0].length, this.MF[0].length, this.iWidth, this.iHeight); this.dX = (this.iL * WellMahjongL.dLx); this.dY = (this.iL * WellMahjongL.dLy); this.MKoord = this.calcKoord(this.iL, this.MF[0][0].length, this.MF[0].length, this.MF.length); this.MCells = new Array(); _local3 = 0; while (_local3 < this.MF.length) { _local4 = new Array(); _local1 = 0; while (_local1 < this.MF[0].length) { _local5 = new Array(); _local2 = 0; while (_local2 < this.MF[0][0].length) { if (this.MF[_local3][_local1][_local2] == SEdCell.TYPE_NOR){ _local6 = new SEdCell(this.iL, _local3, _local1, _local2); this.addChild(_local6); _local6.Pos(this.MKoord[_local3][_local1][_local2][0], this.MKoord[_local3][_local1][_local2][1]); _local6.State = this.MF[_local3][_local1][_local2]; _local5.push(_local6); } else { _local5.push(null); }; _local2++; }; _local4.push(_local5); _local1++; }; this.MCells.push(_local4); _local3++; }; this.iGrid = new OSprite(); this.iSelect = new OSprite(); this.drawGrid(); this.addChild(this.iSelect); this.addChild(this.iGrid); this.calcGrid(this.activeLayer); super.Init(); this.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove); } private function addLayer():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:Array; var _local7:Array; _local4 = this.MF[0].length; _local5 = this.MF[0][0].length; _local6 = new Array(); _local1 = 0; while (_local1 < _local4) { _local7 = new Array(); _local2 = 0; while (_local2 < _local5) { _local7.push(SEdCell.TYPE_FON); _local2++; }; _local6.push(_local7); _local1++; }; this.MF.push(_local6); _local3 = (this.MF.length - 1); this.MKoord = calcKoord(this.iL, this.MF[0][0].length, this.MF[0].length, this.MF.length); _local6 = new Array(); _local1 = 0; while (_local1 < this.MF[0].length) { _local7 = new Array(); _local2 = 0; while (_local2 < this.MF[0][0].length) { _local7.push(null); _local2++; }; _local6.push(_local7); _local1++; }; this.MCells.push(_local6); } public function sortFishki():void{ var _local1:int; var _local2:int; var _local3:int; _local1 = this.activeLayer; _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] != SEdCell.TYPE_FON){ this.drawCellL(_local1, _local3, _local2); this.drawCellD(_local1, _local3, _local2); }; _local3++; }; _local2++; }; _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] >= 0){ if (this.MCells[_local1][_local2][_local3].parent != null){ this.setChildIndex(this.MCells[_local1][_local2][_local3], (this.numChildren - 1)); }; }; _local3++; }; _local2++; }; _local1 = (this.activeLayer + 1); while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] == SEdCell.TYPE_NOR){ if (this.contains(this.MCells[_local1][_local2][_local3]) == true){ this.removeChild(this.MCells[_local1][_local2][_local3]); }; }; _local3++; }; _local2++; }; _local1++; }; } private function calcGrid(_arg1:int):void{ this.iGrid.Pos((this.MKoord[_arg1][0][0][0] + this.dX), (this.MKoord[_arg1][0][0][1] + this.dY)); this.iSelect.Pos(this.iGrid.prX, this.iGrid.prY); } public function set indexLayer(_arg1:int):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:Boolean; this.setChildIndex(this.iGrid, (this.numChildren - 1)); this.setChildIndex(this.iSelect, (this.numChildren - 1)); if (_arg1 > this.activeLayer){ _local4 = _arg1; _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local4][_local2][_local3] == SEdCell.TYPE_NOR){ if (this.contains(this.MCells[_local4][_local2][_local3]) == false){ this.addChild(this.MCells[_local4][_local2][_local3]); }; }; _local3++; }; _local2++; }; } else { _local4 = this.activeLayer; _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local4][_local2][_local3] == SEdCell.TYPE_NOR){ if (this.contains(this.MCells[_local4][_local2][_local3]) == true){ this.removeChild(this.MCells[_local4][_local2][_local3]); }; }; _local3++; }; _local2++; }; _local5 = false; _local4 = _arg1; while (_local4 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local4][_local2][_local3] != SEdCell.TYPE_FON){ _local5 = true; }; _local3++; }; _local2++; }; _local4++; }; if (_local5 == false){ this.deleteLayer(); }; }; this.activeLayer = _arg1; this.calcGrid(this.activeLayer); this.sortFishki(); _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { this.reDrawGrid(_local3, _local2); _local3 = (_local3 + this.cFragX); }; _local2 = (_local2 + this.cFragY); }; } private function aSEdCell(_arg1:int, _arg2:int, _arg3:int):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; _local5 = (_arg3 - 1); _local6 = _arg3; _local8 = (_arg2 - 1); _local9 = _arg2; if (_local5 < 0){ _local5 = 0; }; if (_local8 < 0){ _local8 = 0; }; if (_local6 > (this.MF[0].length - 1)){ _local6 = (this.MF[0].length - 1); }; if (_local9 > (this.MF[0][0].length - 1)){ _local9 = (this.MF[0][0].length - 1); }; _local4 = _local5; while (_local4 <= _local6) { _local7 = _local8; while (_local7 <= _local9) { if (this.MF[_arg1][_local4][_local7] == SEdCell.TYPE_NOR){ return (true); }; _local7++; }; _local4++; }; return (false); } private function calcFishkiCount():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; _local4 = 0; _local3 = 0; while (_local3 < this.MF.length) { _local1 = 0; while (_local1 < this.MF[0].length) { _local2 = 0; while (_local2 < this.MF[0][0].length) { if (this.MF[_local3][_local1][_local2] == SEdCell.TYPE_NOR){ _local4++; }; _local2++; }; _local1++; }; _local3++; }; if ((this.parent is OWReader)){ (this.parent as OWReader).iCount.prValue = _local4; }; } private function clearSelect():void{ this.iSelect.graphics.clear(); this.selLayer = -1; this.selRow = -1; this.selCol = -1; } private function calcSelect(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:Number; var _local10:Number; _local3 = _arg2; _local4 = (_local3 + 1); _local5 = _arg1; _local6 = (_local5 + 1); if ((((_local4 >= this.MF[0].length)) || ((_local6 >= this.MF[0][0].length)))){ this.selLayer = -1; this.selRow = -1; this.selCol = -1; this.iSelect.graphics.clear(); return; }; this.iSelect.graphics.clear(); this.iSelect.graphics.lineStyle(0, 0xFF); this.iSelect.graphics.beginFill(0xFFFF00); _local9 = ((this.iL * OGlobal.Scale) / 2); _local10 = (((this.iL * WellMahjongL.hL) * OGlobal.Scale) / 2); _local7 = _local3; while (_local7 <= _local4) { _local8 = _local5; while (_local8 <= _local6) { this.iSelect.graphics.drawRect((_local8 * _local9), (_local7 * _local10), _local9, _local10); _local8++; }; _local7++; }; this.iSelect.graphics.endFill(); this.selLayer = this.activeLayer; this.selRow = _arg2; this.selCol = _arg1; } override public function OnMouseDown(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:SEdCell; if ((_arg1.target is SEdCell)){ _local4 = (_arg1.target as SEdCell).Layer; _local3 = (_arg1.target as SEdCell).Row; _local2 = (_arg1.target as SEdCell).Col; if (_local4 != this.activeLayer){ return; }; this.MF[_local4][_local3][_local2] = SEdCell.TYPE_FON; if (this.MCells[_local4][_local3][_local2] != null){ if (this.contains(this.MCells[_local4][_local3][_local2]) == true){ this.removeChild(this.MCells[_local4][_local3][_local2]); }; this.MCells[_local4][_local3][_local2].Free(); this.MCells[_local4][_local3][_local2] = null; }; this.sortFishki(); this.calcFishkiCount(); this.reDrawGrid(_local2, _local3); this.calcSelect(_local2, _local3); if (_local4 == (this.MF.length - 2)){ _local5 = _local4; while (_local5 < this.MF.length) { _local6 = 0; while (_local6 < this.MF[0].length) { _local7 = 0; while (_local7 < this.MF[0][0].length) { if (this.MF[_local5][_local6][_local7] != SEdCell.TYPE_FON){ return; }; _local7++; }; _local6++; }; _local5++; }; this.deleteLayer(); }; return; }; if (this.selLayer > -1){ _local2 = this.selCol; _local3 = this.selRow; _local4 = this.selLayer; this.clearSelect(); _local8 = new SEdCell(this.iL, _local4, _local3, _local2); this.addChild(_local8); _local8.Pos(this.MKoord[_local4][_local3][_local2][0], this.MKoord[_local4][_local3][_local2][1]); this.MF[_local4][_local3][_local2] = SEdCell.TYPE_NOR; _local8.State = this.MF[_local4][_local3][_local2]; this.MCells[_local4][_local3][_local2] = _local8; this.sortFishki(); this.calcFishkiCount(); this.reDrawGrid(_local2, _local3); if (_local4 == (this.MF.length - 1)){ this.addLayer(); }; }; } private function drawFragGrid(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Number; var _local11:Number; _local3 = this.activeLayer; _local4 = (_arg1 * this.cFragX); _local5 = ((_local4 + this.cFragX) - 1); _local6 = (_arg2 * this.cFragY); _local7 = ((_local6 + this.cFragY) - 1); if (_local7 >= this.MF[0].length){ _local7 = (this.MF[0].length - 1); }; if (_local5 >= this.MF[0][0].length){ _local5 = (this.MF[0][0].length - 1); }; _local10 = ((this.iL * OGlobal.Scale) / 2); _local11 = (((this.iL * WellMahjongL.hL) * OGlobal.Scale) / 2); this.mGrids[_arg2][_arg1].graphics.clear(); this.mGrids[_arg2][_arg1].graphics.lineStyle(0, 0xFF); this.mGrids[_arg2][_arg1].graphics.beginFill(0, 0); _local8 = _local6; while (_local8 <= _local7) { _local9 = _local4; while (_local9 <= _local5) { if (this.MF[_local3][_local8][_local9] == SEdCell.TYPE_NOR){ } else { if (_local9 > 0){ //unresolved if } else { if (_local8 > 0){ //unresolved if } else { if ((((_local9 > 0)) && ((_local8 > 0)))){ //unresolved if } else { this.mGrids[_arg2][_arg1].graphics.drawRect(((_local9 - _local4) * _local10), ((_local8 - _local6) * _local11), _local10, _local11); }; }; }; }; _local9++; }; _local8++; }; this.mGrids[_arg2][_arg1].graphics.endFill(); } private function calcKoord(_arg1:Number, _arg2:int, _arg3:int, _arg4:int):Array{ var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Array; _local5 = new Array(); _local8 = 0; while (_local8 < _arg4) { _local11 = new Array(); _local6 = 0; while (_local6 < _arg3) { _local12 = new Array(); _local7 = 0; while (_local7 < _arg2) { _local9 = (((_arg1 * _local7) / 2) - (_local8 * this.dX)); _local10 = ((((_arg1 * WellMahjongL.hL) * _local6) / 2) - (_local8 * this.dY)); _local12.push([_local9, _local10]); _local7++; }; _local11.push(_local12); _local6++; }; _local5.push(_local11); _local8++; }; return (_local5); } private function liberty(_arg1:int, _arg2:int, _arg3:int):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; _local5 = (_arg3 - 1); _local6 = (_arg3 + 1); _local8 = (_arg2 - 1); _local9 = (_arg2 + 1); if (_local5 < 0){ _local5 = 0; }; if (_local8 < 0){ _local8 = 0; }; _local4 = _local5; while (_local4 <= _local6) { _local7 = _local8; while (_local7 <= _local9) { if (this.MF[_arg1][_local4][_local7] == SEdCell.TYPE_NOR){ return (false); }; _local7++; }; _local4++; }; return (true); } private static function calcL(_arg1:int, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number):Number{ var _local6:Number; var _local7:Number; _local7 = (_arg5 / ((_arg1 * WellMahjongL.dLy) + ((_arg3 * WellMahjongL.hL) / 2))); _local6 = (_arg4 / ((_arg1 * WellMahjongL.dLx) + (_arg2 / 2))); if (_local7 < _local6){ return (_local7); }; return (_local6); } } }//package RES.EDITOR
Section 75
//SCell (RES.GAME.SCell) package RES.GAME { import ENGINE.DISPLAY.*; import flash.events.*; import flash.display.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; public class SCell extends OIObject { private var CacheCellL0:Array; private var CacheCellL1:Array; private var L:Number; private var iCol:int; private var iLayer:int; private var iDrawL:int;// = -1 private var iDrawD:int;// = -1 private var iRow:int; private var CacheCellD:Array; private var CacheCellL:Array; private var figr:Sprite; private var CacheSelCell:Array; private var cellD:OBitmap; private var cellL:OBitmap; private var iID:int; private var CacheCellD1:Array; private var signMove:int;// = 1 private var CacheCellD0:Array; private var cell:OBitmap; private var mode:int; private var CacheCell:Array; public static const DRAW_ALL:int = 2; public static const TYPE_FON:int = -2; private static const stNormal:int = 0; public static const TYPE_NOR:int = -1; private static const stSelect:int = 3; private static const stDeselect:int = 4; private static const stHide:int = 1; private static const stInvisible:int = 2; public static const DRAW_NONE:int = -1; public static const DRAW_0:int = 0; public static const DRAW_1:int = 1; private static var CacheOCellD:Array; private static var CacheOCellL_0:Array; private static var CachePCellD:Array; private static var CachePCellL:Array; private static var cLP:Number = 0; private static var cLO:Number = 0; private static var CacheOCell:Array; private static var CachePCell:Array; private static var AspO:Number = 0; private static var AspP:Number = 0; private static var CachePCellD_0:Array; private static var CachePCellD_1:Array; private static var CachePCellL_0:Array; private static var CachePSelCell:Array; private static var CachePCellL_1:Array; private static var CacheOCellD_0:Array; private static var CacheOCellD_1:Array; private static var CacheOSelCell:Array; private static var CacheOCellL:Array; private static var CacheOCellL_1:Array; public function SCell(_arg1:int, _arg2:Number, _arg3:int, _arg4:int, _arg5:int, _arg6:int){ iDrawD = DRAW_NONE; iDrawL = DRAW_NONE; signMove = 1; this.mode = _arg1; this.L = _arg2; this.iLayer = _arg3; this.iRow = _arg4; this.iCol = _arg5; this.iID = _arg6; switch (this.mode){ case WellMahjongL.MODE_PLAYER: CacheCell = CachePCell; CacheSelCell = CachePSelCell; CacheCellD = CachePCellD; CacheCellD0 = CachePCellD_0; CacheCellD1 = CachePCellD_1; CacheCellL = CachePCellL; CacheCellL0 = CachePCellL_0; CacheCellL1 = CachePCellL_1; break; case WellMahjongL.MODE_OPPONENT: CacheCell = CacheOCell; CacheSelCell = CacheOSelCell; CacheCellD = CacheOCellD; CacheCellD0 = CacheOCellD_0; CacheCellD1 = CacheOCellD_1; CacheCellL = CacheOCellL; CacheCellL0 = CacheOCellL_0; CacheCellL1 = CacheOCellL_1; break; }; super(null); } private function createHitArea():void{ var _local1:Sprite; _local1 = new Sprite(); _local1.graphics.beginFill(0); _local1.graphics.drawRect(0, 0, (this.L * OGlobal.Scale), ((this.L * WellMahjongL.hL) * OGlobal.Scale)); _local1.graphics.endFill(); this.hitArea = _local1; _local1.visible = false; this.addChild(_local1); } private function sortBitmap():void{ if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.setChildIndex(this.cellL, (this.numChildren - 1)); }; }; if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.setChildIndex(this.cellD, (this.numChildren - 1)); }; }; if (this.figr != null){ if (this.contains(this.figr) == true){ this.setChildIndex(this.figr, (this.numChildren - 1)); }; }; } override public function Free():void{ this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); if (this.cell != null){ if (this.contains(this.cell) == true){ this.removeChild(this.cell); }; this.cell = null; }; if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.removeChild(this.cellL); }; this.cellL = null; }; if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.removeChild(this.cellD); }; this.cellD = null; }; super.Free(); } public function moveHide(_arg1:Boolean):void{ this.removeEventListener(MouseEvent.MOUSE_DOWN, this.OnMouseDown); if (_arg1 == true){ this.signMove = 1; } else { this.signMove = -1; }; this.State = stHide; } public function useHand():void{ if (this.mode == WellMahjongL.MODE_PLAYER){ this.buttonMode = true; this.focusRect = null; this.useHandCursor; }; } private function onEnterFrame(_arg1:Event):void{ this.prX = (this.prX + ((WellMahjongL.dXHide * this.L) * this.signMove)); this.alpha = (this.alpha - WellMahjongL.tHide); if (this.alpha <= 0){ this.State = stInvisible; }; } override public function set State(_arg1:int):void{ this.iState = _arg1; switch (this.iState){ case stHide: this.buttonMode = false; this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame); break; case stInvisible: this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); if ((this.parent is SField)){ (this.parent as SField).deleteFishka(this.iLayer, this.iCol, this.iRow); }; break; case stSelect: if (this.cell != null){ if (this.contains(this.cell) == true){ this.removeChild(this.cell); }; this.cell = null; }; this.cell = this.CacheSelCell[this.iLayer].Clone(); this.cell.x = this.CacheSelCell[this.iLayer].x; this.cell.y = this.CacheSelCell[this.iLayer].y; this.addChild(this.cell); this.sortBitmap(); break; case stDeselect: if (this.cell != null){ if (this.contains(this.cell) == true){ this.removeChild(this.cell); }; this.cell = null; }; this.cell = this.CacheCell[this.iLayer].Clone(); this.cell.x = this.CacheCell[this.iLayer].x; this.cell.y = this.CacheCell[this.iLayer].y; this.addChild(this.cell); this.sortBitmap(); break; }; } public function select(_arg1:Boolean):void{ if (_arg1 == true){ this.State = stSelect; } else { this.State = stDeselect; }; } public function showFishka(_arg1:Boolean):void{ this.cell.visible = _arg1; if (this.figr != null){ this.figr.visible = _arg1; }; } override public function Init():void{ var _local1:Number; this.cell = this.CacheCell[this.iLayer].Clone(); this.cell.x = this.CacheCell[this.iLayer].x; this.cell.y = this.CacheCell[this.iLayer].y; this.addChild(this.cell); if (this.mode == WellMahjongL.MODE_PLAYER){ this.figr = new (WellMahjongL.FIGURES[this.iID]); _local1 = ((this.L * OGlobal.Scale) / this.figr.width); this.figr.width = (this.figr.width * _local1); this.figr.height = (this.figr.height * _local1); this.addChild(this.figr); }; this.createHitArea(); this.iState = stNormal; super.Init(); if (this.mode == WellMahjongL.MODE_OPPONENT){ this.removeEventListener(MouseEvent.MOUSE_DOWN, this.OnMouseDown); }; } public function get flagDrawD():int{ return (this.iDrawD); } public function get flagDrawL():int{ return (this.iDrawL); } public function drawD(_arg1:int):void{ if (this.cellD != null){ if (this.contains(this.cellD) == true){ this.removeChild(this.cellD); }; this.cellD = null; }; switch (_arg1){ case DRAW_0: this.cellD = this.CacheCellD0[this.iLayer].Clone(); this.cellD.x = this.CacheCellD0[this.iLayer].x; this.cellD.y = this.CacheCellD0[this.iLayer].y; this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; case DRAW_1: this.cellD = this.CacheCellD1[this.iLayer].Clone(); this.cellD.x = this.CacheCellD1[this.iLayer].x; this.cellD.y = this.CacheCellD1[this.iLayer].y; this.cellD.x = (this.cellD.x + ((this.L * OGlobal.Scale) / 2)); this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; case DRAW_ALL: this.cellD = this.CacheCellD[this.iLayer].Clone(); this.cellD.x = this.CacheCellD[this.iLayer].x; this.cellD.y = this.CacheCellD[this.iLayer].y; this.cellD.y = (this.cellD.y + ((this.L * WellMahjongL.hL) * OGlobal.Scale)); break; }; this.addChild(this.cellD); this.iDrawD = _arg1; } public function drawL(_arg1:int):void{ if (this.cellL != null){ if (this.contains(this.cellL) == true){ this.removeChild(this.cellL); }; this.cellL = null; }; switch (_arg1){ case DRAW_0: this.cellL = this.CacheCellL0[this.iLayer].Clone(); this.cellL.x = this.CacheCellL0[this.iLayer].x; this.cellL.y = this.CacheCellL0[this.iLayer].y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); break; case DRAW_1: this.cellL = this.CacheCellL1[this.iLayer].Clone(); this.cellL.x = this.CacheCellL1[this.iLayer].x; this.cellL.y = this.CacheCellL1[this.iLayer].y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); this.cellL.y = (this.cellL.y + (((this.L * WellMahjongL.hL) * OGlobal.Scale) / 2)); break; case DRAW_ALL: this.cellL = this.CacheCellL[this.iLayer].Clone(); this.cellL.x = this.CacheCellL[this.iLayer].x; this.cellL.y = this.CacheCellL[this.iLayer].y; this.cellL.x = (this.cellL.x + (this.L * OGlobal.Scale)); break; }; this.addChild(this.cellL); this.iDrawL = _arg1; } override public function OnMouseDown(_arg1:MouseEvent):void{ if ((this.parent is SField)){ (this.parent as SField).clickFishka(this.iLayer, this.iCol, this.iRow); }; super.OnMouseDown(_arg1); } public static function redrawCache(_arg1:Number, _arg2:int, _arg3:int):void{ var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:Array; var _local12:int; var _local13:OBitmap; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Sprite; var _local21:Sprite; var _local22:Sprite; var _local23:Sprite; var _local24:Sprite; var _local25:Sprite; switch (_arg2){ case WellMahjongL.MODE_PLAYER: CachePCell = new Array(); CachePSelCell = new Array(); CachePCellD = new Array(); CachePCellD_0 = new Array(); CachePCellD_1 = new Array(); CachePCellL = new Array(); CachePCellL_0 = new Array(); CachePCellL_1 = new Array(); _local4 = CachePCell; _local5 = CachePSelCell; _local9 = CachePCellD; _local10 = CachePCellD_0; _local11 = CachePCellD_1; _local6 = CachePCellL; _local7 = CachePCellL_0; _local8 = CachePCellL_1; _local14 = WellMahjongL.cellFiltrP; _local16 = WellMahjongL.cellDFiltrP; _local15 = WellMahjongL.cellLFiltrP; break; case WellMahjongL.MODE_OPPONENT: CacheOCell = new Array(); CacheOSelCell = new Array(); CacheOCellD = new Array(); CacheOCellD_0 = new Array(); CacheOCellD_1 = new Array(); CacheOCellL = new Array(); CacheOCellL_0 = new Array(); CacheOCellL_1 = new Array(); _local4 = CacheOCell; _local5 = CacheOSelCell; _local9 = CacheOCellD; _local10 = CacheOCellD_0; _local11 = CacheOCellD_1; _local6 = CacheOCellL; _local7 = CacheOCellL_0; _local8 = CacheOCellL_1; _local14 = WellMahjongL.cellFiltrO; _local16 = WellMahjongL.cellDFiltrO; _local15 = WellMahjongL.cellLFiltrO; break; }; _local18 = (_arg1 * WellMahjongL.dLx); _local19 = (_arg1 * WellMahjongL.dLy); _local12 = 0; while (_local12 < _arg3) { _local13 = WellMahjongS.Fishka([null, _arg1, (_arg1 * WellMahjongL.hL), WellMahjongL.cellColor[_local12], _local14, 0, 0]); _local4.push(_local13); _local13 = WellMahjongS.Fishka([null, _arg1, (_arg1 * WellMahjongL.hL), WellMahjongL.selColor[_local12], _local14, 0, 0]); _local5.push(_local13); _local20 = new Sprite(); _local20.graphics.beginFill(0); _local20.graphics.moveTo(0, 0); _local20.graphics.lineTo((_arg1 * OGlobal.Scale), 0); _local20.graphics.lineTo(((_arg1 + _local18) * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local20.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local20.graphics.lineTo(0, 0); _local20.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, (_arg1 + _local18), _local19, WellMahjongL.cellDColor[_local12], _local20, _local16, 0, 0]); _local9.push(_local13); _local21 = new Sprite(); _local21.graphics.beginFill(0); _local21.graphics.moveTo(0, 0); _local21.graphics.lineTo(((_arg1 * OGlobal.Scale) / 2), 0); _local21.graphics.lineTo(((_arg1 * OGlobal.Scale) / 2), (_local19 * OGlobal.Scale)); _local21.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local21.graphics.lineTo(0, 0); _local21.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, (_arg1 / 2), _local19, WellMahjongL.cellDColor[_local12], _local21, _local16, 0, 0]); _local10.push(_local13); _local22 = new Sprite(); _local22.graphics.beginFill(0); _local22.graphics.moveTo(0, 0); _local22.graphics.lineTo(((_arg1 * OGlobal.Scale) / 2), 0); _local22.graphics.lineTo((((_arg1 / 2) + _local18) * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local22.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local22.graphics.lineTo(0, 0); _local22.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, ((_arg1 / 2) + _local18), _local19, WellMahjongL.cellDColor[_local12], _local22, _local16, 0, 0]); _local11.push(_local13); _local23 = new Sprite(); _local23.graphics.beginFill(0); _local23.graphics.moveTo(0, 0); _local23.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local23.graphics.lineTo((_local18 * OGlobal.Scale), ((_local19 + (_arg1 * WellMahjongL.hL)) * OGlobal.Scale)); _local23.graphics.lineTo(0, ((_arg1 * WellMahjongL.hL) * OGlobal.Scale)); _local23.graphics.lineTo(0, 0); _local23.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, _local18, ((_arg1 * WellMahjongL.hL) + _local19), WellMahjongL.cellLColor[_local12], _local23, _local15, 0, 0]); _local6.push(_local13); _local24 = new Sprite(); _local24.graphics.beginFill(0); _local24.graphics.moveTo(0, 0); _local24.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local24.graphics.lineTo((_local18 * OGlobal.Scale), (((_arg1 * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local24.graphics.lineTo(0, (((_arg1 * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local24.graphics.lineTo(0, 0); _local24.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, _local18, ((_arg1 * WellMahjongL.hL) / 2), WellMahjongL.cellLColor[_local12], _local24, _local15, 0, 0]); _local7.push(_local13); _local25 = new Sprite(); _local25.graphics.beginFill(0); _local25.graphics.moveTo(0, 0); _local25.graphics.lineTo((_local18 * OGlobal.Scale), (_local19 * OGlobal.Scale)); _local25.graphics.lineTo((_local18 * OGlobal.Scale), ((_local19 + ((_arg1 * WellMahjongL.hL) / 2)) * OGlobal.Scale)); _local25.graphics.lineTo(0, (((_arg1 * WellMahjongL.hL) * OGlobal.Scale) / 2)); _local25.graphics.lineTo(0, 0); _local25.graphics.endFill(); _local13 = WellMahjongS.MakeForm([null, _local18, (((_arg1 * WellMahjongL.hL) / 2) + _local19), WellMahjongL.cellLColor[_local12], _local25, _local15, 0, 0]); _local8.push(_local13); _local12++; }; } } }//package RES.GAME
Section 76
//SConvert (RES.GAME.SConvert) package RES.GAME { public class SConvert { private static var RecC:Array = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U"]; public static function LevelsToArray(_arg1:Array):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:Array; var _local16:Array; _local2 = new Array(); _local6 = _arg1[0][0]; _local7 = _arg1[0][1]; _local8 = (_arg1.length - 1); _local13 = _arg1[1][0][1][0]; _local14 = _arg1[1][0][0]; _local5 = 1; while (_local5 <= _local8) { _local9 = _arg1[_local5].length; _local3 = 0; while (_local3 < _local9) { _local10 = _arg1[_local5][_local3][0]; if (_local10 < _local14){ _local14 = _local10; }; _local11 = _arg1[_local5][_local3][1].length; _local4 = 0; while (_local4 < _local11) { if (_arg1[_local5][_local3][1][_local4] < _local13){ _local13 = _arg1[_local5][_local3][1][_local4]; }; _local4++; }; _local3++; }; _local5++; }; _local5 = 0; while (_local5 < _local8) { _local15 = new Array(); _local3 = 0; while (_local3 < _local7) { _local16 = new Array(); _local4 = 0; while (_local4 < _local6) { _local16.push(SCell.TYPE_FON); _local4++; }; _local15.push(_local16); _local3++; }; _local2.push(_local15); _local5++; }; _local5 = 1; while (_local5 <= _local8) { _local9 = _arg1[_local5].length; _local3 = 0; while (_local3 < _local9) { _local10 = (_arg1[_local5][_local3][0] - _local14); _local11 = _arg1[_local5][_local3][1].length; _local4 = 0; while (_local4 < _local11) { _local12 = (_arg1[_local5][_local3][1][_local4] - _local14); _local2[(_local5 - 1)][_local10][_local12] = SCell.TYPE_NOR; _local4++; }; _local3++; }; _local5++; }; return (_local2); } public static function calcTime(_arg1:int):String{ var _local2:int; var _local3:String; var _local4:int; var _local5:int; _local2 = Math.floor((_arg1 / 10)); _local4 = Math.floor((_local2 / 50)); _local5 = (_local2 - (_local4 * 50)); if (_local2 > (50 * 50)){ _local3 = (getStr(50) + getStr(50)); } else { _local3 = (getStr(_local4) + getStr(_local5)); }; return (_local3); } public static function calcIntTime(_arg1:String):int{ var _local2:int; _local2 = ((getNumber(_arg1.charAt(0)) * 50) + getNumber(_arg1.charAt(1))); return ((_local2 * 10)); } public static function createLevel(_arg1:String):Array{ var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:Array; _local5 = new Array(); _local9 = 0; _local6 = SConvert.getNumber(_arg1.charAt(0)); _local7 = SConvert.getNumber(_arg1.charAt(1)); _local8 = SConvert.getNumber(_arg1.charAt(2)); _local4 = 0; while (_local4 < _local8) { _local10 = new Array(); _local2 = 0; while (_local2 < _local7) { _local11 = new Array(); _local3 = 0; while (_local3 < _local6) { _local11.push(SCell.TYPE_FON); _local3++; }; _local10.push(_local11); _local2++; }; _local5.push(_local10); _local4++; }; _local9 = 3; while (_local9 < _arg1.length) { _local8 = SConvert.getNumber(_arg1.charAt(_local9)); _local9++; _local7 = SConvert.getNumber(_arg1.charAt(_local9)); _local9++; _local6 = SConvert.getNumber(_arg1.charAt(_local9)); _local9++; _local2 = 0; while (_local2 < _local6) { _local3 = SConvert.getNumber(_arg1.charAt(_local9)); _local9++; _local5[_local8][_local7][_local3] = SCell.TYPE_NOR; _local2++; }; --_local9; _local9++; }; return (_local5); } public static function getStr(_arg1:int):String{ if (_arg1 >= 0){ return (RecC[_arg1]); }; switch (_arg1){ case -1: return ("V"); case -2: return ("W"); case -3: return ("X"); case -4: return ("Y"); case -5: return ("Z"); }; return (null); } public static function LevelsToArrayEditor(_arg1:Array, _arg2:int, _arg3:int):Array{ var _local4:Array; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local16:int; var _local17:Array; var _local18:Array; _local4 = new Array(); _local8 = _arg1[0][0]; _local9 = _arg1[0][1]; _local10 = (_arg1.length - 1); _local15 = _arg1[1][0][1][0]; _local16 = _arg1[1][0][0]; _local7 = 1; while (_local7 <= _local10) { _local11 = _arg1[_local7].length; _local5 = 0; while (_local5 < _local11) { _local12 = _arg1[_local7][_local5][0]; if (_local12 < _local16){ _local16 = _local12; }; _local13 = _arg1[_local7][_local5][1].length; _local6 = 0; while (_local6 < _local13) { if (_arg1[_local7][_local5][1][_local6] < _local15){ _local15 = _arg1[_local7][_local5][1][_local6]; }; _local6++; }; _local5++; }; _local7++; }; _local7 = 0; while (_local7 < _local10) { _local17 = new Array(); _local5 = 0; while (_local5 < (_local9 + (_arg3 * 2))) { _local18 = new Array(); _local6 = 0; while (_local6 < (_local8 + (_arg2 * 2))) { _local18.push(SCell.TYPE_FON); _local6++; }; _local17.push(_local18); _local5++; }; _local4.push(_local17); _local7++; }; _local7 = 1; while (_local7 <= _local10) { _local11 = _arg1[_local7].length; _local5 = 0; while (_local5 < _local11) { _local12 = (_arg1[_local7][_local5][0] - _local16); _local13 = _arg1[_local7][_local5][1].length; _local6 = 0; while (_local6 < _local13) { _local14 = (_arg1[_local7][_local5][1][_local6] - _local16); _local4[(_local7 - 1)][(_local12 + _arg3)][(_local14 + _arg2)] = SCell.TYPE_NOR; _local6++; }; _local5++; }; _local7++; }; return (_local4); } public static function IntToStr(_arg1:int):String{ return (getStr(_arg1)); } public static function getNumber(_arg1:String):int{ var _local2:int; switch (_arg1){ case "V": _local2 = -1; break; case "W": _local2 = -2; break; case "X": _local2 = -3; break; case "Y": _local2 = -4; break; case "Z": _local2 = -5; break; case "0": _local2 = 0; break; case "1": _local2 = 1; break; case "2": _local2 = 2; break; case "3": _local2 = 3; break; case "4": _local2 = 4; break; case "5": _local2 = 5; break; case "6": _local2 = 6; break; case "7": _local2 = 7; break; case "8": _local2 = 8; break; case "9": _local2 = 9; break; case "a": _local2 = 10; break; case "b": _local2 = 11; break; case "c": _local2 = 12; break; case "d": _local2 = 13; break; case "e": _local2 = 14; break; case "f": _local2 = 15; break; case "g": _local2 = 16; break; case "h": _local2 = 17; break; case "i": _local2 = 18; break; case "j": _local2 = 19; break; case "k": _local2 = 20; break; case "l": _local2 = 21; break; case "m": _local2 = 22; break; case "n": _local2 = 23; break; case "o": _local2 = 24; break; case "p": _local2 = 25; break; case "q": _local2 = 26; break; case "r": _local2 = 27; break; case "s": _local2 = 28; break; case "t": _local2 = 29; break; case "u": _local2 = 30; break; case "v": _local2 = 31; break; case "w": _local2 = 32; break; case "x": _local2 = 33; break; case "y": _local2 = 34; break; case "z": _local2 = 35; break; case "A": _local2 = 36; break; case "B": _local2 = 37; break; case "C": _local2 = 38; break; case "D": _local2 = 39; break; case "E": _local2 = 40; break; case "F": _local2 = 41; break; case "G": _local2 = 42; break; case "H": _local2 = 43; break; case "I": _local2 = 44; break; case "J": _local2 = 45; break; case "K": _local2 = 46; break; case "L": _local2 = 47; break; case "M": _local2 = 48; break; case "N": _local2 = 49; break; case "O": _local2 = 50; break; case "P": _local2 = 51; break; case "Q": _local2 = 52; break; case "R": _local2 = 53; break; case "S": _local2 = 54; break; case "T": _local2 = 55; break; case "U": _local2 = 56; break; }; return (_local2); } } }//package RES.GAME
Section 77
//SField (RES.GAME.SField) package RES.GAME { import ENGINE.DISPLAY.*; import flash.events.*; import flash.geom.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; import flash.utils.*; import RES.WINDOWS.*; import RES.OBJECTS.*; public class SField extends OIObject { private var HintZ1:int; private var HintZ2:int; private var MKoord:Array; private var iDelScore:Array; private var iWidth:Number; private var iHeight:Number; private var iL:Number; private var MCells:Array; private var sign_blick:int; private var iPause:Boolean; private var c_blick:int; private var selX:int; private var selZ:int; private var selY:int; private var sRec:String; private var iTimerR:int; private var iRazbor:Boolean; private var iTimerNoMoves:int; private var iTimerScore:int; private var MF:Array; private var mode:int; private var iScore:int; private var HintX1:int; private var HintX2:int; private var playHint:Boolean; private var HintY1:int; private var HintY2:int; private var iHods:Array; private static const stNoMovedComp:int = 4; private static const stHint:int = 1; private static const stPauseNoMoves:int = 2; private static const stNoMoved:int = 3; private static const stPlay:int = 0; private static var iGroup:Array; private static var iOnes:Array; public function SField(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Array, _arg5:int, _arg6:Boolean){ this.mode = _arg1; this.iWidth = _arg2; this.iHeight = _arg3; this.MF = _arg4; this.iScore = _arg5; this.iTimerScore = getTimer(); this.iPause = false; this.playHint = false; this.iRazbor = _arg6; super(null); } public function startHint():void{ var _local1:Array; var _local2:int; _local1 = this.getSokr(); if (this.mode == WellMahjongL.MODE_PLAYER){ if (this.playHint == true){ stopHint(); }; if (_local1.length == 0){ return; }; _local2 = Math.floor((Math.random() * _local1.length)); if (_local2 >= _local1.length){ _local2 = (_local1.length - 1); }; this.HintX1 = _local1[_local2][0][1]; this.HintY1 = _local1[_local2][0][2]; this.HintZ1 = _local1[_local2][0][0]; this.HintX2 = _local1[_local2][1][1]; this.HintY2 = _local1[_local2][1][2]; this.HintZ2 = _local1[_local2][1][0]; this.playHint = true; this.c_blick = 0; this.sign_blick = -1; this.addEventListener(Event.ENTER_FRAME, this.onEnterFrameHint); this.getRec(-1, -1, -1); }; this.iState = stHint; this.calcScore(); this.iState = stPlay; } private function calcSize():Rectangle{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Boolean; var _local9:Rectangle; _local8 = false; _local1 = 0; while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] >= 0){ if (_local8 == false){ _local4 = this.MKoord[_local1][_local2][_local3][0]; _local5 = this.MKoord[_local1][_local2][_local3][1]; _local6 = this.MKoord[_local1][_local2][_local3][0]; _local7 = this.MKoord[_local1][_local2][_local3][1]; _local8 = true; }; if (this.MKoord[_local1][_local2][_local3][0] < _local4){ _local4 = this.MKoord[_local1][_local2][_local3][0]; }; if (this.MKoord[_local1][_local2][_local3][1] < _local5){ _local5 = this.MKoord[_local1][_local2][_local3][1]; }; if (this.MKoord[_local1][_local2][_local3][0] > _local6){ _local6 = this.MKoord[_local1][_local2][_local3][0]; }; if (this.MKoord[_local1][_local2][_local3][1] > _local7){ _local7 = this.MKoord[_local1][_local2][_local3][1]; }; }; _local3++; }; _local2++; }; _local1++; }; _local6 = (_local6 + (this.iL + (this.iL * WellMahjongL.dLx))); _local7 = (_local7 + ((this.iL * WellMahjongL.hL) + (this.iL * WellMahjongL.dLy))); _local9 = new Rectangle(); _local9.left = _local4; _local9.right = _local6; _local9.top = _local5; _local9.bottom = _local7; return (_local9); } public function koordCell(_arg1:int, _arg2:int, _arg3:int):Point{ return (new Point(this.MKoord[_arg1][_arg3][_arg2][0], this.MKoord[_arg1][_arg3][_arg2][1])); } public function get Hods():Array{ return (this.iHods); } private function drawCellD(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Boolean; var _local9:Boolean; _local8 = false; _local9 = false; _local4 = (_arg3 + 2); if (_local4 < MF[0].length){ _local5 = (_arg2 - 1); _local6 = _arg2; _local7 = (_arg2 + 1); if (_local5 < 0){ _local5 = -1; }; if (_local7 >= MF[0][0].length){ _local7 = -1; }; if (this.MF[_arg1][_local4][_local6] != SCell.TYPE_FON){ return; }; if (_local5 >= 0){ if (this.MF[_arg1][_local4][_local5] == SCell.TYPE_FON){ _local8 = true; }; } else { _local8 = true; }; if (_local7 >= 0){ if (this.MF[_arg1][_local4][_local7] == SCell.TYPE_FON){ _local9 = true; }; } else { _local9 = true; }; } else { _local8 = true; _local9 = true; }; if ((((_local8 == true)) && ((_local9 == true)))){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SCell.DRAW_ALL){ this.MCells[_arg1][_arg3][_arg2].drawD(SCell.DRAW_ALL); }; return; }; if (_local8 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SCell.DRAW_0){ this.MCells[_arg1][_arg3][_arg2].drawD(SCell.DRAW_0); }; }; if (_local9 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawD != SCell.DRAW_1){ this.MCells[_arg1][_arg3][_arg2].drawD(SCell.DRAW_1); }; }; } private function drawCellL(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Boolean; var _local9:Boolean; _local8 = false; _local9 = false; _local4 = (_arg2 + 2); if (_local4 < MF[0][0].length){ _local5 = (_arg3 - 1); _local6 = _arg3; _local7 = (_arg3 + 1); if (_local5 < 0){ _local5 = -1; }; if (_local7 >= MF[0].length){ _local7 = -1; }; if (this.MF[_arg1][_local6][_local4] != SCell.TYPE_FON){ return; }; if (_local5 >= 0){ if (this.MF[_arg1][_local5][_local4] == SCell.TYPE_FON){ _local8 = true; }; } else { _local8 = true; }; if (_local7 >= 0){ if (this.MF[_arg1][_local7][_local4] == SCell.TYPE_FON){ _local9 = true; }; } else { _local9 = true; }; } else { _local8 = true; _local9 = true; }; if ((((_local8 == true)) && ((_local9 == true)))){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SCell.DRAW_ALL){ this.MCells[_arg1][_arg3][_arg2].drawL(SCell.DRAW_ALL); }; return; }; if (_local8 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SCell.DRAW_0){ this.MCells[_arg1][_arg3][_arg2].drawL(SCell.DRAW_0); }; }; if (_local9 == true){ if (this.MCells[_arg1][_arg3][_arg2].flagDrawL != SCell.DRAW_1){ this.MCells[_arg1][_arg3][_arg2].drawL(SCell.DRAW_1); }; }; } public function get Rec():String{ return (this.sRec); } private function onEnterFrameNotMoves(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Boolean; var _local9:Array; var _local10:OBitmap; var _local11:Boolean; switch (this.iState){ case stPauseNoMoves: if (this.iTimerNoMoves < WellMahjongL.timePauseNoMoves){ this.iTimerNoMoves++; return; }; this.iTimerNoMoves = 0; if ((this.parent is OWGame)){ (this.parent as OWGame).notMoved(); }; if ((this.parent is OOpponentField)){ (this.parent as OOpponentField).notMoved(); }; this.iState = stNoMoved; break; case stNoMoved: if (this.iTimerNoMoves < WellMahjongL.timeNoMoves){ this.iTimerNoMoves++; break; } else { this.iTimerNoMoves = 0; }; _local9 = new Array(); _local2 = 0; while (_local2 < this.MF.length) { _local3 = 0; while (_local3 < this.MF[0].length) { _local4 = 0; while (_local4 < this.MF[0][0].length) { if (this.MF[_local2][_local3][_local4] >= 0){ if (this.liberty(_local2, _local4, _local3) == true){ _local9.push([_local2, _local4, _local3]); }; }; _local4++; }; _local3++; }; _local2++; }; if (_local9.length > 0){ _local4 = Math.floor((Math.random() * _local9.length)); if (_local4 >= _local9.length){ _local4 = (_local9.length - 1); }; _local5 = _local9[_local4][0]; _local6 = _local9[_local4][1]; _local7 = _local9[_local4][2]; (this.MCells[_local5][_local7][_local6] as SCell).drawD(SCell.DRAW_ALL); (this.MCells[_local5][_local7][_local6] as SCell).drawL(SCell.DRAW_ALL); _local8 = this.vectorR(_local5, _local6, _local7); this.setChildIndex(this.MCells[_local5][_local7][_local6], (this.numChildren - 1)); this.MCells[_local5][_local7][_local6].moveHide(_local8); this.MF[_local5][_local7][_local6] = SCell.TYPE_FON; this.drawStoron(); if (this.mode == WellMahjongL.MODE_PLAYER){ if (this.iDelScore == null){ this.iDelScore = new Array(); }; _local10 = WellMahjongS.Text([null, WellMahjongL.szDelScore, WellMahjongL.clDelScore, -(WellMahjongL.delScoreNoMv).toString(), (WellMahjongL.delScoreX - this.prX), (WellMahjongL.delScoreY - this.prY)]); this.addChild(_local10); this.iDelScore.push(_local10); }; this.calcScore(); } else { if ((this.parent is OWGame)){ (this.parent as OWGame).noMoviesComplete(); }; if ((this.parent is OOpponentField)){ (this.parent as OOpponentField).noMoviesComplete(); }; this.iState = stNoMovedComp; }; break; case stNoMovedComp: if (this.iDelScore == null){ this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameNotMoves); } else { _local11 = false; _local3 = 0; while (_local3 < this.iDelScore.length) { if (this.iDelScore[_local3] != null){ _local11 = true; }; _local3++; }; if (_local11 == false){ this.iDelScore = null; this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameNotMoves); }; }; break; }; if (this.mode == WellMahjongL.MODE_PLAYER){ if (this.iDelScore != null){ _local3 = 0; while (_local3 < this.iDelScore.length) { if (this.iDelScore[_local3] != null){ if (this.iDelScore[_local3].alpha <= 0){ if (this.contains(this.iDelScore[_local3]) == true){ this.removeChild(this.iDelScore[_local3]); }; this.iDelScore[_local3] = null; } else { this.iDelScore[_local3].alpha = (this.iDelScore[_local3].alpha - WellMahjongL.delAlphaScore); this.iDelScore[_local3].prY = (this.iDelScore[_local3].prY - WellMahjongL.delScoredY); }; }; _local3++; }; }; }; } override public function Free():void{ if (this.playHint == true){ this.stopHint(); }; this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameNotMoves); super.Free(); } private function parsSork(_arg1:int, _arg2:int):Boolean{ var _local3:Boolean; var _local4:int; var _local5:int; if (_arg1 == _arg2){ return (true); }; _local5 = 0; while (_local5 < SField.iGroup.length) { _local3 = false; _local4 = 0; while (_local4 < SField.iGroup[_local5].length) { if ((((_arg1 == SField.iGroup[_local5][_local4])) || ((_arg2 == SField.iGroup[_local5][_local4])))){ //unresolved if _local3 = true; } else { if ((((_arg1 == SField.iGroup[_local5][_local4])) || ((_arg2 == SField.iGroup[_local5][_local4])))){ return (true); }; }; _local4++; }; if (_local3 == true){ return (false); }; _local5++; }; return (false); } private function useHand():void{ var _local1:int; var _local2:int; var _local3:int; _local3 = 0; while (_local3 < this.MF.length) { _local1 = 0; while (_local1 < this.MF[0].length) { _local2 = 0; while (_local2 < this.MF[0][0].length) { if (this.MF[_local3][_local1][_local2] >= 0){ if (this.liberty(_local3, _local2, _local1) == true){ this.MCells[_local3][_local1][_local2].useHand(); }; }; _local2++; }; _local1++; }; _local3++; }; } public function startPause(_arg1:Boolean):void{ if (this.iPause == _arg1){ return; }; this.iPause = _arg1; if (_arg1 == true){ this.iTimerScore = (getTimer() - this.iTimerScore); this.iTimerR = (getTimer() - this.iTimerR); this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); } else { this.iTimerScore = (getTimer() - this.iTimerScore); this.iTimerR = (getTimer() - this.iTimerR); this.addEventListener(Event.ENTER_FRAME, this.OnEnterFrame); }; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; _local2 = getTimer(); if ((_local2 - this.iTimerScore) >= WellMahjongL.timeScore){ this.iTimerScore = _local2; this.calcScore(); if (this.iScore <= 0){ this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); this.iScore = 0; if ((this.parent is OWGame)){ (this.parent as OWGame).Score = this.iScore; (this.parent as OWGame).notTime(); }; if ((this.parent is OOpponentField)){ (this.parent as OOpponentField).Score = this.iScore; (this.parent as OOpponentField).notTime(); }; }; }; } private function levelComplete():Boolean{ var _local1:int; var _local2:int; var _local3:int; _local1 = 0; while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[_local1].length) { _local3 = 0; while (_local3 < this.MF[_local1][_local2].length) { if (this.MF[_local1][_local2][_local3] != SCell.TYPE_FON){ return (false); }; _local3++; }; _local2++; }; _local1++; }; return (true); } public function stopGame():void{ this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameHint); this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); } private function calcSokrField():void{ var _local1:Array; var _local2:int; var _local3:int; var _local4:int; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local16:Array; var _local17:Array; var _local18:int; var _local19:int; var _local20:int; var _local21:int; var _local22:int; var _local23:int; _local1 = new Array(); _local15 = 0; this.iHods = new Array(); _local5 = false; while (_local5 == false) { _local16 = this.getSokr(); _local6 = false; if (_local16.length > 0){ switch (this.mode){ case WellMahjongL.MODE_PLAYER: _local4 = WellMahjongL.RandP.RandOnInterval(0, (_local16.length - 1)); break; case WellMahjongL.MODE_OPPONENT: _local4 = WellMahjongL.RandO.RandOnInterval(0, (_local16.length - 1)); break; }; _local7 = _local16[_local4][0][0]; _local8 = _local16[_local4][0][1]; _local9 = _local16[_local4][0][2]; _local10 = _local16[_local4][1][0]; _local11 = _local16[_local4][1][1]; _local12 = _local16[_local4][1][2]; this.iHods.push([_local7, _local8, _local9, this.MF[_local7][_local9][_local8]]); this.iHods.push([_local10, _local11, _local12, this.MF[_local10][_local12][_local11]]); this.MF[_local7][_local9][_local8] = SCell.TYPE_FON; this.MF[_local10][_local12][_local11] = SCell.TYPE_FON; _local19 = 0; _local2 = 0; while (_local2 < this.MF.length) { _local3 = 0; while (_local3 < this.MF[0].length) { _local4 = 0; while (_local4 < this.MF[0][0].length) { if (this.MF[_local2][_local3][_local4] >= 0){ _local19++; }; _local4++; }; _local3++; }; _local2++; }; if (_local19 == 0){ _local5 = true; }; } else { if (this.shufle() == false){ break; }; }; }; _local3 = 0; while (_local3 < this.iHods.length) { _local7 = this.iHods[_local3][0]; _local8 = this.iHods[_local3][1]; _local9 = this.iHods[_local3][2]; _local13 = this.iHods[_local3][3]; this.MF[_local7][_local9][_local8] = _local13; _local3++; }; if (this.iRazbor == true){ _local19 = 0; _local2 = 0; while (_local2 < this.MF.length) { _local3 = 0; while (_local3 < this.MF[0].length) { _local4 = 0; while (_local4 < this.MF[0][0].length) { if (this.MF[_local2][_local3][_local4] >= 0){ _local19++; }; _local4++; }; _local3++; }; _local2++; }; _local20 = Math.round((_local19 / WellMahjongL.verRazbor)); _local19 = 0; _local2 = 0; while (_local2 < (this.MF.length - 2)) { _local3 = 0; while (_local3 < this.MF[0].length) { _local4 = 0; while (_local4 < this.MF[0][0].length) { if (this.MF[_local2][_local3][_local4] >= 0){ _local19++; }; _local4++; }; _local3++; }; _local2++; }; if (_local20 == 0){ _local20 = 1; }; if (_local19 > 2){ while (_local20 > 0) { switch (this.mode){ case WellMahjongL.MODE_PLAYER: _local21 = WellMahjongL.RandP.RandOnInterval(1, _local19); _local22 = WellMahjongL.RandP.RandOnInterval(1, _local19); break; case WellMahjongL.MODE_OPPONENT: _local21 = WellMahjongL.RandO.RandOnInterval(1, _local19); _local22 = WellMahjongL.RandO.RandOnInterval(1, _local19); break; }; if (_local22 == _local21){ _local22++; }; if (_local22 > _local19){ _local22 = 1; }; _local23 = 0; _local2 = 0; while (_local2 < (this.MF.length - 2)) { _local3 = 0; while (_local3 < this.MF[0].length) { _local4 = 0; while (_local4 < this.MF[0][0].length) { if (this.MF[_local2][_local3][_local4] >= 0){ _local23++; if (_local21 == _local23){ _local7 = _local2; _local8 = _local4; _local9 = _local3; }; if (_local22 == _local23){ _local10 = _local2; _local11 = _local4; _local12 = _local3; }; }; _local4++; }; _local3++; }; _local2++; }; _local18 = this.MF[_local7][_local9][_local8]; this.MF[_local7][_local9][_local8] = this.MF[_local10][_local12][_local11]; this.MF[_local10][_local12][_local11] = _local18; _local20--; }; }; }; if (this.getSokr().length == 0){ this.shufle(); }; } override public function Init():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:SCell; var _local5:Rectangle; var _local6:Array; var _local7:Array; this.iL = calcL(this.MF, this.iWidth, this.iHeight); SCell.redrawCache(this.iL, this.mode, this.MF.length); this.MKoord = calcKoord(this.iL, this.MF[0][0].length, this.MF[0].length, this.MF.length); this.iHods = new Array(); this.generateID(); this.MCells = new Array(); _local3 = 0; while (_local3 < this.MF.length) { _local6 = new Array(); _local1 = 0; while (_local1 < this.MF[0].length) { _local7 = new Array(); _local2 = 0; while (_local2 < this.MF[0][0].length) { if (this.MF[_local3][_local1][_local2] == SCell.TYPE_FON){ _local7.push(null); } else { _local4 = new SCell(this.mode, this.iL, _local3, _local1, _local2, this.MF[_local3][_local1][_local2]); this.addChild(_local4); _local4.Pos(this.MKoord[_local3][_local1][_local2][0], this.MKoord[_local3][_local1][_local2][1]); _local7.push(_local4); }; _local2++; }; _local6.push(_local7); _local1++; }; this.MCells.push(_local6); _local3++; }; this.drawStoron(); _local5 = this.calcSize(); this.prX = ((this.iWidth / 2) - ((_local5.right - _local5.left) / 2)); this.prY = ((this.iHeight / 2) - ((_local5.bottom - _local5.top) / 2)); this.prX = (this.prX - _local5.left); this.prY = (this.prY - _local5.top); this.selZ = -1; this.selX = -1; this.selY = -1; this.sRec = ""; this.iTimerR = getTimer(); this.useHand(); this.iState = stPlay; super.Init(); if (this.getSokr().length == 0){ this.noMoves(); }; } public function get TimerRec():int{ return (this.iTimerR); } private function calcScore():void{ var _local1:int; _local1 = 0; if (this.iScore == 0){ return; }; switch (this.iState){ case stPlay: _local1 = WellMahjongL.delScore; break; case stNoMoved: _local1 = WellMahjongL.delScoreNoMv; break; case stNoMovedComp: _local1 = 0; break; case stHint: _local1 = WellMahjongL.delScoreHint; break; }; this.iScore = (this.iScore - _local1); if (this.iScore < 0){ this.iScore = 0; }; if ((this.parent is OWGame)){ (this.parent as OWGame).Score = this.iScore; }; if ((this.parent is OOpponentField)){ (this.parent as OOpponentField).Score = this.iScore; }; } private function getRec(_arg1:int, _arg2:int, _arg3:int):void{ this.sRec = (this.sRec + (((SConvert.calcTime((getTimer() - this.iTimerR)) + SConvert.getStr(_arg1)) + SConvert.getStr(_arg2)) + SConvert.getStr(_arg3))); this.iTimerR = getTimer(); } public function getSokr():Array{ var _local1:Array; var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local1 = new Array(); _local2 = new Array(); _local3 = 0; while (_local3 < this.MF.length) { _local4 = 0; while (_local4 < this.MF[_local3].length) { _local5 = 0; while (_local5 < this.MF[_local3][_local4].length) { if (this.MF[_local3][_local4][_local5] != SCell.TYPE_FON){ if (this.liberty(_local3, _local5, _local4) == true){ _local2.push([this.MF[_local3][_local4][_local5], _local3, _local5, _local4]); }; }; _local5++; }; _local4++; }; _local3++; }; _local4 = 0; while (_local4 < _local2.length) { _local5 = (_local4 + 1); while (_local5 < _local2.length) { if (this.parsSork(_local2[_local4][0], _local2[_local5][0]) == true){ _local1.push([[_local2[_local4][1], _local2[_local4][2], _local2[_local4][3]], [_local2[_local5][1], _local2[_local5][2], _local2[_local5][3]]]); }; _local5++; }; _local4++; }; return (_local1); } public function clickFishka(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:Boolean; var _local5:Array; if (this.playHint == true){ stopHint(); }; if (this.liberty(_arg1, _arg2, _arg3) == false){ return; }; this.getRec(_arg1, _arg2, _arg3); if (this.selZ == -1){ this.MCells[_arg1][_arg3][_arg2].select(true); this.selX = _arg2; this.selY = _arg3; this.selZ = _arg1; if (this.mode == WellMahjongL.MODE_PLAYER){ OSound.PlaySoundInd(0); }; } else { if ((((((_arg1 == this.selZ)) && ((_arg2 == this.selX)))) && ((_arg3 == this.selY)))){ this.MCells[_arg1][_arg3][_arg2].select(false); this.selZ = -1; this.selX = -1; this.selY = -1; if (this.mode == WellMahjongL.MODE_PLAYER){ OSound.PlaySoundInd(1); }; } else { if (this.parsSork(this.MF[_arg1][_arg3][_arg2], this.MF[this.selZ][this.selY][this.selX]) == true){ if (this.mode == WellMahjongL.MODE_PLAYER){ OSound.PlaySoundInd(2); }; this.MCells[_arg1][_arg3][_arg2].select(false); this.MCells[this.selZ][this.selY][this.selX].select(false); (this.MCells[_arg1][_arg3][_arg2] as SCell).drawD(SCell.DRAW_ALL); (this.MCells[_arg1][_arg3][_arg2] as SCell).drawL(SCell.DRAW_ALL); (this.MCells[this.selZ][this.selY][this.selX] as SCell).drawD(SCell.DRAW_ALL); (this.MCells[this.selZ][this.selY][this.selX] as SCell).drawL(SCell.DRAW_ALL); _local4 = this.vectorR(_arg1, _arg2, _arg3); this.setChildIndex(this.MCells[_arg1][_arg3][_arg2], (this.numChildren - 1)); this.MCells[_arg1][_arg3][_arg2].moveHide(_local4); _local4 = this.vectorR(this.selZ, this.selX, this.selY); this.setChildIndex(this.MCells[this.selZ][this.selY][this.selX], (this.numChildren - 1)); this.MCells[this.selZ][this.selY][this.selX].moveHide(_local4); this.MF[_arg1][_arg3][_arg2] = SCell.TYPE_FON; this.MF[this.selZ][this.selY][this.selX] = SCell.TYPE_FON; this.selZ = -1; this.selX = -1; this.selY = -1; this.useHand(); if (this.levelComplete() == true){ if ((this.parent is OWGame)){ (this.parent as OWGame).levelComplete(); }; if ((this.parent is OOpponentField)){ (this.parent as OOpponentField).levelComplete(); }; } else { _local5 = this.getSokr(); if (_local5.length == 0){ this.noMoves(); }; }; this.drawStoron(); } else { if (this.mode == WellMahjongL.MODE_PLAYER){ OSound.PlaySoundInd(0); }; this.MCells[this.selZ][this.selY][this.selX].select(false); this.MCells[_arg1][_arg3][_arg2].select(true); this.selZ = _arg1; this.selX = _arg2; this.selY = _arg3; }; }; }; } private function generateID():Boolean{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:Boolean; var _local12:int; var _local13:Class; _local7 = WellMahjongL.ONES.length; _local3 = 0; while (_local3 < 3) { _local4 = 0; while (_local4 < _local7) { _local12 = Math.floor((Math.random() * _local7)); _local13 = WellMahjongL.ONES[_local12]; WellMahjongL.ONES[_local12] = WellMahjongL.ONES[_local4]; WellMahjongL.ONES[_local4] = _local13; _local4++; }; _local3++; }; _local3 = 0; while (_local3 < 3) { _local2 = 0; while (_local2 < WellMahjongL.GROUPS.length) { _local7 = WellMahjongL.GROUPS[_local2].length; _local4 = 0; while (_local4 < _local7) { _local12 = Math.floor((Math.random() * _local7)); _local13 = WellMahjongL.GROUPS[_local2][_local12]; WellMahjongL.GROUPS[_local2][_local12] = WellMahjongL.GROUPS[_local2][_local4]; WellMahjongL.GROUPS[_local2][_local4] = _local13; _local4++; }; _local2++; }; _local3++; }; _local1 = 0; _local2 = 0; while (_local2 < this.MF.length) { _local3 = 0; while (_local3 < this.MF[_local2].length) { _local4 = 0; while (_local4 < this.MF[_local2][_local3].length) { if (this.MF[_local2][_local3][_local4] != SCell.TYPE_FON){ _local1++; }; _local4++; }; _local3++; }; _local2++; }; SField.iGroup = SField.getGroupID(); SField.iOnes = SField.getOnesID(); _local5 = new Array(); _local6 = 0; _local8 = 0; _local9 = 0; _local10 = 0; _local11 = false; while ((_local1 - _local5.length) > 0) { if (_local11 == true){ _local5.push(SField.iGroup[_local9][_local8]); _local5.push(SField.iGroup[_local9][(_local8 + 1)]); _local9++; if (_local9 > 1){ _local9 = 0; _local8 = (_local8 + 2); }; _local11 = false; } else { _local5.push(SField.iOnes[_local10]); _local5.push(SField.iOnes[_local10]); _local10++; if (_local10 == (SField.iOnes.length / 2)){ _local11 = true; }; }; if (_local8 >= SField.iGroup[0].length){ _local8 = 0; }; if (_local10 >= SField.iOnes.length){ _local10 = 0; _local11 = true; }; }; _local2 = 0; while (_local2 < 5) { _local3 = 0; while (_local3 < _local1) { switch (this.mode){ case WellMahjongL.MODE_PLAYER: _local4 = WellMahjongL.RandP.RandOnInterval(0, (_local1 - 1)); break; case WellMahjongL.MODE_OPPONENT: _local4 = WellMahjongL.RandO.RandOnInterval(0, (_local1 - 1)); break; }; _local6 = _local5[_local3]; _local5[_local3] = _local5[_local4]; _local5[_local4] = _local6; _local3++; }; _local2++; }; _local1 = 0; _local2 = 0; while (_local2 < this.MF.length) { _local3 = 0; while (_local3 < this.MF[_local2].length) { _local4 = 0; while (_local4 < this.MF[_local2][_local3].length) { if (this.MF[_local2][_local3][_local4] == SCell.TYPE_NOR){ this.MF[_local2][_local3][_local4] = _local5[_local1]; _local1++; }; _local4++; }; _local3++; }; _local2++; }; this.calcSokrField(); return (true); } private function onEnterFrameHint(_arg1:Event):void{ if (this.c_blick < WellMahjongL.c_blick){ if (this.sign_blick < 0){ if (this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha > WellMahjongL.min_alpha){ this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha = (this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha - WellMahjongL.dBlick); this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha = (this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha - WellMahjongL.dBlick); } else { this.sign_blick = 1; this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha = WellMahjongL.min_alpha; this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha = WellMahjongL.min_alpha; }; } else { if (this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha < 1){ this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha = (this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha + WellMahjongL.dBlick); this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha = (this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha + WellMahjongL.dBlick); } else { this.sign_blick = -1; this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha = 1; this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha = 1; this.c_blick++; }; }; } else { this.stopHint(); }; } public function deleteFishka(_arg1:int, _arg2:int, _arg3:int):void{ this.removeChild(this.MCells[_arg1][_arg3][_arg2]); this.MCells[_arg1][_arg3][_arg2].Free(); this.MCells[_arg1][_arg3][_arg2] = null; } protected function drawStoron():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Boolean; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Array; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local16:Array; _local1 = 0; while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] != SCell.TYPE_FON){ this.drawCellL(_local1, _local3, _local2); this.drawCellD(_local1, _local3, _local2); }; _local3++; }; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < (this.MF.length - 1)) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] != SCell.TYPE_FON){ if (this.MF[(_local1 + 1)][_local2][_local3] != SCell.TYPE_FON){ this.MCells[_local1][_local2][_local3].showFishka(false); } else { _local8 = new Array(); _local13 = 0; _local9 = 0; while (_local9 < 4) { _local16 = new Array(); _local10 = 0; while (_local10 < 4) { _local16.push(0); _local10++; }; _local8.push(_local16); _local9++; }; _local14 = (_local2 - 1); _local15 = (_local3 - 1); _local9 = 0; while (_local9 < 3) { _local10 = 0; while (_local10 < 3) { if (((((_local14 + _local9) >= 0)) && (((_local14 + _local9) < this.MF[0].length)))){ if (((((_local15 + _local10) >= 0)) && (((_local15 + _local10) < this.MF[0][0].length)))){ if (this.MF[(_local1 + 1)][(_local14 + _local9)][(_local15 + _local10)] != SCell.TYPE_FON){ _local11 = _local9; while (_local11 < 2) { _local12 = _local10; while (_local12 < 2) { _local8[_local11][_local12] = 1; _local12++; }; _local11++; }; }; }; }; _local10++; }; _local9++; }; _local9 = 1; while (_local9 <= 2) { _local10 = 1; while (_local10 <= 2) { _local13 = (_local13 + _local8[_local9][_local10]); _local10++; }; _local9++; }; if (_local13 < 4){ this.MCells[_local1][_local2][_local3].showFishka(true); }; }; }; _local3++; }; _local2++; }; _local1++; }; } private function vectorR(_arg1:int, _arg2:int, _arg3:int):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; _local11 = true; _local12 = true; _local13 = true; _local9 = (_arg2 + 2); if (_local9 < MF[0][0].length){ _local6 = (_arg3 - 1); _local7 = (_arg3 + 1); if (_local6 < 0){ _local6 = 0; }; if (_local7 >= MF[0].length){ _local7 = (MF[0].length - 1); }; _local5 = _local6; while (_local5 <= _local7) { if (this.MF[_arg1][_local5][_local9] != SCell.TYPE_FON){ _local12 = false; break; }; _local5++; }; }; _local9 = (_arg2 - 2); if (_local9 >= 0){ _local6 = (_arg3 - 1); _local7 = (_arg3 + 1); if (_local6 < 0){ _local6 = 0; }; if (_local7 >= MF[0].length){ _local7 = (MF[0].length - 1); }; _local5 = _local6; while (_local5 <= _local7) { if (this.MF[_arg1][_local5][_local9] != SCell.TYPE_FON){ _local11 = false; break; }; _local5++; }; }; if ((((_local11 == true)) && ((_local12 == true)))){ if (_arg2 > (this.MF[0][0].length / 2)){ _local13 = true; } else { _local13 = false; }; } else { if (_local11 == true){ _local13 = false; } else { _local13 = true; }; }; return (_local13); } public function startGame():void{ this.iTimerScore = getTimer(); } public function resetTimerRec():void{ this.iTimerR = getTimer(); } private function noMoves():void{ this.stopGame(); this.iState = stPauseNoMoves; this.iTimerNoMoves = 0; this.addEventListener(Event.ENTER_FRAME, this.onEnterFrameNotMoves); } private function shufle():Boolean{ var _local1:Array; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Boolean; var _local11:int; var _local12:int; var _local13:int; _local1 = new Array(); _local2 = 0; while (_local2 < this.MF.length) { _local11 = 0; while (_local11 < this.MF[0].length) { _local12 = 0; while (_local12 < this.MF[0][0].length) { if (this.MF[_local2][_local11][_local12] >= 0){ if (this.liberty(_local2, _local12, _local11) == true){ _local1.push([_local2, _local12, _local11]); }; }; _local12++; }; _local11++; }; _local2++; }; if (_local1.length < 2){ return (false); }; switch (this.mode){ case WellMahjongL.MODE_PLAYER: _local12 = WellMahjongL.RandP.RandOnInterval(0, (_local1.length - 1)); _local11 = WellMahjongL.RandP.RandOnInterval(0, (_local1.length - 1)); break; case WellMahjongL.MODE_OPPONENT: _local12 = WellMahjongL.RandO.RandOnInterval(0, (_local1.length - 1)); _local11 = WellMahjongL.RandO.RandOnInterval(0, (_local1.length - 1)); break; }; if (_local11 == _local12){ _local11++; if (_local11 >= _local1.length){ _local11 = 0; }; }; _local3 = _local1[_local12][0]; _local4 = _local1[_local12][1]; _local5 = _local1[_local12][2]; _local6 = this.MF[_local3][_local5][_local4]; _local7 = _local1[_local11][0]; _local8 = _local1[_local11][1]; _local9 = _local1[_local11][2]; _local10 = false; if (SField.calcOnes(_local6) == true){ _local2 = 0; while (_local2 < this.MF.length) { _local11 = 0; while (_local11 < this.MF[0].length) { _local12 = 0; for (;_local12 < this.MF[0][0].length;_local12++) { if (this.MF[_local2][_local11][_local12] == _local6){ if ((((((_local3 == _local2)) && ((_local5 == _local11)))) && ((_local4 == _local12)))){ continue; } else { this.MF[_local2][_local11][_local12] = this.MF[_local7][_local9][_local8]; this.MF[_local7][_local9][_local8] = _local6; _local10 = true; break; }; }; }; if (_local10 == true){ break; }; _local11++; }; if (_local10 == true){ break; }; _local2++; }; } else { _local13 = SField.calcGroups(_local6); if (_local13 != -1){ _local2 = 0; while (_local2 < this.MF.length) { _local11 = 0; while (_local11 < this.MF[0].length) { _local12 = 0; while (_local12 < this.MF[0][0].length) { if (this.MF[_local2][_local11][_local12] >= 0){ if (SField.calcGroups(this.MF[_local2][_local11][_local12]) == _local13){ _local6 = this.MF[_local2][_local11][_local12]; this.MF[_local2][_local11][_local12] = this.MF[_local7][_local9][_local8]; this.MF[_local7][_local9][_local8] = _local6; _local10 = true; break; }; }; _local12++; }; if (_local10 == true){ break; }; _local11++; }; if (_local10 == true){ break; }; _local2++; }; } else { return (false); }; }; return (true); } public function noMoviesComplete():void{ var _local1:int; var _local2:int; var _local3:int; this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameNotMoves); _local1 = 0; while (_local1 < this.MF.length) { _local2 = 0; while (_local2 < this.MF[0].length) { _local3 = 0; while (_local3 < this.MF[0][0].length) { if (this.MF[_local1][_local2][_local3] >= 0){ this.iScore = (this.iScore - WellMahjongL.delScoreNoMv); }; _local3++; }; _local2++; }; _local1++; }; this.iState = stNoMovedComp; this.calcScore(); } private function stopHint():void{ this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrameHint); this.MCells[this.HintZ1][this.HintY1][this.HintX1].alpha = 1; this.MCells[this.HintZ2][this.HintY2][this.HintX2].alpha = 1; if (this.selZ > -1){ this.MCells[this.selZ][this.selY][this.selX].select(false); }; this.playHint = false; } private function liberty(_arg1:int, _arg2:int, _arg3:int):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:Boolean; var _local12:Boolean; _local11 = true; _local12 = true; _local6 = (_arg3 - 1); _local7 = (_arg3 + 1); if (_local6 < 0){ _local6 = 0; }; if (_local7 >= this.MF[0].length){ _local7 = (this.MF[0].length - 1); }; _local9 = (_arg2 - 1); _local10 = (_arg2 + 1); if (_local9 < 0){ _local9 = 0; }; if (_local10 >= this.MF[0][0].length){ _local10 = (this.MF[0][0].length - 1); }; _local4 = (_arg1 + 1); while (_local4 < this.MF.length) { _local5 = _local6; while (_local5 <= _local7) { _local8 = _local9; while (_local8 <= _local10) { if (this.MF[_local4][_local5][_local8] >= 0){ return (false); }; _local8++; }; _local5++; }; _local4++; }; _local9 = (_arg2 + 2); if (_local9 < this.MF[0][0].length){ _local6 = (_arg3 - 1); _local7 = (_arg3 + 1); if (_local6 < 0){ _local6 = 0; }; if (_local7 >= this.MF[0].length){ _local7 = (this.MF[0].length - 1); }; _local5 = _local6; while (_local5 <= _local7) { if (this.MF[_arg1][_local5][_local9] >= 0){ _local12 = false; break; }; _local5++; }; }; _local9 = (_arg2 - 2); if (_local9 >= 0){ _local6 = (_arg3 - 1); _local7 = (_arg3 + 1); if (_local6 < 0){ _local6 = 0; }; if (_local7 >= this.MF[0].length){ _local7 = (this.MF[0].length - 1); }; _local5 = _local6; while (_local5 <= _local7) { if (this.MF[_arg1][_local5][_local9] >= 0){ _local11 = false; break; }; _local5++; }; }; if ((((_local11 == true)) || ((_local12 == true)))){ return (true); }; return (false); } private static function calcGroups(_arg1:int):int{ var _local2:int; var _local3:int; _local2 = 0; while (_local2 < SField.iGroup.length) { _local3 = 0; while (_local3 < SField.iGroup[_local2].length) { if (SField.iGroup[_local2][_local3] == _arg1){ return (_local2); }; _local3++; }; _local2++; }; return (-1); } public static function getGroupID():Array{ var _local1:Array; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; _local1 = new Array(); _local2 = 0; while (_local2 < WellMahjongL.GROUPS.length) { _local5 = new Array(); _local3 = 0; while (_local3 < WellMahjongL.GROUPS[_local2].length) { _local4 = 0; while (_local4 < WellMahjongL.FIGURES.length) { if (WellMahjongL.FIGURES[_local4] == WellMahjongL.GROUPS[_local2][_local3]){ _local5.push(_local4); }; _local4++; }; _local3++; }; _local1.push(_local5); _local2++; }; return (_local1); } protected static function calcKoord(_arg1:Number, _arg2:int, _arg3:int, _arg4:int):Array{ var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Array; var _local14:Array; _local5 = new Array(); _local11 = (_arg1 * WellMahjongL.dLx); _local12 = (_arg1 * WellMahjongL.dLy); _local8 = 0; while (_local8 < _arg4) { _local13 = new Array(); _local6 = 0; while (_local6 < _arg3) { _local14 = new Array(); _local7 = 0; while (_local7 < _arg2) { _local9 = (((_arg1 * _local7) / 2) - (_local8 * _local11)); _local10 = ((((_arg1 * WellMahjongL.hL) * _local6) / 2) - (_local8 * _local12)); _local14.push([_local9, _local10]); _local7++; }; _local13.push(_local14); _local6++; }; _local5.push(_local13); _local8++; }; return (_local5); } protected static function calcL(_arg1:Array, _arg2:Number, _arg3:Number):Number{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; _local6 = 0; _local7 = 0; _local11 = 0; _local12 = _arg1.length; _local13 = _arg1[0][0].length; _local14 = _arg1[0].length; _local9 = 0; while (_local9 < _arg1[0].length) { _local10 = 0; _local8 = 0; while (_local8 < _arg1.length) { if (_arg1[_local8][_local9][_local10] == SCell.TYPE_NOR){ if ((_local8 + 1) > _local11){ _local11 = (_local8 + 1); }; }; _local8++; }; _local9++; }; _local6 = (_local11 * WellMahjongL.dLx); _local11 = 0; _local10 = 0; while (_local10 < _arg1[0][0].length) { _local9 = 0; _local8 = 0; while (_local8 < _arg1.length) { if (_arg1[_local8][_local9][_local10] == SCell.TYPE_NOR){ if ((_local8 + 1) > _local11){ _local11 = (_local8 + 1); }; }; _local8++; }; _local10++; }; _local7 = (_local11 * WellMahjongL.dLy); _local5 = (_arg3 / (_local7 + ((_local14 * WellMahjongL.hL) / 2))); _local4 = (_arg2 / (_local6 + (_local13 / 2))); if (_local5 < _local4){ return (_local5); }; return (_local4); } private static function calcOnes(_arg1:int):Boolean{ var _local2:int; _local2 = 0; while (_local2 < SField.iOnes.length) { if (SField.iOnes[_local2] == _arg1){ return (true); }; _local2++; }; return (false); } private static function getOnesID():Array{ var _local1:Array; var _local2:int; var _local3:int; var _local4:int; _local1 = new Array(); _local2 = 0; while (_local2 < WellMahjongL.ONES.length) { _local4 = 0; while (_local4 < WellMahjongL.FIGURES.length) { if (WellMahjongL.FIGURES[_local4] == WellMahjongL.ONES[_local2]){ _local1.push(_local4); }; _local4++; }; _local2++; }; return (_local1); } } }//package RES.GAME
Section 78
//SLevels (RES.GAME.SLevels) package RES.GAME { public class SLevels { public static const Levels:Array = ["ec500702468ac02402ac044057c064057c08402ac0a702468ac102571121b1320c142571520c162571720c1921b1a25720162220c232572420c252572620c272572820c2a163320c3520c3720c4420c4620c", "ig6005068ag025068ag0420g05368a0624c07368a0824c09368a0a20g0c5068ag0e5068ag1160579bg135068ag1560579bg175468ac1960579bg1b5068ag1d60579bg215468ac2220g234579b2420g25368a2620g2763579bd2820g29368a2a20g2b4579b2c20g2d5468ac3163579bd3370468acg3520g37902468aceg3920g3b70468acg3d63579bd41348c434579b4420g4620g47338d4820g4a20g4b4579b4d348c51348c5326a5520g5920g5b26a5d348c", "gg50161359bd02170321d0551579d0752579c0951579d0b21d0c170d61359bd106024ace1260268ce145047ae164268c1724a184268c1a5047ae1c60268ce1e6024ace2021d2124a2221d234368b2421d254359b2621d27337b2821d294359b2a21d2b4368b2c21d2d24a2e21d3122c335247ac3523b3651579d3851579d3923b3b327c3d424ac4223b43259452684762468ac4820e4924a4b4368b4d4359b", "gf60024a014268c0322c04404ae0522c064059e0722c084068e0922c0a24a0b2680c24a0d4268c102681123b12357913413bd15413bd17414ad194159d1a23b1b2591c23b1d4159d224368b24414ad264159d284168d2924a2b2592d268324468a342593521d362683721d3817392593b2683d174235794426846317d4835794a2684c175226854175617592685b17", "gd60061368bd02702579ce0470247ace0670247ace0870247ace0a60468ae0b22c12317d14413bd17413bd1921d1a4359b224268c2422c27424ac2a4468a3253579b3423b374359b3a35794224a4424a474468a4a268572595a17", "gg60062468ac0262468ac0453579b065247ac085137bd0a70247ace0c51579d0d23b0e3579104359b1117124359b144468a164368b18424ac192681a402ce1b4468a1c22c1d4468a2024a2224a242592662468ac2861359bd29172a413bd2b35792c23b2d35793225936337b3824a3a26842268464468a482594a17563579582685a17", "gg70060359be0261468ad044168d0661359bd08403be0a403be0c61359bd0e22c1061359bd1262468ac1452579c1662468ac18414ad1a414ad1c62468ac1e23b2453579b282592a259344468a382683a268443579542686417", "gf4004168d0252579c04713579bd0662468ac0720e0862468ac0a413bd0b2590c413bd0d3579104259c1453579b174268c1922c1b424ac1d268204359b244468a26268284268c2a22c2b2592d17304468a343579361738173922c3b268", "gg6015137bd0351579d0552579c07702579ce0952579c0b51579d0d5137bd1161468ad13171421d154368b1621d1723b184168d1a21d1b4468a1d414ad20702579ce22802468ace24307e254259c2620e2722c2824a29172a60359be2c402ce2d2592e20e302683121d324468a3320e3453579b3520e3622c3720e384368b3920e3a327c3c4368b414468a4222c432594420e4562468ac4620e475247ac4820e4935794a23b4b35794c23b4d26851337b532685523b562685721d582685920e5a24a5d17", "gg6003135024024604313506439bd0861359bd0a713579bd0c337b0e61357bd1016113024121713302414161550248a17802468ace195024ce1a26a1b4048e1c426ac1d1e1e60248ac221823213241a27413bd2a413bd2c61368bd2e713579bd331237424ac3a424ac3c173d424ac3e268431347339b4a4359b5728a5a1a", "ge50021d0221d03170461359bd0517064059e071709170a4059e0b23b0c21d1121d122681321d144468a164168d194168d1a24a1b22c214259c2322c2424a264259c284259c2a23b2b21d314359b334359b364359b384359b4426846268", "gg6002590123b024168d0323b0435790523b0621d07259085137bd092590a337b0b4159d0c170d4159d0e337b1026812802468ace14424ac152681622c174468a1822c194468a1b62468ac1d62468ac201722713579bd24337b26337b2853579b2a53579b2c23b2d3579302683262468ac344468a3624a3835793923b3b53579b3d4468a4035794253579b453579472684924a4a2684b24a4c268502595425955175825959175a2595b17", "ig7002790226a0425b0624c0823d0a22e0c21f0e902468aceg1018122791426a1625b1824c1a23d1c22e1e813579bdf242792626a2825b2a24c2c23d2e72468ace362793826a3a25b3c24c3e63579bd482794a26a4c25b4e5468ac58185a2795c26a5e4579b671869279", "gg4004068e0124a0220e0323b044068e05424ac0620e0726808404ae0a424ac0c414ad0d2680e404ae11703579be136024ace1560368be1760359be194359b1b424ac1d61468ad214468a2220e234359b2420e254468a2620e274468a294468a2a22c2b2592c22c2d2683125935259383579", "gg5004059e02404ae04403be06404ae072680820e092590a403be0c403be0d2590e307e1061468ad1260359be146024ace1661359bd184168d1924a1a402ce1c402ce1d24a1e4168d2052579c2224a24413bd26424ac28327c292592a413bd2c413bd2d2592e327c3053579b32259346024ace364359b384368b3a424ac3c424ac3e4368b403579424468a4423b46424ac47268494159d4b61359bd4d4159d", "gg300404ae0126802414ad044268c0524a06268076024ace0826809413bd0a2590b23b0c21d0d4359b0e317d1061359bd1262468ac144359b165247ac1861359bd1a62468ac1c424ac1e4168d20424ac224359b2424a264359b28424ac2a53579b2c4359b2e52579c", "fg40024d011002348d031004348d051006348d085248bd0a180b304d0c180d304d0e1811313c12357913313c14357915313c1625818438ac1b4138c1d4138c211c2252468a231c2452468a251c2643579284479b2b52479b2d52479b3253579b3453579b364468a384468a3b338a3d338a", "gg500802468ace0220e044059e066024ace0a6024ace0b2680c20e0e802468ace11702579ce134068e1424a15402ce1625917402ce1960259ce1b802468ace1d702579be2121d222682321d244359b2521d2626827424ac294268c2a24a2b22c2d61468ad3020e31268326024ace344268c366024ace371738424ac39173a23b3b35793d5027ce4322c4522c4722c4923b", "gg400408ac02307d04307d05329b061407268081a09335c0a317e0c317e0e4246e105179bd125168ce145168ce1523a1735791924b1a50268d1c50268d1e51357d20428ac225279bd245279bd26346828368a2a51357c2c51357c2e4246c30133139be322373339be3423735359e37173930593a27b3b30353c27b3d30353e1b", "gg500402ce0124a02402ce0422c0520e0920e0a22c0c402ce0d24a0e402ce104159d1123b124159d1323b1522c1620e1820e1922c1b23b1c4159d1d23b1e4159d2062468ac2262468ac24424ac26402ce28402ce2a424ac2c62468ac2e62468ac304359b324359b3423b352593621d3821d392593a23b3c4359b3e4359b4024a4224a462684721d482684c24a4e24a", "fg700424ac02424ac044139b064028a084028a0a4139b0c424ac0e424ac104359b1121d124359b144248a164137918413791a4248a1c4359b1d21d1e4359b20702468ac22702468ac24613579b2652468a2852468a2a613579b2c702468ac2e702468ac304139b31257324139b33257344139b3a4139b3b2573c4139b3d2573e4139b414139b434139b4b4139b4d4139b5060248ac5260248ac5460248ac5a60248ac5c60248ac5e60248ac6222a6c22a", "gg600413bd02424ac04424ac0622c0822c0a23b0c24a0e23b106024ace1261359bd144359b1521d1623b1721d1823b1921d1a24a1b22c1c2591e424ac2061359bd22802468ace24802468ace266024ace286024ace2a61359bd2c62468ac2e61359bd3062468ac32713579bd3461359bd36413bd3861359bd3a62468ac3c53579b3e62468ac4053579b4262468ac44424ac4622c48424ac4a4359b4c4468a4e53579b504468a5253579b5423b5622c5823b5a24a5c35795e4468a", "gg60021d02413bd04413bd06413bd08402ce0924a0a402ce0b24a0c4168d0e61359bd1022c12424ac146024ace16424ac1720e184259c1920e1a4259c1b20e1c5247ac1e802468ace2023b2223b2325924413bd252592623b2721d284368b2921d2a4368b2b21d2c4368b2d21d2e4368b3024a3122c3226833424ac35424ac3626837424ac3826839424ac3b62468ac3d4259c404359b41174223b4335794535794623b4735794823b4a35794c53579b4e4368b5022c514468a5222c5324a55424ac5722c581759424ac5b24a5c22c5d4468a5e22c", "ji6003dfh023dfh0314043dfh05235063dfh073246083dfh0932460a3dfh0b32460c3dfh0d32460e3dfh0g44dfh103ceg1244ceg14535ceg166246ceg18517ceg1a6147ceg1c517ceg1e71357ceg1g44ceg202ce2114222ce23235242ce253246262ce27217282ce292082a5246ce2b2082c2ce2d2082e5246ce2g34ce301432335d3432463621738308d3a2083c2083e51357d3g14411d431d471d491d4d1d4f24d521d581d5e1d5f14", "gg400413bd02402ce04413bd06413bd0822c09404ae0a4268c0b20e0c4268c0d404ae0e26810424ac12413bd14424ac16424ac184359b1921d1a53579b1b21d1c35791e703579be204359b2121d2223b234159d2423b26424ac272682822c294468a2a22c2b2592c403be2d35792e402ce31424ac33424ac37173952579c3c23b3d4168d3e23b", "gg401424ac03424ac07402ce09402ce0c2680e268112591223b1325914413bd16413bd18413bd1a23b1c35791e17212682224a2326824424ac26424ac28424ac2a24a2c2682e17301732357934337b3623b3823b392593b35793d17", "gg400402ce0124a0221d0353579b0523b0621d0821d0953579b0b23b0c21d0e22c1061359bd124159d1323b142681524a1622c18424ac192681a424ac1c6024ace1e413bd20424ac22424ac2320e244468a2522c27413bd29713579bd2b4159d2d61359bd3023b3125932413bd3326834413bd3535793722c384468a3a424ac3c424ac", "gg70061359bd024268c0320e0422c0520e0622c0720e0824a094068e0a424ac0b20e0c4268c0e61359bd104468a1122c1235791321d1423b1521d1623b18337b1921d1a35791b21d1c53579b1d21d1e4468a2051579d224268c24424ac26424ac2826829424ac2a2682b22c2c4468a2d22c2e35793062468ac324359b3321d342593521d3623b384359b3a413bd3c61359bd3e61468ad404359b4262468ac4462468ac4622c4862468ac4a22c4c424ac4e424ac5124a534359b584359b5d413bd6224a6424a", "gf700713579bd02713579bd04424ac0526806424ac072680822c094468a0b4468a0d26810404ae114268c1224a1360268ce1424a1522c162591722c182681923b1a2591c26820337b2121d2235792321d244359b262592862468ac2a2682c17324168d3424a3853579b3a173c174221d4425948347a4b17542685835795a1768268", "gg600368a025468ac046024ace06406ac086246ace0a62468ce0c60248ae0e502ace1027912359b146024ace16406ac18435bd1a337d1c4139e1e502ace20182226a24802468ace26305b27122824c29162a23d2b182c22e2d1a2e31ce30183226a34802468ace36305b37123824c39163a23c3b183c22e3d1a3e31ce40184226a44802468ace46305b47124824c49164a23c4b184c22e4d1a4e31ce50185226a54802468ace56305b57125824c59165a23c5b185c22e5d1a5e31ce", "gg60060268ce02713579bd0462468ac0653579b08802468ace0a100c70268ace0e702468ac1060268ce12713579bd1462468ac1753579b1821d1a111c5179bd1e713579bd20317d224268c244359b274468a2822c2a112b38ac2c112d1c2e52468a30317d324268c344359b374468a3822c3a113b38ac3c113d1c3e52468a40317d424268c444359b474468a4822c4a114b38ac4c114d1c4e52468a50317d524268c544359b574468a5822c5a115b38ac5c115d1c5e52468a", "gg80061359bd02713579bd044468a0625908170a347a0c347a0e17116024ace1353579b1535791724a18171924a1a171b24a1c171d24a1e17216024ace234468a252682724a28172924a2a172b24a2c172d24a2e17316024ace333579351738347a3a347a3c347a3e174120e49174b174d175120e5a175c176120e7120e", "ki80028a0222g0421h0820i0c21h0e22g0g28a1028a1222g1421h1820i1c21h1e22g1g28a20379b2123f2321h2520i2820i2b20i2d21h2f23f2g379b30379b3123f3321h3520i3820i3b20i3d21h3f23f3g379b40468ac4124e4222g4421h4620i4820i4a20i4c21h4e22g4f24e4g468ac50468ac5124e5222g5421h5620i5820i5a20i5c21h5e22g5f24e5g468ac60468ac6124e6222g6421h6620i6820i6a20i6c21h6e22g6f24e6g468ac70468ac7124e7222g7421h7620i7820i7a20i7c21h7e22g7f24e7g468ac", "gg800802468ace0222c0422c0662468ac0824a0a414ad0c61468ad0e21d10713579bd1222c1422c1662468ac1824a1a414ad1c61468ad1e21d2062468ac2222c2422c2662468ac2824a2a414ad2c61468ad2e21d304468a3122c3322c35424ac362683724a3924a3a402ce3b24a3c60268ce3d24a3e402ce4035794222c4422c464468a482594a4359b4b21d4c337b4d21d502685322c563579582595a4359b5b21d5c337b5d21d60176322c66268682686a4468a6b22c6c176d21d70177322c762597a2597c22c", "gg800802468ace0250246e0450468e0650579e085068ae0a5079be0c508ace0e802468ace10713579bd124147d1451369d165147ad185158bd1a4169c1c417ad1e61357ad20713579bd2252468d245248ad2661359bd285146ad2a5157bd2c4168c2e713579bd3062468ac3221d3451579d364159d38416ad3a5168ad3c21d3e62468ac4053579b4321d4417454159d474169d49416ad4a184b21d4e53579b504468a54317d551556319d58316d591a5a318d5e4468a603579641765315d66196721d68166931ad6a186e3579702687621d7821d7e268", "gg6004048c02426ae044048c06426ae084048c0a426ae0c4048c0e426ae101711413bd13713579bd1523b161717403be18171923b1b713579bd1d413bd1e1721172222c234468a2422c25172623b27317d2823b29172a22c2b4468a2c22c2d1731317d3353579b35327c37327c39327c3b53579b3d317d4020e42327c4324a46327c4822c4a174b24a4c327c4e20e5121d5217534359b5523b56175723b5923b5b337b5d317d", "gec0053579b0262468ac04713579bd06802468ace08713579bd0a62468ac0c53579b1124a1621d1b24a2124a2621d2b24a3124a3621d3b24a4124a4621d4b24a50259524359b5522c5620e5722c5a4359b5c25960268624468a6423b6521d6623b6721d6823b6a4468a6c268712687353579b7523b7621d7723b7953579b7b26882268844468a86424ac884468a8a26893179535799623b9735799917a417a64468aa817b517b6259b717", "gg40035790123b022680321d042680520e0662468ac0720e0862468ac0920e0a2680b21d0c2680d23b0e3579102681124a12327c14317d164068e17424ac184068e1a317d1c327c1d24a1e268212682224a23172422c25172621d2753579b2821d29172a22c2b172c24a2d26833357935337b3753579b39337b3b3579", "ee4002390121b0224803402ac04346806346808346809402ac0a2480b21b0c23911435791221b1323914316b16346818316b192391a21b1b4357921257222392321b24162521b2634682721b28162921b2a2392b25732163324834326a3652468a38326a392483a16", "gg800613579e0260357ae0451469e065028ae072460830ae0a5028ae0b2460c1e0e802468ace1042468111e1241469131e1442468151e16513579171e1841469191e1a413791b25e1e713579be205135792251469e244357e2652468e2852468e2a328e2b2462c1e2e72468ace3042468323159331e34246351e363357371e3821939337e3b51469e3e63579be402374315441e45246461e481e492284a1e4b305a4c1e4e6468ace551e571e591e5b1e5e5579be661e681e6a1e6c1e6e568ace771e791e7b1e7e479be", "gga0024a0224a032680424a0522c06404ae0824a0a24a0c802468ace0e24a1124a1335791423b1521d1624a1824a1a24a1c4168d1d24a2224a232682422c2624a2824a2a24a2c62468ac3353579b3524a3724a3924a3b23b3c3579432684424a4624a4824a4a24a4c4468a5335795524a5724a5924a5b24a5c2686317642596624a6824a6a24a6c357973268752597724a7924a7b24a7c26883178526887259892598b2598c17941796268982689a2689c17", "gg50030ce011202404ce031204405ce0660246ce0860246ce0a405ce0b120c404ce0d120e30ce1031bd111312415bd1460246bd1660357bd1860357bd1a60246bd1c415bd1d131e31bd20402ac2114225026ac24427ac26702468ac28702468ac2a427ac2c5026ac2d142e402ac304139b31153251379b3315344179b36613579b38613579b3a4179b3b153c51379b3d153e4139b4022a411442326a441746328a48328a4a174c326a4d144e22a", "ki401413fh0225d0327b04190527b06319h076357bdf08319h096357bdf0a319h0b27b0c190d27b0e25d0f413fh11402gi12446ce14468ac1520i16329g17404ei185279bg19404ei1a329g1b20i1c468ac1e446ce1f402gi21402gi22446ce246068aci2620i27329g286047bei29329g2a20i2c6068aci2e446ce2f402gi3020i3122g326046cei346068aci36309i38a02468acegi3a309i3c6068aci3e6046cei3f22g3g20i", "gg700268022590424a0623b0822c0a4168d0b24a0c402ce0e4359b1017122681435791624a1823b1a51579d1b23b1c4159d1e24a201724268262592824a2a4268c2c424ac2e25930268341736268382593a23b3c4359b40357946174b23b502685124a5a23b5c23b60176923b6b23b6d23b", "gg800424bd0120602524ace0320604524ace063ace086135ace0a70246ace0c70246ace0e5135bd10424bd1120612524ace1320614524ace163ace186135ace1a70246ace1c70246ace1e5135bd20324c2120622424bd2320624424bd262bd285135bd2a60246bd2c60246bd2e4135c313135333135351c371c38224391c3a31353c31353e2244122443224521362137213", "gg500702468ce0260246ce043024065026ce0830ce0c60268ce0e60268ce10702469bd123024131d142021527d1620b17257181b1920d1b4068d1d4359b1e20e205024ac222022420d2518261a28358a2a4068d2d24a2e20e30302b3210341d3618371a382683a307d3d24a3e20e4020b441d4618471a482684a307d4d24a4e20e", "gg800502468025024680450247e064026d071408402ce0a2bd0b190c37be0d2590e437ce104035712325713101424615302e161417302e191d1b1c1c1a1d28d1e2462040246224024624302426302e281e2a1d2c2bd2d192e357d303025323025341435202371e391d3b1c3c1a3d38ce3e16403024423024443024481e4a1d4c2bd4d194e175020353203591e5b1d5d2ac5e1860202622027111", "ee70050468a0261468ac04426ac051406160718084026a0a602468b0c52468c1035791110124579b131114357b1513162571719183157191b1a413571b1c1c335720268224168a244268b263468284146a2a4246b2c24631268334268a353357373579394246a3b24640259422594425946248482374a2374c23750268522685426856257582465a2465c24660176217641768156a156c15", "gg80060268ce0260268ce0660268ce0860268ce0c60268ce0e60268ce11317d17317d1d317d22327c27327c2c327c3161368bd3361368bd3661368bd3861368bd3b61368bd3d61368bd42327c47327c4c327c53337b57337b5b337b6262468ac6462468ac6662468ac6862468ac6a62468ac6c62468ac734359b7523b76268782687923b7b4359b", "gg600713579bd0262468ac04703579be0660468ae0850579e0a60268ce0c5027ce0e70247ace1062468ac1253579b144468a1520e1635791720e182681920e1a171b402ce1c171d21d1e337b2053579b224468a243579264068e28307e2a307e2c317d2e327c304468a3235793426836173720e38173920e3a173b20e3c173d21d3e17403579422684417461748307e4a307e4c307e4e17502685217", "eg70060248ac024139b0422a0622a0822a0a22a0c4139b0e60248ac104139b1222a1422a16239182391a22a1c22a1e4139b204248a2222a26248282482c22a2e4248a304357936257382573e43579403468472574e3468502575e25760166e16", "gg5006024ace0220e046024ace0624a086024ace0a20e0c6024ace0e24a104359b1121d134159d154359b174359b194159d1b4159d1c23b1e23b20802468ace22404ae24802468ace26424ac2862468ac2920e2a424ac2b20e2c62468ac2e424ac3070247ace3220e3470247ace3624a3870247ace3a20e3c70247ace3e24a404268c4120e4320e4424a4522c4722c4824a4920e4b20e4c22c", "gg700302d02439bd04335906337908357b0a359b0c4135b0e31ce1122c121a1313141915141626818268191a1a151b1b1c141d22c2223b231924142519262572827929152a1a2b152c23b342593635793835793a259432684424a452684624a472684824a492684a24a4b2685435795523b56259582595923b5a3579632596562468ac672686962468ac6b259", "gg50035790123b0235790322c0435790523b0626807404ae0826809404ae0a2680b23b0c2680d24a0e268102681124a1217134359b154468a1750579e1950579e1b4468a1d2591e17211722259244468a262682720e282682920e2a35792c2592d17332683526837307e39307e3b2684426846174720e4920e4a17", "gg40061359bd02802468ace046024ace066024ace0861359bd0a703579be0c404ae0d22c0e24a1062468ac12713579bd144159d1661359bd1862468ac1a60268ce1c61359bd1e2592053579b2262468ac2462468ac264168d2724a2822c294468a2a22c2b24a2c4268c2d24a2e268314468a3353579b35268", "gg8002680226804357906802468ace08802468ace0a35790c2680e2681017121714268164468a17402ce184468a1a2681c171e172117231725357927713579bd2935792b172d17321734347a3626837424ac382683a347a3c1743337b4535794753579b4935794b337b5222c54347a562685724a582685a347a5c22c6123b63413bd6535796735796935796b413bd6d23b7222c7424a77177a24a7c22c", "gg600424bd025135bd0460246bd065135bd08524ace0a33bd0c5135bd0e60246bd1023c12324c144135c16324c1833bd1a23c1c324c1e4135c2123c23324c25324c2723c282ae2923c2b23c2d324c3223c34324c3623c38524ace3a23c3c23c4323c4523c471348359e49134b23c5423c5633bd5719585246bd5a23c", "gg500324c0270246ace0450246c06224082ac0a528ace0c70248ace0e32ac10131137bd12324913406bd14224151c16131721d181b19121a2ac1b4138e1c35ac1d31371e1b20122260468ac244246c26324c2832ac2a428ac2c62468ae2e1c3013324579c3310341435327c374259c39327c3a1a3b1e3c425793e1b42379b431545337c474259c49327b4b194c3357", "gg60070246ace0270246ace0470246ace06402460848ace0a70248ace0c70248ace0e70248ace115135bd135135bd1531351939bd1b5139bd1d5139bd20324c2270246ace2450246c26224282ac2a528ace2c70248ace2e32ac301332324c33206342243613381b3a2ac3b28e3c32ac3e1b41134331354513491b4b39bd4d1b53135b1b", "gg700802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace1062468ac12802468ace14802468ace16802468ace18802468ace1a802468ace1c802468ace1e62468ac204468a2262468ac24802468ace26802468ace28802468ace2a802468ace2c62468ac2e4468a30268324468a3462468ac36802468ace38802468ace3a62468ac3c4468a3e26842268444468a4662468ac4862468ac4a4468a4c26854268564468a584468a5a2686626868268", "gg80060268ce0260268ce0660268ce0860268ce0c60268ce0e60268ce11317d13337b15357917713579bd1935791b337b1d317d22327c244468a264468a2722c284468a2a4468a2c327c33337b3535793753579b3935793b337b44347a462684724a482684a347a53175517571759175b176417661768176a17751777177917", "gg6006024ace02413bd04424ac06424ac0823b0a424ac0c413bd0e6024ace1061359bd12424ac144359b1521d162591721d1824a1921d1a4359b1c424ac1e61359bd2062468ac2223b2462468ac2662468ac28413bd2a62468ac2c23b2e62468ac3053579b3223b344468a3522c364468a38424ac3a53579b3c24a3e53579b404468a4224a4435794523b463579484359b4a4468a4c2594e4468a50357952259544468a56259584468a5a35795c2595e3579", "gg60060468ae025047ae0470247ace064268c07404ae084268c0a70247ace0c5047ae0e60468ae105137bd1261368bd1461368bd164259c1720e184259c1a61368bd1c61368bd1e5137bd2060468ae2122c224068e2322c244068e264068e27424ac284068e2a4068e2b22c2c4068e2d22c2e60468ae31713579bd335137bd342593521d3623b3721d3823b3921d3a2593b5137bd3d713579bd40347a425247ac44317d454359b4620e4722c4820e494359b4a317d4c5247ac4e347a502685124a534259c554168d5624a57402ce5824a594168d5b4259c5d24a5e268", "gg30051579d02802468ace04713579bd06413bd0725908413bd0a713579bd0c802468ace0e51579d1024a114168d135137bd1560259ce17424ac1960259ce1b5137bd1d4168d1e24a22172322c2723b2b22c2c17", "gg400404ae026024ace0326804424ac064168d084168d0a424ac0b2680c6024ace0e404ae114159d1323b154159d1717194159d1b23b1d4159d22424ac24424ac26268282682a424ac2c424ac3717", "gg30060268ce026024ace044268c06404ae08404ae0a4268c0c6024ace0e60268ce115137bd1351579d154359b17413bd194359b1b51579d1d5137bd2222c232682424a264368b284368b2a24a2b2682c23c", "gg400404ae02404ae04802468ace06404ae08404ae0a802468ace0c404ae0e404ae1161359bd13347a1421d15347a1761359bd19347a1a21d1b347a1d61359bd2162468ac231724424ac25172762468ac29172a4259c2b172d62468ac314359b3324a3524a374359b392593b2593d4359b", "gg30070247ace024168d0324a0421d05347a06402ce07347a094468a0a402ce0b347a0c21d0d24a0e4068e1021d1153579b134268c155147ad17802468ace19802468ace1b4259c1c171d4159d1e172021d2123b222592322c24347a26413bd2860468ae2a4259c2c4259c2d17", "gg3005037be025037be04802468ace0624a07402ce0824a0a802468ace0c5037be0e5037be115037be135037be15802468ace17413bd19802468ace1b5037be1d5037be225037be25713579bd2722c29713579bd2c5037be", "gg700307e012590223b0320e0422c0520e0622c0822c0920e0a22c0b20e0c23b0d2590e307e11307e1225913403be15402ce1723b19402ce1b403be1c2591d307e232592724a2b25934259372593a259452594726849259562595825967259", "gg4006024ace012680222c034068e0424a05307e06424ac08424ac09307e0a24a0b4068e0c22c0d2680e6024ace116024ace1322c14357916171922c1b6024ace1d22c214259c234159d2423b25259272682823b2921d2a2592b22c2c2592d23b324159d344359b362593961359bd3b4359b3d259", "gg800802468ace0220e0420e0620e0820e0a20e0c20e0e802468ace10404ae1320e1520e1920e1b20e1e404ae20404ae2420e2a20e2e404ae30404ae3420e3a20e3e404ae4161359bd4321d4521d4921d4b21d4d61359bd5161468ad5421d5621d5821d5a21d5d61468ad6151579d6521d6721d6921d6d51579d7121d722687622c7822c7c2687d21d", "gg6004068e024068e044068e064268c08404ae0a4268c0c4268c0e404ae1051579d1251579d1451579d16713579bd1861359bd1a4359b1c4359b1e61359bd20424ac2126822424ac244268c264268c28424ac292682a24a2b2682c24a2d2682e424ac3153579b335247ac3552579c375247ac3953579b3b2593d35793e23b414468a43337b454368b47337b494468a4b2684d4468a51357953347a554468a57347a5935795b175d3579", "gg50020e0220e04424ac0620e0820e0a424ac0c20e0e20e1121d134159d15413bd1721d19413bd1b4159d1d21d224159d2423b2621d2821d2a23b2c4159d334168d35414ad39414ad3b4168d43174421d46259482594a21d4b17", "gg3004068e0124a0260268ce0324a044068e063579084468a0a53579b0c62468ac0e713579bd10403be11171221d132591420e154468a172681824a1922c1a35791b21d1c53579b1d20e1e62468ac2121d222682321d24259264468a284359b2921d2a337b2c4359b2d21d2e53579b", "gg400413bd0220e03424ac0426805402ce062680722c0826809402ce0a2680b404ae0c4268c0d404ae0e22c1022c134359b154168d174268c194168d1b2681c404ae1d22c2123b2324a24172525926327c272592822c292592a172b2592c172d413bd3224a33268354359b374268c394359b3b2683c24a3d22c", "gg500402ce02402ce04402ce052680735790935790a402ce0c6024ace0e6024ace10413bd12413bd14413bd153579174468a1935791a413bd1c61359bd1e61359bd2022c22424ac2422c2524a29424ac2b424ac2c2682d424ac2e2683122c322593322c3523b36259382593a23b3c53579b3e357942268", "gg600402ce02402ce0c402ce0e402ce11413bd13413bd1b413bd1d413bd22424ac24424ac2a424ac2c424ac3222c332593523b3923b3b2593c22c4222c432684623b4823b4b2684c22c5222c53175723b5b175c22c", "ge301402ce02246036028ace0424608246096028ace0a2460b402ce1033bd11257125029bd13246146028ace1524617246186028ace192461a5029bd1b2571c33bd20524ace224468c23112463579bd251127112863579bd29112a4468c2c524ace", "ig600902468aceg0282468aceg0433eg0633eg0833eg0a33eg0c82468aceg0e902468aceg10813579bdf124579b1333eg1533eg1733eg1933eg1b33eg1c4579b1e813579bdf2082468aceg227468aceg2433eg2633eg2833eg2a33eg2c7468aceg2e82468aceg3073579bdf326579bdf3533eg3733eg3933eg3c6579bdf3e73579bdf407468aceg42668aceg4633eg4833eg4c668aceg4e7468aceg506579bdf52579bdf57424eg5c579bdf5e6579bdf", "gg800402ce026024ace0c6024ace0e402ce11402ce13424ac1b424ac1d402ce2222c24424ac2a424ac2c22c354259c394259c444168d46424ac48424ac4a4168d5417554259c5723b594259c5a176417652596623b6823b692596a1775177917", "gg400408ac02406ae0460248ac064468a07402ce084468a0a6246ace0c4048e0e4246e1028c1120a1227d131a144038c16357917413bd1835791a426be1b141c2171d24e1e2262129b22102329b2420225347927424ac29357a2a2ce2b2352c1e2d235321a351839163c14", "gg40020e02413bd04413bd052590621d0723b09424ac0b4359b0c20e0d424ac0e20e1121d13413bd1561468ad17424ac194359b1b4468a1d60359be2562468ac274359b294468a2b35792d61359bd35337b392593d22c", "gg400404ae0222c04404ae0a404ae0c22c0e404ae11413bd13413bd1561359bd1961359bd1b413bd1d413bd206024ace22402ce24402ce25268266024ace28402ce292682a404ae2c404ae2e402ce3061359bd3221d3421d3523b374059e39403be3a2593b20e3c23b3d20e3e23b", "gg5004159d0262468ac044359b0624a0861359bd0a802468ace0c802468ace0e802468ace1162468ac134359b1524a1724a1962468ac1b51579d1d51579d1e23b2117224359b2424a2724a2953579b2b2592c21d2d2592e23b322683324a3824a394268c3b4259c3d4259c421748713579bd4a4268c4c4259c", "gg400802468ace02429be04702469be06306e08406ae0a1a0c5024ae0e6468ace1061359bd12338a1461359bd16171720e182791920e1b2ae1c2131e457bd20424ac2117221b231724424ac25268261e2726828102929e2a102b29e2c22b2d24e2e26c3023b32173423b361739103a29e3c1e3d24c", "gg4006024ace02413bd0420e0621d0753579b0a20e0b22c0c24a0d2680e20e1161359bd13414ad1520e16424ac172681822c1920e1a22c1b24a1c2681d413bd22413bd232592421d2635792722c2835792922c2b23b2c35792d22c33413bd35424ac374268c3952579c3b53579b3d61368bd", "eg500235022240421306702468ac0829b0a368a0c34680e346810141213141216613579b182ac1a2591c2571e357920142213241226613579b281b2a2592c2572e357930143213341236613579b381b3a2593c2573e35794014421344124652468a481b4a2594c2574e3579", "gg400802468ace021e03100422e0520406326e07304808426ae09348c0a406ae0b28c0c30ae0d1c0e702468ae10713579bd121e1420e151216304e1722618348e1926a1a38ce1b20a1c2ce1d101e62468ae2062468ac211e231e2520e26122724e28162928e2a1a2b2ce2c102d2be2e51357930326a311e3520e37143928e3b1c3d1e3e3159", "gg4002040270468ace0420e0670468ace082040a70468ace0c20e0e802468ace11213136468ace1571468ace17359d194159d1b6468ace1d71468ace2112246468ace251228359d29122c6468ace2d123212344259d38359d3a123c4259d", "ig800902468aceg0272468ace045468ac06368a08368a0a5468ac0c72468ace0e902468aceg10902468aceg1272468ace145468ac16368a18368a1a5468ac1c72468ace1e902468aceg20902468aceg2272468ace245468ac26368a28368a2a5468ac2c72468ace2e902468aceg30813579bdf3263579bd344579b36279382793a4579b3c63579bd3e813579bdf4072468ace425468ac44368a461848184a368a4c5468ac4e72468ace5063579bd524579b542795a2795c4579b5e63579bd605468ac62368a64186a186c368a6e5468ac70368a72187c187e368a", "gg600368e0130ac0252468e031004368e052ac064068e07224084068e092ac0a368e0b100c52468e0d30ac0e368e10171139bd1241357131e14171539bd1617174135e18171939bd1a171b1e1c413571d39bd1e1720162138ac224246e23182426e2538ac2626e2732482826e2938ac2a26e2b182c4246e2d38ac2e1631379b322353327e35479bd37335739479bd3b27e3c2353d379b41368a42144326845468ac47346849468ac4b2684c144d368a521757175c17", "gg40060246bd01190250246c03190460246bd05190650246c0719082bd09190a51357c0c526ace0d30480e526ace11315c132ac15415ac172ac192ac1b62468ac1d713579bd2020622324c24324b26306b281b2a1b2c4468a2d22c312153323b35315b371b391b3b1b3c43579", "gg40060246ce0270246ace045028ac0650268a085468ce0a5246ce0c70248ace0e6028ace114135d13317b1521917337b1925d1b337d1d419bd22324c24326a262482826a2a348c2c32ac3323b352593717392593b23b", "gg800802468ace02802468ace043ace062ce08802468ace0a802468ace0c30240e2021121d151d1921d1d112122c242ce262ce2922c2c2022e2023123b331b351d3923b3b133d114124a431a442ce462ce4924a4b144c2024e202512595319551d592595b155d11612686318642ce662ce692686b166c2026e20272177a17", "gg8005028ad01246025028ae04319e061108110a319e0c5028ae0d2460e5028ad105028ad11246125028ae14319e161118111a319e1c5028ae1d2461e5028ad205028ad21246225028ae24319e261128112a319e2c5028ae2d2462e5028ad305028ad31246325028ae34319e361138113a319e3c5028ae3d2463e5028ad405028ac41346e424028a431e4421a4528e461148114928e4a21a4b1e4c4028a4d346e4e5028ac505028ac51246525028ae54319e56319e58319e5a319e5c5028ae5d2465e5028ac605028ac61246625028ae64319e66319e68319e6a319e6c5028ae6d2466e5028ac713159731e75319e79319e7b1e7d3159", "gg600602468a02702468ac046028ace066028ace08702468ce0a60246ae0c62468ce0e6468ace11513579134159b1561379bd17315a194159b1a27d1b4359b1d25a21414682325a241125438ac261128315a2a5358ac2c25a314135733315a3551379b37215381a39153a339b3b153c1a413146442144528a4621648154a25a51313553115541579571559155a1a", "gg60031ce01259025027bd032590431ce06302d0726a08418ce0926a0a302d0c4159d0d337b0e359d124159c141d16111836ad1a111c1d1d32592121d22368a2321d2521d2721d28379b2921d2b21d2d62468ad301d311132479bd3311341d3511361d371138479bd39113a1d3b113c1d3d613579b3e1d4021d425179bd4421d4621d485179bd4a21d4c21d4d53579b4e1d52319d5621d58195a21d5d337b5e21d", "gg400413bd02413bd046024ace05268066024ace07268086024ace0a413bd0b170c413bd0d2680e6024ace1122c1322c15413bd16357917413bd1922c1b327c1d5137bd1e2592222c2422c2662468ac2822c2a22c2b172c22c2d2682e24a3322c3522c364468a3722c3922c3b22c3c2593d337b3e259", "gg400402ce02424ac0424a06268082680a404ae0c402ce0e6024ace1021d12413bd142591523b161718171960359be1b413bd1d413bd1e2592121d236024ace25424ac2626828802468ace2a413bd2c22c2d24a2e26833413bd3523b362593861368bd3a22c3c22c3d24a3e268", "ec60020c0122a02248031605702468ac0716082480922a0a20c122391325715613579b1725718239232572552468a2725733257354357937257431645346847165516", "ig300902468aceg02813579bdf046135bdf066024ceg086024ceg0a6135bdf0c813579bdf0e902468aceg11813579bdf136135bdf15413df1721f19413df1b6135bdf1d813579bdf21435bd23413df2521f2921f2b413df2d435bd", "gg6006024ace02402ce0324a0524a06402ce08402ce0924a0b24a0c402ce0e802468ace1025911413bd122591323b1523b1625917413bd182591923b1b23b1c2591d413bd1e25921424ac2323b2523b2762468ac2923b2b23b2d424ac3753579b474468a573579", "gg60070268ace024068e04702468ce0823b092590a22c0b2680c21d0d170e20e105179bd12307e13259144137d152591724a1923b1a2591b22c1c171d21d2038ac2121e22172321e2443579262592824a292682a23b2b2682c22c2d173029b32317e3424637259394468a3b337b401a42317e441547259492594b337b592685b17", "gg50060246ce0226c0426c0660246ce0a802468ace0c20e0e20e115024bd1216131d1416155024bd1727b1927b1b713579bd1d21d202bd2117224024d2316244024d2517262bd2827b2a27b2c62468ac301c3226d3330243426d3528a361c3728a3927b3b27b3d53579b411c434135d451c46194a27b4d4468a", "gg40060268ce0124a02402ce0421d0523b064159d0723b0821d0923b0a51579d0b23b0c51579d0d23b0e35791017114159d1321d154159d1623b174159d1823b194159d1a23b1b51579d1c23b1d35792026821424ac2421d252682621d272682821d2923b2a4159d2b23b2c35793617", "gg50020e026024ace0424a066024ace085027ce0a4068e0c4268c0e4468a1120e124359b1320e1424a1520e164359b184168d1923b1a35791b21d1c35791d23b1e357922802468ace24404ae2661359bd284259c2a61468ad2c4268c2e4468a3261359bd3425936424ac382683922c3a35793b22c3c173e357942424ac442684623b48174a4268c4e268", "gg80020e0222c0424a05170725909170a24a0c22c0e20e1121d1323b1417152591724a192591a171b23b1d21d2222c232682424a2623b2823b2a24a2b2682c22c3217334359b3523b3722c3923b3b4359b3c174323b4b23b5323b5b23b6323b6b23b7323b7b23b", "gg6006024ace02424ac0422c0623b084468a0a24a0c413bd0e402ce10413bd1223b1423b1623b1835791a2591b23b1d21d2023b2423b2724a2a2592b23b2d21d3024a3424a382593a2683c22c4125943259472684a174b23b52268573579592685b5468ac", "gg6006028ace011602402ce031604100535790630bd07357908313e0935790a1e0b180c402ce0d180e60246ce104579b1121d1216131014161520e16468ac1720e18424681920e1a181b1e1c181d21d1e43579205468ac2210232572420e254579b2620e2753579b2820e29435792a20e2b2792c1e2e52468a304579b331034163520e36368a3720e3834683920e3a183b1e3e4357940368a4410464079e484057e4a1e4e346850279551056185720e5816591e5e257", "gg400402ce014468a0222c0423b0520e0623b074159d08337b094059e0a337b0b4059e0c337b0d4059e0e171151579d1322c1523b1620e174268c1924a1a4068e1b24a1c4068e1d24a1e26821424ac2423b27317d2a24a2b307e2c24a2d173123b3423b37317d3b404ae3c17", "gg4006024ace02402ce046024ace06424ac0862468ac0c404ae0e4059e10413bd1221d14413bd164359b19713579bd1b404ae1d4059e2022c2221d2422c2624a2962468ac2c404ae3121d3321d3523b3725939337b", "ki40080246cegi026024egi045029gi0670279bgi0870579bdi0a70279bgi0c5029gi0e6024egi0g80246cegi106024egi12402gi14402gi15191620i1728a18406ci1928a1a20i1b191c402gi1e402gi1g6024egi22402gi2420i26309i28379b2a309i2c20i2e402gi3221h3420i3c20i3e21h", "gg400404ae026024ace056024ace0724a096024ace0c6024ace0e404ae1025911413bd134059e154059e1623b1823b194059e1b20e1d61359bd202682123b224168d2460468ae26414ad2861468ad2a4068e2c4168d2d23b31327c33317d35404ae37414ad39307e3b317d3d22c", "gg4006024ace0222c0452579c061708170a6024ace0c22c0e22c11413bd1322c154268c1717195137bd1b413bd1d22c2222c2452579c265137bd2870247ace2a61368bd2c22c2e22c3223b34424ac352683622c37173861359bd39173a22c3c22c3e23b", "gg70020e0220e0420e0622c0822c0a20e0c802468ace0e2681120e1320e1521d1722c1921d1b20e1c62468ac1e172220e2421d2622c2822c2a21d2c713579bd2e173321d3522c3722c3922c3b21d3c53579b3e174422c4622c4822c4a22c4c4468a4e175422c5a22c5c24a5e176422c6a22c6c24a6e17", "gg40022c02402ce032590420e0553579b072590953579b0a20e0b2590c402ce0e20e1022c12402ce1461368bd164259c184268c1a4359b1b21d1d21d2122c2322c244468a2522c264468a2722c294268c2a24a2b22c2d22c3222c344259c364368b3822c392593a23b3c22c", "gg300402ce0124a0222c032590422c052590622c08413bd0a424ac0c61359bd0e62468ac1021d1123b122591322c142591522c164468a1722c19413bd1b424ac1d61359bd2122c2224a2322c242592523b2722c2922c2b23b2d62468ac", "gg700402ce024068e044468a0662468ac0862468ac0a4468a0c4068e0e402ce1020e121714268164468a1722c184468a1a2681c171e20e23172535792753579b2935792b173417362683724a382683a174517473579491757176717", "gg400502ace02502ace04602468a0648ace0848ace0a602468a0c502ace0e502ace1131bd1321914335715191739bd19191a33571b2191d31bd211c2221a24424682619271c28192a424682c21a2d1c321b3321934335735193729b39193a33573b2193d1b", "gg400402ce02402ce0422c0524a0622c0724a0924a0b4359b0d4359b10413bd12413bd1423b152591623b17259192591b4468a1d4468a2022c2222c244468a26424ac282682a4368b2c35792e23b3122c3435793623b38173922c3a35793b22c3c2683d24a", "gg50020e0220e0322c0420e0523b0723b09404ae0b6024ace0d60359be0e171120e1320e1422c1520e1623b18403be1a413bd1c60359be1e4068e2220e2420e2522c2722c29402ce2b403be2d60468ae3320e3622c3822c3a403be3c403be3d35794722c4b403be4d268", "ki800802469dgi0220i0470468aci06404ci08404ci0a404ci0b26a0c20i0e20i0g802469dgi10802469dgi1220i1470468aci16404ci18404ci1a404ci1b26a1c20i1e20i1g802469dgi20802469dgi2220i2470468aci26404ci28404ci2a404ci2b26a2c20i2e20i2g802469dgi307028acei3220i345468ac36404ci38404ci3a404ci3b26a3e20i3g7028acei40509bdi4463579bd4623d4720i4823d4920i4a63579bd4g509bdi5040aci5563579bd5723d5820i5963579bd5g40aci665468ac685468ac774579b", "gg300302e0222e0422e0672468ace0824c0a5468ac0c24b0d120e30bd1021e1222e1422e155468ac161e1713181d19131a1d1b4579b1c131d21c2122e2322e2523e26358b2824c2a458bd2c24c2d12", "gg5004024b024024b044024b0a43ace0c43ace0e43ace11413ac13413ac1525a192491b424bd1d424bd201d22324924349d2a315a2c35ac2e11301e32335834358e3a30693c369b3e10401e42335744357e4a30794c379b4e10", "gg500402ce02413bd04424ac064359b08424ac0a61368bd0c170d22c0e4468a1121d1322c1524a162681724a1923b1a35791b22c1c171d61359bd1e172222c2424a26347a2823b2a4268c2c21d2d4468a2e20e3323b3524a362683724a3923b3a173b22c3d51579d4617", "gf4004468a0122c03802468ace05317d0760268ce0953579b0b24a0d3579104468a1122c13802468ace15317d1760268ce1953579b1b24a1d35792035792362468ac2420e254268c2620e274359b2a24a2c268334359b3617", "gg7001e022ce04468ac065026ce085026ce0a468ac0c2ce0e1e101e122ce14468ac165136bd185136bd1a468ac1c2ce1e1e201e222ce24468ac265246ac285246ac2a468ac2c2ce2e1e364359b384359b464468a484468a5635795835796626868268", "gg3004468a0253579b044268c0662468ac08337b0a327c0c317d0e307e103579124468a14337b1653579b18337b1a327c1c317d1e307e2026822357924337b264468a28337b2a327c2c317d2e307e", "gg60022c0222c0462468ac0620e0820e0a62468ac0c22c0e22c1122c1322c152591721d192591b22c1d22c2123b2323b262592722c282592b23b2d23b3124a3324a374359b3b24a3d24a4125943259474468a4b2594d259524468a5624a5824a5c4468a", "eg50035790252468a04613579b06702468ac0862468ac0a613579b0c4468a0e33791133791352468a1551357917702468ac1953579b1b424681d3579222682433592652468a2852468a2a435792c268333468353357374268a3933593b346844257462464834684a257", "gg70023b0223b0423b0653579b0853579b0a23b0c23b0e23b1022c1124a1324a1422c1524a162681724a182681924a1a22c1b24a1d24a1e22c204159d2224a24414ad264468a284468a2a414ad2c24a2e4159d304268c3120e33404ae3422c3524a362683724a382683924a3a22c3b404ae3d20e3e4268c4424a464468a484468a4a24a5524a562685724a582685924a664468a684468a", "gg400338c02338c044248c06713579bd08713579bd0a713579bd0c802468ace0e802468ace11338c13338c1562479bd17713579bd19713579bd1b802468ace1d20e1e62468ac221324338c2662479bd28713579bd2a62468ac2c20e2e61359bd331335338c374248c3962479bd3b21d3d21d3e4359b", "mi7006024gik026246egi04446eg0626e0a26e0c446eg0e6246egi0g6024gik106135fhj12424gi1326e1424g1526e1726e1926e1b26e1c24g1d26e1e424gi1g6135fhj206246egi22424gi24446eg2626e2826e2a26e2c446eg2e424gi2g6246egi306357dfh3224g3424g3526e3726e3926e3b26e3c24g3e24g3g6357dfh406468ceg4524g4626e4826e4a26e4b24g4g6468ceg506579bdf5624g5726e5926e5a24g5g6579bdf6725f6925f", "gg40053579b0262468ac04713579bd06802468ace0823b0a22c0c413bd0e413bd104468a1262468ac14713579bd16713579bd1823b1a22c1c413bd1e413bd2035792253579b244159d2662468ac2823b2a22c2c413bd2e413bd30268324468a3322c3522c362593723b3922c3b413bd3d413bd", "eg400402ac02402ac0460257ac0660257ac0860257ac0a60257ac0c402ac0e402ac1020c1122a1322a1450468c1522a1634681722a1850468c1922a1a34681b22a1c20c1d22a204039c2222a2325724402ac2622a28402ac2a22a2b2572c402ac2e239304048c322483322a3420c3522a3722a3820c3922a3b22a3c4048c3e248", "gg400402ce026024ace0422c0a22c0c6024ace0e402ce11413bd134159d1523b1923b1b4159d1d413bd20424ac224068e244068e26424ac28424ac2a4068e2c4068e2e424ac3023b33307e3723b3b307e3e23b", "gg50060268ce025027ce0422c06424ac0a2680c802468ace0e402ce115137bd13413bd1522c174359b192681b62468ac1d21d2124a22327c2324a2523b274468a29172b53579b2c20e2e20e3235793423b372683824a39173a24a3b2683d20e422684825949174a259", "gg50050579e0123b0220e0322c0523b0650579e0850579e0923b0b22c0c20e0d23b0e50579e114068e12424ac1424a164268c1720e184268c1a24a1c424ac1d20e1e2682117224159d254159d2717294159d2c21d2d2592e1736268382684717", "eg700402ac0222a0421b0620c0752468a0820c0a21b0c22a0e402ac1121b1322a1520c17613579b1920c1b22a1d21b2221b232392421b2620c2752468a2820c2a21b2b2392c21b322483321b342483521b37603579c3921b3a2483b21b3c2484143579432484421b452484620c4734684820c492484a21b4b2484d43579513468542485521b574057c5921b5a2485d34686716", "gg600502468011d02502468032bd04502468051d0630240850248a0a38ae0b130c1e0d31350e3ace101c11413571361357ad153137161c17413571939be1a131b191c306e1d131e39ce201b2232462329d2422726326b271428182933ce2b306e2c192d132e39be3222535124222444125212", "gg3002590123b024159d0323b044159d0523b064059e0723b084059e0923b0a4059e0b23b0c4159d0d23b0e21d112591223b134159d154059e174059e194059e1b4059e1c23b1d21d224359b2321d242592521d262592721d282592921d2a2592b413bd2d21d", "gg500307d012290224e031a0424e051a0624e072290820d09180a26c0b140c302b0d190e1711318d1213132ae14131529e161317318d1927c1a151b23b1c111d1a1e1822329d2433ae26328d2827c2a26b2b142c22a2d183128c33339d35339d3728c3927b3b25a3c133d193e1742184433ad4629d4828c4a26b4c24a4d18", "gg400424ac0220e0353579b0420e0523b0723b0923b0a20e0b53579b0c20e0e424ac104359b134068e1424a1520e1623b1823b1920e1a24a1b4068e1e4359b204468a2335792420e254359b2620e2723b2820e294359b2a20e2b35792e4468a3024a3224a34402ce3a402ce3c24a3e24a", "gi5006024ace02413bd066024ace08413bd0a6024ace0e413bd0g6024ace1025911413bd13413bd1661359bd18424ac1a61359bd1d413bd1f413bd1g2592026822413bd24413bd2662468ac2823b2a62468ac2c413bd2e413bd2g268301733413bd3653579b3a53579b3d413bd3g17464468a4a4468a", "ge400802468ace024159d04802468ace0651579d0862468ac0a24a0c6024ace10802468ace124159d14802468ace1651579d1862468ac1a24a1c6024ace20802468ace224159d24802468ace2651579d2862468ac2a24a2c6024ace30802468ace324159d34802468ace3651579d3862468ac3a24a3c6024ace", "gg300602468c02702468ce04302406402ce08402ce0a3ace0c70268ace0e6268ace10602469b111d12402461339be142021535be16202182ce1930391a2ce1b30351c48ace1d111e6358ace202ac213135221e2311245468ae251126346a28348a291d2a50468a2b1d2c102d39bd2e224", "gg40050246e0250246e0450246e0650246e0850246e0a802468ace0c802468ace0e802468ace103135111e123135131e143135151e163135171e183135191e1a402461b48ace1c402461d48ace1e4024621224221e241e25224261e281e292242a1e2c48ace2d3135322153421539133a2153c2063d224", "gg400802468ace02802468ace04802468ace06268084468a0a62468ac0c6024ace0e402ce11713579bd13713579bd1526817268194468a1b424ac1d402ce2262468ac24172635792817292592b23b2d21d3253579b3321d342683524a3724a3924a3a4268c3c21d", "gg40023b0224a034068e0422c0535790623b0735790823b0935790a22c0b4068e0c24a0e23b1124a132591421d1553579b1735791953579b1a21d1b2591d24a222592424a25327c27357929327c2a24a2c259332593523b37173923b3b259", "gg400802468ace02802468ace0460468ae0660468ae0860468ae0b5147ad0d404ae0e4268c1062468ac1120e1262468ac1320e142681520e164468a1720e182681921d1a23b1b35791c20e1d23b1e51579d20713579bd22703579be24307e26307e28317d2a22c2b4468a2c20e2d23b2e51579d304359b31173260359be33173420e35173620e37173821d3a22c3b4468a3c20e3d23b3e51579d", "eg30060248ac01160260248ac03160460248ac05160660248ac0860248ac09160a60248ac0b160c60248ac0d160e60248ac104139b12316b1324814326a154048c1622a1720c194139b1a161b2481c326a1d4048c1e22a2122a23326a242482522a2620c2722a2922a2b326a2c2482d22a2e20c", "aa800180250246804226064246808202101812502468142261642468182022018225024682422626424682820230183250246834226364246838202401842502468442264642468482025018525024685422656424685820260186250246864226664246868202701872226762267810", "ee50020c012480222a04316b06346808316b0a22a0b2480c20c1020c112481222a14316b16346818316b1a22a1b2481c20c2020c212482222a24316b26346828316b2a22a2b2482c20c314139b322573321b354257a374257a3921b3a2573b4139b463468", "ee500702468ac024468a0450468a061008702468ac0a702468ac0c1010415791123b1235791323b14357915303b17303b19702468ac1b1020112135792223b2335792423b26303b28303b292682a1030113235793323b3523b37303b392074011422684423b4623b47104910", "ki600406ci0226c0426c0580248aegi0626c0826c0a26c0b80248aegi0c26c0e26c0g406ci11416ch1326c15913579bdfh1726c1926c1b913579bdfh1d26c1f416ch22426cg2426c256248aeg2626c2826c2a26c2b6248aeg2c26c2e426cg33436cf3573579bdf3726c3926c3b73579bdf3d436cf4324e4426c45448ae4626c4826c4a26c4b448ae4c26c4d24e555579bd5726c5926c5b5579bd", "ee30060248ac011602402ac031604402ac0525706402ac072570821b092480a22a0b4048c0c22a10239114157b13316b15316b17316b182481921b1a2481b22a1c4057c2124822316b24316b26316b28613579b2a22a2b2572c21b", "ee300702468ac02702468ac04702468ac06702468ac08702468ac0a702468ac0c702468ac1023912613579b1423916613579b182391a613579b1c239202482120c224248a2320c242482520c2652468a2720c282482920c2a4248a2b20c2c248", "ee5005026ac02306c04702468ac0634680834680a2480c4248a105026ac12306c14702468ac1634681834681a2481c4248a205026ac22306c24702468ac2634682834682a2482c4248a305026ac32306c34702468ac3634683834683a2483c4248a4322a", "ee80060248ac0224803402ac0424805402ac0634680824809402ac0a2480c60248ac1021b11248134148b154148b161617248194148b1b2481c21b2022a222482322a242482522a263468282482922a2a2482c22a30239332483422a35248361637248392393c2394616561666167616", "ee6003026024268a04120536ac074246a091a0a30240c10103026124268a14121536ac174246a191a1a30241c10203026224268a24122536ac274246a291a2a30242c10303026324268a34123536ac374246a391a3a30243c1040313542435794413451b4643579471b4833594a2134c1151145226853135513562685723a581559135b11", "ee700402ac02402ac04402ac07160824809326a0a4048c0b22a0c20c1121b1321b15239162571816192481a22a1b20c2221b2422a26346828257292392a21b3322a35239362573816392483a22a43239452484616482574a4357953248552575716592575a2396325765166716692576a19", "ee5005026ac02306c0460257ac062570860257ac0a306c0c5026ac10402ac11161220c131614402ac152571725718402ac19161a20c1b161c402ac20402ac22306c245026ac26257285026ac2a306c2c402ac3121b33316b352573725739316b3b21b42316b444248a484248a4a316b", "dd80323505235111b123246131b14226151b163246171b191b1b613579b2141357221b23217241b25217261b2741357281b2b52468b302353121733308b35308b37317b38235391b3b53579b402354121743208441b45208461b4721748335b4b4468b50235512175320855308b57317b58235591b5b4579b60235612176320865208661b6721768335b6b368b7023571217732087520877317b78235791b7b279", "ee4005026ac024257a0451369b0651369b0822a092570a402ac0b2570c4139b105026ac124257a1451369b1651369b1822a192571a402ac1b2571c4139b205026ac224257a2451369b2651369b2822a292572a402ac2b2572c4139b3021b31163222a331635326a374248a392483a21b3c4248a", "ee40032ac02413ac045024ac06413ac08413ac0a702468ac0c702468ac1032ac12413ac145024ac16413ac18413ac1a702468ac1c702468ac2032ac22413ac245024ac26413ac28413ac2a702468ac2c702468ac301a3112321c33213341a3512361c3712381a39123b702468ac", "ki300446ce0122g0220i04408ai0526c06404ei0722g0824e0922g0a404ei0b26c0c408ai0e20i0f22g0g446ce11446ce1222g1320i141915407bi1625d1721h18435df1921h1a25d1b407bi1c191d20i1e22g1f446ce2225d2323f2421h2528a266026cgi2724e2822g2924e2a6026cgi2b28a2c21h2d23f2e25d", "ee60060468ac024046c04306c0660268ac08402ac0a402460c702468ac1060468ac124046c14306c1660268ac18402ac1a402461c702468ac205468ac211022346c23102426c2510265268ac27102832ac29102a32462c603579b305468ac324046c34306c3660268ac38402ac3a402463c602468a405468ac42346c43104426c4510465268ac47104832ac49104a32464c5035795410561058105a2025c502468", "gg300424ac0261359bd0460268ce06317d08317d0a60268ce0c61359bd0e424ac10424ac1261359bd1460268ce16317d18317d1a60268ce1c61359bd1e424ac20424ac2261359bd2460268ce26317d28317d2a60268ce2c61359bd2e424ac", "gg40024a02424ac04402ce0a402ce0c424ac0e24a102591123b134159d15403be19403be1b4159d1d23b1e259202682124a2222c244168d26404ae28404ae2a4168d2c22c2d24a2e2683017312593223b3321d354059e3720e394059e3b21d3c23b3d2593e17", "gg500405ae02405ae04405ae06405ae08702468ae0a1e0c802468ace0e802468ace10405ae12405ae14405ae16405ae18702468ae1a1e1c802468ace1e802468ace21405ae23405ae25405ae27702468ae29702468ae2b405ae2d802468ace32405ae34405ae3651469e3852468e3a51469e3c713579bd43405ae454159e4752468e494258e4b4159d4c337b", "gg400357902402ce046024ace06404ae0860468ae0a20e0b22c0c24a0d2680e6024ace10357912402ce146024ace16404ae1860468ae1a20e1b22c1c24a1d2681e6024ace20357922402ce246024ace26404ae2860468ae2a20e2b22c2c24a2d2682e6024ace30357932402ce346024ace36404ae3860468ae3a20e3b22c3c24a3d2683e6024ace", "gg4004259c0262468ac04424ac0622c0862468ac0a4068e0c4068e0e802468ace104259c1262468ac14424ac1622c1862468ac1a4068e1c4068e1e802468ace204259c2262468ac24424ac2622c2862468ac2a4068e2c4068e2e802468ace304259c3262468ac34424ac3622c3862468ac3a4068e3c4068e3e802468ace", "gg600402ce0221d0325904413bd05259092590a413bd0b2590c21d0e402ce10402ce1221d1325914413bd15259192591a413bd1b2591c21d1e402ce20402ce2221d2325924413bd25259292592a413bd2b2592c21d2e402ce3021d3221d3461359bd3a61359bd3c21d3e21d4021d444159d4a4159d4e21d5021d544159d5a4159d5e21d", "gg7006024ace0223b04402ce0a402ce0c23b0e6024ace106024ace1223b14402ce1a402ce1c23b1e6024ace206024ace2223b24402ce2a402ce2c23b2e6024ace3060249bd3223b3432ce3510391e3a302c3c23b3e6135ace4060248ac4223b4432ce4610481e4a302c4c23b4e6246ace50602479b5223b5432ce5720e5a302c5c23b5e6357ace60602468a6223b6432ce661e68106a302c6c23b6e6468ace", "gg6006024ace0223b04402ce0a402ce0c23b0e6024ace106024ace1223b14402ce1a402ce1c23b1e6024ace206024ace2223b24402ce2a402ce2c23b2e6024ace306024ace3223b34402ce3a402ce3c23b3e6024ace406024ace4223b44402ce4a402ce4c23b4e6024ace506024ace5223b54402ce5a402ce5c23b5e6024ace", "ki500329g0280248aegi0480248aegi06329g0a329g0c80248aegi0e80248aegi0g329g11329g12457bd135139fh14457bd155139fh17329g19329g1b5139fh1c457bd1d5139fh1e457bd1f329g22329g2326c24329g26329g28329g2a329g2c329g2d26c2e329g335269cg35329g37329g39329g3b329g3d5269cg4373579bdf46329g48329g4a329g4d73579bdf", "gg600802468ace0223b04402ce064068e084068e0a402ce0c23b0e802468ace10802468ace1223b14402ce164068e184068e1a402ce1c23b1e802468ace20802468ace2223b24402ce25172620e2735792820e29172a402ce2c23b2e802468ace30802468ace3223b34402ce3620e37173820e3a402ce3c23b3e802468ace40802468ace4223b44402ce4620e4820e4a402ce4c23b4e802468ace50802468ace5223b54402ce5620e5820e5a402ce5c23b5e802468ace", "gg8001701413bd021703413bd041706268076024ace082680a170b413bd0c170d413bd0e17101711413bd121713413bd141716268176024ace182681a171b413bd1c171d413bd1e17201721413bd221723413bd241726268276024ace282682a172b413bd2c172d413bd2e173022c3117326024ace33173422c351737713579bd39173a22c3b173c6024ace3d173e22c42327c44174626847424ac482684a174c327c531755175753579b59175b176417662686724a682686a177517772597917", "gg4004168d0260259ce046024ace064359b0862468ac0920e0b21d0d22c0e4468a104168d1260259ce146024ace164359b1862468ac1920e1b21d1d22c1e4468a204168d2260259ce246024ace264359b2862468ac2920e2b21d2d22c2e4468a304168d3260259ce346024ace364359b3862468ac3920e3b21d3d22c3e4468a", "gg700268024468a0462468ac064059e085047ae0922c0a4068e0b24a0c4068e0d22c0e5047ae10171235791453579b162591720e1824a19402ce1a2681b20e1c2681d402ce1e24a201722268244468a2625928404ae2922c2a20e2b172c20e2d22c2e24a3217343579362593824a39402ce3b20e3d22c3e24a44268462594824a4922c4a20e4d22c4e24a5417562595824a5922c5d22c5e24a662596824a6922c6d22c6e24a", "gg4004468a024468a04802468ace066024ace08402ce0a402ce0c6024ace0e6024ace1135791335791423b1521d1623b174159d1921d1b61359bd1d413bd222682324a2523b2621d284168d2a21d2b4468a2c22c3217332593523b3721d3921d3b52579c", "gg800402ce026024ace04424ac0a424ac0c6024ace0e402ce1021d114359b1221d134359b1421d154359b194359b1a21d1b4359b1c21d1d4359b1e21d2521d2623b2823b2921d3621d3723b3821d47413bd57424ac674359b7724a78268", "gg60013022240431350650246c0861357bd0a802468ace0c802468ace0e802468ace121314224151c163135172bd1840246193ace1a402461b39bd1c402461d48ace1e402462313241c25224262bd273135283ace29402462a39bd2b402462c48ace2d402462e48ace331c3413352bd36224373ace3831353939bd3a402463b48ace3c402463d48ace3e40246421c442bd4513463ace472244839bd4931354a48ace4b402464c48ace4d402464e48ace511c532bd553ace56135739bd582245948ace5a31355b48ace5c402465d48ace", "gg30060259ce0261368bd045247ac0662468ac0823b0920e0a53579b0b20e0c4468a0d21d0e53579b1060259ce1261368bd145247ac1662468ac1823b1920e1a53579b1b20e1c4468a1d21d1e53579b2021d212592222c23172423b2653579b2823b2a403be2b35792c21d2d53579b", "gg5006024ace0220e0460468ae064468a084468a0a60468ae0c20e0e6024ace102591121d154059e1717194059e1d21d1e259202682222c2424a264068e284068e2a24a2c22c2e268302593121d332593560359be37173960359be3b2593d21d3e25940402ce412684220e4326846413bd48413bd4b2684c20e4d2684e402ce", "gf50053579b0262468ac04713579bd06802468ace0922c0a4468a0b22c0c4468a1024a1223b14404ae162591720e1823b192591a23b1b2591c23b202592224a2320e242592626828402ce2924a2b424ac2d22c30268324059e3426836173821d3923b3b413bd3d21d41268432684517", "gg400404ae0122c02404ae054359b0724a094359b0c404ae0d22c0e404ae10404ae1122c12404ae154359b1724a194359b1c404ae1d22c1e404ae20404ae2122c22404ae254359b2724a294359b2c404ae2d22c2e404ae30404ae3122c32404ae354359b3724a394359b3c404ae3d22c3e404ae", "gg40060468ae0122c02404ae0421d054359b06170724a0817094359b0a21d0c404ae0d22c0e60468ae1060468ae1122c12404ae1421d154359b16171724a1817194359b1a21d1c404ae1d22c1e60468ae2060468ae2122c22404ae2421d254359b26172724a2817294359b2a21d2c404ae2d22c2e60468ae3060468ae3122c32404ae3421d354359b36173724a3817394359b3a21d3c404ae3d22c3e60468ae", "eg4004029b01246024028a03246044029b0629b0720208346c094028a0a346c0b2020c29b0e29b10302a112461230291324614302a161a1720218346b1930291a346b1b2021c1a1e1a2120222246232022820229346b2a2023220239202", "gg7006024ace02402ce04402ce0660359be08403be0a20e0c6024ace0e6024ace1060259ce12402ce14402ce1660359be18403be1a20e1c6024ace1e6024ace2060268ce22402ce2420e26403be2820e2a20e2c424ac2e404ae3025931402ce3320e3520e3720e3920e3c424ac3e404ae4024a4220e4420e4620e4820e5124a5320e5520e5720e62259", "gg400402ce02402ce046024ace06424ac08424ac0c6024ace0d2680e6024ace1021d1221d14413bd1623b1823b192591b2591d61359bd2121d2321d2523b2723b2a2592c2592d23b3221d34413bd3623b3b2593d24a", "ge40035790123b02357903413bd04357905402ce064468a07402ce08357909413bd0a35790b23b0c35791035791123b12357913413bd14357915402ce164468a17402ce18357919413bd1a35791b23b1c35792035792123b22357923413bd24357925402ce264468a27402ce28357929413bd2a35792b23b2c35793035793123b33317d341535307e37307e394168d3b23b3c3579", "gg5002590123b0221d0420e0621d074359b092590a23b0b21d0d317d0e4359b102591123b1221d1420e1621d174359b192591a23b1b21d1d317d1e4359b202592123b2221d2420e2621d274359b292592a23b2b21d2d317d2e4359b3124a3222c3421d3622c3724a3924a3a22c3c4268c3d24a4223b4422c4623b4824a4a23b4c337b4d259", "gg6004468a025137bd045137bd0a5137bd0c5137bd0e4468a1035791123b13802468ace155047ae195047ae1b802468ace1d23b1e3579202682124a2322c245047ae265047ae285047ae2a5047ae2b22c2d24a2e26830173125933413bd355047ae375047ae395047ae3b413bd3d2593e17461748175717", "gg400413bd02414ad0326804404ae06413bd08424ac092680a424ac0c424ac0e53579b10413bd12414ad1326814404ae16413bd18424ac192681a424ac1c424ac1e53579b20413bd22414ad2326824404ae26413bd28424ac292682a424ac2c424ac2e53579b3823b3935793a23b3c23b", "gg4006024ace0224a04424ac0624a0720e0862468ac0920e0a35790b23b0c4168d0e20e10413bd1224a1423b1521d1624a1721d1853579b1921d1a4468a1b22c1c24a1d4168d2022c2124a2324a25424ac2724a284268c2924a2a2682b24a2c22c2d35793022c3522c3822c39173c22c3d268", "ki20073579bdf02329g04415dh06309i0722g08408ai0a20i0b24e0c406ci0d28a0e22g0g448ae1024e11468ac1222g14415dh165029gi185029gi1a20i1b24e1c406ci1d28a1e22g1g5479be", "gg60017022680424a0622c07307e0822c0a24a0c2680e171017122681424a1622c17307e1822c1a24a1c2681e172017222682424a2622c27307e2822c2a24a2c2682e173117333579354359b375137bd394359b3b35793d17421743259454359b4722c494359b4b2594c175217532595523b5722c5923b5b2595c17", "gg40020e0117026024ace03170424a05327c0624a071708404ae09327c0a20e0b4268c0c20e0d22c0e4468a1020e1117126024ace13171424a15327c1624a171718404ae19327c1a20e1b4268c1c20e1d22c1e4468a2020e2117226024ace23172424a25327c2624a271728404ae29327c2a20e2b4268c2c20e2d22c2e4468a3120e32327c3324a34173523b3724a381739403be3a173b20e3c22c3e3579", "gg800402ce02402ce0661359bd08413bd0a317d0c35790e4468a10413bd12413bd1661359bd18413bd1a317d1c35791e4468a20424ac22424ac26413bd2821d2a172c2682e3579304359b324359b3621d3c173e268404468a424468a4522c4e175035795235795423b5e1760268622686424a711773259", "gg400308a01326c025048ae03326c0424e061e081e0a24e0b326c0c5048ae0d326c0e308a11308a12326c1324e151e171e191e1b24e1c326c1d308a214179b22335d241e261e281e2a1e2c335d2d4179b31318a3214331d351e371e391e3b1d3c143d318a", "gg30070247ace024268c0324a04327c0520e06268076024ace082680920e0a327c0b24a0c60268ce0e70247ace1070247ace124268c1324a14327c1520e16268176024ace182681920e1a327c1b24a1c60268ce1e70247ace2070247ace224268c2324a24327c2520e26268276024ace282682920e2a327c2b24a2c60268ce2e70247ace", "gg60053579b0121d0223b032590417052590617072590817092590a23b0b21d0d20e0e62468ac104468a1122c1224a1326815268172681924a1a22c1c20e1e713579bd2035792123b23357925172717282592a23b2b21d2d20e2e62468ac304468a3223b344468a36268382593923b3a21d3c20e3e713579bd4035794223b442594517472684824a4922c4b20e4d21d4e53579b504468a5223b5424a55268572685824a5922c5b20e5d21d5e53579b", "gg80030790125b02303d04302e06802468ace08802468ace0a30ce0c31be0d2390e357e1130791225b13303d15302e17802468ace1930ce1b31be1c2391d357e2230792325b24303d26302e274468a2830ce2a31be2b2392c357e3310351037802468ace391e3b1e441047713579bd4a1e55105760468ae591e6620e6735796820e774068e", "if5006028ace0270279bdf047368aceg067468aceg0827f0b435df0c20a0d6246ceg105029bd126028ace146379bdf167468aceg1828e1b435df1c20a1d6246ceg20402ac225029bd2448ace26579bdf2c6035adf311b332ac3539bd421b442ac", "eg60060248ac0220c0420c0660248ac0860248ac0a60248ac0d306c0e4248a102391121b1320c1520c174139b194139b1c306c1d4248a202392121b2320c2520c274139b294139b2b162c4248a2d20c302393221b3420c3620c374248a394248a4725748239492575816", "gg80040246024024604402460650246808368a0a48ace0c3ace0e3ace1040246124024614402461650246818368a1a48ace1c3ace1e3ace204024622302624304626402462a3ace2c3ace2e3ace3b2bd3d2bd4b2bd4d2bd5b2bd5d2bd6b2bd6d2bd7c1c", "ca400602468a0220a0420a0620a08602468a114246813219152191742468223357242282633573324635246", "ki70090246acegi0290246acegi0480246acgi065246ai0824e0a508ceg0c80268cegi0e902468cegi0g902468cegi11524ceg1380246acgi1560246ai17546aei195048ce1b608cegi1d80268cegi1f5246eg211e22424cg2460246ai264046a2870479bei2a48cei2c608cegi2e426eg2f14351a385579bd3b18461a48468ac4a18561a58379b5a186819", "gg5006024ace02413bd046024ace0a6024ace0c413bd0e6024ace106024ace12413bd146024ace1a6024ace1c413bd1e6024ace206024ace22413bd246024ace2a6024ace2c413bd2e6024ace306024ace32413bd346024ace3a6024ace3c413bd3e6024ace406024ace42413bd446024ace4a6024ace4c413bd4e6024ace", "gg4006024ace02713579bd046024ace0622c07170822c0a6024ace0c713579bd0e6024ace106024ace12713579bd146024ace1622c17171822c1a6024ace1c713579bd1e6024ace206024ace22713579bd246024ace2622c27172822c2a6024ace2c713579bd2e6024ace306024ace32713579bd346024ace3622c37173822c3a6024ace3c713579bd3e6024ace", "gg40050579e0122c02180322c0424e05100624e07316c09306c0a24e0b326c0c2090d22c0e50579e1050579e1122c12181322c1424e15101624e17316c19306c1a24e1b326c1c2091d22c1e50579e2050579e2122c22182322c2424e25102624e27316c29306c2a24e2b326c2c2092d22c2e50579e3050579e3122c32183322c3424e35103624e37316c39306c3a24e3b326c3c2093d22c3e50579e", "gg8002680261368bd0426806802468ace08802468ace0a2680c61368bd0e26811337d1321b151717713579bd19171b23d1d317b21327c2322c25172762468ac29172b22c2d327c31317b3323d35173753579b39173b21b3d337d411742413bd4517474468a49174c413bd4d1751337d5321b551757357959175b23d5d317b61327c6322c66268682686b22c6d327c711772413bd77177c413bd7d17", "gg8001d013024021d03224041c054246a09448ac0a120b2ac0c110d3ace0e111025d124135d144135c151a1611181d19141a429bd1c419bd1e219201d213024221d23224241c254246a29448ac2a122b2ac2c112d3ace2e113025d324135d344135c351a3611381d39143a429bd3c419bd3e219401d413024421d43224441c454246a49448ac4a124b2ac4c114d3ace4e11501d51115223d5423c5525a592495a22b5c21b5d1d5e11601d6222d6424c651a69146a22a6c21c6e1173137b1b", "gg4002080126a02304c04613579d06304c0726a082080a402ce0b4468a0c302c0d4468a0e402ce102081126a12304c14613579d16304c1726a182081a402ce1b4468a1c302c1d4468a1e402ce202082126a22304c24324d26304c2726a282082a302e2b1c2c602468a2d1c2e302e3a20e3c326a3e20e", "gg5002680226806268082680c402ce0e402ce1035791235791535791735791935791b413bd1d413bd212682426826268282592a424ac2c424ac31173326835259374468a394359b3b4359b422684425946259484468a4a4468a", "gg4005027ce0124a02307e0323b044168d064468a07402ce084468a0a4168d0b23b0c307e0d24a0e5027ce105027ce1124a12307e1323b144168d164468a17402ce184468a1a4168d1b23b1c307e1d24a1e5027ce20402ce21172220e2317251727713579bd29172b172c20e2d172e402ce3020e32173417375247ac3a173c173e20e", "gg700402ce0124a0220e0353579b0421d0621d0821d0a21d0b53579b0c20e0d24a0e402ce10402ce1124a1220e1353579b1421d1621d1821d1a21d1b53579b1c20e1d24a1e402ce20402ce2124a2220e2353579b2421d2621d2821d2a21d2b53579b2c20e2d24a2e402ce30402ce3124a3220e3353579b3421d3621d3821d3a21d3b53579b3c20e3d24a3e402ce4020e434468a4521d4721d4921d4b4468a4e20e5020e5335795621d5821d5b35795e20e632686b268", "gg400413bd02403be04424ac0623b0a22c0b20e0c24a0d60268ce0e24a10413bd12403be14424ac1623b1a22c1b20e1c24a1d60268ce1e24a20413bd22403be24424ac2623b2a22c2b20e2c24a2d60268ce2e24a30413bd32403be34424ac3623b3a22c3b20e3c24a3d60268ce3e24a", "ig8002eg01218022eg042eg072180c5246eg0e5246eg1040279112eg1240279132eg152eg164027918402791c5357eg1e5357eg2050268a2270268aeg242eg2550268a262eg2750268a2950268a2c5468eg2e5468eg30602579b32602579b332eg3420235568aeg3620237568aeg3820239368a3a2023c5579eg3e5579eg41613579b43613579b442eg4541357462eg473135482eg492134c568aeg4e568aeg524468a5412552eg5612572eg5812592eg5c579beg5e579beg662eg682eg6a2eg6c58aceg6e58aceg772eg792eg7b2df7c29b7d2df7e29b", "gg5005137bd025037be04802468ace065037be08317d0a4268c0b20e0c24a0d60268ce0e24a105137bd125037be14802468ace165037be18317d1a4268c1b20e1c24a1d60268ce1e24a205137bd225037be24802468ace265037be28317d2a4268c2b20e2c24a2d60268ce2e24a305137bd325037be34802468ace365037be38317d3a4268c3b20e3c24a3d60268ce3e24a40413bd42307e444268c4620e48317d4a22c4c24a4d20e", "gg400402ce01248021c03348a042020538ac08379b092020a34790c347b0d2020e1d10402ce11248121c13348a142021538ac18379b192021a34791c347b1d2021e1d20402ce21248221c23348a242022538ac28379b292022a34792c347b2d2022e1d30402ce31248321c33348a342023538ac38379b392023a34793c347b3d2023e1d", "gg400413bd011702404ae031704404ae05327c064059e071708403be092680a6024ace0c404ae0e802468ace10413bd111712404ae131714404ae15327c164059e171718403be192681a6024ace1c404ae1e802468ace20413bd211722404ae231724404ae25327c264059e271728403be292682a6024ace2c404ae2e802468ace3022c31307e335047ae355027ce3625937307e3823b39307e3a424ac3b20e3c24a3e703579be", "gg600602479b011e02347b031e044027b051e06306a0724e0830290927d0a150b313c0c1a0d2080e324610602479b111e12347b131e144027b151e16306a1724e1830291927d1a151b313c1c1a1d2081e324620602479b211e22347b231e244027b251e26306a2724e2830292927d2a152b313c2c1a2d2082e32463031353127b3225e3327b341e35202361e372024022441368a422ce4328a442ce4621e5022451368a522ce5328a542ce561e", "gg40010012ce0221a0338ce04326a05448ce06306a075248ce08306a09448ce0a326a0b38ce0c21a0d2ce0e1010101231ce131a14428ce15346a1638ce1750246a1838ce19346a1a428ce1b1a1c31ce1e1020102211232ce2422a2538ce26346a275028ce28346a2938ce2a22a2b2ce2c112e10342ce351a3638ce37346a3838ce391a3a2ce", "gg3006024ace0224a0321d044359b0521d064359b0721d084359b0a2590c61359bd0e6024ace106024ace1224a1321d144359b1521d164359b1721d184359b1a2591c61359bd1e6024ace2020e2124a2220e2324a2420e2524a2620e2724a2820e2c424ac2e61359bd", "gg6004259c024259c044259c0670247ace08327c0a802468ace0c317d0d4359b0e317d104259c124259c144259c1670247ace18327c1a802468ace1c317d1d4359b1e317d214259c234259c25424ac262682722c281729413bd2a35792b21d2d5147ad314359b334359b352593622c37173822c392683a424ac3d35794224a47327c4962468ac4d26859337b5d17", "gg50017014359b02317d031904307e05190651357d084468c0932ae0a1c0b21e0c1c0d32ae0e34681017114359b12317d131914307e15191651357d184468c1932ae1a1c1b21e1c1c1d32ae1e34682017214359b22317d231924307e25192651357d284468c2932ae2a1c2b21e2c1c2d32ae2e34683017314359b32317d331934307e35193651357d384468c3932ae3a1c3b21e3c1c3d32ae3e3468414468a421c431845184613472574819492bd4a124b1d4c22b4e3579", "gg30070246ace011802304e03180460246ae06404bd08413ae0a6048ace0b160c30ae0d160e70248ace1070246ace111812304e13181460246ae16404bd18413ae1a6048ace1b161c30ae1d161e70248ace205024ce2220e24304a2a34ae2c20e2e502ace", "gg40060268ce0262468ac04424ac062680860268ce0a4268c0b24a0d24a0e402ce10317d1253579b1423b152591617184168d1a4468a1c24a1e413bd2021d21172224a2322c292682b24a2e22c3021d31173322c39173b24a3e22c", "ig700402eg02424ce04402eg06424ce08402eg0a424ce0c402eg0e424ce10413df12435bd14413df16435bd18413df1a435bd1c413df1e435bd20424ce22446ac24424ce26446ac28424ce2a446ac2c424ce2e446ac3124c322793324c3524c362793724c3924c3a2793b24c3d24c3e27942184324c4524c46184724c4924c4a184b24c4e185524c5724c5924c6724c", "gf301802468ace0360268ce0424a0526809402ce0a24a0b60268ce0c24a0d60268ce1020e1153579b1221d131714403be15357918403be1a402ce1b24a1c60268ce2020e21337b2221d24403be2525928403be2a402ce2b24a2c4268c", "gg40070247ace025047ae04307e06268076024ace082680a5247ac0c347a0e70247ace106024ace125047ae14307e1626817424ac182681a5247ac1c347a1e6024ace206024ace225047ae24307e27424ac2a5247ac2c347a2e6024ace3022c31404ae33307e3723b3a23b3b173c24a3e413bd", "gg40070248ace0224804346807160824809426ae0a4048c0b426ae0c4048c0d32ae0e20c105148bd1324814161816192481a426ae1b4048c1c32ae1d20c205248ac222482425729162a2482b32ae2c20c30339b34163a2573b31393c2bd", "gg600713579bd02713579bd04413bd0526806413bd0726808413bd092680a413bd0b2680d802468ace1062468ac1262468ac1422c15171622c17171822c19171a22c1b171d713579bd2162468ac2322c2522c26172722c28172922c2a172c2682d424ac2e268314468a3222c3422c3622c37173822c39173b173d53579b48174a174c174d24a59175b175d3579", "gg50026801413bd021703413bd04268065027ce0860268ce0a170b413bd0c2680d413bd0e17104468a1222c1462468ac1621d18713579bd1a21d1c62468ac1e172124a2324a2524a2724a2924a2b24a3125934259382593b2594126844268482684b268", "gg5006024ace0250579e046024ace0a6024ace0c50579e0e6024ace1061359bd12268156024ace196024ace1c2681e61359bd2062468ac266024ace286024ace2e62468ac3053579b3761359bd3e53579b404468a4762468ac4e4468a", "gg400268023579044468a064468a084468a0a802468ace0c802468ace0e802468ace1117132681525917259194059e1b61359bd1c171d20e1e62468ac231725268272682820e292682b4468a2c22c2d4468a2e402ce36173720e38173a173b2593c173d4359b3e21d", "gg500413bd0261359bd0461359bd062590821d0a61359bd0c413bd0e61359bd1021d12424ac1423b154059e174059e192681a424ac1c22c1e424ac2021d2223b2424a264059e282682a23b2c22c2e23b3222c3324a352593735793a23b3c22c3e23b4717", "gg6006024ace02424ac0424a054268c07402ce09402ce0a24a0c4468a0e4468a10413bd1223b144359b15171621d1821d1a23b1c2591e35792022c2223b2424a252682621d2821d2a23b2c2592e357930413bd32424ac3424a35327c3620e3820e3a22c3c24a3e26840424ac42424ac50424ac", "eg400402ac0220c03257044039c06402ac0820c0a702468ac0c4139b0e60248ac1022a1120c13306c1424815402ac17402ac1920c1a34681b22a1d4139b2021b2220c23257244039c26402ac2820c2a4157b2c22a3320c3520c3720c3921b3a163b21b", "ig4006246ace02308g04308g06308g08308g0a308g0c308g0e6246ace11435bd124179f144179f164179f184179f1a4179f1c4179f1d435bd211822435bd24426ae26426ae28426ae2a426ae2c435bd2d18302793324c35435bd37435bd39435bd3b24c3e279", "gg4006468ace01202026468ace0310056068ace06140730280814096068ace0b100c6468ace0d2020e6468ace106468ace11121270468ace141015568ace16204172281820419568ace1a101c70468ace1d121e6468ace205579bd2113225579bd23102560579bd2730382960579bd2b102c5579bd2d132e5579bd3026c32336c33318a3528a364136c384136c3928a3b318a3c336c3e26c", "gg400424ac014068e02424ac034068e05802468ace072680823b094168d0b62468ac0d4168d0e23b116024ace134059e141715413bd1625917171824a19327c1b53579b1d327c1e25921413bd22259242682522c2624a272682824a294268c2b4468a2c22c2d2683122c3224a3435793523b3625937173825939173b35793d17", "gg5004068e01424ac024068e04802468ace0620e074268c08404ae092680a404ae0b4268c0c20e0d2680e6024ace1160368be13259145137bd152591621d1725918337b1a337b1b2591c317d1d2591e413bd21172462468ac2625929337b2b172c2592d21d3453579b444468a", "gg4005028ae025028ae04702468ae06702468ae085028ae0a5028ae0c1e0e802468ace104029b111d124029b131d14613579b151d16613579b171d184029b191d1a4029b1b1d1d1d1e613579b2121a221c2322a244468c2522a264468c2722a281c2921a2a1d2c1d2e62468ac331b343359363359371b3b1d3e53579b", "gg50060258ad0260258ae031c044258e0652468e0852468e0a4258e0b1c0c60258ae0e60258ad114159d121b134259d154258e174258e194258e1b4259d1c1b1d4159d22425ac253357261e273357281e2933572c425ac35237371e392374523749237", "gg500202016468ace02202036468ace04120534ce061207346808120934ce0a120b6468ace0c2020d6468ace0e20210202116468ace12202136468ace14121534ce161217346818121934ce1a121b6468ace1c2021d6468ace1e20220202214468a22302d234468a2422d25142612273468281229142a22d2b4468a2c302d2d4468a2e2023020231246323029332463514371439143b2463c30293d2463e20241114214451449144c144d11", "gg50050279c02408ce032350523e06368c0720e0822609309b0b190c5026ce0e4257c1050279c12408ce132351523e16368c1720e1822619309b1b191c5026ce1e4257c201821413bd22279234135d2523c261e274279c2810294279b2b319d2c2572d413bd2e163262468bd34324d364268c385268ac3a38ac3b123c468ac3d224424579b4323d4522d474279c49327b4b329b4c174d235", "gg400802468ace02406ae0470246ace06406ae08802468ace0a426ae0c802468ace0e426ae10802468ace12406ae1470246ace16406ae18802468ace1a426ae1c802468ace1e426ae2161358bd235135bd2427925215262bd27315829702479bd2b702479bd2d38bd311832415bd3327934424bd3527936424bd37183813395579bd3a133b5579bd3d38bd", "gg4006024ace02424ac046024ace0a6024ace0c424ac0e6024ace1123b1221d1323b1521d1961359bd1b413bd1c2591d413bd22424ac24424ac26402ce2861359bd2a4068e2c60468ae2e413bd32424ac34424ac36402ce3861359bd3a4068e3c60468ae3e413bd", "ig30040246013bdf023024033bdf04202051906302g0830eg09170a2eg0b31350c3ceg0d31350e4aceg102bd114135f122bd134135f1439bd1521316191721f1817192df1a33571b41bdf1c2351d41bdf1e235211c22324e232ac24324f25192622f272792821e29172a31ce2b2462c32ce2d14", "gg50060268ce0260268ce045027ce06337b08703579be0a20e0b62468ac0c20e0d62468ac10713579bd12713579bd1421d1517174468a194068e1a23b1b4068e1c424ac1d4068e1e424ac2022c214468a2222c282682a172b20e2c5247ac2e424ac3135793223b39173b173c21d3d23b4a17", "gg400402ce0222c046024ace06424ac0824a0920e0a62468ac0c413bd0e6024ace1021d1222c14413bd152591623b1a61359bd1c22c1e413bd2122c2322c254368b2a424ac2d22c3222c3422c354468a3a24a3b22c3d22c", "gg400802468ace02802468ace04802468ace066024ace086024ace0a802468ace0c802468ace0e802468ace10402ce11268126024ace144468a15402ce1624a1722c1824a19402ce1a4468a1c6024ace1d2681e402ce2151579d2223b244468a2521d2623b2823b2921d2a4468a2c23b2d51579d312683222c3324a342683524a3622c3822c3924a3a2683b24a3c22c3d268", "ee807235092351632461832461a3246254135727217292172b413573433583511361637208392083b2173c2354319442354521747208492084b2174c235521a543358551157208592085b2175c235611b631964235651167208692086b2176c235701c721a74235751177208792087b2177c235", "gg50022c0222c0c22c0e22c10413bd13413bd1b413bd1e413bd206024ace2224a246024ace2a6024ace2c24a2e6024ace3061359bd3224a3422c35404ae39413bd3b24a3d2593e413bd4062468ac4224a44424ac46404ae48404ae4922c4d2684e22c", "gg400802468ace02404ae046024ace052680623b07170822c09170a21d0b2680c22c0d2590e23b10713579bd12404ae1461359bd15171623b17171822c19171a21d1b171c22c1d2591e23b2062468ac22404ae24424ac252682624a27327c29317d2b4168d2d4268c2e24a3053579b3423b3535793822c3a21d3c327c3d259", "gg4006024ace02802468ace0470247ace064268c0724a084268c0a70247ace0c802468ace0e6024ace11413bd1217136024ace1426815404ae164268c184268c19404ae1a2681b6024ace1c171d413bd2222c2460468ae265137bd285137bd2a60468ae2c22c342593722c3a259", "gg4004159d0123b0225903413bd042590520e0920e0a2590b413bd0c2590d23b0e4159d1020e11424ac13424ac1420e154468a1620e1820e194468a1a20e1b424ac1d424ac1e20e2020e21424ac2323b2550579e2720e2950579e2b413bd2d413bd31413bd3324a3535793620e3820e3935793a21d3c23b", "gg400402ce0124a02402ce0421d0525906413bd07268092590a21d0b2680c402ce0d24a0e402ce10402ce1125912402ce1522c1624a17317d182591921d1a2591c60259ce1e6024ace214168d2523b2621d272682821d292592b2592d21d2e4359b3717", "gg400802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace101511217122591327b1429d1524b16326e174048c18326e1924b1a29d1b27b1c2591d2171e1521152222723249241b2511265359bd27217285359bd29112a1b2b2492c2272d15323468331a34224351b3621837435ad38218391b3a2243b1a3c3468", "ig400426ae0263579bd0427906279082790a4079g0c4179f0d23d0e4579b10415bf1272468ace1427916279182791920g1a2791b20g1c2791d22e1e5468ac20406ag22813579bdf2418261828182a308g2c318f2d23d2e4579b30405bg32424ce3b20g3d22e3e5468ac", "gg50070248ace0270248ace043ace062ce09110a2ce0b2130c2ce0d31350e2ce10257115139bd122571339bd152bd172ce192ce1a111b23d1d314d20162132482236ac241c261d282ce2a1d2b112c1d2d2133133573219331b351c371d391d3b1d3d114d11", "gg400802468ace024159d0462468ac064359b084359b0a62468ac0c4159d0e802468ace10337b114159d134159d14337b152591623b172591823b192591a337b1b4159d1d4159d1e337b2062468ac224159d2462468ac264359b284359b2a62468ac2c4159d2e62468ac3053579b324159d344268c3524a3724a3924a3a4268c3c4159d3e53579b", "gg700702468ac024079b045068ae0650468e0712085046ce09120a404ce0b120c308a0e4468a10603579b1228a1310142791520e162571720e182351930ce1a2241b101c191e357920602468a222092420826306e28404ce2a2022c182e26830503579321833103417351036163710381439103a1240502468421044104610481050403575310551057106040246621064106610", "gg400802468ace02802468ace046024ace066024ace086024ace0a6024ace0c802468ace0e802468ace1161359bd1323b1561359bd1961359bd1b23b1d61359bd21424ac2323b25424ac29424ac2b23b2d424ac3123b3523b3923b3d23b", "gg500802468ace02802468ace046024ace06402ce08402ce0a6024ace0c802468ace0e802468ace10802468ace12802468ace146024ace16402ce18402ce1a6024ace1c802468ace1e802468ace21713579bd23413bd2521d2721d2921d2b413bd2d713579bd314468a3222c3421d3621d3821d3a21d3c22c3d4468a4135794222c4521d4721d4921d4c22c4d3579", "gg600802468ace02802468ace04802468ace06802468ace08802468ace0a568ace0c568ace0e568ace11713579bd13713579bd15713579bd17713579bd19479bd1b479bd1d479bd225248ac24426ac2616272242838ac2a2ac2c38ac32424ac3432ac3516372353838ac3a2ac3c2ac42424ac4432ac4516472354838ac4a2ac4c2ac52224531b541257235581b5a1b5c1b", "gg400802468ace0220e0460468ae0660468ae08404ae0a404ae0c404ae0e6024ace1053579b1121d1320e1426815404ae1626817404ae19404ae1b404ae1d404ae1e22c2062468ac22402ce2450579e2660468ae28404ae2a404ae2c404ae2e413bd3053579b3222c3320e3550579e37404ae39404ae3b404ae3d404ae3e22c", "ee800702468ac021004100650579b0850579b0a50579b0c50579b10603579b13101510164579b1710184579b19101a4579b1b101c4579b20602468a221024102650579b2850579b2a50579b2c4579b3050357933103550468a3750468a3950468a3b4468a4050246842104410454468a4610474468a4810494468a4b4468a504035753105550468a5750468a594468a5b4468a60402466210645035796650357968435796a43579703035731074435797510764357978435797a43579", "gg4006024ace026024ace0326804402ce0535790623b0735790823b0935790a402ce0b2680c6024ace0e6024ace106024ace126024ace1460268ce164468a184468a1a60268ce1c6024ace1e6024ace21413bd2321d251727357929172b21d2d413bd3121d35173725939173d21d", "gg300802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace11802468ace13802468ace156024ace196024ace1b802468ace1d802468ace22713579bd24413bd26413bd28413bd2a413bd2c713579bd", "ig500406ag02426ae045468ac06368a082790a180c2790e26a116026aeg1372468ace154379d1625b17181826a19181b181c26a1d181e25b20406ag22426ae245468ac26368a284579b2a182c4579b2e446ac3026a3121f3226a3323d344579b36279385468ac3a2793c5468ac3e435bd4126a4222e44446ac461848368a4a368a4c25b4e24c", "gg4002020270268ace0470268ace06702468ce08702468ce0a2ce0c802468ace0e802468ace102021270268ace1470268ace16702468ce18702468ce1a2ce1c802468ace1e802468ace244026826702468ce28702468ce2a2ce2c6468ace2e6468ace36402683860268ce3a2ce3c2683e268", "gg7014468a0335790526806402ce071708402ce092680b35790d4468a11357913268155027ce175027ce195027ce1b2681d357921268231724402ce251726402ce28402ce29172a402ce2b172d2683117335027ce35402ce37402ce39402ce3b5027ce3d17411742402ce44402ce46402ce48402ce4a402ce4c402ce4d1751402ce53402ce55402ce57402ce59402ce5b402ce5d402ce60402ce62402ce64402ce66402ce68402ce6a402ce6c402ce6e402ce", "gg50050268a02302a0470246ace06402460848ace0a70248ace0c34ce0e5468ce104027912302a1460246bd16402461848ace1a6138ace1c34ce1e457ce203028222022450246c26402462848ace2a528ace2c2ce2e36ce3020232202344024636402463848ace3a48ace3c2ce3e2ce4011421144202452464612481c4928a4a2ce4c1d4e1d", "eg8005468ac04602468a06602468a08602468a0a602468a0c602468a0e602468a114579b131b1450357916503579185035791a5035791c5035791e50357921268221a24602468a26502468285024682a5024682c5024682e5024683117331a3440357364035738403573a403573c403573e403574117431a4440246464024648402464a402464c402464e402465430355630355830355a30355c30355e30356430246630246830246a30246c30246e30247421376213782137a2137c2137e213", "gg40035790122c0235790320e0435790522c0635790835790922c0a35790b20e0c35790d22c0e35791053579b1121d1235791320e1435791521d1653579b1853579b1921d1a35791b20e1c35791d21d1e53579b204468a223579243579264468a284468a2a35792c35792e4468a3035793235793435793635793835793a35793c35793e3579", "gg600802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace1022c11404ae1222c1324a1422c1524a1721d1823b194159d1a23b1b4159d1c23b1d4159d2122c2224a2322c2424a2821d2923b2a4159d2b23b2c4159d3222c3324a3922c3b424ac4222c4324a4b22c5324a", "gg400802468ace024068e04802468ace0660268ce0860268ce0a802468ace0c4068e0e802468ace1061359bd11171220e13268146024ace152681621d17171821d192681a6024ace1b2681c20e1d171e61359bd20424ac214068e234068e24424ac254068e27317d294068e2a424ac2b4068e2d4068e2e424ac304359b32307e34802468ace361738173a802468ace3c307e3e4359b", "gg605357907357909357914347a1724a1a347a2353579b2553579b2753579b2953579b2b53579b325247ac345247ac37424ac3a5247ac3c5247ac4161368bd4361368bd46413bd48413bd4b61368bd4d61368bd5060268ce5260268ce56402ce58402ce5c60268ce5e60268ce", "gg500802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace1020e1117124159d1323b1520e1617174159d1823b1b20e1c171d4159d1e23b2120e2217234159d2423b2620e2717284159d2923b2b20e2c172d4159d2e23b3220e3317344159d3523b3720e3817394159d3a23b3b20e3c173d4159d3e23b4320e4417454159d4623b4820e49174a4159d4b23b4c174d259", "gg700802468ace0260468ae04802468ace06802468ace08802468ace0a802468ace0c60468ae0e802468ace1160468ae1320e1562468ac1620e1820e1962468ac1b20e1d60468ae2135792220e2553579b2720e2953579b2c20e2d357931268354468a394468a3d26841174535794935794d17552685926865176917", "ig30070248aeg0126c0270248aeg044024606414680850268a0a5028ac0c41ace0e502ceg10202117468aceg1210136358aeg14111543579161117379b1821319479bd1a2131b49bdf1c111d3bdf1e21320902468aceg22902468aceg24702468eg26602468a2860268ac2a6028ace2c602aceg2e5024eg", "fg400702468ac02713579bd04702468ac06713579bd08702468ac0a713579bd0c702468ac0e713579bd10613579b1262468ac14613579b1662468ac18613579b1a62468ac1c613579b1e62468ac2052468a2253579b2452468a2653579b2852468a2a53579b2c52468a2e53579b30239312173224a3321734239352173624a3721738239392173a24a3b2173c2393e4468a", "8f50010011202204032260420405226062040722608204092260a2040b2260c140d1611101212132041422615204162261720418226192041a2261b141c16221023122420425226262042722628204292262a142b16331034123520436226372043822639143a1644104512462044722648144916", "gg400402ce0124a0260268ce0324a045027ce0524a0660268ce0724a085027ce0924a0a5027ce0b24a0c2680e1710402ce12402ce14402ce16402ce18402ce1a402ce20402ce22402ce24402ce26402ce28402ce2a402ce3020e3222c3420e3622c3820e3a22c", "gg500402ce02402ce04802468ace06802468ace08402ce0a402ce0c23b0d2590e1711402ce1360259ce15402ce1760259ce19402ce1b23b1c2591d1722402ce2324a2422c2622c2724a28402ce3322c3522c3722c4422c4622c", "ge800802468ace03802468ace06802468ace09802468ace0c802468ace10713579bd13713579bd16713579bd19713579bd1c713579bd20702468ac2372468ace26702468ac2972468ace2c702468ac30613579b3363579bd36613579b3963579bd3c613579b40602468a436468ace46602468a496468ace4c602468a50513579535579bd56513579595579bd5c5135796050246863568ace6650246869468ac6c502468704135773479bd76335779479bd7c41357", "gg6004159d02802468ace044159d0a4159d0c802468ace0e4159d12713579bd154159d194159d1c713579bd2262468ac264159d284159d2c62468ac3253579b3c53579b424468a4c4468a5235795c3579", "gg5004168d02702579ce044268c0620e07424ac0820e0a4268c0c702579ce0e4168d104168d12702579ce144268c1620e17424ac1820e1a4268c1c702579ce1e4168d204168d2260259ce2426825402ce27424ac29402ce2a2682c60259ce2e4168d30173121d3225934173521d374359b3921d3a173c2593d21d3e174622c474468a4822c", "gg3004468a0253579b0462468ac06337b08337b0921d0a4468a0b20e0c22c0d24a0e268104468a1253579b1462468ac16337b18337b1921d1a4468a1b20e1c22c1d24a1e268204468a2253579b2462468ac26337b2823b2921d2a24a2b20e2c22c2d24a2e268", "gg40060268ce0260268ce0460268ce06317d08317d0a317d0c713579bd0e713579bd1060268ce1260268ce1460268ce16317d18317d1a317d1c713579bd1e713579bd2060268ce2260268ce2460268ce26317d28317d2a317d2c713579bd2e713579bd3060268ce3260268ce3460268ce36317d38317d3a317d3c713579bd3e713579bd", "gg8006024ace026024ace04402ce06402ce08402ce0a713579bd0c62468ac0e53579b106024ace126024ace14402ce16402ce18402ce1a713579bd1c62468ac1e53579b206024ace226024ace24402ce26402ce28402ce2a62468ac2c53579b2e4468a306024ace326024ace3a53579b3c4468a3e35794a4468a4c35794e2685a35795c2685e176a2686c177a17", "ig5005048cg0260379dg0470368adg0670268aeg084179f0a4179f0c4179f0e5168af1060479cg1270368adg14803579bdg16802579beg185168af1a5168af1c5168af1e61579bf205048cg2260379dg2470368adg2670268aeg284179f2a4179f2c4179f2e5168af30404cg321833403dg34279364179f38183921f3a183b21f3c183e4179f44184618", "gg300802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace1020e11424ac134359b15424ac1620e1722c1820e19424ac1b4359b1d424ac1e20e21413bd2324a2523b2621d2821d2923b2b24a2d413bd", "gg400702468ce02702468ce04702468ce0650246808702468ce0a2ce0c60246ce0e60246ce10702468ce12702468ce14702468ce1650246818702468ce1a2ce1c60246ce1e60246ce20502468212ce22502468232ce24502468252bd26502468272bd28502468292ce2b2ce2c2042e226305024683230483450246836304838502468", "gg400268023579044468a06357908170a307e0b22c0c60468ae0d22c0e4468a1017122681435791626818171a307e1b22c1c60468ae1d22c1e4468a22172426826172b402ce2c4468a2d22c2e4468a3c22c3d4468a", "gg400802468ace02802468ace04802468ace064048c08426ae0a802468ace0c802468ace0e802468ace11802468ace13802468ace154048c19426ae1b802468ace1d802468ace22802468ace244048c2a426ae2c802468ace3251379d3c51379d", "gg300802468ace02802468ace04802468ace06802468ace082680a4268c0c6024ace0e402ce116024ace122681461368bd16713579bd18171a327c1b2591c413bd1e21d21413bd221724327c26424ac29172b22c2c24a2d22c", "gg800602468a0210041006602468a081a0a1a0c1a0e602468a10613579b1211141116613579b181b1a1b1c1b1e613579b2062468ac221224122662468ac281c2a1c2c1c2e62468ac3063579bd321334133663579bd381d3a1d3c1d3e63579bd406468ace42144414466468ace481e4a1e4c1e4e6468ace5063579bd521354135663579bd581d5a1d5c1d5e63579bd6062468ac621264126662468ac681c6a1c6c1c6e62468ac70613579b7211741176613579b781b7a1b7c1b7e613579b", "gg500802468ace02802468ace04802468ace06802468ace08802468ace0a802468ace0c802468ace0e802468ace10802468ace12802468ace14802468ace16802468ace18802468ace1a802468ace1c802468ace1e802468ace2060268ce2260268ce2460268ce2660268ce2860268ce2a60268ce2c60268ce2e60268ce304068e324068e344068e364068e384068e3a4068e3c4068e3e4068e401742174417461748174a174c174e17", "gg50060268ce0260268ce0460268ce06802468ace08802468ace0a60268ce0c60268ce0e60268ce10413bd111712413bd131714413bd151717713579bd19171a413bd1b171c413bd1d171e413bd20424ac22424ac24424ac27172a424ac2c424ac2e424ac304359b324359b344359b3a4359b3c4359b3e4359b404468a424468a444468a4a4468a4c4468a4e4468a", "gg800602468e011c02308a0420806308a071c08602468e0a426ce0c517ace0e508ace10602468e111c12308a1420816308a171c18602468e1a426ce1c517ace1e508ace20502468211c22308a2420826308a271c285024682a326e2c417ce2e3ace30502468311c32308a3420836308a371c385024683a2263c317e3e2ce40502468411c42308a4420846308a471c485024684a2264c2174e1e50502468522085420856208585024686040268622086620868402687020878208", "gg600713579bd02802468ace04802468ace0653579b0835790a4468a0b21d0c53579b0e713579bd114468a1353579b154468a173579192681b51579d1d4468a1e21d214468a23337b254468a27268292682b51579d2d4468a2e21d34173524a362683a173b21d3c2683e21d4b21d4e21d5b21d5e21d", "ig60026a02446ac0322e04406ag06406ag08406ag0a406ag0b22e0c446ac0e26a1026a1263579bd1321f14436ad1520g1626a1720g1826a1920g1a436ad1b21f1c63579bd1e26a225468ac25436ad2620g2726a2820g29436ad2c5468ac324579b36436ad3720g38436ad3c4579b42368a47436ad4c368a576246ace", "gg80626808268153579173579193579244468a264468a284468a2a4468a3353579b3553579b3753579b3953579b3b53579b4262468ac4462468ac4662468ac4862468ac4a62468ac4c62468ac51713579bd53713579bd55713579bd57713579bd59713579bd5b713579bd5d713579bd60802468ace62802468ace64802468ace66802468ace68802468ace6a802468ace6c802468ace6e802468ace7224a75177822c7924a7a268", "gg80020e0222c0424a06268082680a24a0c22c0e20e1120e1322c1524a172681924a1b22c1d20e2220e2422c2624a272682824a2a22c2c20e3320e3522c374468a3922c3b20e4420e4622c474468a4822c4a20e5520e5762468ac5920e6620e674468a6820e77268", "ga80226803402ce044468a05402ce0626811357912402ce1325914402ce1525916402ce173579204468a222682321d242682521d26268284468a3053579b321734317d36173853579b404468a421744174617484468a50357952175617583579602686826870177817", "gg7062680826815357917259193579244468a2624a2824a2a4468a334359b3523b3923b3b4359b42424ac4422c4a22c4c424ac51413bd5321d5b21d5d413bd60402ce6220e6c20e6e402ce", "gg4006024ace0261359bd0462468ac0653579b084468a0a35790c2680e1710413bd12424ac144359b164468a1835791a2681c171e172022c2223b2424a26259282682a172c172e173022c3424a3817", "gg500802468ace02802468ace04802468ace0635790835790a35790c35790e35791061359bd1261359bd1461359bd16268182681a2681c2681e26820424ac22424ac24424ac261728172a172c172e173023b3223b3423b361738173c173e174023b4423b46174e17", "gg3006024ace0260246ce04602468e0652468a085468ac0a6068ace0c6028ace0e6024ace102ce11213121e13313515335717357919379b1b39bd1c101d2bd1e202201e2212241427172a1a2c1c2e10", "gg70020404100c2ce0e2ce101e11215141e15111b2bd1d2bd1e204211d22226251d26122a2ac2c2ac2d215321c33237361c37133929b3b29b3c226431b44248451b48348a4a28a4b235541b55259572795935795b146626868268", "gg6006024ace024268c0461368bd06413bd08413bd0a61368bd0c4268c0e6024ace10413bd122681322c1426815413bd17413bd19413bd1a2681b22c1c2681e413bd2022c22268244268c26413bd28413bd2a4268c2c2682e22c32268342683522c37413bd3922c3a2683c2684317452594622c4822c492594b17542685624a5722c5824a5a268", "gg800307e01424ac02307e04347a05402ce06347a07402ce08347a0a307e0b424ac0c307e0d424ac0e307e115047ae1222c1317144259c151716413bd171718424ac19171a22c1b171c61359bd1d1721404ae22327c2452579c265137bd285247ac2a327c2c5247ac32413bd33173422c351736413bd371738424ac39173a22c3b173c23b4322c44174522c46174722c48174922c4a17551757175917661768177717", "ec500402ac024157b03239044157b05239064157b07239084157b0a402ac1322a14257162571722a234357927435793334683734684325747257", "ig801413df036135bdf05435bd09435bd0b6135bdf0d413df106024ceg1280246aceg1480246aceg166246ace186246ace1a80246aceg1c80246aceg1e6024ceg21413df236135bdf2427925435bd27435bd29435bd2a2792b6135bdf2d413df3022e32424ce345268ae36424ce38424ce3a5268ae3c424ce3e22e4122e4224c4322e442794522e4722e4922e4a2794b22e4c24c4d22e52435bd54185a185c435bd62446ac6c446ac724579b7c4579b", "gg30030240126a0250248c03160450248d0661368ac0862468bd0a516ace0b2380c46ace0d2480e3ace1030241126a1250248c13161450248d1661368ac1862468bd1a516ace1b2381c46ace1d2481e3ace214139b2215234137d2522d2723b2921c2b417bd2c192d435bd", "gf400402ce0124a02402ce0324a0422c0524a0622c0724a0822c0924a0a22c0b24a0c22c0d24a11402ce1224a1322c1424a1522c1624a1722c1824a1922c1a24a1b22c1c24a2120e2222c2324a2422c2524a2622c2724a2822c2924a2a22c2b24a3120e3322c3424a3522c3624a3722c3824a3922c3a24a", "gg40062468ac024468a042680660468ae08802468ace0a60468ae0c2680e4468a1053579b1235791323b14171521d1653579b1720e1852579c1920e1a53579b1b21d1c171d23b1e3579204468a224468a2422c2660468ae2860268ce2a60468ae2c22c2e4468a3035793235793323b3521d362593720e38327c3920e3a2593b21d3d23b3e3579", "gf80022c026024ace046024ace0624a0962468ac0b62468ac0d62468ac1022c126024ace146024ace1624a194359b1b4359b1d4359b2022c226024ace246024ace2624a2924a2b24a2d24a3022c326024ace346024ace3624a3a24a3c24a4022c426024ace446024ace4624a5022c526024ace546024ace5624a6022c626024ace646024ace6624a7022c726024ace746024ace7624a", "ki400a02468acegi02902469cegi04406ci0519066046cei07190820i09190a6046cei0b190c404ei0e902469cegi0ga02468acegi1020i1172469ceg13406ci15406ci16349e1720i18191920i1a369c1b404ei1d404ei1f72469ceg1g20i2020i21435df22192326c2420i2526c26404ei27192820i29192a406ci2b24e2c20i2d24e2f73579bdf2g20i3020i3124e3426c3520i3720i38193920i3b20i3d24e3f6468ace3g20i", "ki40070259dgi0272579bdg04402gi05457bd076026cgi09426cg0b80257bdgi0e902579bdgi0g5259dg1070259dgi1272579bdg14402gi15457bd176026cgi19426cg1b80257bdgi1e902579bdgi1g5259dg2021h21359d22427bg2421h2526c27416ch29426cg2b81357bdfh2e427bg2f359d3626c3826c3a26c3b424eg", "ii400368a025468ac0472468ace066024ceg07279086024ceg092790a6024ceg0c72468ace0e5468ac0g368a10279122791325b144379d166136adf186135bdf1a6136adf1c4379d1d25b1e2791g279201822182326a24348c2623d2721f2823d2921f2a23d2c348c2d26a2e182g18311833368a3424c3623d38413df3a23d3c24c3d368a3f18", "ig8002790125b0223d0327904425be065148cf0860379dg0a6036adg0c902468aceg0e368a102791125b1223d1327914425be165148cf1860379dg1a6036adg1c902468aceg1e368a232792425b26348c284379d2a436ad2c902468aceg2e368a332793425b36348c384379d3a436ad3c902468aceg3e368a4618482794a26a4c902468aceg4e368a5618582795a26a5c902468aceg5e368a6618682796a26a6c368a6e368a7618782797a26a7c368a7e368a", "ke80090468acegi02100490468acegi0620i0890468acegi0a20i0ca02468acegi1090468acegi12101490468acegi1620i1890468acegi1a20i1ca02468acegi20768acegi2210248068acegi2620i288068acegi2a20i2c92468acegi30768acegi34708acegi3620i3820i3a20i3c92468acegi4068acegi4620i4820i4a20i4c8468acegi5068acegi5620i5820i5a20i5c8468acegi605acegi6820i6a20i6c768acegi705acegi7820i7a20i7c768acegi", "hg600100172468ace0210031e0440468051e0620408204091e0a404680b1e0c100d72468ace0e1011803579bdf1320e1435791520e1614171018141920e1a35791b20e1d803579bdf21546ace2210231e2440468251e26142814291e2a404682b1e2c102d546ace3135bd3320e34257351e36143814391e3a2573b20e3d35bd411c421e4426e47144a26e4c1e4d1c511e531e5b1e5d1e", "oe8001b01413jl022ac03428ek0426g0532bk066049dim0732bk0826g09428ek0a2ac0b413jl0c1b101b11413jl122ac13428ek1426g1532bk166049dim1732bk1826g19428ek1a2ac1b413jl1c1b201b21413jl222ac23428ek2426g2532bk266049dim2732bk2826g29428ek2a2ac2b413jl2c1b301b31413jl322ac33428ek3426g3532bk366049dim3732bk3826g39428ek3a2ac3b413jl3c1b401b41413jl422ac43428ek4426g4532bk466049dim4732bk4826g49428ek4a2ac4b413jl4c1b501b51413jl522ac53428ek5426g5532bk566049dim5732bk5826g59428ek5a2ac5b413jl5c1b601b61413jl622ac63428ek6426g6532bk666049dim6732bk6826g69428ek6a2ac6b413jl6c1b701b71413jl722ac73428ek7426g7532bk766049dim7732bk7826g79428ek7a2ac7b413jl7c1b", "oa80025h01437fj02419dl04605achm06419dl07437fj0825h1025h11437fj12419dl14605achm16419dl17437fj1825h2025h21437fj22419dl24605achm26419dl27437fj2825h3025h31437fj32419dl34605achm36419dl37437fj3825h4025h41437fj42419dl44605achm46419dl47437fj4825h5025h51437fj52419dl54605achm56419dl57437fj5825h6025h61437fj62419dl64605achm66419dl67437fj6825h7025h71437fj72419dl74605achm76419dl77437fj7825h", "og40048ace0126g0224i03602ackm0428e05506bgm0624i07602ackm0828e09406gm0a44aci0b6028ekm0c1b0d80246gikm0e48ace1048ace1126g1224i13602ackm1428e15506bgm1624i17602ackm1828e19406gm1a44aci1b6028ekm1c1b1d80246gikm1e48ace2048ace2126g2224i23602ackm2428e25506bgm2624i27602ackm2828e29406gm2a44aci2b6028ekm2c1b2d80246gikm2e48ace3048ace3126g3224i33602ackm3428e35506bgm3624i37602ackm3828e39406gm3a44aci3b6028ekm3c1b3d80246gikm3e48ace", "kg6005579bd0123f0226c03428ag0426c0521h06458ad07403fi08458ad0921h0a26c0b428ag0c26c0d23f0e5579bd105579bd1123f1226c13428ag1426c1521h16458ad17403fi18458ad1921h1a26c1b428ag1c26c1d23f1e5579bd205579bd2123f2226c23428ag2426c2521h26458ad27403fi28458ad2921h2a26c2b428ag2c26c2d23f2e5579bd305579bd3123f3226c33428ag3426c3521h36458ad37403fi38458ad3921h3a26c3b428ag3c26c3d23f3e5579bd405579bd4123f4226c43428ag4426c4521h46458ad47403fi48458ad4921h4a26c4b428ag4c26c4d23f4e5579bd505579bd5123f5226c53428ag5426c5521h56458ad57403fi58458ad5921h5a26c5b428ag5c26c5d23f5e5579bd", "kg500437bf015159dh036037bfi04359d0521h076047cfi0921h0a359d0b6037bfi0d5159dh0e437bf10437bf115159dh136037bfi14359d1521h176036bei1921h1a359d1b6037bfi1d5159dh1e437bf20437bf215159dh236037bfi24359d2521h276047cfi2921h2a359d2b6037bfi2d5159dh2e437bf30437bf315159dh336037bfi34359d3521h376036bei3921h3a359d3b6037bfi3d5159dh3e437bf40437bf415159dh436037bfi44359d4521h476047cfi4921h4a359d4b6037bfi4d5159dh4e437bf", "mi60024g0126e02448cg04b02468acegik0691468acegj0892468acegi0a91468acegj0cb02468acegik0e448cg0f26e0g24g1024g1126e12448cg14b02468acegik1691468acegj1892468acegi1a91468acegj1cb02468acegik1e448cg1f26e1g24g246468ceg267468aceg28568ace2a7468aceg2c6468ceg346468ceg367468aceg38568ace3a7468aceg3c6468ceg446468ceg467468aceg48568ace4a7468aceg4c6468ceg546468ceg567468aceg58568ace5a7468aceg5c6468ceg", "od7006024ikm02b02479bdfikm046024ikm05579bdf076024ikm08579bdf096024ikm0bb02479bdfikm10404im127138bejl14404im1538be17404im1838be19413jl1b7048beim20404im2122k2290479bdfim2322k24404im25579bdf27404im287279bdfk29404im2a22k2b90479bdfim306024ikm327138bejl346024ikm3538be376024ikm3838be39413jl3b90248beikm40404im4122k4290479bdfim4322k44404im45579bdf47404im487279bdfk49404im4a22k4b90479bdfim506024ikm5290248beikm546024ikm5538be576024ikm5838be596024ikm5b90248beikm60404im626024ikm64404im67404im696024ikm6b404im", "ke600a02468acegi02408ai0324e04408ai0524e06408ai0724e08408ai0924e0a408ai0ca02468acegi10a02468acegi12408ai1324e14408ai1524e16408ai1724e18408ai1924e1a408ai1ca02468acegi20a02468acegi22408ai2324e24408ai2524e26408ai2724e28408ai2924e2a408ai2ca02468acegi30913579bdfh3225d33319h3425d35319h3625d37319h3825d39319h3a25d3c913579bdfh40913579bdfh4225d43319h4425d45319h4625d47319h4825d49319h4a25d4c913579bdfh50913579bdfh5225d53319h5425d55319h5625d57319h5825d59319h5a25d5c913579bdfh", "ke500913579bdfh02319h0325d0470379bfi0680357bdfi0870379bfi0925d0a319h0c913579bdfh10913579bdfh12319h1325d1470379bfi1680357bdfi1870379bfi1925d1a319h1c913579bdfh20913579bdfh22319h2325d2470379bfi2680357bdfi2870379bfi2925d2a319h2c913579bdfh30913579bdfh32319h3325d3470379bfi3680357bdfi3870379bfi3925d3a319h3c913579bdfh40913579bdfh42319h4325d4470379bfi4680357bdfi4870379bfi4925d4a319h4c913579bdfh", "kg800a02468acegi0220i03190420i055379bf0620i075579bd0820i095379bf0a20i0b190c20i0ea02468acegi10a02468acegi1220i13191420i155379bf1620i175579bd1820i195379bf1a20i1b191c20i1ea02468acegi20a02468acegi2220i23192420i255379bf2620i275579bd2820i295379bf2a20i2b192c20i2ea02468acegi30a02468acegi3220i33193420i355379bf3620i375579bd3820i395379bf3a20i3b193c20i3ea02468acegi4319455379bf475579bd495379bf4b195319555379bf575579bd595379bf5b196728a7728a", "gf4004068e01424ac024068e03424ac044068e05424ac0a4068e0b424ac0c2680d424ac114068e12424ac134068e14424ac1520e194068e1a424ac1b2681c424ac23424ac244068e25424ac2620e284068e29424ac2a2682b424ac34424ac354068e36424ac374068e38424ac392683a424ac", "if600902468aceg02402eg0420g0620g0820g0a402eg0c6024ceg0d26a10902468aceg12402eg1420g1620g1820g1a402eg1c6024ceg1d26a20902468aceg22402eg2420g2620g2820g2a402eg2c6024ceg2d26a30902468aceg32402eg3420g3620g3820g3a402eg3c6024ceg3d26a4060379dg43403dg49403dg4c6035bdg4d279505038dg53403dg59403dg5c6036adg5d18", "ii7005468ac021804308g06308g08902468aceg0a308g0c308g0e180g5468ac105468ac121814308g16308g18902468aceg1a308g1c308g1e181g5468ac205468ac221824308g26308g28902468aceg2a308g2c308g2e182g5468ac304579b3520g3720g38183920g3b20g3g4579b40368a4620g4820g4a20g4g368a502795720g5920g5g27960186820g6g18", "aa50050246802502468044026806502468085024681050246812502468144026816502468185024682040268224026826402682840268304026832208362083840268404035843208452084840358", "ge70024a024059e044168d0523b0635790723b084168d0a4059e0c24a104359b1121d124468a1320e1423b154068e174068e1823b1920e1a4468a1b21d1c4359b2062468ac22402ce2420e2523b26307e2723b2820e2a402ce2c62468ac3223b3a23b4224a4a24a522595a259622686a268", "gg60022e011c0222a03180422606802468ace08802468ace0a28c0b160c24c0d120e20c1122d121b13229141716713579bd18713579bd1a171b25c1c131d21c2222c231a242282662468ac2862468ac2a26c2b142c22c3322b34193653579b3853579b3a153b23c4422a464468a484468a4a24c563579583579", "ge500802468ace0262468ac0460468ae0660468ae0860468ae0a62468ac0c802468ace10713579bd1253579b1321d1435791520e1635791720e1835791921d1a53579b1c713579bd2062468ac224468a2322c242682520e262682720e282682922c2a4468a2c62468ac3062468ac324468a3322c34173520e36173720e38173922c3a4468a3c62468ac4053579b4235794a35794c53579b", "gg70050246802100470468ace06304e085048ae0a60468ae0c20e0e802468ace1033571111131014379b15305d17304e1829b194057e1a29b1b20e1d21d1e53579b2040246222022470468ace265046ce285048ae2a60468ae2c402ce2e802468ace30235311133303534379b354035d37304e394059e3a173b20e3d21d3e53579b40144212444068a46304c48404ae4a4068e4c22c4e4468a511353115427955305b57304d581a59305e5a2795b21d5c1b5d135e3579621364116528a66206671c6830596927d6a116b1c6c22a6d3468", "gg500802468ace02802468ace0460268ce06802468ace08802468ace0a60268ce0c802468ace0e802468ace104168d1221d132681520e161717413bd18171920e1b2681c21d1e4168d2060268ce224268c2320e25307e2770247ace29307e2b20e2c4268c2e60268ce304059e324259c3460468ae36268376024ace382683a60468ae3c4259c3e4059e412594517471749174d259", "gg800802468ace0220e0420e0620e0820e0a20e0c20e0e802468ace10302411379b1220d1420d1621d1821d1a21e1c21e1d33571e3ace202022124622418ac2421c2622c2822c2a22d2c4246d2d28a2e2ce3010311332215332793422b3623b3823b3a23c3c4579d3d1b3e1e4010422244433684624a4824a4a34ac4b2684c2ac4e1e50105222454335755195615571a5815591a5a26c5b28a5c1c5e1e601062224643246651866166719681669196a176b2ac6d2ac6e1e7010722137423576257782797a29b7c2bd7e1e", "gg80020e0220e0420e064068e082680921d0a2680c4468a0d22c0e4068e1021d1221d1421d164159d1921d1b24a2022c2222c2422c26424ac2921d2a24a3023b3223b3423b364359b39414ad4024a4224a4424a4624a4824a50259522595425956259602686226864268662687017721774177617", "gg800802468ace023ace0438ac06368a0834680a32460c30240e802468ace10703579bd122bd1429b16279182571a2351c2131e713579be20702468ac221c241a261828162a142c122e72468ace30603579b3e63579be40602468a4e6468ace505035795e5579be605024686e568ace70403577e479be", "ee700402ac02402ac0434680634680834680a60257ac0c60257ac1020c1122a1220c15257172571950369c1b306c212392320c25257272572820c2934682b16312483420c362483720c412574520c462394720c511656402ac6621b", "ee400100260468ac0420c05435790620c07435790820c0a602468c0c1c1011115468ac14613579b1660257ac18613579b1b5024681c1b2062468ac2452468a2621b2852468a2c602468a3162468ac3352468a3521b3721b3952468a3b602468a", "gg4004468a04404ae064068e084068e0a404ae0e4468a114468a1323b1421d1535791621d172591821d1935791a21d1b23b1d4468a2123b2235792321d24357926424ac28424ac2a35792b21d2c35792d23b332683723b3b268", "gg30035790122c0235790321d0435790520e0635790721d0835790922c0a35790b23b0c4068e0e61359bd104368b124259c1451579d1651579d1852579c1a23b1b2591c171d21d1e4359b2022c2221d254068e274168d292682a22c2c20e2e24a", "ge4003ace0126802324a033068042240530bd06120730ce08324609308a0a4246c0b28a0c2ce103ace1126812324a133068142241530bd16121720c18324619308a1a4246c1b28a1c2ce202bd222792323524112621c2811292352a379b2c1d301c311a321833246341236113812392463a28a3b1c", "gg800802468ace02802468ace046024ace06402ce08402ce0a6024ace0c802468ace0e802468ace10802468ace124059e14402ce1620e1820e1a402ce1c4059e1e802468ace2053579b2120e222682320e2423b2520e2720e2920e2a23b2b20e2c2682d20e2e53579b304468a32307e34404ae3a404ae3c307e3e4468a40357943307e442594a2594b307e4e3579502685435795a35795e2686017651769176e1776177817", "gg80161359bd0361359bd061707402ce082680a170b413bd0d413bd10402ce12424ac144359b162681721d182681a62468ac1c6024ace1e402ce2110222592414251b2720e29142a1b2b1e2e23b3230683414361b3720e38143a2be3e24a4310441447404be491e4a1b4e2595420456145710582be5a1b5e268652046710691b7610", "gg601713579bd03713579bd08413bd0a413bd0c413bd0e413bd1222c14713579bd176024ace1924a1b414ad1d24a2123b25713579bd2761359bd292592a21d2b2592d2593024a36424ac37268392683b2683d268402594623b471749174b174d17502685624a", "gg80035790224a0423b0622c0861368bd0a802468ace0c2680e2681135791324a1523b1722c184468a1a713579bd1c2681e26822268242592624a2853579b2a62468ac2c2592e3579331735268384468a3a53579b3c24a3e24a4417462684835794a4468a4c23b4e23b5517572685935795b4468a5c22c5e424ac6c53579b6e4359b7c4468a7e4468a", "gg802402ce04424ac0a6024ace0c6024ace0e24a122681320e1426815424ac196024ace1b61359bd1d25922268244168d26424ac286024ace2a424ac2b2682d26832268344168d37424ac3820e39424ac3b173d174226844268486024ace4c17512685325960268622597035797224a", "gg80020e024068e03424ac056024ace076024ace096024ace0b424ac0c4068e0e20e1121d1235791323b15413bd17413bd19413bd1b23b1c35791d21d2122c2424a2622c2822c2a24a2d22c3123b342593523b3923b3a2593d23b4124a442684524a4924a4a4268c4c22c51259541755259592595a175b22c612686517662596825969177626878268", "gg60035790122c0226805802468ace07802468ace09802468ace0b2590e2681052579c122681422c17713579bd1921d1a4359b1c2591d172052579c222682322c2762468ac2922c2a4468a2c2683052579c324268c374359b3923b3a2593b174026841424ac42268474468a4924a4a2685117", "ee500702468ac02702468ac04302b05268062020726808302b0a702468ac0c702468ac104579b11202124579b13202141b15403571740357181b192021a4579b1b2021c4579b204468a22602468a24302b25246262022724628302b2a602468a2c4468a30357932357933202353025373025392023a35793c357944202451446202471448202", "ge7004068e0226805402ce07402ce0a2680c4068e1035791121d12171325914403be16402ce18403be192591a171b21d1c35792062468ac2120e224268c23404ae25402ce27402ce29404ae2a4268c2b20e2c62468ac30173523b3723b3c1740174524a4724a4c1755259572596526867268", "gg50162468ac0362468ac0b62468ac0d62468ac1021d1126812424ac1452579c1a52579c1c424ac1d2681e21d2020e224159d2561368bd2961368bd2c4159d2e20e3120e322683324a3422c365047ae385047ae3a22c3b24a3c2683d20e422594323b4661368bd4861368bd4b23b4c259", "gg6002680124a024268c0320e04424ac0520e06424ac0720e08424ac0920e0b413bd0c2590d22c0e4468a1017124359b14413bd16413bd18413bd1a22c1c4368b1e35792226823402ce25414ad27414ad29404ae2b4268c2e3579312683361368bd3522c362593722c382593921d3a23b3c2683e357940268422594322c442684523b462684723b482684922c4a24a4b2684d4468a502595224a54327c561758327c5b175d259", "eg8004048c0122a0220c0322a044048c0522a0922a0a4048c0b22a0c20c0d22a0e4048c114148b134148b1560248ac1960248ac1b4148b1d4148b214248a234248a254248a2620c2820c294248a2b4248a2d4248a30257324139b332573421b35257364139b384139b392573a21b3b2573c4139b3e2574321b4521b4721b4921b4b21b5421b5621b5821b5a21b6521b6721b6921b7621b7821b", "gf500404ae0122c024059e0323b05347a074268c0820e094268c0a20e0b327c0c20e0d424ac10413bd1261359bd14424ac16424ac1961359bd1b4268c1d4359b20424ac22424ac244159d2523b264159d28414bd292682a6024ace2b172c424ac2d2683123b33424ac3562468ac37424ac3826839414ad3b424ac3c2684323b4425945317d4625947413bd492594b23b", "ge6024468a03402ce044468a05402ce064468a07402ce084468a09402ce0a4468a1125912403be1325914413bd1526816413bd1726818413bd192591a403be1b2592160468ae2222c2320e2422c25404ae2622c27404ae2822c2920e2a22c2b60468ae3020e3125932413bd344159d3523b3723b384159d3a413bd3b2593c20e454268c4722c492594a22c554359b", "gg70017014359b02170361359bd0521d0823b0951579d0a23b0b35790c23b0d3579124468a1320e144359b16402ce18424ac192681a424ac1b2681c24a1d171e2592123b224059e24404ae2526826403be272592823b2921d2a4359b2c4368b2e24a3124a3360468ae3560359be37402ce39414ad3a2683b22c3c4468a3e23b412594461468ad46414ad484259c4a5137bd4b2594c174d4359b522595323b5562468ac574368b59424ac5b62468ac5d24a634468a654359b674259c6817692596a23b6b176c259", "gg8045137bd064468a0853579b0a2680b24a0c2681361368bd15713579bd174268c1922c1a2591b23b1d259226024ace2470247ace2660259ce284159d2a4368c2c23c2e24a314059e3361368bd355147ad374168d3960468ae3b4259c3d4259c40414ad4224a434068e4424a454068e4720e4a21d4b23b4c21d4d23b4e26851424ac52175361359bd5b24a5d4468a614359b6362468ac6b2596d3579714468a7353579b7b2687d268", "ge70061359bd026024ace04413bd0621d0723b084159d0923b0a4159d0b23b0c25910424ac12413bd14424ac16403be186024ace1a6024ace1c24a2023b244359b2624a2721d284359b2921d2a4359b2b21d2c2593123b334359b3525936413bd3862468ac3a802468ace3c4068e40424ac4262468ac4422c462684723b4821d4923b4a4159d4b23b4c51579d51337b534159d5523b56175823b592685a424ac5c22c6123b6226863424ac66268684468a6a53579b6c23b", "gg80120e0222c032680422c0520e0622c074068e0822c0a22c0b2680c22c0d20e1020e1361359bd164159d1723b184159d1a21d1b4359b1e20e2120e2360468ae2524a262682724a284268c2a424ac2b20e2c23b2d21d3121d3223b3321d344359b364468a3722c38173961359bd3b6024ace3d402ce4020e426024ace4462468ac464159d4723b49424ac4b413bd4d23b4e21d5161359bd5351579d55424ac574259c594359b5b24a5c22c5d24a67268692686b2596d2597b2687d268", "gf40022c02424ac044468a0522c074368b0821d0924a0a4068e0b24a0c4068e0d24a10413bd112591223b13317d142591523b162591722c1825919403be1a2681b403be1c171d4159d2022c2160468ae23424ac242682524a2622c274468a2820e2922c2a60468ae2c60268ce2d24a3021d3123b324159d362593823b3921d3a4359b3b20e3c24a3d22c", "ge70121d0b21d10402ce12402ce1a402ce1c402ce20403be23403be29403be2c403be306024ace326024ace34402ce38402ce3a6024ace3c6024ace402594121d4225945402ce47402ce4a2594b21d4c259502685121d5226856402ce5a2685b21d5c268601762176a176c17", "gg50024a01327c0360368be055147ad074259c0960468ae0b52579c0c20e0d4368b1023b112591221d13347a1421d154368b1620e1724a184168d1924a1a22c1b404ae1d62468ac214268c2360259ce2417256024ace2626827413bd282592923b2a4159d2c4059e2d337b2e4159d31337b3361368bd3561468ad374268c3824a394168d3b61468ad3d4268c3e404ae4122c422594320e444468a4522c4635794723b494259c4b53579b4c21d4d53579b4e21d", "gg80024a012680223b032590422c05347a0621d074368b0820e094268c0a24a0b4268c0c24a0d4268c0e404ae1023b1126812424ac14414ad164259c18713579bd1a21d1b53579b1d61359bd2062468ac2261368bd24402ce2524a264268c2724a28402ce294468a2a22c2c60468ae2e402ce3024a314268c3353579b3421d3524a36317d3723b38357939113a4468a3c713579bd3e413bd45424ac4e24a554359b5e259654468a6e2687535797e17", "gg40121d03402ce05402ce07402ce09402ce0b6024ace0d802468ace1020e1122c1321d1423b1521d1721d1823b1921d1b404ae1c4268c1d24a1e4068e2021d2123b2322c2424a2622c28424ac2a4159d2b172c4159d2d337b3020e31424ac3323b342593623b384359b3a4268c3c62468ac3e62468ac", "gg600170125902170324a042680524a0617074359b0821d0924a0a60268ce0c61359bd0e62468ac111712259142681524a162681724a1822c1924a1a402ce1b347a1c22c1d347a1e21d2017212592324a254359b274468a294359b2a21d2b53579b2d53579b2e21d302683124a322683323b342593522c3625937337b3962468ac3b413bd3c35793d22c3e60468ae4035794123b435247ac4561359bd4762468ac49713579bd4b424ac4c174d23b4e51579d55268", "gg70124a0324a0422c0560468ae0720e0822c094468a0a22c0c22c0e22c10259122591323b14357915413bd16357917413bd1825919413bd1a35791b413bd1d413bd202682124a224268c2324a2426825404ae264268c27404ae2822c294059e2a337b2b21d2c23b2d21d2e24a3024a312683221d3325934307e35259365027ce3821d3a30be3b2683c6024ace3e4059e404359b4120e42424ac444168d46424ac474068e4823b4920e4a2594b5037be4d6024ace4e26850802468ace5261368bd5460259ce564359b586024ace5a61468ad5c6024ace5e4159d60413bd6125962413bd632596421d652686624a6861359bd6a60268ce6c4159d6e6024ace", "gg80024a014268c02404ae0317044359b05317d0625907403be082680923b0a4059e0b327c0c24a0d4068e0e23b105137bd1261368bd144359b1520e164359b1721d1825919402ce1a24a1b21d1c4359b1d21d1e4468a2060468ae2262468ac244468a26424ac2861468ad2a4259c2c61359bd2e60468ae3021d3221d3720e4022c4221d4620e5023b5221d5520e6024a6221d6420e702597221d7420e", "gg80120e0222c03404ae0422c05404ae0622c094068e0a22c0b404ae0c22c0d20e1020e1122c13413bd15413bd17413bd1961359bd1b23b1c21d1e21d21413bd236024ace25424ac2724a2962468ac2b24a2c22c2e22c3121d3223b334059e3423b3521d362593723b395137bd3a2593c4359b3d21d3e23b42413bd432684421d4523b472684822c4920e4a22c4b4468a4c20e4d62468ac4e20e51424ac5360359be541755424ac57337b5921d5a2595d4159d6061359bd62268644468a67268692596a22c6b2686d4268c7217", "gg400713579bd0262468ac0453579b0625907170825909307e0b20e0d21d0e4359b1062468ac124368b1424a152681724a182681921d1a2681b21d1d402ce1e4468a204368b2252579c244468a2625927337b294259c2a20e2b52579c2c20e2d52579c2e20e3024a312683223b333579354368b374468a39404ae3a4268c3c52579c3d20e", "gg500702579ce0261368bd0461359bd0661368bd08702579ce0a61368bd0c4359b0e3579105137bd112591222c134068e14424ac1520e1652579c185137bd192591a337b1b4059e1d424ac1e26820404ae214268c2220e234268c2420e2522c2624a274268c2820e294368b2b61359bd2d424ac2e1731317d324359b33317d344359b3521d36357937403be38357939402ce3a35793b23b3c4159d3e4368b4062468ac4260359be446024ace46413bd472594820e494368b4a20e4b4268c4c24a4d402ce4e347a", "ge500802468ace054468a0622c074468a0c802468ace11713579bd144468a1522c164468a1722c184468a1b713579bd2262468ac2453579b2651579d2853579b2a62468ac3353579b354468a3620e374468a3953579b4435794617483579", "ge8006024ace0126802413bd0325904403be06702579ce08802468ace0a35790c2681026811514ace135268bd1560368ae1761359bd1951579d1b2682027921324d22368a231c244358a251d2652468b286247ace2a50468d2c173018325479ce331234468ad351436417be37335938417bd3933593a417ce3b2593c174525b4824c5526a5825b652796826a751878279", "gg50024a014168d036024ace042680523b0651579d0723b0820e094468a0a21d0b2590c402ce0d2590e5137bd10413bd1135791223b13357914413bd1535791623b174168d1824a1960268ce1b413bd1c2591d402ce1e4468a2026821424ac2362468ac254468a2723b284159d2a4368b2c4359b2e4368b3051579d325137bd33259345137bd352593622c3725938413bd3a4259c3c4268c3e5247ac4024a4226843413bd4426846259482684922c4a2684c337b4e259", "gf400402ce0125902402ce0324a0422c052590622c0724a0822c0a402ce0c402ce114168d134359b1562468ac17424ac19413bd1b413bd20702579ce2261468ad24424ac2526826413bd272592822c2924a2a402ce2b24a2c402ce30424ac3120e32424ac3423b3551579d3623b374168d3823b392593a413bd3b2593c22c3d20e", "gg30023b014159d0223b034159d0423b054068e0624a074068e0824a09402ce0a2590b21d0c24a0d21d0e23b10802468ace12802468ace1461359bd1661468ad1861468ad1a60259ce1c414ad1e424ac204168d2124a2260268ce2324a24402ce2525926403be2726828403be292682a413bd2b2682c413bd2e61359bd", "gg6014268c0224a034268c04404ae054268c06404ae074268c096024ace0a2680b413bd0c2680d413bd0e25910317d1261368bd1461368bd1661368bd1861359bd1a62468ac1c62468ac1e4359b2020e2122c2224a234268c254259c2762468ac2961368bd2b61368bd2d62468ac3023b31259334359b354359b372683822c3924a3a22c3b24a3c2683d23b41259434468a454468a494359b4b4359b4d4468a512685453579b564468a5824a592685a24a5b2685c24a5d268", "eg50022401408ac02140338ac04140538ac0930240a180b30240c180d4024c0e28a1022412613579b14379b15141618181419181a31351c613579b1e28a21224221623348a2524827248292482b32482c162d28a302153113324157b331934357b36257382573a31573b133c4157b3d193e27b4014411242357a4312443468451a46346848346849124a34684b1a4c32574d1a4e18", "gg500413bd02702579ce0451579d0523b0651579d0723b0835790a35790c61359bd0e413bd116024ace1360268ce1424a1560268ce17802468ace1935791b60359be1d403be2022c21404ae2222c23404ae2422c25404ae26327c274059e28172924a2b61368bd2d413bd312593325935259412684326845268", "gg40020e034359b04170525906337b08413bd0935790a403be0b35790c402ce0d2680e402ce1021d1262468ac145247ac164468a1862468ac1a61368bd1c61368bd1e713579bd2022c2117224359b244359b26259284368b2a4259c2c4259c2e4259c3023b313579334468a354268c3726838424ac3a4368b3c4368b3e4368b", "gg700402ce04802468ace0a6024ace0c24a0d21d0e24a10413bd144468a15402ce19402ce1a24a1c2591d21d1e25921424ac244468a26402ce28402ce2a24a2c2682d21d2e268324359b354468a37402ce3923b3b2593c173d21d3e17434468a464468a4824a4a2594b174d21d5435795735795926865357968268", "ig800902468aceg02902468aceg04902468aceg06308g084179f0a426ae0c435bd0e24c106246ace11308g126246ace13308g146246ace15308g174179f19426ae1b435bd1d24c20902468aceg22902468aceg24902468aceg26318f28426ae2a435bd2c24c31902468aceg33902468aceg354179f37426ae39435bd3b24c40902468aceg42902468aceg44813579bdf46426ae48435bd4a24c51902468aceg53902468aceg556246ace57435bd5924c60902468aceg62813579bdf646246ace66435bd6824c71813579bdf736246ace75435bd7724c", "ii40080246aceg02406ag04406ag0680246aceg0a80246aceg0c406ag0e406ag0g80246aceg116135bdf13415bf156135bdf1b6135bdf1d415bf1f6135bdf226246ace246246ace26424ce2a424ce2c6246ace2e6246ace3227933435bd342793523d37424ce39424ce3b23d3c2793d435bd3e279", "if9002790125b0227903435bd0427905424ce07413df0920g0b20g0d6024ceg11368a135468ac1523d1722e1920g1b20g1d6024ceg222792325b2524c2723d2921f2b20g2d6024ceg332793425b3624c3823d3921f3b20g3d6135bdf44368a4624c4823d4921f4b21f4d6246ace554579b5724c5923d5b22e5d63579bd66368a6825b6a24c6c5468ac77368a7926a7b4579b882798a279", "ii80026a0226a0426a0626a0826a0a80246aceg0c6024ceg0e402eg0g402eg10279122791427916279182791a813579bdf1c413df1e21f1g21f201822182418261828182a72468ace2c424ce2e22e2g22e32183418361838183a63579bd3c435bd3e23d3g23d4418461848184a5468ac4c446ac4e24c4g24c561858185a4579b5c4579b5e25b5g25b68186a368a6c368a6e26a6g26a7a187c2797e2797g279"]; } }//package RES.GAME
Section 79
//OInfoObject (RES.OBJECTS.OInfoObject) package RES.OBJECTS { import flash.events.*; import ENGINE.INTERFACE.*; public class OInfoObject extends OIObject { public function OInfoObject(_arg1:Array, _arg2:Array=null){ super(_arg1, _arg2); } override public function OnPress(_arg1:Event, _arg2):void{ (this.parent as OIObject).OnPress(_arg1, _arg2); } } }//package RES.OBJECTS
Section 80
//OOpponentField (RES.OBJECTS.OOpponentField) package RES.OBJECTS { import flash.events.*; import ENGINE.INTERFACE.*; import flash.utils.*; import RES.GAME.*; public class OOpponentField extends OIObject { private var iField:SField; public var str2:OIObject; public var str3:OIObject; public var playing:Boolean; public var str1:OIObject; private var iTimer:int; private var Rec:String; public var strNotTime:OIObject; private var iWidth:Number; public var strNotMoved:OIObject; private var iHeight:Number; private var msRec:int; private var iRec:int; public var iScore:OCounter; private static const stNone:int = 0; private static const stPlaying:int = 1; public function OOpponentField(_arg1:String){ WellMahjongL.OOpponentFieldParam[2][4] = _arg1; super(WellMahjongL.OOpponentFieldParam); } public function notTime():void{ this.setChildIndex(this.strNotTime, (this.numChildren - 1)); this.strNotTime.prVisible = true; this.stopRec(); this.playing = true; } public function get Score():int{ return (this.iScore.prValue); } override public function Free():void{ this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); this.iScore.Free(); this.iScore = null; this.str1 = null; this.str2 = null; this.str3 = null; if (this.strNotMoved != null){ if (this.contains(this.strNotMoved) == true){ this.removeChild(this.strNotMoved); }; this.strNotMoved.Free(); this.strNotMoved = null; }; if (this.strNotTime != null){ if (this.contains(this.strNotTime) == true){ this.removeChild(this.strNotTime); }; this.strNotTime.Free(); this.strNotTime = null; }; if (this.iField != null){ if (this.contains(this.iField) == true){ this.removeChild(this.iField); }; this.iField.Free(); }; super.Free(); } public function playRec(_arg1:String, _arg2:int):void{ var _local3:Array; this.playing = true; this.iTimer = getTimer(); this.iScore.prValue = WellMahjongL.ScoreMax; this.Rec = _arg1; this.iRec = 0; this.msRec = SConvert.calcIntTime((_arg1.charAt(this.iRec) + _arg1.charAt((this.iRec + 1)))); _local3 = SConvert.createLevel(SLevels.Levels[_arg2]); this.iField = new SField(WellMahjongL.MODE_OPPONENT, this.iWidth, this.iHeight, _local3, WellMahjongL.ScoreMax, true); this.iField.prX = (this.iField.prX + 10); this.iField.prY = (this.iField.prY + 10); this.addChild(this.iField); this.State = stPlaying; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; switch (this.iState){ case stNone: break; case stPlaying: if ((this.iRec + 1) > this.Rec.length){ this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); return; }; _local2 = (getTimer() - this.iTimer); if (_local2 >= this.msRec){ this.iTimer = getTimer(); _local3 = SConvert.getNumber(Rec.charAt((this.iRec + 2))); _local4 = SConvert.getNumber(Rec.charAt((this.iRec + 3))); _local5 = SConvert.getNumber(Rec.charAt((this.iRec + 4))); if (_local3 >= 0){ this.iField.clickFishka(_local3, _local4, _local5); } else { this.iField.startHint(); }; this.iRec = (this.iRec + 5); if ((this.iRec + 1) > this.Rec.length){ this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); } else { this.msRec = SConvert.calcIntTime((Rec.charAt(this.iRec) + Rec.charAt((this.iRec + 1)))); }; }; break; }; } public function levelComplete():void{ this.iScore.prValue = (this.iScore.prValue * 2); this.playing = false; this.setChildIndex(this.str1, (this.numChildren - 1)); this.setChildIndex(this.str2, (this.numChildren - 1)); this.setChildIndex(this.str3, (this.numChildren - 1)); this.str1.prVisible = true; this.str2.prVisible = true; this.str3.prVisible = true; this.iField.stopGame(); } public function set Score(_arg1:int):void{ this.iScore.prValue = _arg1; } override public function Init():void{ super.Init(); this.playing = false; this.iWidth = 237; this.iHeight = 270; this.State = stNone; } public function stopRec():void{ this.iField.stopGame(); this.removeEventListener(Event.ENTER_FRAME, this.OnEnterFrame); this.playing = false; } public function startGame():void{ this.iField.startGame(); } public function notMoved():void{ this.setChildIndex(this.strNotMoved, (this.numChildren - 1)); this.strNotMoved.prVisible = true; this.stopRec(); this.playing = true; } public function noMoviesComplete():void{ this.strNotMoved.prVisible = false; this.setChildIndex(this.str1, (this.numChildren - 1)); this.setChildIndex(this.str2, (this.numChildren - 1)); this.setChildIndex(this.str3, (this.numChildren - 1)); this.str1.prVisible = true; this.str2.prVisible = true; this.str3.prVisible = true; } } }//package RES.OBJECTS
Section 81
//OPlayerPanel (RES.OBJECTS.OPlayerPanel) package RES.OBJECTS { import flash.events.*; import ENGINE.INTERFACE.*; public class OPlayerPanel extends OIObject { public var iLevel:OCounter; public var iScore:OCounter; public function OPlayerPanel(){ super(WellMahjongL.OPlayerPanelParam, ODialog.iDefAnimators); this.visible = false; } override public function Init():void{ super.Init(); this.iLevel.prValue = 0; this.iScore.prValue = 0; } override public function Free():void{ super.Free(); } override public function OnEnterFrame(_arg1:Event):void{ super.OnEnterFrame(_arg1); } } }//package RES.OBJECTS
Section 82
//OWChoosePlayer (RES.WINDOWS.OWChoosePlayer) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; public class OWChoosePlayer extends ODialog { public var iDelete:OButton; public var iNew:OButton; public var iCancel:OButton; private var iData; public var iListBox:OListBox; public var iAccept:OButton; private var iCurPlayer:String; public function OWChoosePlayer(){ super(WellMahjongL.OWChoosePlayer); } override public function Init():void{ super.Init(); this.iData = WellMahjongL.iGAME.prPlayersData; this.iCurPlayer = WellMahjongL.iGAME.prPlayerName; this.iListBox.SetCurrentElement(WellMahjongL.iGAME.prPlayerName, WellMahjongL.iGAME.prPlayerNames); } override public function set prActive(_arg1:Boolean):void{ if (_arg1){ this.iListBox.SetCurrentElement(WellMahjongL.iGAME.prPlayerName, WellMahjongL.iGAME.prPlayerNames); }; super.prActive = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ if (!this.prMouseEnabled){ return; }; if (_arg2 == this.iNew){ (this.parent as OWindow).OnPress(null, WellMahjongL.miEnterNewName); this.prActive = false; return; }; if (_arg2 == this.iDelete){ (this.parent as OWindow).OnPress(null, WellMahjongL.miDeletePlayerConfirm); this.prActive = false; return; }; if (_arg2 == this.iCancel){ WellMahjongL.iGAME.prPlayersData = this.iData; WellMahjongL.iGAME.prPlayerName = this.iCurPlayer; (this.parent as OWindow).OnPress(null, WellMahjongL.miMenu); this.prVisible = false; return; }; if (_arg2 == this.iAccept){ if (WellMahjongL.iMP.isConnected){ WellMahjongL.iMP.disconnect(); }; (this.parent as OWindow).OnPress(null, WellMahjongL.miMenu); this.prVisible = false; return; }; if ((((_arg2 == this.iListBox)) && (!((WellMahjongL.iGAME.prPlayerName == this.iListBox.prCurrentLBParam))))){ WellMahjongL.iGAME.prPlayerName = this.iListBox.prCurrentLBParam; return; }; } override public function Free():void{ this.iListBox = null; this.iNew = null; this.iDelete = null; this.iAccept = null; this.iCancel = null; super.Free(); } } }//package RES.WINDOWS
Section 83
//OWEnterName (RES.WINDOWS.OWEnterName) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; public class OWEnterName extends ODialog { private var iHasCancel:Boolean; public var iCancel:OButton; public var iName:OInput; public var iAccept:OButton; public function OWEnterName(_arg1:Boolean=true){ this.iHasCancel = _arg1; super(WellMahjongL.OWEnterName); } private function SetNameFocus():void{ if (!this.stage){ return; }; if (this.stage.focus == this.iName.iText){ return; }; this.iName.iText.setSelection(this.iName.iText.length, this.iName.iText.length); this.stage.focus = this.iName.iText; } override public function Init():void{ super.Init(); this.iName.prText = (WellMahjongL.iGAME.prPlayerName) ? WellMahjongL.iGAME.prPlayerName : ""; if (!this.iHasCancel){ this.iCancel.visible = false; this.iAccept.prX = 155; }; this.iName.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler); } public function set prName(_arg1:String):void{ this.iName.prText = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ var _local3:String; var _local4:String; if (!this.prMouseEnabled){ return; }; if (_arg2 == this.iCancel){ if (!this.iCancel.visible){ return; }; this.prVisible = false; return; }; if (_arg2 == this.iAccept){ _local3 = OUtils.ClearString(this.iName.prText.toUpperCase()); _local4 = removeSpaces(_local3); if (_local4.length > 0){ WellMahjongL.iGAME.prPlayerName = _local4; this.prVisible = false; } else { this.iName.prText = ""; }; }; } override public function Free():void{ super.Free(); this.iName.removeEventListener(KeyboardEvent.KEY_DOWN, keyHandler); this.iName = null; this.iAccept = null; this.iCancel = null; } public function get prName():String{ return (this.iName.prText); } override public function OnEnterFrame(_arg1:Event):void{ super.OnEnterFrame(_arg1); SetNameFocus(); } private function removeSpaces(_arg1:String):String{ var _local2:String; var _local3:int; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) != " "){ _local2 = (_local2 + _arg1.charAt(_local3)); }; _local3++; }; return (_local2); } private function keyHandler(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 13: OnPress(_arg1, this.iAccept); break; case 27: OnPress(_arg1, this.iCancel); break; }; trace(((((((_arg1.target + "(") + _arg1.currentTarget) + "): ") + _arg1.keyCode) + "/") + _arg1.charCode)); } } }//package RES.WINDOWS
Section 84
//OWGame (RES.WINDOWS.OWGame) package RES.WINDOWS { import ENGINE.DISPLAY.*; import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.GAME.*; import ENGINE.CORE.*; import flash.utils.*; import RES.GAME.*; import flash.net.*; import ENGINE.SMARTFOX.*; import ENGINE.AD.*; import RES.OBJECTS.*; public class OWGame extends OWindow { public var iLink:OButton; private var panelPlayer:OPlayerPanel; private var showBaner:Boolean; private var iBaner:OWInfoPanel; private var iStrNotTime:OIObject; private var iField:SField; private var bonus:Boolean; private var iStrClearFildBons:OIObject; private var iTimer:int; public var iHint:OButton; private var iLevel:int; public var iNameGame:OIObject; private var iTest:Boolean; private var iStrLevelComplete:OIObject; private var iInfo:OIObject; private var iStrNotMoved:OIObject; private var prRecord:String; public var iPause:OButton; private var iDAlpha:Number;// = 0.025 private var invisLayer:OSprite; public var iSiteLink:OIObject; public var iMenu:OButton; private var prOpponent:String; private var iStrPause:OIObject; private var iOldPrLevel:int; private var OField:OOpponentField; public static const stShow:int = 0; public static const stPlayGame:int = 7; public static const stLevelInit:int = 4; public static const stShowElements:int = 5; public static const stShowResults:int = 12; public static const stHideElements:int = 11; public static const stNotMovedCompl:int = 14; public static const stLoadLevel:int = 2; public static const stConnection:int = 1; public static const stNotMoved:int = 13; public static const stPause:int = 16; public static const stNotTime:int = 15; public static const stLevelInfo:int = 3; public static const stClearFildBons:int = 9; public static const stLevelComplete:int = 10; public function OWGame(_arg1:Boolean){ iDAlpha = 0.025; this.iOldPrLevel = -1; this.iTest = _arg1; if (this.iTest == true){ WellMahjongL.OWGameParam[3][6] = WellMahjongL.strClose; } else { WellMahjongL.OWGameParam[3][6] = WellMahjongL.strMenu; }; super(WellMahjongL.OWGameParam, ODialog.iDefAnimators); } public function notTime():void{ this.State = stNotTime; } public function SplashInfoMessage():Boolean{ var _local1:Boolean; _local1 = false; if (this.iInfo.prAnimation){ return (false); }; this.iInfo.alpha = (this.iInfo.alpha + this.iDAlpha); if ((((this.iDAlpha > 0)) && ((this.iInfo.alpha >= 1)))){ this.iInfo.alpha = 1; this.iDAlpha = (this.iDAlpha * -1); }; if ((((this.iDAlpha < 0)) && ((this.iInfo.alpha <= 0)))){ this.iInfo.alpha = 0; this.iDAlpha = (this.iDAlpha * -1); _local1 = true; }; return (_local1); } override public function Free():void{ this.iMenu.Free(); this.iMenu = null; this.iHint.Free(); this.iHint = null; this.iPause.Free(); this.iPause = null; this.iNameGame.Free(); this.iNameGame = null; this.iSiteLink.Free(); this.iSiteLink = null; this.iLink.Free(); this.iLink = null; this.iStrLevelComplete.Free(); this.iStrLevelComplete = null; if (this.iStrClearFildBons != null){ if (this.contains(this.iStrClearFildBons) == true){ this.removeChild(this.iStrClearFildBons); }; this.iStrClearFildBons.Free(); this.iStrClearFildBons = null; }; this.iStrNotMoved.Free(); this.iStrNotMoved = null; this.iStrNotTime.Free(); this.iStrNotTime = null; this.iStrPause.Free(); this.iStrPause = null; this.invisLayer = null; this.panelPlayer.Free(); this.panelPlayer = null; if (this.iBaner != null){ if (this.contains(this.iBaner) == true){ this.removeChild(this.iBaner); }; this.iBaner.Free(); this.iBaner = null; }; if (this.OField != null){ if (this.contains(this.OField) == true){ this.removeChild(this.OField); }; this.OField.Free(); this.OField = null; }; if (this.iField != null){ if (this.contains(this.iField) == true){ this.removeChild(this.iField); }; this.iField.Free(); this.iField = null; }; super.Free(); } public function startPause():void{ if (this.iState == stPlayGame){ this.State = stPause; }; } private function AddInfo(_arg1:OIObject, _arg2:Boolean=true):void{ if (this.iInfo){ if (this.contains(this.iInfo) == true){ this.removeChild(this.iInfo); }; this.iInfo.Free(); this.iInfo = null; }; if (_arg1){ this.iInfo = _arg1; this.iInfo.Pos(0, 0); this.iInfo.Pos((10 + ((800 - this.iInfo.prWidth) / 2)), (300 - (this.iInfo.prHeight / 2))); if (_arg2){ this.iInfo.SetVisible(false); this.iInfo.prVisible = true; }; this.addChild(this.iInfo); }; } private function invisLayerOnClick(_arg1:MouseEvent):void{ switch (this.iState){ case stLevelComplete: this.State = stHideElements; break; case stNotMoved: this.iField.noMoviesComplete(); this.iField.prVisible = false; this.noMoviesComplete(); break; case stNotTime: this.State = stHideElements; break; case stPause: this.iStrPause.prVisible = false; this.iField.startPause(false); this.iField.prVisible = true; if (this.contains(this.invisLayer) == true){ this.removeChild(this.invisLayer); }; this.State = stPlayGame; break; }; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; var _local3:Boolean; var _local4:Array; switch (this.iState){ case stShow: if (!this.prAnimation){ if (this.iTest == false){ this.State = stConnection; } else { this.State = stLevelInit; }; }; break; case stConnection: _local2 = getTimer(); _local3 = this.SplashInfoMessage(); if (((((_local2 - this.iTimer) > 5000)) && (_local3))){ this.State = stLevelInfo; }; if (((((_local2 - this.iTimer) > 2000)) && ((WellMahjongL.iMP.State == OMultiplayer.stInZone)))){ this.State = stLoadLevel; }; break; case stLoadLevel: _local3 = this.SplashInfoMessage(); _local2 = (getTimer() - this.iTimer); if ((((((_local2 > 5000)) && (_local3))) && (WellMahjongL.iMP.prOpponentTurn))){ _local4 = WellMahjongL.iMP.prOpponentTurn.split(","); if (_local4.length != 2){ this.prRecord = null; this.State = stLevelInfo; break; }; this.prRecord = ((((_local4[0] == "none")) && ((_local4[1] == "none")))) ? null : _local4[1]; prOpponent = _local4[0]; if (this.prRecord){ this.prOpponent = _local4[0]; }; this.State = stLevelInfo; }; break; case stLevelInfo: _local2 = getTimer(); if ((_local2 - this.iTimer) > 2000){ if (this.iInfo.prVisible){ this.iInfo.prVisible = false; } else { if (!this.iInfo.prAnimation){ this.AddInfo(null); this.State = stLevelInit; }; }; }; break; case stClearFildBons: _local2 = getTimer(); if ((_local2 - this.iTimer) > 3000){ this.iStrClearFildBons.prVisible = false; this.State = stLevelComplete; }; break; }; super.OnEnterFrame(_arg1); } public function levelComplete():void{ var _local1:int; var _local2:int; if (this.iTest == false){ _local2 = 0; if (this.showBaner == false){ this.bonus = this.OField.playing; this.OField.stopRec(); } else { this.bonus = false; }; if (this.bonus == true){ _local2 = this.OField.Score; }; _local1 = (this.panelPlayer.iScore.prValue * 2); WellMahjongL.iGAME.AddScore((_local1 + _local2)); WellMahjongL.iGAME.Write(OGame.catTmp, "Score", _local1); WellMahjongL.iGAME.Write(OGame.catTmp, "ScoreO", _local2); WellMahjongL.iGAME.AddScoreInTable(WellMahjongL.iGAME.prScore); if (WellMahjongL.iMP.isConnected == true){ WellMahjongL.iMP.Turn(["wrr", WellMahjongL.iGAME.prPlayerName, WellMahjongL.iGAME.prScore]); }; if (WellMahjongL.iMP.isConnected == true){ WellMahjongL.iMP.Turn(["wrl", this.iLevel, WellMahjongL.indexGame, WellMahjongL.iGAME.prPlayerName, this.iField.Rec]); }; }; this.State = stClearFildBons; } override public function set State(_arg1:int):void{ var _local2:Array; this.iState = _arg1; switch (this.iState){ case stShow: this.AddBanner(true, 800, 260); this.iLink.prVisible = false; if (this.iOldPrLevel != WellMahjongL.iGAME.prLevel){ this.iLevel = Math.floor((Math.random() * SLevels.Levels.length)); if (this.iLevel >= SLevels.Levels.length){ this.iLevel = (SLevels.Levels.length - 1); }; this.iOldPrLevel = WellMahjongL.iGAME.prLevel; }; WellMahjongL.indexGame = Math.floor((Math.random() * 10)); if (this.iBaner != null){ if (this.contains(this.iBaner) == true){ this.removeChild(this.iBaner); }; this.iBaner.Free(); this.iBaner = null; }; if (this.OField != null){ if (this.contains(this.OField) == true){ this.removeChild(this.OField); }; this.OField.Free(); this.OField = null; }; if (this.iField != null){ if (this.contains(this.iField) == true){ this.removeChild(this.iField); }; this.iField.Free(); this.iField = null; }; if (!this.prAnimation){ if (this.iTest == true){ this.State = stLevelInit; } else { this.State = stConnection; }; }; break; case stConnection: this.alpha = 1; WellMahjongL.iMP.ClearOpponentTurn(true); this.iTimer = getTimer(); this.AddInfo(WellMahjongS.ColorText(WellMahjongL.OWGameConnection), true); if (WellMahjongL.iMP.State == OMultiplayer.stInZone){ this.State = stLoadLevel; } else { if (WellMahjongL.iMP.State != OMultiplayer.stConnection){ WellMahjongL.iMP.State = OMultiplayer.stNone; WellMahjongL.iMP.Init(WellMahjongL.sDomain, WellMahjongL.sServer, WellMahjongL.sZone, WellMahjongL.sXTName, WellMahjongL.iGAME.prPlayerName); }; }; break; case stLoadLevel: WellMahjongL.iMP.ClearOpponentTurn(true); WellMahjongL.iMP.Turn(["rdl", this.iLevel, WellMahjongL.indexGame, WellMahjongL.iGAME.prPlayerName]); break; case stLevelInfo: OSound.PlaySoundInd(4); WellMahjongL.OWGameNewLevel[3] = (WellMahjongL.strLevelID + ((this.iLevel + 1) as int).toString()); this.AddInfo(WellMahjongS.ColorText(WellMahjongL.OWGameNewLevel), true); this.iTimer = getTimer(); break; case stLevelInit: if (this.iTest == true){ this.panelPlayer.iLevel.prValue = 1; } else { this.panelPlayer.iLevel.prValue = (this.iLevel + 1); }; this.panelPlayer.iScore.prValue = WellMahjongL.ScoreMax; WellMahjongL.RandP.SeedRand(((WellMahjongL.indexGame + 777) + ((this.iLevel + 1) * 10))); WellMahjongL.RandO.SeedRand(((WellMahjongL.indexGame + 777) + ((this.iLevel + 1) * 10))); if (this.iTest == false){ _local2 = SConvert.createLevel(SLevels.Levels[this.iLevel]); } else { _local2 = SConvert.createLevel(WellMahjongL.TestLevel); }; this.iField = new SField(WellMahjongL.MODE_PLAYER, WellMahjongL.fieldWidth, WellMahjongL.fieldHeight, _local2, WellMahjongL.ScoreMax, true); this.iField.prX = (this.iField.prX + 15); this.iField.prY = (this.iField.prY + 15); this.addChild(this.iField); if ((((((this.iTest == false)) && ((WellMahjongL.iMP.State == OMultiplayer.stInZone)))) && (!((this.prRecord == null))))){ this.showBaner = false; } else { this.showBaner = true; }; if (this.showBaner == true){ this.iBaner = new OWInfoPanel(); this.iBaner.Pos(520, 5); this.addChild(this.iBaner); if ((((this.iTest == false)) && ((WellMahjongL.iMP.State == OMultiplayer.stInZone)))){ this.iBaner.prOpponent = this.prOpponent; iBaner.State = OWInfoPanel.stUserNotFound; } else { iBaner.State = OWInfoPanel.stConnect; }; } else { this.OField = new OOpponentField(this.prOpponent); this.OField.Pos(530, 72); this.addChild(this.OField); }; if (this.showBaner == false){ this.OField.playRec(this.prRecord, this.iLevel); }; this.iField.startGame(); if (this.showBaner == false){ this.OField.startGame(); }; this.State = stShowElements; break; case stShowElements: this.AddBanner(false); this.iMenu.prVisible = true; this.iHint.prVisible = true; this.iPause.prVisible = true; this.iNameGame.prVisible = true; this.iLink.prVisible = true; this.iSiteLink.prVisible = true; this.panelPlayer.prVisible = true; this.iField.prVisible = true; if (this.showBaner == true){ this.iBaner.prVisible = true; } else { this.OField.prVisible = true; }; this.iTimer = 0; this.State = stPlayGame; break; case stHideElements: this.iMenu.prVisible = false; this.iHint.prVisible = false; this.iPause.prVisible = false; this.iNameGame.prVisible = false; this.iSiteLink.prVisible = false; this.panelPlayer.prVisible = false; this.iField.prVisible = false; if (this.showBaner == true){ this.iBaner.prVisible = false; } else { this.OField.prVisible = false; }; if (this.contains(this.iStrLevelComplete) == true){ this.removeChild(this.iStrLevelComplete); }; if (this.iStrClearFildBons != null){ if (this.contains(this.iStrClearFildBons) == true){ this.removeChild(this.iStrClearFildBons); }; }; if (this.contains(this.iStrNotMoved) == true){ this.removeChild(this.iStrNotMoved); }; if (this.contains(this.iStrNotTime) == true){ this.removeChild(this.iStrNotTime); }; if (this.contains(this.iStrPause) == true){ this.removeChild(this.iStrPause); }; if (this.contains(this.invisLayer) == true){ this.removeChild(this.invisLayer); }; this.State = stShowResults; break; case stClearFildBons: this.iField.stopGame(); if (this.OField != null){ this.OField.stopRec(); }; if (this.iStrClearFildBons != null){ if (this.contains(this.iStrClearFildBons) == true){ this.removeChild(this.iStrClearFildBons); }; this.iStrClearFildBons.Free(); this.iStrClearFildBons = null; }; WellMahjongL.iClearFieldBonusParam[1][4] = this.panelPlayer.iScore.prValue.toString(); this.iStrClearFildBons = new OIObject(WellMahjongL.iClearFieldBonusParam, ODialog.iDefAnimators); this.addChild(this.iStrClearFildBons); this.iStrClearFildBons.prVisible = true; this.addChild(this.invisLayer); this.iTimer = getTimer(); break; case stLevelComplete: this.addChild(this.iStrLevelComplete); this.iStrLevelComplete.prVisible = true; if (this.contains(this.invisLayer) == false){ this.addChild(this.invisLayer); }; this.setChildIndex(this.invisLayer, (this.numChildren - 1)); this.invisLayer.addEventListener(MouseEvent.MOUSE_DOWN, this.invisLayerOnClick); break; case stShowResults: if (this.iTest == true){ this.State = stShow; } else { (this.parent as OWindow).OnPress(null, WellMahjongL.miResultsSP); this.prActive = false; }; break; case stNotMoved: if (WellMahjongL.iMP.isConnected == true){ WellMahjongL.iMP.Turn(["wrl", this.iLevel, WellMahjongL.indexGame, WellMahjongL.iGAME.prPlayerName, this.iField.Rec]); }; this.addChild(this.iStrNotMoved); this.iStrNotMoved.prVisible = true; this.iStrLevelComplete.prVisible = false; this.addChild(this.invisLayer); this.invisLayer.addEventListener(MouseEvent.MOUSE_DOWN, this.invisLayerOnClick); this.iField.stopGame(); if (this.OField != null){ this.OField.stopRec(); }; break; case stNotTime: if (WellMahjongL.iMP.isConnected == true){ WellMahjongL.iMP.Turn(["wrl", this.iLevel, WellMahjongL.indexGame, WellMahjongL.iGAME.prPlayerName, this.iField.Rec]); }; this.addChild(this.iStrNotTime); this.iStrNotTime.prVisible = true; this.addChild(this.invisLayer); this.invisLayer.addEventListener(MouseEvent.MOUSE_DOWN, this.invisLayerOnClick); this.iField.stopGame(); if (this.OField != null){ this.OField.stopRec(); }; break; case stPause: this.iField.startPause(true); this.iField.prVisible = false; if (this.contains(this.iStrPause) == false){ this.addChild(this.iStrPause); }; this.iStrPause.prVisible = true; this.addChild(this.invisLayer); this.invisLayer.addEventListener(MouseEvent.MOUSE_DOWN, this.invisLayerOnClick); break; }; } public function set Score(_arg1:int):void{ this.panelPlayer.iScore.prValue = _arg1; } private function AddBanner(_arg1:Boolean, _arg2:int=0, _arg3:int=0):void{ if (WellMahjongL.sDebug == true){ return; }; if (_arg1){ OAdBanners.AddTBanner(this, 0, 0, _arg2, _arg3); OAdBanners.AddBBanner(this, 0, (600 - _arg3), _arg2, _arg3); } else { OAdBanners.RemoveTBanner(this); OAdBanners.RemoveBBanner(this); }; } override public function Init():void{ super.Init(); this.panelPlayer = new OPlayerPanel(); this.panelPlayer.Pos(0, 0); this.addChild(this.panelPlayer); this.iStrLevelComplete = new OIObject(WellMahjongL.iLevelCompleteParam, ODialog.iDefAnimators); this.iStrLevelComplete.prVisible = false; this.iStrNotMoved = new OIObject(WellMahjongL.iNotMovedParam, ODialog.iDefAnimators); this.iStrNotMoved.prVisible = false; this.iStrNotTime = new OIObject(WellMahjongL.iNotTimeParam, ODialog.iDefAnimators); this.iStrNotTime.prVisible = false; this.iStrPause = new OIObject(WellMahjongL.iPauseParam, ODialog.iDefAnimators); this.iStrPause.prVisible = false; this.invisLayer = new OSprite(); this.invisLayer.graphics.beginFill(0, 0); this.invisLayer.graphics.drawRect(0, 0, (800 * OGlobal.Scale), (600 * OGlobal.Scale)); this.invisLayer.graphics.endFill(); this.State = stShow; } override public function set prActive(_arg1:Boolean):void{ if (_arg1){ this.State = stShow; }; super.prActive = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ switch (_arg2){ case this.iMenu: this.iField.SetVisible(false); if (this.iTest == false){ (this.parent as OWindow).OnPress(null, WellMahjongL.miMenu); }; this.prActive = false; this.prVisible = false; break; case this.iLink: navigateToURL(new URLRequest(WellMahjongL.sURLSite)); break; case this.iHint: this.iField.startHint(); break; case this.iPause: this.State = stPause; break; }; } public function notMoved():void{ this.State = stNotMoved; } public function noMoviesComplete():void{ var _local1:int; _local1 = this.panelPlayer.iScore.prValue; WellMahjongL.iGAME.AddScore(_local1); WellMahjongL.iGAME.Write(OGame.catTmp, "Score", _local1); WellMahjongL.iGAME.AddScoreInTable(WellMahjongL.iGAME.prScore); if (WellMahjongL.iMP.isConnected == true){ WellMahjongL.iMP.Turn(["wrr", WellMahjongL.iGAME.prPlayerName, WellMahjongL.iGAME.prScore]); }; this.iStrNotMoved.prVisible = false; this.State = stLevelComplete; } } }//package RES.WINDOWS
Section 85
//OWHighScores (RES.WINDOWS.OWHighScores) package RES.WINDOWS { import ENGINE.DISPLAY.*; import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.GAME.*; public class OWHighScores extends ODialog { public var iClose:OButton; public var iPublish:OButton; public var iClear:OButton; public var iGlobal:OButton; public var iType:OListBox; public var iTable:OTab; public function OWHighScores(){ var _local1:OScoreParams; var _local2:int; _local2 = 0; while (_local2 < 5) { _local1 = WellMahjongL.iGAME.GetLocalScores(0, _local2); WellMahjongL.OWHighScoreLocal[(0 + (_local2 * 2))][5] = (_local1) ? _local1.iName : ""; WellMahjongL.OWHighScoreLocal[(1 + (_local2 * 2))][5] = (_local1) ? _local1.iScore.toString() : ""; _local1 = WellMahjongL.iGAME.GetPersonalScores(0, _local2); WellMahjongL.OWHighScorePersonal[(0 + (_local2 * 2))][5] = (_local1) ? _local1.iName : ""; WellMahjongL.OWHighScorePersonal[(1 + (_local2 * 2))][5] = (_local1) ? _local1.iScore.toString() : ""; _local1 = WellMahjongL.iGAME.GetPersonalScores(1, _local2); WellMahjongL.OWHighRaitingPersonal[(0 + (_local2 * 2))][5] = (_local1) ? _local1.iName : ""; WellMahjongL.OWHighRaitingPersonal[(1 + (_local2 * 2))][5] = (_local1) ? _local1.iScore.toString() : ""; _local2++; }; super(WellMahjongL.OWHighScores); } override public function set prActive(_arg1:Boolean):void{ var _local2:OScoreParams; if (_arg1){ _local2 = WellMahjongL.iGAME.GetLocalScores(0, 0); if (!_local2){ (iTable.getChildAt(0) as OSprite).Free(); }; _local2 = WellMahjongL.iGAME.GetPersonalScores(0, 0); if (!_local2){ (iTable.getChildAt(1) as OSprite).Free(); }; _local2 = WellMahjongL.iGAME.GetPersonalScores(1, 0); if (!_local2){ (iTable.getChildAt(2) as OSprite).Free(); }; }; super.prActive = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg2 == this.iClose){ this.prVisible = false; return; }; if (_arg2 == this.iType){ this.iTable.prValue = this.iType.prCurrentInd; return; }; if (_arg2 == this.iClear){ (this.parent as OWindow).OnPress(null, WellMahjongL.miDeleteScoresConfirm); this.prActive = false; return; }; (this.parent as OWindow).OnPress(null, WellMahjongL.miCommingSoon); this.prActive = false; } override public function Free():void{ this.iType = null; this.iTable = null; this.iGlobal = null; this.iPublish = null; this.iClear = null; this.iClose = null; super.Free(); } } }//package RES.WINDOWS
Section 86
//OWInfoPanel (RES.WINDOWS.OWInfoPanel) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import flash.utils.*; import flash.net.*; import RES.OBJECTS.*; public class OWInfoPanel extends OIObject { private var iTimer:int; private var iMode:int; private var iInfo:OInfoObject; private var iScore:int; private var iOpponent:String; public static const stFailedLevel:int = 7; public static const stConnect:int = 1; public static const stEndLevel:int = 5; public static const stCompleteLevel:int = 6; public static const stInGame:int = 3; public static const stNone:int = 0; public static const stUserNotFound:int = 2; public static const stOpponent:int = 4; public function OWInfoPanel(){ super(null); } public function set prOpponent(_arg1:String):void{ this.iOpponent = _arg1; } private function ShowConnect():void{ var _local1:String; _local1 = WellMahjongL.OWColors[((this.iMode + 2) % WellMahjongL.OWColors.length)]; WellMahjongL.OWInfoPConnect[0][3] = _local1; WellMahjongL.OWInfoPConnect[1][3] = _local1; WellMahjongL.OWInfoPConnect[1][4] = _local1; switch ((this.iMode % 3)){ case 0: WellMahjongL.OWInfoPConnect[0][4] = WellMahjongL.strConnect1; WellMahjongL.OWInfoPConnect[1][6] = WellMahjongL.strPlayOnline; break; case 1: WellMahjongL.OWInfoPConnect[0][4] = WellMahjongL.strConnect2; WellMahjongL.OWInfoPConnect[1][6] = WellMahjongL.strMoreGames; break; case 2: WellMahjongL.OWInfoPConnect[0][4] = WellMahjongL.strConnect3; WellMahjongL.OWInfoPConnect[1][6] = WellMahjongL.strSendMail; break; }; this.InitObject(WellMahjongL.OWInfoPConnect); } private function ShowUserNotFound():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:Array; _local1 = WellMahjongL.iMP.prOpponentTurn; WellMahjongL.iMP.ClearOpponentTurn(true); WellMahjongL.iMP.Turn(["rdr"]); if (_local1){ _local3 = _local1.split(/,/); if (_local3.length == 2){ return; }; }; _local2 = WellMahjongL.OWColors[Math.round((Math.random() * (WellMahjongL.OWColors.length - 1)))]; WellMahjongL.OWInfoPUserNotFound[0][3] = _local2; WellMahjongL.OWInfoPUserNotFound[1][3] = _local2; switch ((this.iMode % 5)){ case 0: WellMahjongL.OWInfoPUserNotFound[0][4] = WellMahjongL.iMP.prUsersCount; WellMahjongL.OWInfoPUserNotFound[0][6] = 200; WellMahjongL.OWInfoPUserNotFound[1][6] = (WellMahjongL.OWInfoPUserNotFound[0][6] + 70); WellMahjongL.OWInfoPUserNotFound[1][4] = WellMahjongL.strPlayersOnline1; break; default: if (!_local1){ return; }; _local4 = _local1.split(/,/); if (_local4.length < 3){ return; }; WellMahjongL.OWInfoPUserNotFound[0][4] = ((int(_local4[0]) + 1).toString() + WellMahjongL.strPlace); WellMahjongL.OWInfoPUserNotFound[0][6] = 180; WellMahjongL.OWInfoPUserNotFound[1][6] = (WellMahjongL.OWInfoPUserNotFound[0][6] + 90); WellMahjongL.OWInfoPUserNotFound[1][4] = ((_local4[1] + WellMahjongL.strHasReiting) + _local4[2]); break; }; this.InitObject(WellMahjongL.OWInfoPUserNotFound); } override public function Init():void{ super.Init(); } public function set prScore(_arg1:int):void{ this.iScore = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ var _local3:String; var _local4:URLRequest; switch ((this.iMode % 3)){ case 0: _local3 = WellMahjongL.strConnect1URL; break; case 1: _local3 = WellMahjongL.strConnect2URL; break; case 2: _local3 = WellMahjongL.strConnect3URL; break; }; _local4 = new URLRequest(_local3); navigateToURL(_local4); } override public function Free():void{ this.iInfo = null; super.Free(); } private function InitObject(_arg1:Array):void{ if (this.iInfo){ this.removeChild(this.iInfo); this.iInfo.Free(); this.iInfo = null; }; if (!_arg1){ return; }; this.iInfo = new OInfoObject(_arg1, OInterface.iDefSlowAnimators); this.addChild(this.iInfo); this.iInfo.SetVisible(false); this.iInfo.prVisible = true; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; super.OnEnterFrame(_arg1); switch (this.iState){ case stConnect: _local2 = getTimer(); if ((_local2 - this.iTimer) >= 30000){ this.iMode++; this.ShowConnect(); this.iTimer = _local2; }; break; case stUserNotFound: _local2 = getTimer(); if ((_local2 - this.iTimer) >= 30000){ this.iMode++; this.ShowUserNotFound(); this.iTimer = _local2; }; break; }; } override public function set State(_arg1:int):void{ this.iState = _arg1; switch (this.iState){ case stNone: this.InitObject(null); break; case stConnect: this.iMode = 0; this.ShowConnect(); this.iTimer = getTimer(); break; case stUserNotFound: this.iMode = 0; this.ShowUserNotFound(); this.iTimer = getTimer(); break; case stInGame: WellMahjongL.OWInfoP[0][2] = 30; WellMahjongL.OWInfoP[0][3] = "yellow"; WellMahjongL.OWInfoP[0][6] = 265; WellMahjongL.OWInfoP[0][4] = ((((WellMahjongL.strOpponent1 + "\n") + this.iOpponent) + "\n") + WellMahjongL.strOpponent2); this.InitObject(WellMahjongL.OWInfoP); this.iTimer = getTimer(); break; case stOpponent: WellMahjongL.OWInfoPPlayer[1][4] = this.iOpponent; this.InitObject(WellMahjongL.OWInfoPPlayer); break; case stEndLevel: WellMahjongL.OWInfoP[0][2] = 30; WellMahjongL.OWInfoP[0][3] = "magenta"; WellMahjongL.OWInfoP[0][6] = 240; WellMahjongL.OWInfoP[0][4] = ((this.iOpponent + WellMahjongL.strLevelScore) + this.iScore); this.InitObject(WellMahjongL.OWInfoP); this.iTimer = getTimer(); break; case stCompleteLevel: WellMahjongL.OWInfoP[0][2] = 30; WellMahjongL.OWInfoP[0][3] = "yellow1"; WellMahjongL.OWInfoP[0][6] = 240; WellMahjongL.OWInfoP[0][4] = ((this.iOpponent + WellMahjongL.strCompleteLevel) + this.iScore); this.InitObject(WellMahjongL.OWInfoP); this.iTimer = getTimer(); break; case stFailedLevel: WellMahjongL.OWInfoP[0][2] = 30; WellMahjongL.OWInfoP[0][3] = "red"; WellMahjongL.OWInfoP[0][6] = 240; WellMahjongL.OWInfoP[0][4] = ((this.iOpponent + WellMahjongL.strFailedLevel) + this.iScore); this.InitObject(WellMahjongL.OWInfoP); this.iTimer = getTimer(); break; }; } } }//package RES.WINDOWS
Section 87
//OWInstruction (RES.WINDOWS.OWInstruction) package RES.WINDOWS { import ENGINE.DISPLAY.*; import flash.events.*; import flash.geom.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; import RES.GAME.*; public class OWInstruction extends ODialog { private const M:String = "6a200302402302404302406302408302410121212141216121812"; private const fY:int = 96; private const fX:int = 55; private const iWidth:int = 200; private const iHeight:int = 400; private const iPause:int = 120; private const absSkor:int = 5; private const falseCurX:int = 50; private const falseCurY:int; private var iField:SField; private var Cur:Point; private var T:Array; private var iStrComplete:OIObject; private var iTimer:int; private var iClick:int;// = 0 private var iTiles:Array; private var koord:Point; public var iClose:OButton; private var iCursor:OBitmap; private var iTextInstr:OBitmap; private var TClicks:Array; private var invLayer:OSprite; private static const stPause5:int = 8; private static const stPause2:int = 6; private static const stShow:int = 1; private static const stClick1:int = 5; private static const stLevelComplete:int = 7; private static const stDelete:int = 10; private static const stInit:int = 2; private static const stHide:int = 9; private static const a0:int = SCell.TYPE_FON; private static const stPause1:int = 4; private static const stCreate:int = 0; private static const stMove1:int = 3; public function OWInstruction(){ falseCurY = (fY + 22); iClick = 0; super(WellMahjongL.OWInstructionParam); this.Pos(0, 0); } override public function Free():void{ this.iClose.Free(); super.Free(); } override public function OnEnterFrame(_arg1:Event):void{ var _local2:Number; switch (this.iState){ case stShow: if (this.iField.alpha < 1){ this.iField.alpha = (this.iField.alpha + 0.05); } else { this.iField.alpha = 1; this.State = stInit; }; break; case stPause1: this.iTimer--; if (this.iTimer <= 0){ this.State = stClick1; }; break; case stPause2: this.iTimer--; if (this.iTimer <= 0){ this.State = stInit; }; break; case stMove1: _local2 = Math.sqrt((Math.pow((this.koord.x - this.iCursor.prX), 2) + Math.pow((this.koord.y - this.iCursor.prY), 2))); if (_local2 > this.absSkor){ this.iCursor.prX = (this.iCursor.prX + this.Cur.x); this.iCursor.prY = (this.iCursor.prY + this.Cur.y); } else { this.State = stPause1; }; break; case stLevelComplete: if (this.iStrComplete.alpha < 1){ this.iStrComplete.alpha = (this.iStrComplete.alpha + 0.05); } else { this.State = stPause5; this.iStrComplete.alpha = 1; }; break; case stPause5: this.iTimer--; if (this.iTimer <= 0){ this.State = stHide; }; break; case stHide: if (this.iStrComplete.alpha > 0){ this.iStrComplete.alpha = (this.iStrComplete.alpha - 0.05); } else { this.iStrComplete.alpha = 0; this.State = stDelete; }; break; }; super.OnEnterFrame(_arg1); } override public function set State(_arg1:int):void{ var _local2:Array; var _local3:Number; var _local4:Array; var _local5:int; this.iState = _arg1; switch (this.iState){ case stCreate: WellMahjongL.RandP.SeedRand(101); _local2 = SConvert.createLevel(M); this.iField = new SField(WellMahjongL.MODE_PLAYER, iWidth, iHeight, _local2, 1000000, false); this.iField.prX = (this.iField.prX + fX); this.iField.prY = (this.iField.prY + fY); this.iField.alpha = 0; this.addChild(this.iField); this.setChildIndex(this.iStrComplete, (this.numChildren - 1)); this.setChildIndex(this.iCursor, (this.numChildren - 1)); if (this.contains(this.invLayer) == false){ this.addChild(this.invLayer); }; this.setChildIndex(this.invLayer, (this.numChildren - 1)); this.State = stShow; break; case stInit: if (this.iClick == 0){ _local4 = this.iField.getSokr(); if (_local4.length > 0){ _local5 = WellMahjongL.RandP.RandOnInterval(0, (_local4.length - 1)); this.TClicks = _local4[_local5]; this.iClick = this.TClicks.length; this.T = this.TClicks[(this.iClick - 1)]; this.iClick--; this.State = stMove1; } else { this.State = stLevelComplete; }; } else { this.T = this.TClicks[(this.iClick - 1)]; this.iClick--; this.State = stMove1; }; break; case stMove1: this.koord = this.iField.koordCell(T[0], T[1], T[2]); this.koord.x = (this.koord.x + this.falseCurX); this.koord.y = (this.koord.y + this.falseCurY); _local3 = Math.sqrt((Math.pow((koord.x - this.iCursor.prX), 2) + Math.pow((koord.y - this.iCursor.prY), 2))); this.Cur.x = ((this.absSkor * (koord.x - this.iCursor.prX)) / _local3); this.Cur.y = ((this.absSkor * (koord.y - this.iCursor.prY)) / _local3); break; case stPause1: this.iTimer = (iPause / 4); break; case stClick1: this.iField.clickFishka(T[0], T[1], T[2]); this.State = stPause2; break; case stPause2: this.iTimer = iPause; break; case stLevelComplete: this.iStrComplete.alpha = 0; this.iStrComplete.visible = true; this.iField.stopGame(); break; case stPause5: this.iTimer = iPause; break; case stDelete: this.iField.Free(); this.iField = null; this.State = stCreate; break; }; } override public function Init():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:SCell; super.Init(); this.invLayer = new OSprite(); this.invLayer.graphics.beginFill(0, 0); this.invLayer.graphics.drawRect((fX * OGlobal.Scale), (fY * OGlobal.Scale), (iWidth * OGlobal.Scale), (iHeight * OGlobal.Scale)); this.invLayer.graphics.endFill(); this.iCursor = WellMahjongS.MakeForm([null, 40, 40, "white", WellMahjongL.OCursor, 0.7, 0, 0]); this.iCursor.Pos(140, 150); this.addChild(this.iCursor); this.Cur = new Point(); this.iStrComplete = new OIObject(WellMahjongL.iCompleteInstrParam); this.iStrComplete.visible = false; this.addChild(this.iStrComplete); _local3 = 50; _local4 = 425; _local5 = 337; _local6 = 20; _local7 = 24; SCell.redrawCache(_local3, WellMahjongL.MODE_PLAYER, 1); _local8 = SField.getGroupID(); this.iTiles = new Array(); _local1 = 0; while (_local1 < _local8.length) { _local2 = 0; while (_local2 < _local8[_local1].length) { _local9 = new SCell(WellMahjongL.MODE_PLAYER, _local3, 0, 0, 0, _local8[_local1][_local2]); _local9.prX = (_local4 + (_local2 * (_local3 + _local6))); _local9.prY = (_local5 + (_local1 * ((_local3 * WellMahjongL.hL) + _local7))); _local9.drawD(SCell.DRAW_ALL); _local9.drawL(SCell.DRAW_ALL); this.addChild(_local9); this.iTiles.push(_local9); _local2++; }; _local1++; }; this.State = stCreate; } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg2 == this.iClose){ this.prVisible = false; }; } } }//package RES.WINDOWS
Section 88
//OWIntro (RES.WINDOWS.OWIntro) package RES.WINDOWS { import ENGINE.DISPLAY.*; import flash.events.*; import flash.display.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; public class OWIntro extends OWindow { public var iGameName:OIObject; public var iHeader:OBitmap; private var iTimer:Number; public var iHit:OSprite; public var iFooter:OBitmap; private var iAlpha:Array; public static var stShowFooter:int = 2; public static var stHide:int = 5; public static var stNormal:int = 4; public static var stShowName:int = 3; public static var stShowHeader:int = 1; public static var stInvisible:int = 6; public static var stBeforeShow:int = 0; public function OWIntro(){ WellMahjongL.OWIntroParam[0][1] = [[ODisplay.SpriteRect, (800 * OGlobal.Scale), (600 * OGlobal.Scale)]]; super(WellMahjongL.OWIntroParam); } override public function Init():void{ var _local1:int; var _local2:int; var _local3:DisplayObject; super.Init(); this.iHeader.alpha = 0; this.iFooter.alpha = 0; _local1 = this.iGameName.numChildren; this.iAlpha = new Array(_local1); _local2 = 0; while (_local2 < _local1) { _local3 = this.iGameName.getChildAt(_local2); _local3.alpha = 0; this.iAlpha[_local2] = (-(_local2) * 0.3); _local2++; }; this.hitArea = this.iHit; this.State = stBeforeShow; } override public function Free():void{ super.Free(); this.iHeader = null; this.iFooter = null; } override public function OnMouseDown(_arg1:MouseEvent):void{ if (this.iState < OWIntro.stShowFooter){ return; }; this.prVisible = false; super.OnMouseDown(_arg1); } override public function OnEnterFrame(_arg1:Event):void{ var _local2:int; switch (this.iState){ case stBeforeShow: if (this.iTimer-- <= 0){ this.State = stShowHeader; }; break; case stShowHeader: if (this.iHeader.alpha >= 1){ this.iHeader.alpha = 1; this.State = stShowFooter; } else { this.iHeader.alpha = (this.iHeader.alpha + 0.025); }; break; case stShowFooter: if (this.iFooter.alpha >= 1){ this.iFooter.alpha = 1; this.State = stShowName; } else { this.iFooter.alpha = (this.iFooter.alpha + 0.025); }; break; case stShowName: if (this.iGameName.getChildAt((this.iGameName.numChildren - 1)).alpha < 1){ _local2 = 0; while (_local2 < this.iGameName.numChildren) { this.iAlpha[_local2] = (this.iAlpha[_local2] + 0.025); if (this.iAlpha[_local2] > 1){ this.iAlpha[_local2] = 1; }; if (this.iAlpha[_local2] >= 0){ this.iGameName.getChildAt(_local2).alpha = this.iAlpha[_local2]; }; _local2++; }; } else { this.State = stNormal; }; break; case stNormal: if (this.iTimer-- <= 0){ this.State = stHide; }; break; case stHide: if (this.iFooter.alpha <= 0){ this.State = stInvisible; } else { this.iHeader.alpha = (this.iHeader.alpha - 0.05); this.iFooter.alpha = (this.iFooter.alpha - 0.05); this.iGameName.alpha = (this.iGameName.alpha - 0.05); }; break; }; } override public function set State(_arg1:int):void{ this.iState = _arg1; switch (this.iState){ case stBeforeShow: this.iTimer = 20; break; case stNormal: this.iTimer = 180; break; case stInvisible: this.prVisible = false; break; }; } } }//package RES.WINDOWS
Section 89
//OWMenu (RES.WINDOWS.OWMenu) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import flash.net.*; import ENGINE.SMARTFOX.*; public class OWMenu extends ODialog { public var iPlayers:OIObject; public var iOptions:OButton; public var iMoreGames:OButton; public var iGameName:OIObject; public var iBName:OButton; public var iEditor:OButton; public var iCPlayers:OCounter; public var iQuickPlay:OButton; public var iHighScores:OButton; public var iInstructions:OButton; public var iInfo:OIObject; public function OWMenu(){ super(WellMahjongL.OWMenu); } private function ShowUserReiting(_arg1:Boolean):void{ var _local2:String; var _local3:String; var _local4:Array; _local2 = WellMahjongL.OWColors[Math.round((Math.random() * (WellMahjongL.OWColors.length - 1)))]; WellMahjongL.OWMenuReiting[0][3] = _local2; if (_arg1){ WellMahjongL.iMP.ClearOpponentTurn(true); WellMahjongL.OWMenuReiting[0][4] = (((WellMahjongL.iGAME.prPlayerName + WellMahjongL.strReiting2) + " ") + WellMahjongL.iGAME.prScore.toString()); this.InitObject(WellMahjongL.OWMenuReiting); }; if (WellMahjongL.iMP.State != OMultiplayer.stInZone){ return; }; _local3 = WellMahjongL.iMP.prOpponentTurn; WellMahjongL.iMP.ClearOpponentTurn(true); WellMahjongL.iMP.Turn(["rdr"]); if (!_local3){ return; }; _local4 = _local3.split(/,/); WellMahjongL.OWMenuReiting[0][4] = (((((int(_local4[0]) + 1).toString() + WellMahjongL.strReiting1) + _local4[1]) + WellMahjongL.strReiting2) + _local4[2]); this.InitObject(WellMahjongL.OWMenuReiting); } override public function set prVisible(_arg1:Boolean):void{ super.prVisible = _arg1; } override public function Init():void{ WellMahjongL.OWMenu[0][4] = ((WellMahjongL.strWelcome + " ") + WellMahjongL.iGAME.prPlayerName); super.Init(); if (WellMahjongL.iMP.prUsersCount == 0){ this.iPlayers.prAnimationEnabled = false; this.iPlayers.prVisible = false; this.iPlayers.prAnimationEnabled = true; this.iCPlayers.prAnimationEnabled = false; this.iCPlayers.prVisible = false; this.iPlayers.prAnimationEnabled = true; }; this.iCPlayers.prAnimationEnabled = false; this.iCPlayers.prValue = WellMahjongL.iMP.prUsersCount; this.iPlayers.prAnimationEnabled = true; this.iCPlayers.Pos((this.iQuickPlay.prX + 10), this.iCPlayers.prY); this.iPlayers.Pos((this.iCPlayers.prX + 90), this.iPlayers.prY); this.ShowUserReiting(true); } override public function set prActive(_arg1:Boolean):void{ super.prActive = _arg1; } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg2 == this.iBName){ (this.parent as OWindow).OnPress(null, WellMahjongL.miChoosePlayer); this.prVisible = false; return; }; if (_arg2 == this.iQuickPlay){ (this.parent as OWindow).OnPress(null, WellMahjongL.miPlayOnLine); this.prVisible = false; return; }; if (_arg2 == this.iOptions){ (this.parent as OWindow).OnPress(null, WellMahjongL.miOptions); this.prActive = false; return; }; if (_arg2 == this.iInstructions){ (this.parent as OWindow).OnPress(null, WellMahjongL.miInstructions); this.prActive = false; return; }; if (_arg2 == this.iHighScores){ (this.parent as OWindow).OnPress(null, WellMahjongL.miHighScores); this.prActive = false; return; }; if (_arg2 == this.iMoreGames){ navigateToURL(new URLRequest(WellMahjongL.sURLSite)); return; }; if (_arg2 == this.iEditor){ (this.parent as OWindow).OnPress(null, WellMahjongL.miEditor); this.prVisible = false; return; }; (this.parent as OWindow).OnPress(null, WellMahjongL.miCommingSoon); this.prActive = false; } override public function Free():void{ this.iBName = null; this.iGameName = null; this.iCPlayers = null; this.iPlayers = null; this.iQuickPlay = null; this.iOptions = null; this.iInstructions = null; this.iHighScores = null; this.iMoreGames = null; super.Free(); } private function InitObject(_arg1:Array):void{ if (this.iInfo){ this.removeChild(this.iInfo); this.iInfo.Free(); this.iInfo = null; }; if (!_arg1){ return; }; this.iInfo = new OIObject(_arg1, OInterface.iDefSlowAnimators); this.addChild(this.iInfo); this.iInfo.SetVisible(false); this.iInfo.prVisible = true; } override public function OnEnterFrame(_arg1:Event):void{ if (this.iCPlayers.prValue != WellMahjongL.iMP.prUsersCount){ if (WellMahjongL.iMP.prUsersCount > 0){ if (!this.iPlayers.prVisible){ this.iCPlayers.prVisible = true; this.iPlayers.prVisible = true; }; } else { if (this.iPlayers.prVisible){ this.iCPlayers.prVisible = false; this.iPlayers.prVisible = false; }; }; this.iCPlayers.prValue = WellMahjongL.iMP.prUsersCount; }; super.OnEnterFrame(_arg1); } } }//package RES.WINDOWS
Section 90
//OWOptions (RES.WINDOWS.OWOptions) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; import flash.system.*; public class OWOptions extends ODialog { public var iResolution:OListBox; public var iSound:OListBox; public var iFullScreen:OListBox; private var iSResList:Array; private var iSRes:Array; public var iMusic:OListBox; public var iCancel:OButton; public var iAccept:OButton; public function OWOptions(){ super(WellMahjongL.OWOptions); } private function AddResolution(_arg1:int, _arg2:int):void{ if ((((_arg1 <= Capabilities.screenResolutionX)) && ((_arg2 <= Capabilities.screenResolutionY)))){ this.iSRes.push([_arg1, _arg2]); this.iSResList.push(((_arg1.toString() + " X ") + _arg2.toString())); }; } override public function Init():void{ var _local1:int; var _local2:int; var _local3:Number; var _local4:int; var _local5:int; var _local6:Number; WellMahjongL.OWOptions[0][2] = 340; WellMahjongL.OWOptions[5][11] = 190; WellMahjongL.OWOptions[6][8] = 260; WellMahjongL.OWOptions[7][8] = 260; super.Init(); this.iResolution.prVisible = false; this.iSound.prCurrentInd = int((WellMahjongL.iGAME.prSoundVolume * 10)); this.iMusic.prCurrentInd = int((WellMahjongL.iGAME.prMusicVolume * 10)); this.InitResolutions(); this.iResolution.prLBParams = this.iSResList; _local1 = OGlobal.prStage.stageWidth; _local2 = OGlobal.prStage.stageHeight; _local3 = 10000; _local4 = 0; _local5 = 0; while (_local5 < this.iSRes.length) { _local6 = (Math.abs((this.iSRes[_local5][0] - _local1)) + Math.abs((this.iSRes[_local5][1] - _local2))); if (_local6 < _local3){ _local4 = _local5; _local3 = _local6; }; _local5++; }; this.iResolution.prCurrentInd = _local4; this.iFullScreen.prCurrentInd = ((((OGlobal.prStage.stageWidth == Capabilities.screenResolutionX)) && ((OGlobal.prStage.stageHeight == Capabilities.screenResolutionY)))) ? 1 : 0; } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg2 == this.iCancel){ this.prVisible = false; return; }; if (_arg2 == this.iAccept){ this.prVisible = false; WellMahjongL.iGAME.prSoundVolume = (this.iSound.prCurrentInd / 10); WellMahjongL.iGAME.prMusicVolume = (this.iMusic.prCurrentInd / 10); WellMahjongL.iGAME.prResX = this.iSRes[this.iResolution.prCurrentInd][0]; WellMahjongL.iGAME.prResY = this.iSRes[this.iResolution.prCurrentInd][1]; WellMahjongL.iGAME.prFullScreen = (this.iFullScreen.prCurrentInd) ? true : false; fscommand("fullscreen", WellMahjongL.iGAME.prFullScreen.toString()); return; }; } override public function Free():void{ this.iSound = null; this.iMusic = null; this.iResolution = null; this.iFullScreen = null; this.iAccept = null; this.iCancel = null; this.iSRes = null; this.iSResList = null; super.Free(); } private function InitResolutions():void{ this.iSRes = new Array(); this.iSResList = new Array(); AddResolution(640, 480); AddResolution(800, 600); AddResolution(0x0400, 600); AddResolution(0x0400, 0x0300); AddResolution(0x0500, 0x0300); AddResolution(0x0500, 0x0400); AddResolution(Capabilities.screenResolutionX, Capabilities.screenResolutionY); } } }//package RES.WINDOWS
Section 91
//OWResults (RES.WINDOWS.OWResults) package RES.WINDOWS { import flash.events.*; import ENGINE.INTERFACE.*; import ENGINE.GAME.*; import ENGINE.CORE.*; import flash.utils.*; import RES.GAME.*; public class OWResults extends OAlert { private var iTimer:Timer; private var iRecord:Boolean; public var iReplay:OButton; public var iNextLevel:OButton; public static const stScore:int = 3; public static const stHits:int = 1; public static const stStart:int = 0; public static const stMisses:int = 2; public function OWResults(){ var _local1:int; var _local2:int; var _local3:int; _local1 = WellMahjongL.iGAME.Read(OGame.catTmp, "Score"); _local2 = WellMahjongL.iGAME.Read(OGame.catTmp, "ScoreO"); _local3 = (_local1 + _local2); OSound.PlaySoundInd(4); WellMahjongL.OWResultsLevelScore[1][5] = _local1.toString(); WellMahjongL.OWResultsBonusScore[1][5] = _local2.toString(); WellMahjongL.OWResultsTotalScore[1][5] = _local3.toString(); WellMahjongL.OWResultsReiting[1][5] = WellMahjongL.iGAME.prScore.toString(); super(WellMahjongL.OWResults, null); } override public function Init():void{ super.Init(); this.Pos(0, 0); this.iTimer = new Timer(500, 6); this.iTimer.addEventListener(TimerEvent.TIMER, OnTimer); this.iTimer.start(); } override public function OnPress(_arg1:Event, _arg2):void{ var _local3:int; if (_arg2 == this.iReplay){ (this.parent as OWindow).OnPress(null, WellMahjongL.miReturnGameSP); this.prActive = false; this.prVisible = false; }; if (_arg2 == this.iNextLevel){ WellMahjongL.iGAME.NextLevel(); if (WellMahjongL.iGAME.prLevel >= SLevels.Levels.length){ _local3 = WellMahjongL.iGAME.prScore; WellMahjongL.iGAME.NewGame(); WellMahjongL.iGAME.AddScore(_local3); }; (this.parent as OWindow).OnPress(null, WellMahjongL.miReturnGameSP); this.prActive = false; this.prVisible = false; }; } override public function Free():void{ this.iTimer.stop(); this.iTimer.removeEventListener(TimerEvent.TIMER, OnTimer); this.iTimer = null; super.Free(); } private function OnTimer(_arg1:TimerEvent):void{ switch (this.iTimer.currentCount){ case 1: (this.getChildAt(0) as OIObject).prVisible = true; OSound.PlaySoundInd(0); break; case 2: (this.getChildAt(1) as OIObject).prVisible = true; OSound.PlaySoundInd(0); break; case 3: (this.getChildAt(2) as OIObject).prVisible = true; OSound.PlaySoundInd(0); break; case 4: (this.getChildAt(3) as OIObject).prVisible = true; OSound.PlaySoundInd(0); break; case 5: (this.getChildAt(4) as OIObject).prVisible = true; OSound.PlaySoundInd(0); break; case 6: this.iReplay.prVisible = true; this.iNextLevel.prVisible = true; OSound.PlaySoundInd(1); break; }; } override public function OnEnterFrame(_arg1:Event):void{ var _local2:OIObject; super.OnEnterFrame(_arg1); } } }//package RES.WINDOWS
Section 92
//OCGame (OCGame) package { import ENGINE.GAME.*; public class OCGame extends OGame { public function OCGame(){ super(2, 5); } override public function DefaultInitLocalScores():void{ this.iScores.Clear(0); this.iScores.AddScore("Emily", (int(((Math.random() * 543) + 200)) * 10), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Michael", (int(((Math.random() * 543) + 200)) * 10), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Jacob", (int(((Math.random() * 543) + 200)) * 10), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Isabella", (int(((Math.random() * 543) + 200)) * 10), 0, int(((Math.random() * 5) + 3))); this.iScores.AddScore("Madison", (int(((Math.random() * 543) + 200)) * 10), 0, int(((Math.random() * 5) + 3))); this.iScores.SortOn(0); } } }//package
Section 93
//WellMahjong (WellMahjong) package { import flash.events.*; import flash.display.*; import ENGINE.INTERFACE.*; import ENGINE.CORE.*; import RES.WINDOWS.*; import RES.EDITOR.WINDOWS.*; import ENGINE.SMARTFOX.*; import ENGINE.AD.*; public class WellMahjong extends OApplication { private var iSystem:OSystem; private var iWindow:OWindow; public function WellMahjong(){ super("WellMahjong"); WellMahjongL.iGAME; OSound.PlayListAdd("music.mp3"); OSound.PlayMusic(); OAdBanners.InitTBanner(WellMahjongL.sTBannerPrefix, WellMahjongL.sBannerID); OAdBanners.InitBBanner(WellMahjongL.sBBannerPrefix, WellMahjongL.sBannerID); } override protected function OnMenuItem():void{ var _local1:int; var _local2:DisplayObject; var _local3:OWHighScores; _local1 = this.prMenuItem; switch (_local1){ case WellMahjongL.miNullWindow: return; case WellMahjongL.miLastWindow: _local2 = this.getChildAt((this.numChildren - 1)); iWindow = ((_local2 is OWindow)) ? (_local2 as OWindow) : null; if (iWindow){ iWindow.prActive = true; return; }; iWindow = new OWMenu(); this.prMenuItem = WellMahjongL.miNullWindow; break; case WellMahjongL.miIntro: iWindow = new OWIntro(); if (WellMahjongL.iGAME.prPlayerName == ""){ this.prMenuItem = WellMahjongL.miEnterNameFirst; } else { this.prMenuItem = WellMahjongL.miMenu; }; break; case WellMahjongL.miEnterNameFirst: iWindow = new OWEnterName(false); this.prMenuItem = WellMahjongL.miMenu; break; case WellMahjongL.miEnterNewName: iWindow = new OWEnterName(true); (iWindow as OWEnterName).prName = ""; this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miMenu: switch (WellMahjongL.iMP.State){ case OMultiplayer.stNone: WellMahjongL.iMP.Init(WellMahjongL.sDomain, WellMahjongL.sServer, WellMahjongL.sZone, WellMahjongL.sXTName, WellMahjongL.iGAME.prPlayerName); break; case OMultiplayer.stConnectionError: if (WellMahjongL.iMP.prErrorsCount < 5){ WellMahjongL.iMP.State = OMultiplayer.stNone; WellMahjongL.iMP.Init(WellMahjongL.sDomain, WellMahjongL.sServer, WellMahjongL.sZone, WellMahjongL.sXTName, WellMahjongL.iGAME.prPlayerName); }; break; }; iWindow = new OWMenu(); this.prMenuItem = WellMahjongL.miNullWindow; break; case WellMahjongL.miCommingSoon: iWindow = new OAlert(WellMahjongL.OWCommingSoon, null); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miChoosePlayer: iWindow = new OWChoosePlayer(); this.prMenuItem = WellMahjongL.miMenu; break; case WellMahjongL.miDeletePlayerConfirm: iWindow = new OAlert(WellMahjongL.OWDeletePlayerConfirm, [WellMahjongL.miDeletePlayer, WellMahjongL.miLastWindow]); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miDeletePlayer: WellMahjongL.iGAME.DeletePlayer(WellMahjongL.iGAME.prPlayerName); if (WellMahjongL.iGAME.prPlayerName != ""){ this.OnMenuItem(); return; }; iWindow = new OWEnterName(false); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miOptions: iWindow = new OWOptions(); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miPlayOnLine: if (WellMahjongL.iGAME.prLevel == 0){ iWindow = new OWInstruction(); this.prMenuItem = WellMahjongL.miGameSP; break; }; _local1 = WellMahjongL.miGameSP; case WellMahjongL.miGameSP: WellMahjongL.iGAME.prMode = 0; iWindow = new OWGame(false); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miResultsSP: iWindow = new OWResults(); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miReturnGameSP: iWindow = (this.getChildAt((this.numChildren - 1)) as OWGame); iWindow.prActive = true; return; case WellMahjongL.miHighScores: iWindow = new OWHighScores(); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miDeleteScoresConfirm: iWindow = new OAlert(WellMahjongL.OWDeleteScoresConfirm, [WellMahjongL.miDeleteScores, WellMahjongL.miLastWindow]); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miDeleteScores: _local3 = (this.getChildAt((this.numChildren - 1)) as OWHighScores); if (_local3.iTable.prValue == 0){ WellMahjongL.iGAME.ClearLocalScores(0); } else { WellMahjongL.iGAME.ClearPersonalScores(0); }; this.OnMenuItem(); return; case WellMahjongL.miInstructions: iWindow = new OWInstruction(); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miEditor: this.iWindow = new OWReader(); this.prMenuItem = WellMahjongL.miMenu; break; case WellMahjongL.miResize: iWindow = new OWResize(); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miNeChet: iWindow = new OAlert(WellMahjongL.OWNeChet, null); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miTest: this.iWindow = new OWGame(true); this.prMenuItem = WellMahjongL.miLastWindow; break; case WellMahjongL.miPublish: this.iWindow = new OWLevelSender(); this.prMenuItem = WellMahjongL.miLastWindow; break; }; this.addChild(iWindow); } override public function Init():void{ if (((((!(this.stage)) || ((this.stage.stageHeight == 0)))) || ((this.stage.stageWidth == 0)))){ return; }; this.InitBackground([WellMahjongL.OBG02], 0); if (WellMahjongL.sDebug){ this.iSystem = new OSystem(); this.addChild(this.iSystem); }; super.Init(); this.prMenuItem = WellMahjongL.miIntro; OnMenuItem(); } override public function OnPress(_arg1:Event, _arg2):void{ if (_arg1 == null){ this.prMenuItem = _arg2; }; } override protected function OnDeactivate(_arg1:Event):void{ WellMahjongL.iGAME.SaveCache(); if ((this.iWindow is OWGame)){ (this.iWindow as OWGame).startPause(); }; } override public function OnEnterFrame(_arg1:Event):void{ super.OnEnterFrame(_arg1); WellMahjongL.iMP.OnEnterFrame(); OSystem.iUserText1 = (((((((" : " + WellMahjongL.iMP.State.toString()) + " : ") + WellMahjongL.iMP.prActiveRoomID.toString()) + " ") + WellMahjongL.iMP.prPlayerID.toString()) + " : ") + WellMahjongL.iMP.prError); if (iWindow){ if (iWindow.prAnimation){ return; }; if (!iWindow.prVisible){ this.removeChild(iWindow); iWindow.Free(); iWindow = null; this.OnMenuItem(); } else { if (!iWindow.prActive){ this.OnMenuItem(); }; }; }; } } }//package
Section 94
//WellMahjongL (WellMahjongL) package { import ENGINE.DISPLAY.*; import ENGINE.INTERFACE.*; import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.GAME.*; import ENGINE.CORE.*; import ENGINE.SMARTFOX.*; public class WellMahjongL { public static const delScoreX:int = 430; public static const dBlick:Number = 0.025; public static const strCancel:String = "Cancel"; public static const miDeletePlayer:int = 9; public static const strLevelID:String = "Level # "; public static const miDeleteScoresConfirm:int = 16; public static const miTest:int = 24; public static const strHint:String = "Hint"; public static const strPresents:String = "presents"; public static const delScoreHint:int = 500; public static const strMosaicComplete:String = "Mosaic complete"; public static const miCommingSoon:int = 6; public static const strConnect1URL:String = "http://www.wellgames.com/free_online/wellmahjong/?g=wellmahjong"; public static const MODE_OPPONENT:int = 1; public static const strResults:String = "Results"; public static const strChoosePlayer:String = "Choose a Player"; public static const sBBannerPrefix:String = "bottom/"; public static const cellLFiltrO:Number = 0.2; public static const cellLFiltrP:Number = 0.3; public static const time_hint:int = 300; public static const strCommingSoon:String = "Comming Soon..."; public static const strInstructionsText:String = "Match identical tiles to clear the playfield. Use the tiles with open right or left side. The tiles in the following groups are considered as equal."; public static const szDelScore:int = 40; public static const strNotTime:String = "Not time"; public static const clDelScore:String = "red"; public static const strConnect2URL:String = "http://www.wellgames.com/?g=wellmahjong"; public static const miLastWindow:int = 1; public static const hL:Number = 1.2121; public static const strInputText:String = "Input Text"; public static const strFullScreen:String = "Full Screen"; public static const strNotMoved:String = "No moves"; private static const iWOptionsVolume:Array = [WellMahjongL.strOff, "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"]; public static const cellFiltrP:Number = 1; public static const MODE_PLAYER:int = 0; public static const dLx:Number = 0.2121; public static const cellFiltrO:Number = 0.7; public static const strSite:String = "WELLGAMES.COM"; public static const strNextLevel:String = "Next Level"; public static const strSendingLevel:String = "Sending Level"; public static const min_alpha:Number = 0.2; public static const miMenu:int = 5; public static const strGlobal:String = "Global"; public static const strConnect3URL:String = "http://absolutist.com/cgi-bin/tell_a_friend.pl?url=http://wellgames.com/free_online/wellmahjong/?g=wellmahjong"; public static const strMoreGames:String = "More Games"; public static const strDeletePlayer:String = "Delete Player?"; public static const delScoreNoMv:int = 200; public static const delScore:int = 100; public static const strPlace:String = " Place"; public static const dLy:Number = 0.2121; public static const strSound:String = "Sound Volume"; public static const miOptions:int = 10; public static const sURLSite:String = "http://www.wellgames.com/?g=wellmahjong"; public static const miDeleteScores:int = 17; public static const miResize:int = 21; public static const strHighScores:String = "High Scores"; public static const strNewPlayer:String = "NEW PLAYER!"; public static const strReplay:String = "Replay"; public static const strClickToContinue:String = "Click to continue ..."; public static const strReiting2:String = "'s Rating Is "; public static const strWindow:String = "Window"; public static const strDeleteScoresConfirm:String = "Are you sure you want to delete scores table?"; public static const strReiting1:String = " Place: "; public static const miDeletePlayerConfirm:int = 8; public static const miPlayOnLine:int = 11; public static const strOff:String = "Off"; public static const miInstructions:int = 18; public static const sServer:String = "www.wellgames.com"; public static const strHasReiting:String = "'s Rating Is "; public static const sDebug:Boolean = false; public static const strCreateOwnLev:String = "Create own level"; public static const strPublish:String = "Publish"; public static const strLayer:String = "Layer"; public static const dHideForm:Number = 0.1; public static const strNew:String = "New"; public static const cellDColor:Array = ["dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0", "dcolor0"]; public static const sTBannerPrefix:String = "top/"; public static const strConnect2:String = "Try Other Multiplayer Games!"; public static const strConnect3:String = "Tell A Friend About WellMahjong"; public static const sXTName:String = "wj"; public static const strGainedScore:String = "Gained Score"; public static const strConnect1:String = "Play With Other Gamers In Multiplayer Mode!"; public static const strYourReiting:String = "Your Rating"; public static const timeNoMoves:int = 30; public static const FIGURES:Array = [f01, f02, f03, f04, f05, f06, f07, f08, f09, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42]; public static const strContinue:String = "Continue"; public static const strLevelSent:String = "Level Sent"; public static const miEnterNewName:int = 4; public static const strRemove:String = "Remove"; public static const strLevelSendFailed:String = "Level Send Failed"; public static const strMosaic:String = "Mosaic"; public static const strWidth:String = "Width"; public static const timePauseNoMoves:int = 60; public static const miEditor:int = 19; public static const strLevelComplete:String = "Level Complete"; public static const miIntro:int = 2; public static const delAlphaScore:Number = 0.025; public static const strNewGame:String = "New Game"; public static const strPause:String = "Pause"; public static const strClose:String = "Close"; private static const OWHighScoresType:Array = [WellMahjongL.strLocal, WellMahjongL.strPersonal]; public static const strEnterName:String = "please enter your name:"; public static const strFailedLevel:String = " Has Failed The Level With Score "; public static const strError:String = "Error"; public static const strTest:String = "Test"; public static const cellLColor:Array = ["rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0", "rcolor0"]; public static const strMusic:String = "Music Volume"; public static const strInstructions:String = "Instructions"; public static const strLevelScore:String = "Level Score: "; public static const strPublishRaiting:String = "Publish Raiting"; public static const miGameSP:int = 12; public static const strCreate:String = "Create"; public static const strComplete:String = "Complete"; public static const miResultsSP:int = 13; public static const strAccept:String = "Accept"; public static const strClear:String = "Clear"; public static const timeOpponentComplete:int = 60; public static const F_W:int = 560; public static const cellDFiltrP:Number = 0.3; public static const strConnectionToServer:String = "Connecting To Server..."; public static const strSendMail:String = "Send Mail"; public static const cellDFiltrO:Number = 0.2; public static const strHeight:String = "Height"; public static const strPlayersOnline1:String = "Players Online"; public static const sZone:String = "WellMahjong"; public static const strDeletePlayerConfirm:String = "Are you sure you want to delete this profile?"; public static const strBonusScore:String = "Bonus Score"; public static const strTotalScore:String = "Level Score"; public static const sBannerID:String = "wellmahjong"; public static const miReturnGameSP:int = 14; public static const strScore:String = "Score:"; public static const F_H:int = 560; public static const strLevel_:String = "Level"; public static const strGameName:String = "WellMahjong"; public static const strYes:String = "Yes"; public static const miNeChet:int = 23; public static const strClearFieldBonus:String = "Clear Field Bonus"; public static const strProgram:String = "Mahjong Rd"; public static const sDomain:String = "wellgames.com"; public static const strCompleteLevel:String = " Has Completed The Level With Score "; public static const miHighScores:int = 15; public static const strCompleted:String = "Completed"; public static const selColor:Array = ["red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1", "red1"]; public static const miNullWindow:int = 0; public static const strOptions:String = "Options"; public static const strMenu:String = "Menu"; public static const c_blick:int = 3; public static const strGroupA:String = "Group A"; public static const strGroupB:String = "Group B"; public static const cellColor:Array = ["color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0", "color0"]; public static const strDelete:String = "Delete"; public static const strOpponent1:String = "Opponent"; public static const strOpponent2:String = "In Game"; public static const verRazbor:int = 20; private static const iWOptionsOnOff:Array = [WellMahjongL.strOff, WellMahjongL.strOn]; public static const strYourRaiting:String = "Your Raiting"; public static const strRead:String = "Read"; public static const strChangePlayer:String = "click to change player"; public static const strCommingSoonI:String = "This option is not available at the moment"; public static const strPersonal:String = "Personal"; public static const strPublishScore:String = "Publish Score"; public static const miChoosePlayer:int = 7; public static const miEnterNameFirst:int = 3; private static const OSoundParams:Array = [WellMahjongL.OSBubbleBang01, WellMahjongL.OSBubbleBang02, WellMahjongL.OSBubbleBang03, WellMahjongL.OSBubbleBang04]; public static const strPlayOnline:String = "Play Online!"; public static const strLocal:String = "Local"; public static const strNeChet:String = "A number of tiles should be even."; public static const strApply:String = "Apply"; public static const timeScore:int = 2000; public static const strNo:String = "No"; public static const strLevel:String = "Level:"; public static const strTiles:String = "Tiles"; public static const dXHide:Number = 0.143; public static const miPublish:int = 25; public static const tHide:Number = 0.025; public static const strWelcome:String = "Welcome"; public static const strPlayersOnline:String = "Players Online"; public static const strOn:String = "On"; public static const delScoreY:int = 545; public static const delScoredY:int = 2; public static var OWOpponentScoreElement:Array = [OInterface.OTabMake, [[WellMahjongS.Header, 20, 30, "0", " ", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "0", "0", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "30", "1", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "60", "2", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "90", "3", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "120", "4", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "150", "5", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "180", "6", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "210", "7", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "240", "8", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 30, "270", "9", 0, 0, null, 0, false]], 18, 30, WellMahjongL.OWGameCounterAnimator, null]; public static var iClearFieldBonusParam:Array = [[WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors, WellMahjongL.strClearFieldBonus, null, 15, 211, null, 0, true], [WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors1, "0000", null, 15, 261, null, 0, true]]; public static var OWInfoP:Array = [[WellMahjongS.Header, 250, 30, "yellow", WellMahjongL.strConnect1, 5, 265, null, 0, true]]; public static var OIRight:Class = WellMahjongL_OIRight; public static var OWHighScores:Array = [[WellMahjongS.BigFrame, 600, 510, "yellow", "white", 0, 0, null, 0, true], [WellMahjongS.Header, 600, 50, "yellow", WellMahjongL.strHighScores, 0, 20, null, 0, true], [WellMahjongS.ListBoxTextHSlider, 280, 50, "aqua1", false, 190, 40, "aqua1", "", WellMahjongL.OWHighScoresType, 160, 75, "iType", 0, true], [WellMahjongS.SmallBorder, 540, 200, "yellow", 30, 130, null, 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWHighScoreTabF, 45, 145, "iTable", 0, true], [WellMahjongS.MakeTextButton, 180, 60, "yellow", "yellow", 30, WellMahjongL.strGlobal, 30, 350, "iGlobal", 0, true], [WellMahjongS.MakeTextButton, 180, 60, "aqua1", "aqua1", 30, WellMahjongL.strPublish, 390, 350, "iPublish", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strClear, 110, 430, "iClear", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strClose, 340, 430, "iClose", 0, true]]; public static var OWDeleteScoresConfirm:Array = [[WellMahjongS.BigFrame, 420, 270, "red", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 420, 30, "aqua1", WellMahjongL.strDeleteScoresConfirm, 0, 85, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strYes, 50, 190, "iButtons", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strNo, 220, 190, "iButtons", 1, true]]; public static var OWGameConnection:Array = [WellMahjongS.ColorText, 50, WellMahjongL.OWColors, WellMahjongL.strConnectionToServer, OInterface.iDefSlowAnimators]; private static var OWHighScoreTabF:Array = [OInterface.OTabMake, [[OInterface.OIObjectMake, WellMahjongL.OWHighScoreLocal, null, 0, 0, null, 0, false], [OInterface.OIObjectMake, WellMahjongL.OWHighScorePersonal, null, 0, 0, null, 0, false], [OInterface.OIObjectMake, WellMahjongL.OWHighRaitingPersonal, null, 0, 0, null, 0, false]], 410, 270, WellMahjongL.OTimerAnimator, null]; public static var OWEnterName:Array = [[WellMahjongS.BigFrame, 460, 290, "aqua1", "white", 0, 0, null, 0, true], [WellMahjongS.Header, 460, 50, "aqua1", WellMahjongL.strNewPlayer, 0, 20, null, 0, true], [WellMahjongS.Header, 460, 30, "yellow", WellMahjongL.strEnterName, 0, 90, null, 0, true], [WellMahjongS.InputText, 400, 60, "yellow", "well", [45, 0.9, 0.6], 11, 30, 130, "iName", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strAccept, 70, 210, "iAccept", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strCancel, 240, 210, "iCancel", 0, true]]; public static var OCursor:Class = WellMahjongL_OCursor; public static var RandO:ORandomInt = new ORandomInt(); public static var RandP:ORandomInt = new ORandomInt(); public static var OWCommingSoon:Array = [[WellMahjongS.BigFrame, 530, 290, "yellow1", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 530, 50, "red", WellMahjongL.strCommingSoon, 0, 20, null, 0, true], [WellMahjongS.Header, 530, 30, "magenta", WellMahjongL.strCommingSoonI, 0, 125, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "aqua1", "aqua1", 30, WellMahjongL.strClose, 190, 210, null, 0, true]]; public static var SendLevel:String; public static var OWColorsSite:Array = ["270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240"]; public static var M_W:int = 16; private static var f01:Class = WellMahjongL_f01; private static var f03:Class = WellMahjongL_f03; private static var f05:Class = WellMahjongL_f05; private static var f07:Class = WellMahjongL_f07; public static var OWResults:Array = [[WellMahjongS.ColorHeader, 800, 80, OWColors, strResults, OInterface.iDefSlowAnimators, 0, 10, null, 0, false], [OInterface.OIObjectMake, OWResultsLevelScore, OInterface.iDefSlowAnimators, 100, 130, null, 0, false], [OInterface.OIObjectMake, OWResultsBonusScore, OInterface.iDefSlowAnimators, 100, 190, null, 0, false], [OInterface.OIObjectMake, OWResultsTotalScore, OInterface.iDefSlowAnimators, 100, 250, null, 0, false], [OInterface.OIObjectMake, OWResultsReiting, OInterface.iDefSlowAnimators, 0, 330, null, 0, false], [WellMahjongS.MakeTextButton, 280, 60, "yellow", "yellow", 30, WellMahjongL.strReplay, 90, 500, "iReplay", 0, false], [WellMahjongS.MakeTextButton, 280, 60, "yellow1", "yellow1", 30, WellMahjongL.strNextLevel, 430, 500, "iNextLevel", 0, false]]; private static var f02:Class = WellMahjongL_f02; public static var M_H:int = 12; public static var fieldWidth:int = 500; public static var OWResultsLevelScore:Array = [[WellMahjongS.TextAlign, 600, 50, 50, "yellow", WellMahjongL.strGainedScore, 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 600, 50, 50, "yellow", "9", 2, 1, 0, 0, null, 0, true]]; public static var OILeft:Class = WellMahjongL_OILeft; private static var f04:Class = WellMahjongL_f04; private static var f06:Class = WellMahjongL_f06; private static var f10:Class = WellMahjongL_f10; private static var f08:Class = WellMahjongL_f08; private static var f09:Class = WellMahjongL_f09; private static var f13:Class = WellMahjongL_f13; private static var f14:Class = WellMahjongL_f14; private static var f16:Class = WellMahjongL_f16; private static var f17:Class = WellMahjongL_f17; private static var f11:Class = WellMahjongL_f11; private static var f12:Class = WellMahjongL_f12; private static var f19:Class = WellMahjongL_f19; private static var f15:Class = WellMahjongL_f15; private static var f18:Class = WellMahjongL_f18; public static var OWColorsEditor:Array = ["90", "120", "150", "180", "210", "240", "270", "300", "330", "0", "30", "60"]; private static var f20:Class = WellMahjongL_f20; private static var f21:Class = WellMahjongL_f21; private static var f22:Class = WellMahjongL_f22; private static var f23:Class = WellMahjongL_f23; private static var f25:Class = WellMahjongL_f25; private static var f27:Class = WellMahjongL_f27; private static var f28:Class = WellMahjongL_f28; private static var f29:Class = WellMahjongL_f29; private static var f24:Class = WellMahjongL_f24; private static var f26:Class = WellMahjongL_f26; public static var OWResultsTotalScore:Array = [[WellMahjongS.TextAlign, 600, 50, 50, "yellow1", WellMahjongL.strTotalScore, 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 600, 50, 50, "yellow1", "9", 2, 1, 0, 0, null, 0, true]]; public static var OFont:Class = WellMahjongL_OFont; public static var OWResultsBonusScore:Array = [[WellMahjongS.TextAlign, 600, 50, 50, "red", WellMahjongL.strBonusScore, 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 600, 50, 50, "red", "9", 2, 1, 0, 0, null, 0, true]]; private static var f30:Class = WellMahjongL_f30; private static var OTimerAnimator:Object = {F:OA_AlphaFade.Make, iSAlpha:-1, iEAlpha:0, iSInd:[0], iEInd:[1], iPIter:15}; private static var f32:Class = WellMahjongL_f32; private static var f33:Class = WellMahjongL_f33; private static var f35:Class = WellMahjongL_f35; private static var f36:Class = WellMahjongL_f36; private static var f37:Class = WellMahjongL_f37; private static var f31:Class = WellMahjongL_f31; private static var f39:Class = WellMahjongL_f39; private static var f34:Class = WellMahjongL_f34; private static var iSoundRegistered:Boolean = OSound.RegisterEmbedSounds(OSoundParams); public static var OWResizeParam:Array = [[WellMahjongS.BigFrame, 310, 200, "yellow1", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 150, 25, "aqua1", WellMahjongL.strWidth, 0, 40, null, 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OILeft, "GEL", 0.8, 150, 40, "iWL", 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 179, 38, "iWidth", 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OIRight, "GEL", 0.8, 260, 40, "iWR", 0, true], [WellMahjongS.Header, 150, 25, "aqua1", WellMahjongL.strHeight, 0, 85, null, 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OILeft, "GEL", 0.8, 150, 85, "iHL", 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 179, 83, "iHeight", 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OIRight, "GEL", 0.8, 260, 85, "iHR", 0, true], [WellMahjongS.MakeTextButton, 150, 40, "aqua1", "aqua1", 25, WellMahjongL.strClose, 80, 135, "iClose", 0, true]]; public static var OPlayerPanelParam:Array = [[WellMahjongS.ColorHeader, 80, 35, WellMahjongL.OWColors, WellMahjongL.strLevel, null, 50, 551, null, 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 147, 560, "iLevel", 0, true], [WellMahjongS.ColorHeader, 100, 35, WellMahjongL.OWPlayersColor, WellMahjongL.strScore, null, 250, 551, null, 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 400, 559, "iScore", 0, true]]; private static var f42:Class = WellMahjongL_f42; private static var f40:Class = WellMahjongL_f40; private static var f41:Class = WellMahjongL_f41; private static var f38:Class = WellMahjongL_f38; public static var OWIntroParam:Array = [[OSprite.Make, [[ODisplay.SpriteRect, (800 * OGlobal.Scale), (600 * OGlobal.Scale)]], 0, 0, "iHit", 0, false], [WellMahjongS.Header, 800, 50, "aqua1", WellMahjongL.strSite, 0, 160, "iHeader", 0, true], [WellMahjongS.Header, 800, 40, "aqua1", WellMahjongL.strPresents, 0, 400, "iFooter", 0, true], [WellMahjongS.ColorHeader, 800, 80, WellMahjongL.OWNameGameColor, WellMahjongL.strGameName, null, 0, 250, "iGameName", 0, true]]; public static var OWSendLevelSent:Array = [WellMahjongS.ColorText, 35, WellMahjongL.OWColors, WellMahjongL.strLevelSent, OInterface.iDefSlowAnimators]; public static var iPauseParam:Array = [[WellMahjongS.ColorHeader, 500, 80, WellMahjongL.OWColors, WellMahjongL.strPause, null, 15, 190, null, 0, true], [WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors1, WellMahjongL.strClickToContinue, null, 15, 270, null, 0, true]]; public static var OWColors:Array = ["0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]; public static var ScoreMax:int = 100000; public static var OWSendLevelFailed:Array = [WellMahjongS.ColorText, 35, WellMahjongL.OWColors, WellMahjongL.strLevelSendFailed, OInterface.iDefSlowAnimators]; public static var OIDown:Class = WellMahjongL_OIDown; public static var OWReadLevelParam:Array = [[WellMahjongS.BigFrame, 600, 400, "yellow1", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 600, 40, "aqua1", WellMahjongL.strInputText, 0, 30, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "aqua1", "aqua1", 30, WellMahjongL.strApply, 100, 310, "iApply", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "aqua1", "aqua1", 30, WellMahjongL.strClose, 350, 310, "iClose", 0, true]]; public static var OWDeletePlayerConfirm:Array = [[WellMahjongS.BigFrame, 420, 270, "red", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 420, 30, "aqua1", WellMahjongL.strDeletePlayerConfirm, 0, 85, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strYes, 50, 190, "iButtons", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strNo, 220, 190, "iButtons", 1, true]]; public static var OWColors1:Array = ["90", "120", "150", "180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]; public static var OWColors2:Array = ["180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]; public static var OBG02:Class = WellMahjongL_OBG02; public static var OWGameNewLevel:Array = [WellMahjongS.ColorText, 60, WellMahjongL.OWColors, WellMahjongL.strLevel, OInterface.iDefSlowAnimators]; public static var OWChoosePlayer:Array = [[WellMahjongS.BigFrame, 500, 500, "aqua1", "white", 0, 0, null, 0, true], [WellMahjongS.Header, 500, 50, "aqua1", WellMahjongL.strChoosePlayer, 0, 20, null, 0, true], [WellMahjongS.ListBoxText, 360, 40, "yellow", "yellow", 5, null, 30, 90, "iListBox", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow", "yellow", 30, WellMahjongL.strNew, 30, 340, "iNew", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "magenta", "magenta", 30, WellMahjongL.strDelete, 320, 340, "iDelete", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strAccept, 90, 420, "iAccept", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strCancel, 260, 420, "iCancel", 0, true]]; public static var OWSendLevelConnection:Array = [WellMahjongS.ColorText, 35, WellMahjongL.OWColors, WellMahjongL.strConnectionToServer, OInterface.iDefSlowAnimators, 20]; public static var OSBubbleBang02:Class = WellMahjongL_OSBubbleBang02; public static var OSBubbleBang03:Class = WellMahjongL_OSBubbleBang03; public static var OSBubbleBang04:Class = WellMahjongL_OSBubbleBang04; public static var iLevelCompleteParam:Array = [[WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors, WellMahjongL.strLevelComplete, null, 15, 211, null, 0, true], [WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors1, WellMahjongL.strClickToContinue, null, 15, 261, null, 0, true]]; public static var GROUPS:Array = [[f34, f35, f36, f37], [f38, f39, f40, f41]]; public static var OIUp:Class = WellMahjongL_OIUp; public static var TestLevel:String; public static var OSBubbleBang01:Class = WellMahjongL_OSBubbleBang01; public static var OWNeChet:Array = [[WellMahjongS.BigFrame, 530, 290, "yellow1", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 530, 50, "red", WellMahjongL.strError, 0, 20, null, 0, true], [WellMahjongS.Header, 530, 30, "magenta", WellMahjongL.strNeChet, 0, 125, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "aqua1", "aqua1", 30, WellMahjongL.strClose, 190, 210, null, 0, true]]; public static var FiltrCell:Number = 0.9; private static var OWPlayersCounterF:Array = [OInterface.OCounterMake, [[ODisplay.IDisplayObjectMake, OWPlayersCounterElement, 0, 0, "iDigits", 0, true], [ODisplay.IDisplayObjectMake, OWPlayersCounterElement, 17, 0, "iDigits", 1, true], [ODisplay.IDisplayObjectMake, OWPlayersCounterElement, 34, 0, "iDigits", 2, true], [ODisplay.IDisplayObjectMake, OWPlayersCounterElement, 51, 0, "iDigits", 3, true], [ODisplay.IDisplayObjectMake, OWPlayersCounterElement, 67, 0, "iDigits", 4, true]], 85, 30]; public static var OWReaderParam:Array = [[WellMahjongS.MakeTextButton, 160, 50, "aqua1", "aqua1", 25, ((M_W.toString() + " x ") + M_H.toString()), 620, 30, "iResize", 0, true], [WellMahjongS.MakeTextButton, 170, 50, "yellow1", "yellow1", 25, WellMahjongL.strPublish, 615, 415, "iBPublish", 0, true], [WellMahjongS.MakeTextButton, 170, 50, "yellow", "yellow", 25, WellMahjongL.strTest, 615, 475, "iBTest", 0, true], [WellMahjongS.ColorHeader, 200, 30, OWColorsSite, WellMahjongL.strLayer, null, 600, 110, "strLayer", 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OILeft, "GEL", 0.8, 620, 155, "iWL", 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 660, 153, "iLayer", 0, true], [WellMahjongS.MakeSpriteButton, 25, 25, "blue", "blue", OIRight, "GEL", 0.8, 750, 155, "iWR", 0, true], [WellMahjongS.ColorHeader, 200, 30, OWColorsSite, WellMahjongL.strTiles, null, 600, 210, "strTiles", 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWGameScoreF, 660, 250, "iCount", 0, true], [WellMahjongS.MakeTextButton, 170, 50, "red", "red", 25, WellMahjongL.strClear, 615, 355, "iBClear", 0, true], [WellMahjongS.MakeTextButton, 170, 50, "magenta", "magenta", 25, WellMahjongL.strClose, 615, 535, "iBClose", 0, true]]; public static var OWInstructionParam:Array = [[WellMahjongS.BigFrame, 750, 580, "yellow", "white", 25, 10, null, 0, true], [WellMahjongS.Header, 700, 60, "yellow", WellMahjongL.strInstructions, 66, 30, null, 0, true], [WellMahjongS.MakeTextButton, 300, 60, "aqua1", "aqua1", 30, WellMahjongL.strClose, 250, 510, "iClose", 0, true], [WellMahjongS.Header, 425, 25, "yellow", WellMahjongL.strInstructionsText, 298, 197, null, 0, true], [WellMahjongS.Header, 100, 25, "yellow", WellMahjongL.strGroupA, 301, 358, null, 0, true], [WellMahjongS.Header, 100, 25, "yellow", WellMahjongL.strGroupB, 301, 439, null, 0, true]]; private static var OWPlayersCounterElement:Array = [OInterface.OTabMake, [[WellMahjongS.Header, 17, 30, "0", " ", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "0", "0", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "30", "1", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "60", "2", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "90", "3", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "120", "4", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "150", "5", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "180", "6", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "210", "7", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "240", "8", 0, 0, null, 0, false], [WellMahjongS.Header, 17, 30, "270", "9", 0, 0, null, 0, false]], 17, 30, WellMahjongL.OTimerAnimator, null]; public static var OWGameParam:Array = [[WellMahjongS.ColorHeader, 270, 33, WellMahjongL.OWNameGameColor, WellMahjongL.strGameName, null, 523, 0, "iNameGame", 0, false], [WellMahjongS.ColorHeader, 270, 25, ["aqua1"], WellMahjongL.strSite, null, 523, 37, "iSiteLink", 0, false], [WellMahjongS.InvisibleButton, 270, 30, 530, 37, "iLink", 0, true], [WellMahjongS.MakeTextButton, 0x0101, 45, "aqua1", "aqua1", 25, WellMahjongL.strMenu, 530, 546, "iMenu", 0, false], [WellMahjongS.MakeTextButton, 123, 45, "yellow1", "yellow1", 25, WellMahjongL.strPause, 530, 491, "iPause", 0, false], [WellMahjongS.MakeTextButton, 123, 45, "yellow", "yellow", 25, WellMahjongL.strHint, 663, 491, "iHint", 0, false]]; public static var OWGameScoreF:Array = [OInterface.OCounterMake, [[ODisplay.IDisplayObjectMake, OWGameScoreElement, 0, 0, "iDigits", 0, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 20, 0, "iDigits", 1, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 40, 0, "iDigits", 2, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 60, 0, "iDigits", 3, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 80, 0, "iDigits", 4, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 100, 0, "iDigits", 5, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 120, 0, "iDigits", 6, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 140, 0, "iDigits", 7, true], [ODisplay.IDisplayObjectMake, OWGameScoreElement, 160, 0, "iDigits", 8, true]], 80, 30]; public static var fieldHeight:int = 530; public static var OWInfoPUserNotFound:Array = [[WellMahjongS.Header, 250, 30, "yellow", WellMahjongL.strConnect1, 5, 200, null, 0, true], [WellMahjongS.Header, 250, 30, "yellow", WellMahjongL.strConnect1, 5, 265, null, 0, true]]; public static var OWPlayersColor:Array = ["180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150"]; public static var ONES:Array = [f01, f02, f03, f04, f05, f06, f07, f08, f09, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f42]; public static var iNotMovedParam:Array = [[WellMahjongS.ColorHeader, 500, 80, WellMahjongL.OWColors, WellMahjongL.strNotMoved, null, 15, 190, null, 0, true], [WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors, WellMahjongL.strClickToContinue, null, 15, 270, null, 0, true]]; public static var OWInputParam:Array = [[WellMahjongS.BigFrame, 600, 400, "yellow1", "yellow", 0, 0, null, 0, true], [WellMahjongS.Header, 600, 40, "aqua1", WellMahjongL.strInputText, 0, 30, null, 0, true], [WellMahjongS.MakeTextButton, 150, 60, "aqua1", "aqua1", 30, WellMahjongL.strClose, 225, 310, "iClose", 0, true]]; public static var OWOpponentColor:Array = ["180", "210", "240", "270", "300", "330", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]; public static var OWMenuReiting:Array = [[WellMahjongS.Header, 800, 30, "yellow", "W", 0, 324, null, 0, true]]; public static var OWNameGame:Array = [[WellMahjongS.ColorHeader, 310, 50, WellMahjongL.OWNameGameColor, WellMahjongL.strGameName, null, 480, -6, null, 0, true]]; public static var OWInfoPConnect:Array = [[WellMahjongS.Header, 250, 30, "yellow", WellMahjongL.strConnect1, 10, 200, null, 0, true], [WellMahjongS.MakeTextButton, 230, 50, "yellow", "yellow", 25, WellMahjongL.strPlayOnline, 21, 310, null, 0, true]]; public static var iNotTimeParam:Array = [[WellMahjongS.ColorHeader, 500, 80, WellMahjongL.OWColors, WellMahjongL.strNotTime, null, 15, 190, null, 0, true], [WellMahjongS.ColorHeader, 500, 40, WellMahjongL.OWColors1, WellMahjongL.strClickToContinue, null, 15, 270, null, 0, true]]; public static var OWNameGameColor:Array = ["red", "yellow1", "aqua1", "yellow", "magenta", "0", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]; public static var FallParticle:Class = WellMahjongL_FallParticle; public static var OWGameScoreElement:Array = [OInterface.OTabMake, [[WellMahjongS.Header, 20, 35, "0", " ", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "0", "0", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "30", "1", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "60", "2", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "90", "3", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "120", "4", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "150", "5", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "180", "6", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "210", "7", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "240", "8", 0, 0, null, 0, false], [WellMahjongS.Header, 20, 35, "270", "9", 0, 0, null, 0, false]], 23, 30, WellMahjongL.OWGameCounterAnimator, null]; public static var OWHighScoreLocal:Array = [[WellMahjongS.TextAlign, 510, 30, 30, "red", "W", 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "red", "9", 2, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "red1", "W", 0, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "red1", "9", 2, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "yellow", "W", 0, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "yellow", "9", 2, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "yellow1", "W", 0, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "yellow1", "9", 2, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "green", "W", 0, 1, 0, 140, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "green", "9", 2, 1, 0, 140, null, 0, true]]; public static var iCompleteInstrParam:Array = [[WellMahjongS.ColorHeader, 200, 35, WellMahjongL.OWColors, WellMahjongL.strLevel_, null, 53, 246, null, 0, true], [WellMahjongS.ColorHeader, 200, 35, WellMahjongL.OWColors1, WellMahjongL.strComplete, null, 53, 286, null, 0, true]]; public static var OWHighRaitingPersonal:Array = [[WellMahjongS.TextAlign, 510, 30, 30, "30", "W", 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "30", "9", 2, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "90", "W", 0, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "90", "9", 2, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "150", "W", 0, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "150", "9", 2, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "210", "W", 0, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "210", "9", 2, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "270", "W", 0, 1, 0, 140, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "270", "9", 2, 1, 0, 140, null, 0, true]]; public static var OWHighScorePersonal:Array = [[WellMahjongS.TextAlign, 510, 30, 30, "aqua1", "W", 0, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "aqua1", "9", 2, 1, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "blue", "W", 0, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "blue", "9", 2, 1, 0, 35, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "blue1", "W", 0, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "blue1", "9", 2, 1, 0, 70, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "magenta", "W", 0, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "magenta", "9", 2, 1, 0, 105, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "magenta1", "W", 0, 1, 0, 140, null, 0, true], [WellMahjongS.TextAlign, 510, 30, 30, "magenta1", "9", 2, 1, 0, 140, null, 0, true]]; public static var OWMenu:Array = [[WellMahjongS.Header, 800, 40, "magenta1", WellMahjongL.strWelcome, 0, 10, null, 0, true], [WellMahjongS.Header, 800, 30, "white", WellMahjongL.strChangePlayer, 0, 55, null, 0, true], [WellMahjongS.ColorHeader, 800, 80, WellMahjongL.OWNameGameColor, WellMahjongL.strGameName, null, 0, 75, "iGameName", 0, true], [WellMahjongS.InvisibleButton, 400, 75, 200, 10, "iBName", 0, true], [ODisplay.IDisplayObjectMake, OWPlayersCounterF, 20, 182, "iCPlayers", 0, true], [WellMahjongS.ColorText, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strPlayersOnline, null, 20, 176, "iPlayers", 0, true], [WellMahjongS.MakeTextButton, 360, 80, "aqua1", "aqua1", 40, WellMahjongL.strPlayOnline, 220, 231, "iQuickPlay", 0, true], [WellMahjongS.MakeTextButton, 300, 60, "yellow", "yellow", 30, WellMahjongL.strOptions, 70, 372, "iOptions", 0, true], [WellMahjongS.MakeTextButton, 300, 60, "red", "red", 30, WellMahjongL.strInstructions, 430, 372, "iInstructions", 0, true], [WellMahjongS.MakeTextButton, 300, 60, "yellow1", "yellow1", 30, WellMahjongL.strHighScores, 30, 446, "iHighScores", 0, true], [WellMahjongS.MakeTextButton, 300, 60, "magenta1", "magenta1", 30, WellMahjongL.strMoreGames, 470, 446, "iMoreGames", 0, true], [WellMahjongS.MakeTextButton, 360, 60, "red1", "red1", 30, WellMahjongL.strCreateOwnLev, 220, 520, "iEditor", 0, true]]; public static var OWOptions:Array = [[WellMahjongS.BigFrame, 540, 390, "aqua1", "white", 0, 0, null, 0, true], [WellMahjongS.Header, 540, 50, "aqua1", WellMahjongL.strOptions, 0, 20, null, 0, true], [WellMahjongS.ListBoxTextHSlider, 520, 50, "magenta", false, 90, 40, "magenta", WellMahjongL.strSound, WellMahjongL.iWOptionsVolume, 10, 90, "iSound", 0, true], [WellMahjongS.ListBoxTextHSlider, 520, 50, "yellow", false, 90, 40, "yellow", WellMahjongL.strMusic, WellMahjongL.iWOptionsVolume, 10, 140, "iMusic", 0, true], [WellMahjongS.ListBoxTextHSlider, 520, 50, "green1", false, 200, 40, "green1", WellMahjongL.strWindow, null, 10, 190, "iResolution", 0, true], [WellMahjongS.ListBoxTextHSlider, 520, 50, "red1", false, 90, 40, "red1", WellMahjongL.strFullScreen, WellMahjongL.iWOptionsOnOff, 10, 240, "iFullScreen", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "yellow1", "yellow1", 30, WellMahjongL.strAccept, 110, 310, "iAccept", 0, true], [WellMahjongS.MakeTextButton, 150, 60, "red", "red", 30, WellMahjongL.strCancel, 280, 310, "iCancel", 0, true]]; public static var OOpponentFieldParam:Array = [[WellMahjongS.SmallFrameFiltr, 0x0101, 410, "white", "white", 0.5, 0, 0, null, 0, true], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWOpponentColor, WellMahjongL.strOpponent1, null, 0, 284, null, 0, true], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWOpponentColor, "Name", null, 0, 321, null, 0, true], [WellMahjongS.ColorHeader, 120, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strScore, null, 10, 358, null, 0, true], [ODisplay.IDisplayObjectMake, WellMahjongL.OWOpponentScoreF, 100, 365, "iScore", 0, true], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strOpponent1, null, 0, 81, "str1", 0, false], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strLevel_, null, 0, 116, "str2", 0, false], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strComplete, null, 0, 151, "str3", 0, false], [WellMahjongS.ColorHeader, 0x0101, 30, WellMahjongL.OWPlayersColor, WellMahjongL.strNotMoved, null, 0, 128, "strNotMoved", 0, false]]; public static var OWOpponentScoreF:Array = [OInterface.OCounterMake, [[ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 0, 0, "iDigits", 0, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 20, 0, "iDigits", 1, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 40, 0, "iDigits", 2, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 60, 0, "iDigits", 3, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 80, 0, "iDigits", 4, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 100, 0, "iDigits", 5, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 120, 0, "iDigits", 6, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 140, 0, "iDigits", 7, true], [ODisplay.IDisplayObjectMake, OWOpponentScoreElement, 160, 0, "iDigits", 8, true]], 160, 30]; public static var OWResultsReiting:Array = [[WellMahjongS.ColorHeader, 800, 60, OWPlayersColor, strYourReiting, OInterface.iDefSlowAnimators, 0, 0, null, 0, true], [WellMahjongS.TextAlign, 800, 60, 60, "aqua1", "9", 1, 1, 0, 80, null, 0, true]]; private static var OWGameCounterAnimator:Object = {F:OA_AlphaFade.Make, iSAlpha:-1, iEAlpha:0, iSInd:[0], iEInd:[1], iPIter:4}; public static var FiltrFigureP:Number = 0.7; public static var FiltrFigureO:Number = 0.5; public static var OWLevelSender:Array = [[WellMahjongS.BigFrame, 550, 260, "aqua1", "aqua1", 0, 0, null, 0, true], [WellMahjongS.Header, 550, 40, "yellow", WellMahjongL.strSendingLevel, 0, 30, null, 0, true], [WellMahjongS.MakeTextButton, 250, 60, "yellow", "yellow", 30, WellMahjongL.strClose, 150, 180, "iCancel", 0, true]]; public static var OWInfoPPlayer:Array = [[WellMahjongS.ColorHeader, 270, 25, WellMahjongL.OWColors, WellMahjongL.strOpponent1, null, 0, 265, null, 0, true], [WellMahjongS.ColorHeader, 270, 25, WellMahjongL.OWPlayersColor, WellMahjongL.strLevel, null, 0, 295, null, 0, true]]; public static var iGAME:OGame = new OCGame(); public static var indexGame:int; public static var iMP:OMultiplayer = new OMultiplayer(sDebug); public static var OWLinkSiteGame:Array = [[WellMahjongS.ColorHeader, 310, 25, ["aqua1"], WellMahjongL.strSite, null, 480, 50, null, 0, true]]; } }//package
Section 95
//WellMahjongL_f01 (WellMahjongL_f01) package { import mx.core.*; public class WellMahjongL_f01 extends SpriteAsset { } }//package
Section 96
//WellMahjongL_f02 (WellMahjongL_f02) package { import mx.core.*; public class WellMahjongL_f02 extends SpriteAsset { } }//package
Section 97
//WellMahjongL_f03 (WellMahjongL_f03) package { import mx.core.*; public class WellMahjongL_f03 extends SpriteAsset { } }//package
Section 98
//WellMahjongL_f04 (WellMahjongL_f04) package { import mx.core.*; public class WellMahjongL_f04 extends SpriteAsset { } }//package
Section 99
//WellMahjongL_f05 (WellMahjongL_f05) package { import mx.core.*; public class WellMahjongL_f05 extends SpriteAsset { } }//package
Section 100
//WellMahjongL_f06 (WellMahjongL_f06) package { import mx.core.*; public class WellMahjongL_f06 extends SpriteAsset { } }//package
Section 101
//WellMahjongL_f07 (WellMahjongL_f07) package { import mx.core.*; public class WellMahjongL_f07 extends SpriteAsset { } }//package
Section 102
//WellMahjongL_f08 (WellMahjongL_f08) package { import mx.core.*; public class WellMahjongL_f08 extends SpriteAsset { } }//package
Section 103
//WellMahjongL_f09 (WellMahjongL_f09) package { import mx.core.*; public class WellMahjongL_f09 extends SpriteAsset { } }//package
Section 104
//WellMahjongL_f10 (WellMahjongL_f10) package { import mx.core.*; public class WellMahjongL_f10 extends SpriteAsset { } }//package
Section 105
//WellMahjongL_f11 (WellMahjongL_f11) package { import mx.core.*; public class WellMahjongL_f11 extends SpriteAsset { } }//package
Section 106
//WellMahjongL_f12 (WellMahjongL_f12) package { import mx.core.*; public class WellMahjongL_f12 extends SpriteAsset { } }//package
Section 107
//WellMahjongL_f13 (WellMahjongL_f13) package { import mx.core.*; public class WellMahjongL_f13 extends SpriteAsset { } }//package
Section 108
//WellMahjongL_f14 (WellMahjongL_f14) package { import mx.core.*; public class WellMahjongL_f14 extends SpriteAsset { } }//package
Section 109
//WellMahjongL_f15 (WellMahjongL_f15) package { import mx.core.*; public class WellMahjongL_f15 extends SpriteAsset { } }//package
Section 110
//WellMahjongL_f16 (WellMahjongL_f16) package { import mx.core.*; public class WellMahjongL_f16 extends SpriteAsset { } }//package
Section 111
//WellMahjongL_f17 (WellMahjongL_f17) package { import mx.core.*; public class WellMahjongL_f17 extends SpriteAsset { } }//package
Section 112
//WellMahjongL_f18 (WellMahjongL_f18) package { import mx.core.*; public class WellMahjongL_f18 extends SpriteAsset { } }//package
Section 113
//WellMahjongL_f19 (WellMahjongL_f19) package { import mx.core.*; public class WellMahjongL_f19 extends SpriteAsset { } }//package
Section 114
//WellMahjongL_f20 (WellMahjongL_f20) package { import mx.core.*; public class WellMahjongL_f20 extends SpriteAsset { } }//package
Section 115
//WellMahjongL_f21 (WellMahjongL_f21) package { import mx.core.*; public class WellMahjongL_f21 extends SpriteAsset { } }//package
Section 116
//WellMahjongL_f22 (WellMahjongL_f22) package { import mx.core.*; public class WellMahjongL_f22 extends SpriteAsset { } }//package
Section 117
//WellMahjongL_f23 (WellMahjongL_f23) package { import mx.core.*; public class WellMahjongL_f23 extends SpriteAsset { } }//package
Section 118
//WellMahjongL_f24 (WellMahjongL_f24) package { import mx.core.*; public class WellMahjongL_f24 extends SpriteAsset { } }//package
Section 119
//WellMahjongL_f25 (WellMahjongL_f25) package { import mx.core.*; public class WellMahjongL_f25 extends SpriteAsset { } }//package
Section 120
//WellMahjongL_f26 (WellMahjongL_f26) package { import mx.core.*; public class WellMahjongL_f26 extends SpriteAsset { } }//package
Section 121
//WellMahjongL_f27 (WellMahjongL_f27) package { import mx.core.*; public class WellMahjongL_f27 extends SpriteAsset { } }//package
Section 122
//WellMahjongL_f28 (WellMahjongL_f28) package { import mx.core.*; public class WellMahjongL_f28 extends SpriteAsset { } }//package
Section 123
//WellMahjongL_f29 (WellMahjongL_f29) package { import mx.core.*; public class WellMahjongL_f29 extends SpriteAsset { } }//package
Section 124
//WellMahjongL_f30 (WellMahjongL_f30) package { import mx.core.*; public class WellMahjongL_f30 extends SpriteAsset { } }//package
Section 125
//WellMahjongL_f31 (WellMahjongL_f31) package { import mx.core.*; public class WellMahjongL_f31 extends SpriteAsset { } }//package
Section 126
//WellMahjongL_f32 (WellMahjongL_f32) package { import mx.core.*; public class WellMahjongL_f32 extends SpriteAsset { } }//package
Section 127
//WellMahjongL_f33 (WellMahjongL_f33) package { import mx.core.*; public class WellMahjongL_f33 extends SpriteAsset { } }//package
Section 128
//WellMahjongL_f34 (WellMahjongL_f34) package { import mx.core.*; public class WellMahjongL_f34 extends SpriteAsset { } }//package
Section 129
//WellMahjongL_f35 (WellMahjongL_f35) package { import mx.core.*; public class WellMahjongL_f35 extends SpriteAsset { } }//package
Section 130
//WellMahjongL_f36 (WellMahjongL_f36) package { import mx.core.*; public class WellMahjongL_f36 extends SpriteAsset { } }//package
Section 131
//WellMahjongL_f37 (WellMahjongL_f37) package { import mx.core.*; public class WellMahjongL_f37 extends SpriteAsset { } }//package
Section 132
//WellMahjongL_f38 (WellMahjongL_f38) package { import mx.core.*; public class WellMahjongL_f38 extends SpriteAsset { } }//package
Section 133
//WellMahjongL_f39 (WellMahjongL_f39) package { import mx.core.*; public class WellMahjongL_f39 extends SpriteAsset { } }//package
Section 134
//WellMahjongL_f40 (WellMahjongL_f40) package { import mx.core.*; public class WellMahjongL_f40 extends SpriteAsset { } }//package
Section 135
//WellMahjongL_f41 (WellMahjongL_f41) package { import mx.core.*; public class WellMahjongL_f41 extends SpriteAsset { } }//package
Section 136
//WellMahjongL_f42 (WellMahjongL_f42) package { import mx.core.*; public class WellMahjongL_f42 extends SpriteAsset { } }//package
Section 137
//WellMahjongL_FallParticle (WellMahjongL_FallParticle) package { import mx.core.*; public class WellMahjongL_FallParticle extends SpriteAsset { } }//package
Section 138
//WellMahjongL_OBG02 (WellMahjongL_OBG02) package { import mx.core.*; public class WellMahjongL_OBG02 extends SpriteAsset { } }//package
Section 139
//WellMahjongL_OCursor (WellMahjongL_OCursor) package { import mx.core.*; public class WellMahjongL_OCursor extends SpriteAsset { } }//package
Section 140
//WellMahjongL_OFont (WellMahjongL_OFont) package { import mx.core.*; public class WellMahjongL_OFont extends SpriteAsset { } }//package
Section 141
//WellMahjongL_OIDown (WellMahjongL_OIDown) package { import mx.core.*; public class WellMahjongL_OIDown extends SpriteAsset { } }//package
Section 142
//WellMahjongL_OILeft (WellMahjongL_OILeft) package { import mx.core.*; public class WellMahjongL_OILeft extends SpriteAsset { } }//package
Section 143
//WellMahjongL_OIRight (WellMahjongL_OIRight) package { import mx.core.*; public class WellMahjongL_OIRight extends SpriteAsset { } }//package
Section 144
//WellMahjongL_OIUp (WellMahjongL_OIUp) package { import mx.core.*; public class WellMahjongL_OIUp extends SpriteAsset { } }//package
Section 145
//WellMahjongL_OSBubbleBang01 (WellMahjongL_OSBubbleBang01) package { import mx.core.*; public class WellMahjongL_OSBubbleBang01 extends SoundAsset { } }//package
Section 146
//WellMahjongL_OSBubbleBang02 (WellMahjongL_OSBubbleBang02) package { import mx.core.*; public class WellMahjongL_OSBubbleBang02 extends SoundAsset { } }//package
Section 147
//WellMahjongL_OSBubbleBang03 (WellMahjongL_OSBubbleBang03) package { import mx.core.*; public class WellMahjongL_OSBubbleBang03 extends SoundAsset { } }//package
Section 148
//WellMahjongL_OSBubbleBang04 (WellMahjongL_OSBubbleBang04) package { import mx.core.*; public class WellMahjongL_OSBubbleBang04 extends SoundAsset { } }//package
Section 149
//WellMahjongS (WellMahjongS) package { import ENGINE.DISPLAY.*; import flash.display.*; import flash.geom.*; import ENGINE.INTERFACE.*; import ENGINE.INTERFACE.ANIMATORS.*; import ENGINE.INTERFACE.ELEMENTS.*; import ENGINE.DISPLAY.EFFECTS.*; import flash.text.*; import ENGINE.CORE.*; import ENGINE.SKIN.*; public class WellMahjongS { public static var iRegistered:Boolean = WellMahjongS.Register(); public static function SmallFrameFiltr(_arg1:Array):OBitmap{ return (ODisplay.OBitmapAngleFrame([null, _arg1[1], _arg1[2], 6, 5, "GEL", _arg1[3], "border", 1, _arg1[4], "spanel ns", _arg1[5], OGlobal.ScaleFloor(_arg1[6]), OGlobal.ScaleFloor(_arg1[7])])); } private static function Register():Boolean{ OEffects.RegisterEffect("GEL", new OEffectGel()); OEffects.RegisterColor("GEL", "red", {iCH:0, iCS:0.5, iCB:0.99, iSH:345, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "red1", {iCH:30, iCS:0.5, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "yellow", {iCH:60, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "yellow1", {iCH:90, iCS:0.6, iCB:0.99, iSH:105, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "green", {iCH:120, iCS:0.5, iCB:0.99, iSH:105, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "green1", {iCH:150, iCS:0.5, iCB:0.99, iSH:165, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "aqua", {iCH:180, iCS:0.4, iCB:0.99, iSH:165, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "aqua1", {iCH:210, iCS:0.4, iCB:0.99, iSH:225, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "blue", {iCH:240, iCS:0.3, iCB:0.99, iSH:225, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "blue1", {iCH:270, iCS:0.3, iCB:0.99, iSH:295, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "magenta", {iCH:300, iCS:0.4, iCB:0.99, iSH:295, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "magenta1", {iCH:330, iCS:0.4, iCB:0.99, iSH:345, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "white", {iCH:0, iCS:0, iCB:0.97, iSH:0, iSS:0, iSB:0.7}); OEffects.RegisterColor("GEL", "color0", {iCH:45, iCS:0.1, iCB:0.97, iSH:45, iSS:0.6, iSB:0.6}); OEffects.RegisterColor("GEL", "color1", {iCH:45, iCS:0.1, iCB:0.97, iSH:45, iSS:0.6, iSB:0.6}); OEffects.RegisterColor("GEL", "color2", {iCH:45, iCS:0.1, iCB:0.97, iSH:45, iSS:0.6, iSB:0.6}); OEffects.RegisterColor("GEL", "color3", {iCH:45, iCS:0.1, iCB:0.97, iSH:45, iSS:0.6, iSB:0.6}); OEffects.RegisterColor("GEL", "rcolor0", {iCH:45, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "rcolor1", {iCH:45, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "rcolor2", {iCH:45, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "rcolor3", {iCH:45, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("GEL", "dcolor0", {iCH:45, iCS:0.6, iCB:0.89, iSH:45, iSS:0.9, iSB:0.5}); OEffects.RegisterColor("GEL", "dcolor1", {iCH:45, iCS:0.6, iCB:0.89, iSH:45, iSS:0.9, iSB:0.5}); OEffects.RegisterColor("GEL", "dcolor2", {iCH:45, iCS:0.6, iCB:0.89, iSH:45, iSS:0.9, iSB:0.5}); OEffects.RegisterColor("GEL", "dcolor3", {iCH:45, iCS:0.6, iCB:0.89, iSH:45, iSS:0.9, iSB:0.5}); OEffects.RegisterFilter("GEL", "bpanel", {iBorder:24, iAngle:90, iF0SD:16, iF0SB:11, iF1SD:16, iF1SB:23, iF1GB:8, iF1GA:0.5, iF2GGD1:-4, iF2GGB1:18, iF2GGC1:230, iF2GGD2:4, iF2GGB2:16, iF2GGC2:170, iF2B:2}); OEffects.RegisterFilter("GEL", "text 20", {iBorder:8, iAngle:90, iF0SD:3, iF0SB:6, iF1SD:5, iF1SB:6, iF1GB:1, iF1GA:1, iF2GGD1:0, iF2GGB1:3, iF2GGC1:240, iF2GGD2:3, iF2GGB2:4, iF2GGC2:130, iF2B:2}); OEffects.RegisterFilter("GEL", "text 30", {iBorder:8, iAngle:90, iF0SD:3, iF0SB:6, iF1SD:5, iF1SB:6, iF1GB:1, iF1GA:1, iF2GGD1:0, iF2GGB1:3, iF2GGC1:240, iF2GGD2:3, iF2GGB2:4, iF2GGC2:130, iF2B:2}); OEffects.RegisterFilter("GEL", "text 40", {iBorder:8, iAngle:90, iF0SD:4, iF0SB:8, iF1SD:6, iF1SB:7, iF1GB:1, iF1GA:1, iF2GGD1:0, iF2GGB1:5, iF2GGC1:230, iF2GGD2:3, iF2GGB2:6, iF2GGC2:170, iF2B:2}); OEffects.RegisterFilter("GEL", "text 50", {iBorder:12, iAngle:90, iF0SD:5, iF0SB:10, iF1SD:7, iF1SB:8, iF1GB:1, iF1GA:1, iF2GGD1:-1, iF2GGB1:6, iF2GGC1:240, iF2GGD2:4, iF2GGB2:6, iF2GGC2:130, iF2B:2}); OEffects.RegisterFilter("GEL", "text 60", {iBorder:14, iAngle:90, iF0SD:6, iF0SB:12, iF1SD:8, iF1SB:10, iF1GB:1, iF1GA:1, iF2GGD1:-1, iF2GGB1:8, iF2GGC1:230, iF2GGD2:4, iF2GGB2:8, iF2GGC2:150, iF2B:2}); OEffects.RegisterFilter("GEL", "text 70", {iBorder:14, iAngle:90, iF0SD:6, iF0SB:12, iF1SD:9, iF1SB:10, iF1GB:1, iF1GA:1, iF2GGD1:-1, iF2GGB1:10, iF2GGC1:230, iF2GGD2:4, iF2GGB2:10, iF2GGC2:155, iF2B:2}); OEffects.RegisterFilter("GEL", "text 80", {iBorder:15, iAngle:90, iF0SD:7, iF0SB:13, iF1SD:11, iF1SB:11, iF1GB:1, iF1GA:1, iF2GGD1:-2, iF2GGB1:12, iF2GGC1:230, iF2GGD2:4, iF2GGB2:12, iF2GGC2:160, iF2B:2}); OEffects.RegisterFilter("GEL", "text 90", {iBorder:16, iAngle:90, iF0SD:8, iF0SB:14, iF1SD:12, iF1SB:12, iF1GB:1, iF1GA:1, iF2GGD1:-2, iF2GGB1:14, iF2GGC1:230, iF2GGD2:4, iF2GGB2:14, iF2GGC2:170, iF2B:2}); OEffects.RegisterFilter("GEL", "spanel", {iBorder:16, iAngle:90, iF0SD:8, iF0SB:14, iF1SD:12, iF1SB:12, iF1GB:6, iF1GA:0.5, iF2GGD1:-2, iF2GGB1:14, iF2GGC1:230, iF2GGD2:4, iF2GGB2:14, iF2GGC2:170, iF2B:2}); OEffects.RegisterFilter("GEL", "border", {iBorder:8, iAngle:60, iF0SD:3, iF0SB:6, iF1SD:6, iF1SB:4, iF1GB:2, iF1GA:0.25, iF2GGD1:0.2, iF2GGB1:3, iF2GGC1:240, iF2GGD2:3, iF2GGB2:4, iF2GGC2:150, iF2B:2}); OEffects.RegisterFilter("GEL", "bpanel ns", {iBorder:8, iAngle:90, iF0SD:0, iF0SB:11, iF1SD:16, iF1SB:23, iF1GB:8, iF1GA:0.5, iF2GGD1:-4, iF2GGB1:18, iF2GGC1:230, iF2GGD2:4, iF2GGB2:16, iF2GGC2:170, iF2B:2}); OEffects.RegisterFilter("GEL", "spanel ns", {iBorder:16, iAngle:90, iF0SD:0, iF0SB:16, iF1SD:12, iF1SB:16, iF1GB:6, iF1GA:0.5, iF2GGD1:-2, iF2GGB1:14, iF2GGC1:230, iF2GGD2:4, iF2GGB2:12, iF2GGC2:180, iF2B:2}); OEffects.RegisterFilter("GEL", "border ns", {iBorder:8, iAngle:60, iF0SD:0, iF0SB:6, iF1SD:6, iF1SB:4, iF1GB:2, iF1GA:0.25, iF2GGD1:0.2, iF2GGB1:3, iF2GGC1:240, iF2GGD2:3, iF2GGB2:4, iF2GGC2:150, iF2B:2}); OEffects.RegisterEffect("PL", new OEffectPlastic()); OEffects.RegisterColor("PL", "red", {iCH:0, iCS:0.5, iCB:0.99, iSH:345, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "red1", {iCH:30, iCS:0.5, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "yellow", {iCH:60, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "yellow1", {iCH:90, iCS:0.6, iCB:0.99, iSH:105, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "green", {iCH:120, iCS:0.5, iCB:0.99, iSH:105, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "green1", {iCH:150, iCS:0.5, iCB:0.99, iSH:165, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "aqua", {iCH:180, iCS:0.4, iCB:0.99, iSH:165, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "aqua1", {iCH:210, iCS:0.4, iCB:0.99, iSH:225, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "blue", {iCH:240, iCS:0.3, iCB:0.99, iSH:225, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "blue1", {iCH:270, iCS:0.3, iCB:0.99, iSH:295, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "magenta", {iCH:300, iCS:0.4, iCB:0.99, iSH:295, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "magenta1", {iCH:330, iCS:0.4, iCB:0.99, iSH:345, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "white", {iCH:0, iCS:0, iCB:0.97, iSH:0, iSS:0, iSB:0.7}); OEffects.RegisterColor("PL", "color0", {iCH:45, iCS:0.1, iCB:0.97, iSH:45, iSS:0.6, iSB:0.6}); OEffects.RegisterColor("PL", "rcolor0", {iCH:45, iCS:0.6, iCB:0.99, iSH:45, iSS:0.9, iSB:0.6}); OEffects.RegisterColor("PL", "dcolor0", {iCH:45, iCS:0.6, iCB:0.89, iSH:45, iSS:0.9, iSB:0.5}); OEffects.RegisterFilter("PL", "cell", {iBorder:14, iAngle:90, iF0SD:6, iF0SB:12, iF1SD:8, iF1SB:10, iF1GB:1, iF1GA:1, iF2GGD1:-1, iF2GGB1:8, iF2GGC1:230, iF2GGD2:4, iF2GGB2:8, iF2GGC2:150, iF2B:2}); return (true); } public static function MakeSpriteButton(_arg1:Array):OButton{ var _local2:Array; var _local3:OButton; _local2 = [[ODisplay.OBitmapSpriteFillRect, _arg1[1], _arg1[2], [ODisplay.SpriteLib, _arg1[5]], "GEL", _arg1[3], _arg1[6], _arg1[7], 0, 0, null, 0, true], [OSprite.Make, [[ODisplay.SpriteRect, (_arg1[1] * OGlobal.Scale), (_arg1[2] * OGlobal.Scale)]], 0, 0, "iHit", 0, false]]; _local3 = new OButton(_local2); _local3.Pos(OGlobal.ScaleFloor(_arg1[8]), OGlobal.ScaleFloor(_arg1[9])); return (_local3); } public static function SmallFrame(_arg1:Array):OBitmap{ return (ODisplay.OBitmapAngleFrame([null, _arg1[1], _arg1[2], 6, 5, "GEL", _arg1[3], "border", 1, _arg1[4], "spanel ns", 1, OGlobal.ScaleFloor(_arg1[5]), OGlobal.ScaleFloor(_arg1[6])])); } public static function ListBoxTextElement(_arg1:Array):OListBoxElement{ var _local2:Number; var _local3:Number; var _local4:String; var _local5:Array; var _local6:OListBoxElement; _local2 = (_arg1[2] - 10); if (_local2 < 30){ _local2 = 30; }; _local3 = Math.round((1 + (_local2 / 70))); _local4 = ("text " + String((Math.round((_local2 / 10)) * 10))); _local5 = [[ODisplay.OBitmapMake, [ODisplay.SpriteRoundBorder, _arg1[1], _arg1[2], 12, 6], 1, "GEL", _arg1[3], "border", 1, 0, 0, null, 0, false], [ODisplay.OBitmapMake, [ODisplay.SpriteTextInRect, WellMahjongL.OFont, _local2, _local3, _arg1[4], _arg1[1], _arg1[2]], 1, "GEL", _arg1[5], _local4, 1, 0, 0, null, 0, true], [OSprite.Make, [[ODisplay.SpriteRoundRect, (_arg1[1] * OGlobal.Scale), (_arg1[2] * OGlobal.Scale), (12 * OGlobal.Scale)]], 0, 0, "iHit", 0, false]]; _local6 = new OListBoxElement(_local5); _local6.Pos(OGlobal.ScaleFloor(_arg1[6]), OGlobal.ScaleFloor(_arg1[7])); return (_local6); } public static function BigFrame(_arg1:Array):OBitmap{ return (ODisplay.OBitmapAngleFrame([null, _arg1[1], _arg1[2], 16, 8, "GEL", _arg1[3], "border", 1, _arg1[4], "spanel ns", 1, OGlobal.ScaleFloor(_arg1[5]), OGlobal.ScaleFloor(_arg1[6])])); } public static function Fishka(_arg1:Array):OBitmap{ var _local2:OSprite; var _local3:Array; var _local4:OBitmap; _local2 = new OSprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRect(0, 0, (_arg1[1] * OGlobal.Scale), (_arg1[2] * OGlobal.Scale)); _local2.graphics.endFill(); _local3 = [ODisplay.OBitmapSpriteFillRect, _arg1[1], _arg1[2], [ODisplay.SpriteLib, _local2], "PL", _arg1[3], "cell", _arg1[4], _arg1[5], _arg1[6], null, 0, true]; _local4 = ODisplay.OBitmapSpriteFillRect(_local3); ODisplay.OBitmapSpriteFillRect(_local3).x = (_local4.x - _local2.x); _local4.y = (_local4.y - _local2.y); return (_local4); } public static function MakeTextButton(_arg1:Array):OButton{ var _local2:Number; var _local3:String; var _local4:Array; var _local5:OButton; _local2 = Math.round((1 + (_arg1[5] / 70))); _local3 = ("text " + String((Math.round((_arg1[5] / 10)) * 10))); _local4 = [[ODisplay.OBitmapAngleFrameText, _arg1[1], _arg1[2], (_arg1[2] / 8), 5, "GEL", _arg1[3], "border", 1, _arg1[3], "spanel ns", 1, WellMahjongL.OFont, _arg1[5], _local2, _arg1[6], "GEL", _arg1[3], _local3, 1, 0, 0, null, 0, true], [OSprite.Make, [[ODisplay.SpriteRoundRect, (_arg1[1] * OGlobal.Scale), (_arg1[2] * OGlobal.Scale), (24 * OGlobal.Scale)]], 0, 0, "iHit", 0, false]]; _local5 = new OButton(_local4); _local5.Pos(OGlobal.ScaleFloor(_arg1[7]), OGlobal.ScaleFloor(_arg1[8])); return (_local5); } public static function ColorHeader(_arg1:Array):OIObject{ var _local2:Number; var _local3:String; var _local4:Sprite; var _local5:TextField; var _local6:TextFormat; var _local7:Rectangle; var _local8:Number; var _local9:Array; var _local10:int; var _local11:int; var _local12:OIObject; var _local13:String; var _local14:Rectangle; _local2 = Math.round((1 + (_arg1[2] / 70))); _local3 = ("text " + String(Math.max(30, Math.min((Math.round((_arg1[2] / 10)) * 10), 90)))); _local4 = ((WellMahjongL.OFont is Sprite)) ? (WellMahjongL.OFont as Sprite) : new ((WellMahjongL.OFont as Class)); if (!(_local4.getChildAt(0) is TextField)){ return (null); }; _local5 = (_local4.getChildAt(0) as TextField); _local5.autoSize = TextFieldAutoSize.LEFT; _local5.text = _arg1[4]; _local6 = _local5.defaultTextFormat; _local6.size = _arg1[2]; _local6.letterSpacing = _local2; _local5.setTextFormat(_local6); _local7 = _local5.getBounds(_local4); _local8 = ((_arg1[1] - _local7.width) / 2); _local9 = new Array(); _local10 = 0; _local11 = 0; while (_local11 < _local5.length) { _local13 = _arg1[4].substr(_local11, 1); if (_local13 == " "){ } else { if (_local13 == "\n"){ } else { _local14 = _local5.getCharBoundaries(_local11); var _temp1 = _local10; _local10 = (_local10 + 1); _local9.push([ODisplay.OBitmapMake, [ODisplay.SpriteText, WellMahjongL.OFont, _arg1[2], _local2, _local13], 1, "GEL", _arg1[3][(_temp1 % _arg1[3].length)], _local3, 1, (_local14.x + _local8), _local14.y, null, 0, true]); }; }; _local11++; }; _local12 = new OIObject(_local9, _arg1[5]); _local12.Pos(OGlobal.ScaleFloor(_arg1[6]), OGlobal.ScaleFloor(_arg1[7])); return (_local12); } public static function MakeForm(_arg1:Array):OBitmap{ var _local2:OBitmap; _local2 = ODisplay.OBitmapSpriteFillRect([null, _arg1[1], _arg1[2], [ODisplay.SpriteLib, _arg1[4]], "PL", _arg1[3], "cell", _arg1[5], 0, 0, null, 0, true]); _local2.x = (_local2.x - _arg1[4].x); _local2.y = (_local2.y - _arg1[4].y); return (_local2); } public static function SmallBorder(_arg1:Array):OBitmap{ return (ODisplay.OBitmapAngleBorder([null, _arg1[1], _arg1[2], 12, 6, "GEL", _arg1[3], "border", 1, OGlobal.ScaleFloor(_arg1[4]), OGlobal.ScaleFloor(_arg1[5])])); } public static function Text(_arg1:Array):OBitmap{ var _local2:Number; var _local3:String; _local2 = Math.round((1 + (_arg1[1] / 70))); _local3 = ("text " + String(Math.min((Math.round((_arg1[1] / 10)) * 10), 90))); return (ODisplay.OBitmapText([null, WellMahjongL.OFont, _arg1[1], _local2, _arg1[3], "GEL", _arg1[2], _local3, 1, OGlobal.ScaleFloor(_arg1[4]), OGlobal.ScaleFloor(_arg1[5])])); } public static function ListBoxTextElementP(_arg1:Array, _arg2:String):void{ _arg1[4] = _arg2; } public static function ListBoxTextHSlider(_arg1:Array):OListBox{ var _local2:Number; var _local3:Number; var _local4:String; var _local5:Rectangle; var _local6:Number; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:OListBox; _local2 = _arg1[6]; _local3 = Math.round((1 + (_local2 / 70))); _local4 = ("text " + String((Math.round((_local2 / 10)) * 10))); _local5 = ODisplay.TextRect(WellMahjongL.OFont, _local2, _local3, _arg1[8]); _local6 = (_arg1[6] - 10); _local7 = (_arg1[4]) ? [[WellMahjongS.SmallBorder, _arg1[1], _arg1[2], _arg1[3], 0, 0, null, 0, true]] : new Array(); _local8 = [[ODisplay.OBitmapText, WellMahjongL.OFont, _local2, _local3, _arg1[8], "GEL", _arg1[3], _local4, 1, 15, ((_arg1[2] - _local5.height) * 0.5), null, 0, true], [WellMahjongS.MakeSpriteButton, _local6, _local6, _arg1[3], _arg1[4], WellMahjongL.OILeft, "text 60", 1, ((_arg1[1] - _arg1[5]) - 75), ((_arg1[2] - _local6) * 0.5), "iUp", 0, false], [WellMahjongS.MakeSpriteButton, _local6, _local6, _arg1[3], _arg1[4], WellMahjongL.OIRight, "text 60", 1, (_arg1[1] - 45), ((_arg1[2] - _local6) * 0.5), "iDown", 0, false]]; _local7 = _local7.concat(_local8); _local9 = [WellMahjongS.ListBoxTextElement, _arg1[5], _arg1[6], _arg1[7], "w", _arg1[7], 0, 0]; _local10 = [[((_arg1[1] - 45) - _arg1[5]), ((_arg1[2] - _arg1[6]) * 0.5)]]; _local11 = new OListBox(_local7, _local9, WellMahjongS.ListBoxTextElementP, _local10, null); _local11.iUp.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local11.iDown.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local11.prSelection = false; _local11.prCycling = true; _local11.prLBParams = _arg1[9]; _local11.Pos(OGlobal.ScaleFloor(_arg1[10]), OGlobal.ScaleFloor(_arg1[11])); return (_local11); } public static function ColorText(_arg1:Array):OIObject{ var _local2:Number; var _local3:String; var _local4:Sprite; var _local5:TextField; var _local6:TextFormat; var _local7:Array; var _local8:int; var _local9:int; var _local10:OIObject; var _local11:String; var _local12:Rectangle; _local2 = Math.round((1 + (_arg1[1] / 70))); _local3 = ("text " + String(Math.min((Math.round((_arg1[1] / 10)) * 10), 90))); _local4 = ((WellMahjongL.OFont is Sprite)) ? (WellMahjongL.OFont as Sprite) : new ((WellMahjongL.OFont as Class)); if (!(_local4.getChildAt(0) is TextField)){ return (null); }; _local5 = (_local4.getChildAt(0) as TextField); _local5.autoSize = TextFieldAutoSize.LEFT; _local5.text = _arg1[3]; _local6 = _local5.defaultTextFormat; _local6.size = _arg1[1]; _local6.letterSpacing = _local2; _local5.setTextFormat(_local6); _local7 = new Array(); _local8 = 0; _local9 = 0; while (_local9 < _local5.length) { _local11 = _arg1[3].substr(_local9, 1); if (_local11 == " "){ } else { _local12 = _local5.getCharBoundaries(_local9); var _temp1 = _local8; _local8 = (_local8 + 1); _local7.push([ODisplay.OBitmapMake, [ODisplay.SpriteText, WellMahjongL.OFont, _arg1[1], _local2, _local11], 1, "GEL", _arg1[2][_temp1], _local3, 1, _local12.x, _local12.y, null, 0, true]); }; _local9++; }; _local10 = new OIObject(_local7, _arg1[4]); _local10.Pos(OGlobal.ScaleFloor(_arg1[5]), OGlobal.ScaleFloor(_arg1[6])); return (_local10); } public static function TextAlign(_arg1:Array):OBitmap{ var _local2:Number; var _local3:String; _local2 = Math.round((1 + (_arg1[2] / 70))); _local3 = ("text " + String(Math.min((Math.round((_arg1[2] / 10)) * 10), 90))); return (ODisplay.OBitmapTextAlign([null, WellMahjongL.OFont, _arg1[3], _local2, _arg1[5], _arg1[6], _arg1[7], "GEL", _arg1[4], _local3, 1, _arg1[1], _arg1[2], OGlobal.ScaleFloor(_arg1[8]), OGlobal.ScaleFloor(_arg1[9])])); } public static function ListBoxText(_arg1:Array):OListBox{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:int; var _local8:OListBox; _local2 = (_arg1[1] + 80); _local3 = ((_arg1[2] * _arg1[5]) + 30); _local4 = [[WellMahjongS.SmallBorder, _local2, _local3, _arg1[3], 0, 0, null, 0, true], [WellMahjongS.MakeSpriteButton, 30, 30, _arg1[3], _arg1[4], WellMahjongL.OIUp, "text 60", 1, (_local2 - 50), 20, "iUp", 0, false], [WellMahjongS.MakeSpriteButton, 30, 30, _arg1[3], _arg1[4], WellMahjongL.OIDown, "text 60", 1, (_local2 - 50), (_local3 - 50), "iDown", 0, false]]; _local5 = [WellMahjongS.ListBoxTextElement, _arg1[1], _arg1[2], _arg1[3], "w", _arg1[4], 0, 0]; _local6 = new Array(_arg1[5]); _local7 = 0; while (_local7 < _arg1[5]) { _local6[_local7] = [15, ((_local7 * _arg1[2]) + 15)]; _local7++; }; _local8 = new OListBox(_local4, _local5, WellMahjongS.ListBoxTextElementP, _local6, null); _local8.iUp.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local8.iDown.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local8.prLBParams = _arg1[6]; _local8.Pos(OGlobal.ScaleFloor(_arg1[7]), OGlobal.ScaleFloor(_arg1[8])); return (_local8); } public static function Header(_arg1:Array):OBitmap{ var _local2:Number; var _local3:String; _local2 = Math.round((1 + (_arg1[2] / 70))); _local3 = ("text " + String(Math.min((Math.round((_arg1[2] / 10)) * 10), 90))); return (ODisplay.OBitmapTextInRect([null, WellMahjongL.OFont, _arg1[2], _local2, _arg1[4], "GEL", _arg1[3], _local3, 1, _arg1[1], _arg1[2], OGlobal.ScaleFloor(_arg1[5]), OGlobal.ScaleFloor(_arg1[6])])); } public static function ListBoxTextVSlider(_arg1:Array):OListBox{ var _local2:Number; var _local3:Number; var _local4:String; var _local5:Rectangle; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Array; var _local10:Array; var _local11:Array; var _local12:OListBox; _local2 = _arg1[6]; _local3 = Math.round((1 + (_local2 / 70))); _local4 = ("text " + String((Math.round((_local2 / 10)) * 10))); _local5 = ODisplay.TextRect(WellMahjongL.OFont, _local2, _local3, _arg1[9]); _local6 = [[((_arg1[1] - _arg1[5]) * 0.5), _arg1[7]]]; _local7 = (_arg1[6] - 10); _local8 = (_local6[0][1] + ((_arg1[6] - _local7) * 0.5)); _local9 = (_arg1[4]) ? [[WellMahjongS.SmallBorder, _arg1[1], _arg1[2], _arg1[3], 0, 0, null, 0, true]] : new Array(); _local10 = [[ODisplay.OBitmapText, WellMahjongL.OFont, _local2, _local3, _arg1[9], "GEL", _arg1[3], _local4, 1, ((_arg1[1] - _local5.width) * 0.5), _arg1[10], null, 0, true], [WellMahjongS.MakeSpriteButton, _local7, _local7, _arg1[3], _arg1[4], WellMahjongL.OILeft, "text 60", 1, (_local6[0][0] - _local7), _local8, "iUp", 0, false], [WellMahjongS.MakeSpriteButton, _local7, _local7, _arg1[3], _arg1[4], WellMahjongL.OIRight, "text 60", 1, (_local6[0][0] + _arg1[5]), _local8, "iDown", 0, false]]; _local9 = _local9.concat(_local10); _local11 = [WellMahjongS.ListBoxTextElement, _arg1[5], _arg1[6], _arg1[8], "w", _arg1[8], 0, 0]; _local12 = new OListBox(_local9, _local11, WellMahjongS.ListBoxTextElementP, _local6, null); _local12.iUp.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local12.iDown.prAnimatorParams = OInterface.iDefLBButtonAnimators; _local12.prSelection = false; _local12.prCycling = true; _local12.prLBParams = _arg1[11]; _local12.Pos(OGlobal.ScaleFloor(_arg1[12]), OGlobal.ScaleFloor(_arg1[13])); return (_local12); } public static function InputText(_arg1:Array):OInput{ var _local2:Array; var _local3:OInput; _local2 = [[WellMahjongS.SmallBorder, _arg1[1], _arg1[2], _arg1[3], 0, 0, null, 0, true], [OInterface.OInputTextFieldMake, (_arg1[1] - 10), (_arg1[2] - 10), WellMahjongL.OFont, (_arg1[2] - 30), 1, false, _arg1[5], _arg1[4], _arg1[6], 5, 8, "iText", 0, true]]; _local3 = new OInput(_local2); _local3.Pos(OGlobal.ScaleFloor(_arg1[7]), OGlobal.ScaleFloor(_arg1[8])); return (_local3); } public static function InvisibleButton(_arg1:Array):OButton{ var _local2:Array; var _local3:OButton; _local2 = [[OSprite.Make, [[ODisplay.SpriteRect, (_arg1[1] * OGlobal.Scale), (_arg1[2] * OGlobal.Scale)]], 0, 0, "iHit", 0, false]]; _local3 = new OButton(_local2, OAnimatorManager.iNullAnimators); _local3.Pos(OGlobal.ScaleFloor(_arg1[3]), OGlobal.ScaleFloor(_arg1[4])); _local3.prVisible = true; _local3.prActive = true; return (_local3); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:3 54 179
Symbol 3 MovieClipUses:2Used by:4
Symbol 4 MovieClipUses:3Used by:7 11 19 23 27 31 35 39 44 48 55 59 63 67 71 80 84 90 94 98 102 106 110 114 118 122 126 130 134 138 143 147 151 155 160 164 170 174 180 184 188 194
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:7
Symbol 7 MovieClipUses:4 6Used by:8
Symbol 8 MovieClip {WellMahjongL_f40} [f40]Uses:7
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClipUses:9Used by:11
Symbol 11 MovieClipUses:4 10Used by:12
Symbol 12 MovieClip {WellMahjongL_f23} [f23]Uses:11
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClip {WellMahjongL_OIUp} [OIUp]Uses:13
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {WellMahjongL_OIRight} [OIRight]Uses:15
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClipUses:17Used by:19
Symbol 19 MovieClipUses:4 18Used by:20
Symbol 20 MovieClip {WellMahjongL_f37} [f37]Uses:19
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:23
Symbol 23 MovieClipUses:4 22Used by:24
Symbol 24 MovieClip {WellMahjongL_f14} [f14]Uses:23
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:27
Symbol 27 MovieClipUses:4 26Used by:28
Symbol 28 MovieClip {WellMahjongL_f31} [f31]Uses:27
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:31
Symbol 31 MovieClipUses:4 30Used by:32
Symbol 32 MovieClip {WellMahjongL_f09} [f09]Uses:31
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 MovieClipUses:4 34Used by:36
Symbol 36 MovieClip {WellMahjongL_f35} [f35]Uses:35
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:39
Symbol 39 MovieClipUses:4 38Used by:40
Symbol 40 MovieClip {WellMahjongL_f34} [f34]Uses:39
Symbol 41 GraphicUsed by:45
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42Used by:44
Symbol 44 MovieClipUses:4 43Used by:45
Symbol 45 MovieClip {WellMahjongL_f12} [f12]Uses:41 44
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:48
Symbol 48 MovieClipUses:4 47Used by:49
Symbol 49 MovieClip {WellMahjongL_f29} [f29]Uses:48
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:52
Symbol 52 MovieClip {WellMahjongL_OBG02} [OBG02]Uses:51
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53 2Used by:55
Symbol 55 MovieClipUses:4 54Used by:56
Symbol 56 MovieClip {WellMahjongL_f11} [f11]Uses:55
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:59
Symbol 59 MovieClipUses:4 58Used by:60
Symbol 60 MovieClip {WellMahjongL_f33} [f33]Uses:59
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:63
Symbol 63 MovieClipUses:4 62Used by:64
Symbol 64 MovieClip {WellMahjongL_f24} [f24]Uses:63
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:67
Symbol 67 MovieClipUses:4 66Used by:68
Symbol 68 MovieClip {WellMahjongL_f42} [f42]Uses:67
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClipUses:4 70Used by:72
Symbol 72 MovieClip {WellMahjongL_f32} [f32]Uses:71
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClip {WellMahjongL_OIDown} [OIDown]Uses:73
Symbol 75 FontUsed by:76
Symbol 76 EditableTextUses:75Used by:77
Symbol 77 MovieClip {WellMahjongL_OFont} [OFont]Uses:76
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:80
Symbol 80 MovieClipUses:4 79Used by:81
Symbol 81 MovieClip {WellMahjongL_f26} [f26]Uses:80
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:84
Symbol 84 MovieClipUses:4 83Used by:85
Symbol 85 MovieClip {WellMahjongL_f04} [f04]Uses:84
Symbol 86 Sound {WellMahjongL_OSBubbleBang01} [WellMahjongL_OSBubbleBang01]
Symbol 87 Sound {WellMahjongL_OSBubbleBang02} [WellMahjongL_OSBubbleBang02]
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:88Used by:90
Symbol 90 MovieClipUses:4 89Used by:91
Symbol 91 MovieClip {WellMahjongL_f05} [f05]Uses:90
Symbol 92 GraphicUsed by:93
Symbol 93 MovieClipUses:92Used by:94
Symbol 94 MovieClipUses:4 93Used by:95
Symbol 95 MovieClip {WellMahjongL_f27} [f27]Uses:94
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:98
Symbol 98 MovieClipUses:4 97Used by:99
Symbol 99 MovieClip {WellMahjongL_f28} [f28]Uses:98
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClipUses:100Used by:102
Symbol 102 MovieClipUses:4 101Used by:103
Symbol 103 MovieClip {WellMahjongL_f17} [f17]Uses:102
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:104Used by:106
Symbol 106 MovieClipUses:4 105Used by:107
Symbol 107 MovieClip {WellMahjongL_f06} [f06]Uses:106
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClipUses:108Used by:110
Symbol 110 MovieClipUses:4 109Used by:111
Symbol 111 MovieClip {WellMahjongL_f39} [f39]Uses:110
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClipUses:112Used by:114
Symbol 114 MovieClipUses:4 113Used by:115
Symbol 115 MovieClip {WellMahjongL_f01} [f01]Uses:114
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:118
Symbol 118 MovieClipUses:4 117Used by:119
Symbol 119 MovieClip {WellMahjongL_f30} [f30]Uses:118
Symbol 120 GraphicUsed by:121
Symbol 121 MovieClipUses:120Used by:122
Symbol 122 MovieClipUses:4 121Used by:123
Symbol 123 MovieClip {WellMahjongL_f18} [f18]Uses:122
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:126
Symbol 126 MovieClipUses:4 125Used by:127
Symbol 127 MovieClip {WellMahjongL_f08} [f08]Uses:126
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClipUses:128Used by:130
Symbol 130 MovieClipUses:4 129Used by:131
Symbol 131 MovieClip {WellMahjongL_f15} [f15]Uses:130
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:132Used by:134
Symbol 134 MovieClipUses:4 133Used by:135
Symbol 135 MovieClip {WellMahjongL_f03} [f03]Uses:134
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:138
Symbol 138 MovieClipUses:4 137Used by:139
Symbol 139 MovieClip {WellMahjongL_f25} [f25]Uses:138
Symbol 140 Sound {WellMahjongL_OSBubbleBang03} [WellMahjongL_OSBubbleBang03]
Symbol 141 GraphicUsed by:142
Symbol 142 MovieClipUses:141Used by:143
Symbol 143 MovieClipUses:4 142Used by:144
Symbol 144 MovieClip {WellMahjongL_f22} [f22]Uses:143
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:147
Symbol 147 MovieClipUses:4 146Used by:148
Symbol 148 MovieClip {WellMahjongL_f41} [f41]Uses:147
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:151
Symbol 151 MovieClipUses:4 150Used by:152
Symbol 152 MovieClip {WellMahjongL_f36} [f36]Uses:151
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:155
Symbol 155 MovieClipUses:4 154Used by:156
Symbol 156 MovieClip {WellMahjongL_f07} [f07]Uses:155
Symbol 157 Sound {WellMahjongL_OSBubbleBang04} [WellMahjongL_OSBubbleBang04]
Symbol 158 GraphicUsed by:159
Symbol 159 MovieClipUses:158Used by:160
Symbol 160 MovieClipUses:4 159Used by:161
Symbol 161 MovieClip {WellMahjongL_f13} [f13]Uses:160
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClipUses:162Used by:164
Symbol 164 MovieClipUses:4 163Used by:165
Symbol 165 MovieClip {WellMahjongL_f02} [f02]Uses:164
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClip {WellMahjongL_OCursor} [OCursor]Uses:166
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClipUses:168Used by:170
Symbol 170 MovieClipUses:4 169Used by:171
Symbol 171 MovieClip {WellMahjongL_f38} [f38]Uses:170
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:174
Symbol 174 MovieClipUses:4 173Used by:175
Symbol 175 MovieClip {WellMahjongL_f21} [f21]Uses:174
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClip {WellMahjongL_OILeft} [OILeft]Uses:176
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178 2Used by:180
Symbol 180 MovieClipUses:4 179Used by:181
Symbol 181 MovieClip {WellMahjongL_f10} [f10]Uses:180
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:184
Symbol 184 MovieClipUses:4 183Used by:185
Symbol 185 MovieClip {WellMahjongL_f19} [f19]Uses:184
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClipUses:186Used by:188
Symbol 188 MovieClipUses:4 187Used by:189
Symbol 189 MovieClip {WellMahjongL_f20} [f20]Uses:188
Symbol 190 GraphicUsed by:191
Symbol 191 MovieClip {WellMahjongL_FallParticle} [FallParticle]Uses:190
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:192Used by:194
Symbol 194 MovieClipUses:4 193Used by:195
Symbol 195 MovieClip {WellMahjongL_f16} [f16]Uses:194

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1457 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 8 as "f40"
ExportAssets (56)Timeline Frame 1Symbol 12 as "f23"
ExportAssets (56)Timeline Frame 1Symbol 14 as "OIUp"
ExportAssets (56)Timeline Frame 1Symbol 16 as "OIRight"
ExportAssets (56)Timeline Frame 1Symbol 20 as "f37"
ExportAssets (56)Timeline Frame 1Symbol 24 as "f14"
ExportAssets (56)Timeline Frame 1Symbol 28 as "f31"
ExportAssets (56)Timeline Frame 1Symbol 32 as "f09"
ExportAssets (56)Timeline Frame 1Symbol 36 as "f35"
ExportAssets (56)Timeline Frame 1Symbol 40 as "f34"
ExportAssets (56)Timeline Frame 1Symbol 45 as "f12"
ExportAssets (56)Timeline Frame 1Symbol 49 as "f29"
ExportAssets (56)Timeline Frame 1Symbol 52 as "OBG02"
ExportAssets (56)Timeline Frame 1Symbol 56 as "f11"
ExportAssets (56)Timeline Frame 1Symbol 60 as "f33"
ExportAssets (56)Timeline Frame 1Symbol 64 as "f24"
ExportAssets (56)Timeline Frame 1Symbol 68 as "f42"
ExportAssets (56)Timeline Frame 1Symbol 72 as "f32"
ExportAssets (56)Timeline Frame 1Symbol 74 as "OIDown"
ExportAssets (56)Timeline Frame 1Symbol 77 as "OFont"
ExportAssets (56)Timeline Frame 1Symbol 81 as "f26"
ExportAssets (56)Timeline Frame 1Symbol 85 as "f04"
ExportAssets (56)Timeline Frame 1Symbol 86 as "WellMahjongL_OSBubbleBang01"
ExportAssets (56)Timeline Frame 1Symbol 87 as "WellMahjongL_OSBubbleBang02"
ExportAssets (56)Timeline Frame 1Symbol 91 as "f05"
ExportAssets (56)Timeline Frame 1Symbol 95 as "f27"
ExportAssets (56)Timeline Frame 1Symbol 99 as "f28"
ExportAssets (56)Timeline Frame 1Symbol 103 as "f17"
ExportAssets (56)Timeline Frame 1Symbol 107 as "f06"
ExportAssets (56)Timeline Frame 1Symbol 111 as "f39"
ExportAssets (56)Timeline Frame 1Symbol 115 as "f01"
ExportAssets (56)Timeline Frame 1Symbol 119 as "f30"
ExportAssets (56)Timeline Frame 1Symbol 123 as "f18"
ExportAssets (56)Timeline Frame 1Symbol 127 as "f08"
ExportAssets (56)Timeline Frame 1Symbol 131 as "f15"
ExportAssets (56)Timeline Frame 1Symbol 135 as "f03"
ExportAssets (56)Timeline Frame 1Symbol 139 as "f25"
ExportAssets (56)Timeline Frame 1Symbol 140 as "WellMahjongL_OSBubbleBang03"
ExportAssets (56)Timeline Frame 1Symbol 144 as "f22"
ExportAssets (56)Timeline Frame 1Symbol 148 as "f41"
ExportAssets (56)Timeline Frame 1Symbol 152 as "f36"
ExportAssets (56)Timeline Frame 1Symbol 156 as "f07"
ExportAssets (56)Timeline Frame 1Symbol 157 as "WellMahjongL_OSBubbleBang04"
ExportAssets (56)Timeline Frame 1Symbol 161 as "f13"
ExportAssets (56)Timeline Frame 1Symbol 165 as "f02"
ExportAssets (56)Timeline Frame 1Symbol 167 as "OCursor"
ExportAssets (56)Timeline Frame 1Symbol 171 as "f38"
ExportAssets (56)Timeline Frame 1Symbol 175 as "f21"
ExportAssets (56)Timeline Frame 1Symbol 177 as "OILeft"
ExportAssets (56)Timeline Frame 1Symbol 181 as "f10"
ExportAssets (56)Timeline Frame 1Symbol 185 as "f19"
ExportAssets (56)Timeline Frame 1Symbol 189 as "f20"
ExportAssets (56)Timeline Frame 1Symbol 191 as "FallParticle"
ExportAssets (56)Timeline Frame 1Symbol 195 as "f16"
SerialNumber (41)Timeline Frame 1

Labels

"WellMahjong"Frame 1




http://swfchan.com/20/97619/info.shtml
Created: 23/3 -2019 00:52:54 Last modified: 23/3 -2019 00:52:54 Server time: 07/05 -2024 03:12:33