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

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

Ben 10 Air War.swf

This is the info page for
Flash #131621

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


Text
You Won

You Lose

Pause!

Real gaming challenge

Play

Help

Power

<p align="center"><font face="ArTarumianMHarvats" size="15" color="#ba0101" letterSpacing="2.000000" kerning="1">00</font></p>

<p align="center"><font face="ArTarumianMHarvats" size="15" color="#ba0101" letterSpacing="2.000000" kerning="1">00</font></p>

Life

Level

<p align="center"><font face="ArTarumianMHarvats" size="15" color="#ba0101" letterSpacing="2.000000" kerning="1">000000</font></p>

Score

<p align="center"><font face="ArTarumianMHarvats" size="15" color="#ba0101" letterSpacing="2.000000" kerning="1">000000</font></p>

- for the real game -

game score :

Game Over

Congratulations

Level Up

<p align="center"><font face="LibertyD" size="25" color="#ffcc66" letterSpacing="2.000000" kerning="1">000000 </font></p>

level Score :

<p align="center"><font face="LibertyD" size="25" color="#ffcc66" letterSpacing="2.000000" kerning="1">000000 </font></p>

level  :

<p align="center"><font face="LibertyD" size="25" color="#ffcc66" letterSpacing="2.000000" kerning="1">000000 </font></p>

submit score

submit score

play again

play again

play more games

NEXT LEVEL

Instructions

back

Collect the targeted
number of WATCHES` in
order to complete all the
levels
successfully without
hitting the opponents.
Your life gets reduced
every time you collide with
the opponents or if
they shoot against you.
You would gain a score of
50 for each WATCH you
collect and a score of 100
for shooting each opponent.
Controls
Click your mouse to shoot
bullets.
By moving your mouse, Ben
10's movements can be
handled.
*************************

Game Over

Congratulations

Connecting, Please wait

Game Score

0

More Games

More GAmes

ActionScript [AS3]

Section 1
//bg_73 (FINALFILE_fla.bg_73) package FINALFILE_fla { import flash.display.*; public dynamic class bg_73 extends MovieClip { public function bg_73(){ addFrameScript(0, frame1); } function frame1(){ gotoAndStop(Var.lev_up); } } }//package FINALFILE_fla
Section 2
//chasepageotherhkghk_126 (FINALFILE_fla.chasepageotherhkghk_126) package FINALFILE_fla { import flash.display.*; public dynamic class chasepageotherhkghk_126 extends MovieClip { public function chasepageotherhkghk_126(){ addFrameScript(0, frame1); } function frame1(){ gotoAndStop(Var.game_stu); } } }//package FINALFILE_fla
Section 3
//jh_204 (FINALFILE_fla.jh_204) package FINALFILE_fla { import flash.display.*; public dynamic class jh_204 extends MovieClip { public var alloy2:MovieClip; } }//package FINALFILE_fla
Section 4
//MainTimeline (FINALFILE_fla.MainTimeline) package FINALFILE_fla { import flash.display.*; import flash.geom.*; import gs.*; import flash.events.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; import flash.system.*; import flash.media.*; import flash.text.*; import fl.containers.*; import flash.ui.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.xml.*; import gs.easing.*; public dynamic class MainTimeline extends MovieClip { public var sumbitBtn:SimpleButton; public var Stu:stuDis; public var poiSpeed:Number; public var eneCont:MovieClip; public var lev_sco_txt:TextField; public var bulet$:BuletS; public var Mute:Boolean; public var sco_txt:TextField; public var sc:ScrollPane; public var __setPropDict:Dictionary; public var sideEneme:Array; public var nextBtn:SimpleButton; public var j:int; public var k:int; public var m:int; public var n:int; public var o:Object; public var i:int; public var maxEneme:int; public var maxPoint:int; public var boardID:String; public var moregmbt:SimpleButton; public var boom$:BoomS; public var ben:MovieClip; public var tar_no:int; public var percentage:Number; public var poiCont:MovieClip; public var contestMenu:ContextMenu; public var logo_mc:SimpleButton; public var fire$:FireS; public var gmsctxtfinal:TextField; public var sound_mc:MovieClip; public var moreBtn:SimpleButton; public var frontEneme:Array; public var mouseSpr:Number; public var tar_txt:TextField; public var againBtn:SimpleButton; public var Time:Timer; public var total_txt:TextField; public var poi_txt:TextField; public var game_sco_txt:TextField; public var Points:Array; public var poiId:int; public var eneId:int; public var bullet:backscore; public var lif_no:int; public var lev_txt:TextField; public var bulCont:MovieClip; public var bulSpeed:int; public var poiDur:int; public var shootDur:int; public var preloadMc:MovieClip; public var eneDur:int; public var Bullets:Array; public var load_txt:TextField; public var eneCount:int; public var bulletChannel:SoundChannel; public var lif_txt:MovieClip; public var CongMc:MovieClip; public var contextmenuItem:ContextMenuItem; public var coin$:CoinS; public var Pause:Boolean; public var EBullets:Array; public var poi_no:int; public var rect:MovieClip; public var shoot$:ShootS; public var ins:MovieClip; public var downEneme:Array; public var backBtn:SimpleButton; public var ply:MovieClip; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } public function timerFun(_arg1:TimerEvent):void{ if (!Pause){ addPoint(); addEneme(); eneShoot(); }; } public function link(_arg1:MouseEvent){ var _local2:URLRequest; _local2 = new URLRequest("http://www.123chase.com"); navigateToURL(_local2, "_blank"); } public function moreFun(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.123chase.com"); navigateToURL(_local2, "_blank"); } public function enFun(_arg1:Event):void{ if (!Pause){ forBenMove(); forBullets(); forPoints(); forEneme(); forCheak(); }; } public function moregmbtfn(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.123chase.com"), "_blank"); } public function forEneme():void{ var _local1:Number; var _local2:Number; var _local3:Number; i = 0; while (i < frontEneme.length) { frontEneme[i].x = (frontEneme[i].x - (Var.bgSpeed / 1.5)); frontEneme[i].y = (frontEneme[i].y + ((ben.y - frontEneme[i].y) * 0.05)); if ((ben.x - frontEneme[i].x) < 0){ frontEneme[i].scaleX = 1; } else { frontEneme[i].scaleX = -1; }; if (frontEneme[i].x < -50){ frontEneme[i].parent.removeChild(DisplayObject(frontEneme[i])); frontEneme.splice(i, 1); eneCount--; }; i++; }; i = 0; while (i < sideEneme.length) { _local1 = (ben.x - sideEneme[i].x); _local2 = (ben.y - sideEneme[i].y); sideEneme[i].ang = Math.atan2(_local2, _local1); _local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); if (_local3 > 50){ sideEneme[i].x = (sideEneme[i].x + (Math.cos(sideEneme[i].ang) * 3)); sideEneme[i].y = (sideEneme[i].y + (Math.sin(sideEneme[i].ang) * 3)); }; i++; }; i = 0; while (i < downEneme.length) { downEneme[i].x = (downEneme[i].x - (Var.bgSpeed / 1.5)); if ((ben.x - downEneme[i].x) < 0){ downEneme[i].scaleX = 1; } else { downEneme[i].scaleX = -1; }; if (downEneme[i].x < -50){ downEneme[i].parent.removeChild(DisplayObject(downEneme[i])); downEneme.splice(i, 1); eneCount--; }; i++; }; } public function stopAll():void{ var pageFun:Function; pageFun = function ():void{ Mouse.show(); Stu.parent.removeChild(DisplayObject(Stu)); gotoAndStop("page"); }; if (bulletChannel){ bulletChannel.stop(); }; Time.removeEventListener(TimerEvent.TIMER, timerFun); Time.stop(); stage.removeEventListener(Event.ENTER_FRAME, enFun); stage.removeEventListener(MouseEvent.MOUSE_DOWN, downMouse); stage.addEventListener(KeyboardEvent.KEY_DOWN, downKey); Stu = new stuDis(); Stu.x = 330; Stu.y = 250; Stu.gotoAndStop(Var.game_stu); bulCont.addChild(DisplayObject(Stu)); setTimeout(pageFun, 1500); } public function plyFun(_arg1:MouseEvent):void{ Var.lev_up = 1; Var.lev_sco = 0; Var.game_sco = 0; gotoAndStop("game"); } public function frontPage(_arg1:MouseEvent):void{ gotoAndStop("front"); } function frame3(){ MochiBot.track(this, "d6458caf"); stop(); Mouse.hide(); Var.lev_sco = 0; Var.game_stu = ""; Pause = false; poi_no = 0; tar_no = (15 + (6 * Var.lev_up)); eneCount = 0; lif_no = lif_txt.txt.totalFrames; Time = new Timer(800); Bullets = new Array(); Points = new Array(); frontEneme = new Array(); downEneme = new Array(); sideEneme = new Array(); EBullets = new Array(); mouseSpr = 0.18; Var.bgSpeed = 8; bulSpeed = 15; maxPoint = 5; maxEneme = 2; poiSpeed = (Var.bgSpeed / 2.3); shootDur = 3; poiDur = 2; poiId = poiDur; eneDur = 5; eneId = eneDur; tar_txt.text = tar_no.toString(); poi_txt.text = poi_no.toString(); lev_txt.text = Var.lev_up.toString(); sco_txt.text = Var.lev_sco.toString(); lif_txt.txt.gotoAndStop(lif_no); Time.addEventListener(TimerEvent.TIMER, timerFun); Time.start(); stage.addEventListener(Event.ENTER_FRAME, enFun); stage.addEventListener(MouseEvent.MOUSE_DOWN, downMouse); stage.addEventListener(KeyboardEvent.KEY_DOWN, downKey); Mute = false; boom$ = new BoomS(); shoot$ = new ShootS(); bulet$ = new BuletS(); fire$ = new FireS(); coin$ = new CoinS(); bullet = new backscore(); bulletChannel = bullet.play(0, int.MAX_VALUE); sound_mc.addEventListener(MouseEvent.CLICK, Sounds); logo_mc.addEventListener(MouseEvent.CLICK, link); sound_mc.addEventListener(MouseEvent.MOUSE_OVER, showMouse); sound_mc.addEventListener(MouseEvent.MOUSE_OUT, hideMouse); logo_mc.addEventListener(MouseEvent.MOUSE_OVER, showMouse); logo_mc.addEventListener(MouseEvent.MOUSE_OUT, hideMouse); } function frame4(){ stop(); lev_txt.text = Var.lev_up.toString(); lev_sco_txt.text = Var.lev_sco.toString(); game_sco_txt.text = (Var.lev_sco + Var.game_sco).toString(); if (Var.game_stu == "Next"){ nextBtn.visible = true; moreBtn.visible = false; sumbitBtn.visible = false; againBtn.visible = false; } else { nextBtn.visible = false; moreBtn.visible = true; sumbitBtn.visible = true; againBtn.visible = true; }; againBtn.addEventListener(MouseEvent.CLICK, againFun); moreBtn.addEventListener(MouseEvent.CLICK, moreFun); sumbitBtn.addEventListener(MouseEvent.CLICK, sumbitFun); nextBtn.addEventListener(MouseEvent.CLICK, nextFun); } function frame5(){ if ((((__setPropDict[sc] == undefined)) || (!((int(__setPropDict[sc]) == 5))))){ __setPropDict[sc] = currentFrame; __setProp_sc_Scene1_point_5(); }; sc.source = rect; backBtn.addEventListener(MouseEvent.CLICK, frontPage); } function frame1(){ stop(); preloadMc.logoload.addEventListener(MouseEvent.CLICK, logofnload); MochiServices.connect("f36fe719f44ff305", root); contestMenu = new ContextMenu(); contestMenu.hideBuiltInItems(); contextmenuItem = new ContextMenuItem("www.123chase.com"); contextmenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, Site); contestMenu.customItems.push(contextmenuItem); this.contextMenu = contestMenu; percentage = 0; total_txt.text = (String(100) + "%"); stage.addEventListener(Event.ENTER_FRAME, BeeMoving); } function frame2(){ stop(); ply.addEventListener(MouseEvent.CLICK, plyFun); ins.addEventListener(MouseEvent.CLICK, insFun); ply.buttonMode = true; ins.buttonMode = true; } public function downKey(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 32){ Pause = !(Pause); if (Pause){ soundOff(); Stu = new stuDis(); Stu.x = 330; Stu.y = 250; Stu.gotoAndStop("pause"); bulCont.addChild(DisplayObject(Stu)); Mouse.show(); } else { if (Stu){ soundOn(); Mouse.hide(); bulCont.removeChild(DisplayObject(Stu)); }; }; }; } public function hideMouse(_arg1:MouseEvent):void{ Mouse.hide(); } public function forBullets():void{ var _local1:Fire; i = 0; while (i < Bullets.length) { Bullets[i].x = (Bullets[i].x + Bullets[i].vx); Bullets[i].y = (Bullets[i].y + Bullets[i].vy); if ((((((((Bullets[i].x < 0)) || ((Bullets[i].y < 0)))) || ((Bullets[i].x > 660)))) || ((Bullets.y > 495)))){ Bullets[i].parent.removeChild(DisplayObject(Bullets[i])); Bullets.splice(i, 1); break; } else { j = 0; while (j < frontEneme.length) { if (HitTest.complexHitTestObject(Bullets[i], frontEneme[j], 1)){ addBoom(frontEneme[j].x, frontEneme[j].y); Bullets[i].parent.removeChild(DisplayObject(Bullets[i])); Bullets.splice(i, 1); frontEneme[j].parent.removeChild(DisplayObject(frontEneme[j])); frontEneme.splice(j, 1); eneCount--; }; j++; }; j = 0; while (j < sideEneme.length) { if (HitTest.complexHitTestObject(Bullets[i], sideEneme[j], 1)){ addBoom(sideEneme[j].x, sideEneme[j].y); Bullets[i].parent.removeChild(DisplayObject(Bullets[i])); Bullets.splice(i, 1); sideEneme[j].parent.removeChild(DisplayObject(sideEneme[j])); sideEneme.splice(j, 1); eneCount--; }; j++; }; j = 0; while (j < downEneme.length) { if (HitTest.complexHitTestObject(Bullets[i], downEneme[j], 1)){ addBoom(downEneme[j].x, downEneme[j].y); Bullets[i].parent.removeChild(DisplayObject(Bullets[i])); Bullets.splice(i, 1); downEneme[j].parent.removeChild(DisplayObject(downEneme[j])); downEneme.splice(j, 1); eneCount--; }; j++; }; }; i++; }; i = 0; while (i < EBullets.length) { EBullets[i].x = (EBullets[i].x + EBullets[i].vx); EBullets[i].y = (EBullets[i].y + EBullets[i].vy); if ((((((((EBullets[i].x < 0)) || ((EBullets[i].y < 0)))) || ((EBullets[i].x > 660)))) || ((EBullets.y > 495)))){ EBullets[i].parent.removeChild(DisplayObject(EBullets[i])); EBullets.splice(i, 1); break; } else { if (HitTest.complexHitTestObject(EBullets[i], ben, 1)){ _local1 = new Fire(); _local1.x = EBullets[i].x; _local1.y = EBullets[i].y; bulCont.addChild(DisplayObject(_local1)); if (!Mute){ fire$.play(0, 1); }; lif_no--; lif_txt.txt.gotoAndStop(lif_no); EBullets[i].parent.removeChild(DisplayObject(EBullets[i])); EBullets.splice(i, 1); break; }; }; i++; }; } public function hideObj(_arg1:MovieClip):void{ poi_no++; Var.lev_sco = (Var.lev_sco + 50); poi_txt.text = poi_no.toString(); sco_txt.text = Var.lev_sco.toString(); _arg1.parent.removeChild(DisplayObject(_arg1)); } public function insFun(_arg1:MouseEvent):void{ gotoAndStop("help"); } public function eneShoot():void{ m = 0; while (m < frontEneme.length) { frontEneme[m].shoId--; if (frontEneme[m].shoId < 0){ eneShootFun(frontEneme[m]); }; m++; }; m = 0; while (m < sideEneme.length) { sideEneme[m].shoId--; if (sideEneme[m].shoId < 0){ eneShootFun(sideEneme[m]); }; m++; }; m = 0; while (m < downEneme.length) { downEneme[m].shoId--; if (downEneme[m].shoId < 0){ eneShootFun(downEneme[m]); }; m++; }; } function frame6(){ stop(); gmsctxtfinal.selectable = false; gmsctxtfinal.text = (Var.game_sco + Var.lev_sco).toString(); moregmbt.addEventListener(MouseEvent.CLICK, moregmbtfn); o = {n:[12, 12, 9, 4, 10, 15, 10, 8, 10, 0, 9, 1, 1, 9, 4, 5], f:function (_arg1:Number, _arg2:String):String{ if (_arg2.length == 16){ return (_arg2); }; return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:(Var.game_sco + Var.lev_sco).toString()}); } public function logofnload(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.123chase.com"), "_blank"); } public function forPoints():void{ i = 0; while (i < Points.length) { Points[i].x = (Points[i].x - poiSpeed); Ani(Points[i]); if (Points[i].x < 0){ Points[i].parent.removeChild(DisplayObject(Points[i])); Points.splice(i, 1); } else { if (HitTest.complexHitTestObject(ben, Points[i], 1)){ if (!Mute){ coin$.play(0, 1); }; TweenLite.to(Points[i], 0.5, {x:poi_txt.x, y:poi_txt.y, onComplete:hideObj, onCompleteParams:[Points[i]]}); Points.splice(i, 1); }; }; i++; }; } public function downMouse(_arg1:MouseEvent):void{ var _local2:MovieClip; if (!Pause){ if (!Mute){ bulet$.play(0, 1); }; _local2 = new Bulet(); _local2.x = (ben.x + (10 * ben.scaleY)); _local2.y = ben.y; _local2.vx = (Math.cos(ben.ang) * bulSpeed); _local2.vy = (Math.sin(ben.ang) * bulSpeed); _local2.gotoAndStop("ben"); bulCont.addChild(DisplayObject(_local2)); Bullets.push(_local2); }; } public function addBoom(_arg1:Number, _arg2:Number):void{ var _local3:Boom; _local3 = new Boom(); _local3.x = _arg1; _local3.y = _arg2; bulCont.addChild(DisplayObject(_local3)); if (!Mute){ boom$.play(0, 1); }; Var.lev_sco = (Var.lev_sco + 100); sco_txt.text = Var.lev_sco.toString(); } public function sumbitFun(_arg1:MouseEvent):void{ gotoAndStop("Sumbit"); } public function BeeMoving(_arg1:Event):void{ var _local2:Number; var _local3:Number; _local2 = loaderInfo.bytesLoaded; _local3 = loaderInfo.bytesTotal; percentage = Math.round(((_local2 / _local3) * 100)); load_txt.text = (String(percentage) + "%"); preloadMc.preloadCar.gotoAndStop((percentage * 3)); if (_local2 == _local3){ nextFrame(); stage.removeEventListener(Event.ENTER_FRAME, BeeMoving); }; } public function addEneme():void{ var _local1:MovieClip; var _local2:int; eneId--; if ((((eneId < 0)) && ((eneCount < maxEneme)))){ eneId = eneDur; _local1 = new Eneme(); _local2 = (Var.lev_up * 2); _local1.shoId = shootDur; _local1.gotoAndStop((Math.round((Math.random() * (_local2 - 1))) + 1)); switch (_local1.currentLabel){ case "front": _local1.x = 720; _local1.y = ((Math.random() * 300) + 25); frontEneme.push(_local1); break; case "side": _local1.x = ((Math.random() * 400) + 200); _local1.y = (Math.random() * -200); sideEneme.push(_local1); break; case "down": _local1.x = 720; _local1.y = 425; downEneme.push(_local1); break; }; eneCount++; eneCont.addChild(DisplayObject(_local1)); }; } public function soundOn(){ bulletChannel = bullet.play(0, int.MAX_VALUE); sound_mc.gotoAndStop("on"); Mute = false; } public function Sounds(_arg1:MouseEvent):void{ if (sound_mc.currentLabel == "on"){ soundOff(); } else { soundOn(); }; } public function Site(_arg1:Event):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.123chase.com"); navigateToURL(_local2, "_blank"); } public function addPoint():void{ var _local1:MovieClip; poiId--; if ((((poiId < 0)) && ((Points.length < maxPoint)))){ poiId = poiDur; _local1 = new PointMc(); _local1.x = 720; _local1.y = ((Math.random() * 300) + 25); _local1.ax = 0.1; _local1.ay = 0.1; Points.push(_local1); poiCont.addChild(DisplayObject(_local1)); }; } function __setProp_sc_Scene1_point_5(){ try { sc["componentInspectorSetting"] = true; } catch(e:Error) { }; sc.enabled = true; sc.horizontalLineScrollSize = 4; sc.horizontalPageScrollSize = 0; sc.horizontalScrollPolicy = "off"; sc.scrollDrag = false; sc.source = ""; sc.verticalLineScrollSize = 4; sc.verticalPageScrollSize = 0; sc.verticalScrollPolicy = "auto"; sc.visible = true; try { sc["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function forCheak():void{ if (poi_no > tar_no){ if (Var.lev_up < 4){ Var.game_stu = "Next"; } else { Var.game_stu = "Cong"; }; stopAll(); } else { if (lif_no < 1){ Var.game_stu = "Over"; stopAll(); }; }; } public function nextFun(_arg1:MouseEvent):void{ Var.lev_up++; Var.game_sco = (Var.game_sco + Var.lev_sco); gotoAndStop("game"); } public function showMouse(_arg1:MouseEvent):void{ Mouse.show(); } public function Ani(_arg1:MovieClip):void{ var _local2:*; _local2 = _arg1.getChildAt(0); _local2.x = (0 + (Math.cos(_arg1.ax) * 80)); _local2.y = (0 + (Math.sin(_arg1.ay) * 40)); _arg1.ax = (_arg1.ax + 0.01); _arg1.ay = (_arg1.ay + 0.05); } public function soundOff(){ if (bulletChannel){ bulletChannel.stop(); }; sound_mc.gotoAndStop("off"); Mute = true; } public function forBenMove():void{ var dx:Number; var dy:Number; dx = (mouseX - ben.x); dy = (mouseY - ben.y); ben.ang = Math.atan2(dy, dx); var _local2 = ben; with (_local2) { x = (x + (dx * mouseSpr)); y = (y + (dy * mouseSpr)); rotation = ((ben.ang * 180) / Math.PI); if (dx < 0){ scaleY = -1; } else { scaleY = 1; }; if (y > 330){ y = 330; } else { if (y < 30){ y = 30; }; }; }; } public function eneShootFun(_arg1:MovieClip):void{ var _local2:MovieClip; var _local3:Number; if (((((((((_arg1.x + _arg1.width) > 0)) && (((_arg1.x - (_arg1.width / 2)) < 660)))) && (((_arg1.y + (_arg1.height / 2)) > 0)))) && (((_arg1.y + (_arg1.height / 2)) < 495)))){ _local2 = new Bulet(); switch (_arg1.currentLabel){ case "front": _local2.x = (_arg1.x - ((_arg1.width / 2) * _arg1.scaleX)); _local2.y = _arg1.y; _local2.vx = (-((bulSpeed * 0.7)) * _arg1.scaleX); _local2.vy = 0; break; case "side": _local2.x = (_arg1.x + (Math.cos(_arg1.ang) * (_arg1.width / 2))); _local2.y = (_arg1.y + (Math.sin(_arg1.ang) * (_arg1.height / 2))); _local2.vx = (Math.cos(_arg1.ang) * (bulSpeed * 0.7)); _local2.vy = (Math.sin(_arg1.ang) * (bulSpeed * 0.7)); break; case "down": _local2.x = (_arg1.x - ((_arg1.width / 2) * _arg1.scaleX)); _local2.y = (_arg1.y - (_arg1.height / 2)); _local3 = Math.atan2((ben.y - _arg1.y), (ben.x - _arg1.x)); _local2.vx = (Math.cos(_local3) * (bulSpeed * 0.7)); _local2.vy = (Math.sin(_local3) * (bulSpeed * 0.7)); break; }; _local2.gotoAndStop("ene"); EBullets.push(_local2); bulCont.addChild(DisplayObject(_local2)); if (!Mute){ shoot$.play(0, 1); }; }; } public function againFun(_arg1:MouseEvent):void{ if (Var.game_stu == "Over"){ gotoAndStop("game"); } else { if (Var.game_stu == "Cong"){ gotoAndStop("front"); }; }; } } }//package FINALFILE_fla
Section 5
//preload__23 (FINALFILE_fla.preload__23) package FINALFILE_fla { import flash.display.*; public dynamic class preload__23 extends MovieClip { public function preload__23(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package FINALFILE_fla
Section 6
//preload_preloadMc_1 (FINALFILE_fla.preload_preloadMc_1) package FINALFILE_fla { import flash.display.*; public dynamic class preload_preloadMc_1 extends MovieClip { public var preloadCar:MovieClip; public var logoload:SimpleButton; } }//package FINALFILE_fla
Section 7
//Symbol11_218 (FINALFILE_fla.Symbol11_218) package FINALFILE_fla { import flash.display.*; public dynamic class Symbol11_218 extends MovieClip { public function Symbol11_218(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package FINALFILE_fla
Section 8
//Symbol13_213 (FINALFILE_fla.Symbol13_213) package FINALFILE_fla { import flash.display.*; public dynamic class Symbol13_213 extends MovieClip { public function Symbol13_213(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package FINALFILE_fla
Section 9
//Symbol15_216 (FINALFILE_fla.Symbol15_216) package FINALFILE_fla { import flash.display.*; public dynamic class Symbol15_216 extends MovieClip { public function Symbol15_216(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package FINALFILE_fla
Section 10
//Symbol2_100 (FINALFILE_fla.Symbol2_100) package FINALFILE_fla { import flash.display.*; public dynamic class Symbol2_100 extends MovieClip { public var sndon:SimpleButton; public var sndoff:SimpleButton; public function Symbol2_100(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package FINALFILE_fla
Section 11
//tank_201 (FINALFILE_fla.tank_201) package FINALFILE_fla { import flash.display.*; public dynamic class tank_201 extends MovieClip { public var wheel2:MovieClip; } }//package FINALFILE_fla
Section 12
//Timeline_96 (FINALFILE_fla.Timeline_96) package FINALFILE_fla { import flash.display.*; public dynamic class Timeline_96 extends MovieClip { public var gradientMask:MovieClip; public var txt:MovieClip; } }//package FINALFILE_fla
Section 13
//Timeline_97 (FINALFILE_fla.Timeline_97) package FINALFILE_fla { import flash.display.*; public dynamic class Timeline_97 extends MovieClip { public function Timeline_97(){ addFrameScript(11, frame12); } function frame12(){ stop(); } } }//package FINALFILE_fla
Section 14
//ytrgj_165 (FINALFILE_fla.ytrgj_165) package FINALFILE_fla { import flash.display.*; public dynamic class ytrgj_165 extends MovieClip { public function ytrgj_165(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package FINALFILE_fla
Section 15
//BaseScrollPane (fl.containers.BaseScrollPane) package fl.containers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.geom.*; import flash.events.*; import fl.events.*; public class BaseScrollPane extends UIComponent { protected var defaultLineScrollSize:Number;// = 4 protected var _maxHorizontalScrollPosition:Number;// = 0 protected var vScrollBar:Boolean; protected var disabledOverlay:Shape; protected var hScrollBar:Boolean; protected var availableWidth:Number; protected var _verticalPageScrollSize:Number;// = 0 protected var vOffset:Number;// = 0 protected var _verticalScrollBar:ScrollBar; protected var useFixedHorizontalScrolling:Boolean;// = false protected var contentWidth:Number;// = 0 protected var contentHeight:Number;// = 0 protected var _horizontalPageScrollSize:Number;// = 0 protected var background:DisplayObject; protected var _useBitmpScrolling:Boolean;// = false protected var contentPadding:Number;// = 0 protected var availableHeight:Number; protected var _horizontalScrollBar:ScrollBar; protected var contentScrollRect:Rectangle; protected var _horizontalScrollPolicy:String; protected var _verticalScrollPolicy:String; protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5}; public function BaseScrollPane(){ contentWidth = 0; contentHeight = 0; contentPadding = 0; vOffset = 0; _maxHorizontalScrollPosition = 0; _horizontalPageScrollSize = 0; _verticalPageScrollSize = 0; defaultLineScrollSize = 4; useFixedHorizontalScrolling = false; _useBitmpScrolling = false; super(); } protected function handleWheel(_arg1:MouseEvent):void{ if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){ return; }; _verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize)); setVerticalScrollPosition(_verticalScrollBar.scrollPosition); dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition)); } public function get verticalScrollPosition():Number{ return (_verticalScrollBar.scrollPosition); } protected function drawDisabledOverlay():void{ if (enabled){ if (contains(disabledOverlay)){ removeChild(disabledOverlay); }; } else { disabledOverlay.x = (disabledOverlay.y = contentPadding); disabledOverlay.width = availableWidth; disabledOverlay.height = availableHeight; disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number); addChild(disabledOverlay); }; } public function set verticalScrollPosition(_arg1:Number):void{ drawNow(); _verticalScrollBar.scrollPosition = _arg1; setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); } protected function setContentSize(_arg1:Number, _arg2:Number):void{ if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){ return; }; contentWidth = _arg1; contentHeight = _arg2; invalidate(InvalidationType.SIZE); } public function get horizontalScrollPosition():Number{ return (_horizontalScrollBar.scrollPosition); } public function get horizontalScrollBar():ScrollBar{ return (_horizontalScrollBar); } override public function set enabled(_arg1:Boolean):void{ if (enabled == _arg1){ return; }; _verticalScrollBar.enabled = _arg1; _horizontalScrollBar.enabled = _arg1; super.enabled = _arg1; } public function get verticalLineScrollSize():Number{ return (_verticalScrollBar.lineScrollSize); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } protected function calculateAvailableSize():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = ScrollBar.WIDTH; _local2 = (contentPadding = Number(getStyleValue("contentPadding"))); _local3 = ((height - (2 * _local2)) - vOffset); vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3))))); _local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2)); _local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4); hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0))))); if (hScrollBar){ _local3 = (_local3 - _local1); }; if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){ vScrollBar = true; _local4 = (_local4 - _local1); }; availableHeight = (_local3 + vOffset); availableWidth = _local4; } public function get maxVerticalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentHeight - availableHeight))); } public function set horizontalScrollPosition(_arg1:Number):void{ drawNow(); _horizontalScrollBar.scrollPosition = _arg1; setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); } public function get horizontalLineScrollSize():Number{ return (_horizontalScrollBar.lineScrollSize); } public function set verticalPageScrollSize(_arg1:Number):void{ _verticalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function get useBitmapScrolling():Boolean{ return (_useBitmpScrolling); } protected function handleScroll(_arg1:ScrollEvent):void{ if (_arg1.target == _verticalScrollBar){ setVerticalScrollPosition(_arg1.position); } else { setHorizontalScrollPosition(_arg1.position); }; } public function set verticalLineScrollSize(_arg1:Number):void{ _verticalScrollBar.lineScrollSize = _arg1; } public function get verticalScrollBar():ScrollBar{ return (_verticalScrollBar); } protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function set horizontalPageScrollSize(_arg1:Number):void{ _horizontalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ setStyles(); drawBackground(); if (contentPadding != getStyleValue("contentPadding")){ invalidate(InvalidationType.SIZE, false); }; }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){ drawLayout(); }; updateChildren(); super.draw(); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } override protected function configUI():void{ var _local1:Graphics; super.configUI(); contentScrollRect = new Rectangle(0, 0, 85, 85); _verticalScrollBar = new ScrollBar(); _verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _verticalScrollBar.visible = false; _verticalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_verticalScrollBar); copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); _horizontalScrollBar = new ScrollBar(); _horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL; _horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _horizontalScrollBar.visible = false; _horizontalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_horizontalScrollBar); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); disabledOverlay = new Shape(); _local1 = disabledOverlay.graphics; _local1.beginFill(0xFFFFFF); _local1.drawRect(0, 0, width, height); _local1.endFill(); addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true); } protected function calculateContentWidth():void{ } public function get verticalPageScrollSize():Number{ if (isNaN(availableHeight)){ drawNow(); }; return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize); } protected function drawLayout():void{ calculateAvailableSize(); calculateContentWidth(); background.width = width; background.height = height; if (vScrollBar){ _verticalScrollBar.visible = true; _verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding); _verticalScrollBar.y = contentPadding; _verticalScrollBar.height = availableHeight; } else { _verticalScrollBar.visible = false; }; _verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize); setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); if (hScrollBar){ _horizontalScrollBar.visible = true; _horizontalScrollBar.x = contentPadding; _horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding); _horizontalScrollBar.width = availableWidth; } else { _horizontalScrollBar.visible = false; }; _horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize); setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); drawDisabledOverlay(); } protected function drawBackground():void{ var _local1:DisplayObject; _local1 = background; background = getDisplayObjectInstance(getStyleValue("skin")); background.width = width; background.height = height; addChildAt(background, 0); if (((!((_local1 == null))) && (!((_local1 == background))))){ removeChild(_local1); }; } public function set horizontalLineScrollSize(_arg1:Number):void{ _horizontalScrollBar.lineScrollSize = _arg1; } public function get horizontalPageScrollSize():Number{ if (isNaN(availableWidth)){ drawNow(); }; return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize); } public function get maxHorizontalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentWidth - availableWidth))); } protected function setStyles():void{ copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); } protected function updateChildren():void{ _verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled); _verticalScrollBar.drawNow(); _horizontalScrollBar.drawNow(); } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } public function set useBitmapScrolling(_arg1:Boolean):void{ _useBitmpScrolling = _arg1; invalidate(InvalidationType.STATE); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.containers
Section 16
//ScrollPane (fl.containers.ScrollPane) package fl.containers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.net.*; import flash.system.*; import flash.ui.*; public class ScrollPane extends BaseScrollPane implements IFocusManagerComponent { protected var scrollDragHPos:Number; protected var loader:Loader; protected var yOffset:Number; protected var currentContent:Object; protected var xOffset:Number; protected var _source:Object;// = "" protected var scrollDragVPos:Number; protected var _scrollDrag:Boolean;// = false protected var contentClip:Sprite; private static var defaultStyles:Object = {upSkin:"ScrollPane_upSkin", disabledSkin:"ScrollPane_disabledSkin", focusRectSkin:null, focusRectPadding:null, contentPadding:0}; public function ScrollPane(){ _source = ""; _scrollDrag = false; super(); } public function get source():Object{ return (_source); } public function set source(_arg1:Object):void{ var _local2:*; clearContent(); if (isLivePreview){ return; }; _source = _arg1; if ((((_source == "")) || ((_source == null)))){ return; }; currentContent = getDisplayObjectInstance(_arg1); if (currentContent != null){ _local2 = contentClip.addChild((currentContent as DisplayObject)); dispatchEvent(new Event(Event.INIT)); update(); } else { load(new URLRequest(_source.toString())); }; } public function get bytesLoaded():Number{ return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesLoaded); } protected function doDrag(_arg1:MouseEvent):void{ var _local2:*; var _local3:*; _local2 = (scrollDragVPos - (mouseY - yOffset)); _verticalScrollBar.setScrollPosition(_local2); setVerticalScrollPosition(_verticalScrollBar.scrollPosition, true); _local3 = (scrollDragHPos - (mouseX - xOffset)); _horizontalScrollBar.setScrollPosition(_local3); setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, true); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = calculateAvailableHeight(); switch (_arg1.keyCode){ case Keyboard.DOWN: verticalScrollPosition++; break; case Keyboard.UP: verticalScrollPosition--; break; case Keyboard.RIGHT: horizontalScrollPosition++; break; case Keyboard.LEFT: horizontalScrollPosition--; break; case Keyboard.END: verticalScrollPosition = maxVerticalScrollPosition; break; case Keyboard.HOME: verticalScrollPosition = 0; break; case Keyboard.PAGE_UP: verticalScrollPosition = (verticalScrollPosition - _local2); break; case Keyboard.PAGE_DOWN: verticalScrollPosition = (verticalScrollPosition + _local2); break; }; } protected function doStartDrag(_arg1:MouseEvent):void{ if (!enabled){ return; }; xOffset = mouseX; yOffset = mouseY; scrollDragHPos = horizontalScrollPosition; scrollDragVPos = verticalScrollPosition; stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true); } public function get content():DisplayObject{ var _local1:Object; _local1 = currentContent; if ((_local1 is URLRequest)){ _local1 = loader.content; }; return ((_local1 as DisplayObject)); } public function get percentLoaded():Number{ if (loader != null){ return (Math.round(((bytesLoaded / bytesTotal) * 100))); }; return (0); } protected function endDrag(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag); } public function update():void{ var _local1:DisplayObject; _local1 = contentClip.getChildAt(0); setContentSize(_local1.width, _local1.height); } override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:*; _local3 = contentClip.scrollRect; _local3.x = _arg1; contentClip.scrollRect = _local3; } public function refreshPane():void{ if ((_source is URLRequest)){ _source = _source.url; }; source = _source; } protected function passEvent(_arg1:Event):void{ dispatchEvent(_arg1); } protected function calculateAvailableHeight():Number{ var _local1:Number; _local1 = Number(getStyleValue("contentPadding")); return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0)); } public function load(_arg1:URLRequest, _arg2:LoaderContext=null):void{ if (_arg2 == null){ _arg2 = new LoaderContext(false, ApplicationDomain.currentDomain); }; clearContent(); initLoader(); currentContent = (_source = _arg1); loader.load(_arg1, _arg2); } override protected function handleScroll(_arg1:ScrollEvent):void{ passEvent(_arg1); super.handleScroll(_arg1); } override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:*; _local3 = contentClip.scrollRect; _local3.y = _arg1; contentClip.scrollRect = _local3; } protected function initLoader():void{ loader = new Loader(); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, passEvent, false, 0, true); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onContentLoad, false, 0, true); loader.contentLoaderInfo.addEventListener(Event.INIT, passEvent, false, 0, true); contentClip.addChild(loader); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ drawBackground(); }; if (isInvalid(InvalidationType.STATE)){ setScrollDrag(); }; super.draw(); } override protected function configUI():void{ super.configUI(); contentClip = new Sprite(); addChild(contentClip); contentClip.scrollRect = contentScrollRect; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; } public function set scrollDrag(_arg1:Boolean):void{ _scrollDrag = _arg1; invalidate(InvalidationType.STATE); } protected function clearContent():void{ if (contentClip.numChildren == 0){ return; }; contentClip.removeChildAt(0); currentContent = null; if (loader != null){ try { loader.close(); } catch(e) { }; try { loader.unload(); } catch(e) { }; loader = null; }; } override protected function drawLayout():void{ super.drawLayout(); contentScrollRect = contentClip.scrollRect; contentScrollRect.width = availableWidth; contentScrollRect.height = availableHeight; contentClip.cacheAsBitmap = useBitmapScrolling; contentClip.scrollRect = contentScrollRect; contentClip.x = (contentClip.y = contentPadding); } override protected function drawBackground():void{ var _local1:DisplayObject; _local1 = background; background = getDisplayObjectInstance(getStyleValue((enabled) ? "upSkin" : "disabledSkin")); background.width = width; background.height = height; addChildAt(background, 0); if (((!((_local1 == null))) && (!((_local1 == background))))){ removeChild(_local1); }; } public function get bytesTotal():Number{ return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesTotal); } protected function onContentLoad(_arg1:Event):void{ var _local2:*; update(); _local2 = calculateAvailableHeight(); calculateAvailableSize(); horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), availableWidth); verticalScrollBar.setScrollProperties(_local2, 0, (contentHeight - _local2), _local2); passEvent(_arg1); } public function get scrollDrag():Boolean{ return (_scrollDrag); } protected function setScrollDrag():void{ if (_scrollDrag){ contentClip.addEventListener(MouseEvent.MOUSE_DOWN, doStartDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true); } else { contentClip.removeEventListener(MouseEvent.MOUSE_DOWN, doStartDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag); removeEventListener(MouseEvent.MOUSE_MOVE, doDrag); }; contentClip.buttonMode = _scrollDrag; } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition())); } } }//package fl.containers
Section 17
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import flash.utils.*; import fl.events.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var unlockedMouseState:String; protected var pressTimer:Timer; protected var mouseState:String; protected var background:DisplayObject; private var _mouseStateLocked:Boolean;// = false protected var _autoRepeat:Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false; _autoRepeat = false; _mouseStateLocked = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; setupMouseEvents(); setMouseState("up"); pressTimer = new Timer(1, 0); pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{ pressTimer.reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ _mouseStateLocked = _arg1; if (_arg1 == false){ setMouseState(unlockedMouseState); } else { unlockedMouseState = mouseState; }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (_mouseStateLocked){ unlockedMouseState = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if (_autoRepeat){ pressTimer.delay = Number(getStyleValue("repeatDelay")); pressTimer.start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (!_autoRepeat){ endPress(); return; }; if (pressTimer.currentCount == 1){ pressTimer.delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function setupMouseEvents():void{ addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 18
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var emphasizedBorder:DisplayObject; protected var _emphasized:Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){ _emphasized = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(_emphasized)))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ drawEmphasized(); }; super.draw(); if (emphasizedBorder != null){ setChildIndex(emphasizedBorder, (numChildren - 1)); }; } public function get emphasized():Boolean{ return (_emphasized); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function drawEmphasized():void{ var _local1:Object; var _local2:Number; if (emphasizedBorder != null){ removeChild(emphasizedBorder); }; emphasizedBorder = null; if (!_emphasized){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){ emphasizedBorder = getDisplayObjectInstance(_local1); }; if (emphasizedBorder != null){ addChildAt(emphasizedBorder, 0); _local2 = Number(getStyleValue("emphasizedPadding")); emphasizedBorder.x = (emphasizedBorder.y = -(_local2)); emphasizedBorder.width = (width + (_local2 * 2)); emphasizedBorder.height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 19
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 20
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var _toggle:Boolean;// = false protected var icon:DisplayObject; protected var oldMouseState:String; protected var mode:String;// = "center" public var textField:TextField; protected var _label:String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT; _toggle = false; _label = "Label"; mode = "center"; super(); } protected function toggleSelected(_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (oldMouseState == null){ oldMouseState = mouseState; }; setMouseState("down"); startPress(); }; } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState(oldMouseState); oldMouseState = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return ((_toggle) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; _toggle = _arg1; if (_toggle){ addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true); } else { removeEventListener(MouseEvent.CLICK, toggleSelected); }; invalidate(InvalidationType.STATE); } public function get label():String{ return (_label); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if (_toggle){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text != _label){ label = _label; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); drawIcon(); drawTextFormat(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return (_toggle); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function drawIcon():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ _label = _arg1; if (textField.text != _label){ textField.text = _label; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 21
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import fl.core.*; import flash.events.*; import fl.events.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" protected var inDrag:Boolean;// = false protected var upArrow:BaseButton; private var _pageScrollSize:Number;// = 0 protected var downArrow:BaseButton; private var _pageSize:Number;// = 10 private var thumbScrollOffset:Number; private var _maxScrollPosition:Number;// = 0 private var _scrollPosition:Number;// = 0 protected var track:BaseButton; private var _minScrollPosition:Number;// = 0 private var _lineScrollSize:Number;// = 1 protected var thumb:LabelButton; protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){ _pageSize = 10; _pageScrollSize = 0; _lineScrollSize = 1; _minScrollPosition = 0; _maxScrollPosition = 0; _scrollPosition = 0; _direction = ScrollBarDirection.VERTICAL; inDrag = false; super(); setStyles(); focusEnabled = false; } public function get minScrollPosition():Number{ return (_minScrollPosition); } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _arg1, _maxScrollPosition); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number; _local3 = scrollPosition; _scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1)); if (_local3 == _scrollPosition){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition)); }; updateThumb(); } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } public function get pageScrollSize():Number{ return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize); } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){ _pageSize = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1; _minScrollPosition = _arg2; _maxScrollPosition = _arg3; if (_arg4 >= 0){ _pageScrollSize = _arg4; }; enabled = (_maxScrollPosition > _minScrollPosition); setScrollPosition(_scrollPosition, false); updateThumb(); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition)))))); updateThumb(); } protected function updateThumb():void{ var _local1:Number; _local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize); if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){ thumb.height = 12; thumb.visible = false; } else { thumb.height = Math.max(13, ((_pageSize / _local1) * track.height)); thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition)))); thumb.visible = enabled; }; } protected function thumbPressHandler(_arg1:MouseEvent):void{ inDrag = true; thumbScrollOffset = (mouseY - thumb.y); thumb.mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true); } protected function thumbReleaseHandler(_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true; thumb.mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){ _pageScrollSize = _arg1; }; } protected function handleThumbDrag(_arg1:MouseEvent):void{ var _local2:Number; _local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset))); setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition)); } public function set direction(_arg1:String):void{ var _local2:Boolean; if (_direction == _arg1){ return; }; _direction = _arg1; if (isLivePreview){ return; }; setScaleY(1); _local2 = (_direction == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){ _lineScrollSize = _arg1; }; } override public function get height():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } protected function scrollPressHandler(_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget == upArrow){ setScrollPosition((_scrollPosition - _lineScrollSize)); } else { if (_arg1.currentTarget == downArrow){ setScrollPosition((_scrollPosition + _lineScrollSize)); } else { _local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if (_scrollPosition < _local2){ setScrollPosition(Math.min(_local2, (_scrollPosition + _local3))); } else { if (_scrollPosition > _local2){ setScrollPosition(Math.max(_local2, (_scrollPosition - _local3))); }; }; }; }; } public function get pageSize():Number{ return (_pageSize); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _minScrollPosition, _arg1); } public function get scrollPosition():Number{ return (_scrollPosition); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height; downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height))); track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height)))); updateThumb(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ setStyles(); }; downArrow.drawNow(); upArrow.drawNow(); track.drawNow(); thumb.drawNow(); validate(); } override protected function configUI():void{ super.configUI(); track = new BaseButton(); track.move(0, 14); track.useHandCursor = false; track.autoRepeat = true; track.focusEnabled = false; addChild(track); thumb = new LabelButton(); thumb.label = ""; thumb.setSize(WIDTH, 15); thumb.move(0, 15); thumb.focusEnabled = false; addChild(thumb); downArrow = new BaseButton(); downArrow.setSize(WIDTH, 14); downArrow.autoRepeat = true; downArrow.focusEnabled = false; addChild(downArrow); upArrow = new BaseButton(); upArrow.setSize(WIDTH, 14); upArrow.move(0, 0); upArrow.autoRepeat = true; upArrow.focusEnabled = false; addChild(upArrow); upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true); enabled = false; } public function get direction():String{ return (_direction); } public function get lineScrollSize():Number{ return (_lineScrollSize); } override public function setSize(_arg1:Number, _arg2:Number):void{ if (_direction == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } override public function get width():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } protected function setStyles():void{ copyStylesToChild(downArrow, DOWN_ARROW_STYLES); copyStylesToChild(thumb, THUMB_STYLES); copyStylesToChild(track, TRACK_STYLES); copyStylesToChild(upArrow, UP_ARROW_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 22
//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controls
Section 23
//ScrollPolicy (fl.controls.ScrollPolicy) package fl.controls { public class ScrollPolicy { public static const OFF:String = "off"; public static const ON:String = "on"; public static const AUTO:String = "auto"; } }//package fl.controls
Section 24
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 25
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 26
//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import flash.utils.*; import fl.managers.*; import fl.events.*; import flash.system.*; import flash.text.*; public class UIComponent extends Sprite { protected var _enabled:Boolean;// = true private var _mouseFocusEnabled:Boolean;// = true protected var startHeight:Number; protected var _height:Number; protected var _oldIMEMode:String;// = null protected var startWidth:Number; public var focusTarget:IFocusManagerComponent; protected var errorCaught:Boolean;// = false protected var uiFocusRect:DisplayObject; protected var _width:Number; public var version:String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var callLaterMethods:Dictionary; private var _focusEnabled:Boolean;// = true private var tempText:TextField; protected var invalidateFlag:Boolean;// = false protected var _inspector:Boolean;// = false protected var sharedStyles:Object; protected var invalidHash:Object; protected var isLivePreview:Boolean;// = false protected var _imeMode:String;// = null protected var instanceStyles:Object; protected var _x:Number; protected var _y:Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ version = "3.0.0.15"; isLivePreview = false; invalidateFlag = false; _enabled = true; isFocused = false; _focusEnabled = true; _mouseFocusEnabled = true; _imeMode = null; _oldIMEMode = null; errorCaught = false; _inspector = false; super(); instanceStyles = {}; sharedStyles = {}; invalidHash = {}; callLaterMethods = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; initializeFocusManager(); addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function callLaterDispatcher(_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; _local2 = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function addedHandler(_arg1:Event):void{ removeEventListener("addedToStage", addedHandler); initializeFocusManager(); } protected function getStyleValue(_arg1:String):Object{ return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]); } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / startWidth)); } override public function get scaleY():Number{ return ((height / startHeight)); } override public function set height(_arg1:Number):void{ if (_height == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function setStyle(_arg1:String, _arg2:Object):void{ if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; instanceStyles[_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (_inspector); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN(_y)) ? super.y : _y); } protected function setIMEMode(_arg1:Boolean){ var enabled = _arg1; if (_imeMode != null){ if (enabled){ IME.enabled = true; _oldIMEMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; throw (new Error(("IME mode not supported: " + _imeMode))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _oldIMEMode; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == _enabled){ return; }; _enabled = _arg1; invalidate(InvalidationType.STATE); } public function setSharedStyle(_arg1:String, _arg2:Object):void{ if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; sharedStyles[_arg1] = _arg2; if (instanceStyles[_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize((startWidth * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } override public function set scaleY(_arg1:Number):void{ setSize(width, (startHeight * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.setStyle(_local3, getStyleValue(_arg2[_local3])); }; } protected function beforeComponentParameters():void{ } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } protected function createFocusManager():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function hookAccessibility(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, hookAccessibility); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ _inspector = _arg1; if (_inspector){ beforeComponentParameters(); } else { afterComponentParameters(); }; } override public function set x(_arg1:Number):void{ move(_arg1, _y); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{ invalidHash = {}; } override public function get height():Number{ return (_height); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } public function get enabled():Boolean{ return (_enabled); } protected function getScaleX():Number{ return (super.scaleX); } protected function getScaleY():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return (_focusEnabled); } protected function afterComponentParameters():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = checkLivePreview(); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; startWidth = _local2; startHeight = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function initializeFocusManager():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true); } else { createFocusManager(); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{ _width = _arg1; _height = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if (_width == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return (_width); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; _y = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } public function getStyle(_arg1:String):Object{ return (instanceStyles[_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 27
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 28
//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var _position:Number; private var _direction:String; private var _delta:Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false); _direction = _arg1; _delta = _arg2; _position = _arg3; } override public function clone():Event{ return (new ScrollEvent(_direction, _delta, _position)); } public function get position():Number{ return (_position); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } public function get delta():Number{ return (_delta); } public function get direction():String{ return (_direction); } } }//package fl.events
Section 29
//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.events.*; import flash.utils.*; import flash.text.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Dictionary; private var _showFocusIndicator:Boolean;// = true private var defButton:Button; private var focusableCandidates:Array; private var _form:DisplayObjectContainer; private var _defaultButtonEnabled:Boolean;// = true private var activated:Boolean;// = false private var _defaultButton:Button; private var calculateCandidates:Boolean;// = true private var lastFocus:InteractiveObject; private var lastAction:String; public function FocusManager(_arg1:DisplayObjectContainer){ activated = false; calculateCandidates = true; _showFocusIndicator = true; _defaultButtonEnabled = true; super(); focusableObjects = new Dictionary(true); if (_arg1 != null){ _form = _arg1; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); activate(); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = focusableCandidates.length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects[o] = true; calculateCandidates = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){ focusableObjects[io] = true; calculateCandidates = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ addFocusables(doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function sortFocusableObjectsTabIndex():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ focusableCandidates.push(_local2); }; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); for (_local2 in focusableObjects) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == lastFocus){ lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local2]; calculateCandidates = true; }; }; }; } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function tabChildrenChangeHandler(_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2); }; } public function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return (findFocusManagerComponent(_local1)); } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function setFocusToNextObject(_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!hasFocusableObjects()){ return; }; _local2 = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function hasFocusableObjects():Boolean{ var _local1:Object; for (_local1 in focusableObjects) { return (true); }; return (false); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local2); }; focusableCandidates.sort(sortByDepth); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = focusableCandidates.length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function hideFocus():void{ } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){ if (_local3 == lastFocus){ IFocusManagerComponent(lastFocus).drawFocus(false); lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local3]; calculateCandidates = true; } else { if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == lastFocus){ lastFocus = null; }; delete focusableObjects[_local4]; calculateCandidates = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); }; }; removeFocusables(_local3); } private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return (_defaultButton); } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if (lastFocus){ if ((lastFocus is IFocusManagerComponent)){ IFocusManagerComponent(lastFocus).setFocus(); } else { form.stage.focus = lastFocus; }; }; lastAction = "ACTIVATE"; } public function showFocus():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!hasFocusableObjects()){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; _local2 = form.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 = getIndexOfFocusedObject(_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; _local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; lastAction = "MOUSEDOWN"; } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ sendDefaultButtonEvent(); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is Button)){ _local3 = Button(lastFocus); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } private function tabEnabledChangeHandler(_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean; calculateCandidates = true; _local2 = InteractiveObject(_arg1.target); _local3 = (focusableObjects[_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && (isTabVisible(_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; focusableObjects[_local2] = true; }; } else { if (_local3){ delete focusableObjects[_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } public function get form():DisplayObjectContainer{ return (_form); } private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2)); } public function activate():void{ if (activated){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function deactivate():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } } }//package fl.managers
Section 30
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function deactivate():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject; function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 31
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 32
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managers
Section 33
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.utils.*; import flash.text.*; public class StyleManager { private var globalStyles:Object; private var classToDefaultStylesDict:Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); classToDefaultStylesDict = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2.classToDefaultStylesDict[_local3]; for (_local5 in _local4) { _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst.classToDefaultStylesDict[classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function getStyle(_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4.classToDefaultStylesDict[_local3][_arg2]); } public static function setStyle(_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 34
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import flash.display.*; import gs.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(!((_arg2 == 0))); _tweenVisible = true; addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _tweenVisible = !(Boolean(("visible" in _arg1))); } } }//package gs.plugins
Section 35
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _info:Array; protected var _a:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:ArrayTweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _a[_local3.index] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function init(_arg1:Array, _arg2:Array):void{ var _local3:int; _a = _arg1; _local3 = (_arg2.length - 1); while (_local3 > -1) { if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){ _info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3])); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (false); }; init((_arg1 as Array), _arg2); return (true); } } }//package gs.plugins
Section 36
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import flash.display.*; import gs.*; public class FramePlugin extends TweenPlugin { public var frame:int; protected var _target:MovieClip; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.gotoAndStop(this.frame); } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){ return (false); }; _target = (_arg1 as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, _arg2, "frame"); return (true); } } }//package gs.plugins
Section 37
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ this.propName = "removeTint"; } } }//package gs.plugins
Section 38
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import flash.display.*; import flash.geom.*; import gs.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; protected var _target:DisplayObject; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ this.propName = "tint"; this.overwriteProps = ["tint"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:ColorTransform; updateTweens(_arg1); if (_ignoreAlpha){ _local2 = _target.transform.colorTransform; _ct.alphaMultiplier = _local2.alphaMultiplier; _ct.alphaOffset = _local2.alphaOffset; }; _target.transform.colorTransform = _ct; } public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{ var _local3:int; var _local4:String; _target = _arg1; _ct = _target.transform.colorTransform; _local3 = (_props.length - 1); while (_local3 > -1) { _local4 = _props[_local3]; if (_ct[_local4] != _arg2[_local4]){ _tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:ColorTransform; if (!(_arg1 is DisplayObject)){ return (false); }; _local4 = new ColorTransform(); if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){ _local4.color = uint(_arg2); }; _ignoreAlpha = true; init((_arg1 as DisplayObject), _local4); return (true); } } }//package gs.plugins
Section 39
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class TweenPlugin { public var overwriteProps:Array; protected var _tweens:Array; public var round:Boolean; public var onComplete:Function; public var propName:String; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; _changeFactor = 0; super(); } protected function updateTweens(_arg1:Number):void{ var _local2:int; var _local3:TweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (this.overwriteProps.length - 1); while (_local2 > -1) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; _local2--; }; _local2 = (_tweens.length - 1); while (_local2 > -1) { if ((_tweens[_local2].name in _arg1)){ _tweens.splice(_local2, 1); }; _local2--; }; } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate(_arg1:Array):Boolean{ var _local2:int; var _local3:Object; _local2 = (_arg1.length - 1); while (_local2 > -1) { _local3 = new (_arg1[_local2]); TweenLite.plugins[_local3.propName] = _arg1[_local2]; _local2--; }; return (true); } } }//package gs.plugins
Section 40
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import flash.display.*; import gs.*; public class VisiblePlugin extends TweenPlugin { protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ if (_target.visible != true){ _target.visible = true; }; } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(_arg2); return (true); } } }//package gs.plugins
Section 41
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _st:SoundTransform; protected var _target:Object; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.soundTransform = _st; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){ return (false); }; _target = _arg1; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, _arg2, "volume"); return (true); } } }//package gs.plugins
Section 42
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var change:Number; public var index:uint; public var start:Number; public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){ this.index = _arg1; this.start = _arg2; this.change = _arg3; } } }//package gs.utils.tween
Section 43
//TweenInfo (gs.utils.tween.TweenInfo) package gs.utils.tween { public class TweenInfo { public var start:Number; public var name:String; public var change:Number; public var target:Object; public var property:String; public var isPlugin:Boolean; public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; } } }//package gs.utils.tween
Section 44
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import flash.utils.*; import gs.utils.tween.*; import gs.plugins.*; public class TweenLite { public var delay:Number; protected var _hasUpdate:Boolean; protected var _hasPlugins:Boolean; public var started:Boolean; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; public var gc:Boolean; public var vars:Object; public var ease:Function; public var tweens:Array; public var exposedVars:Object; public var combinedTimeScale:Number; public var initTime:Number; public static const version:Number = 10.09; private static var _timer:Timer = new Timer(2000); public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var currentTime:uint; public static var masterList:Dictionary = new Dictionary(false); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1}; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public static var overwriteManager:Object; private static var _tlInitted:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:int; super(); if (_arg1 == null){ return; }; if (!_tlInitted){ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _tlInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; if (typeof(this.vars.ease) != "function"){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; this.tweens = []; this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); _local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if (((!((_arg1 in masterList))) || ((_local4 == 1)))){ masterList[_arg1] = [this]; } else { masterList[_arg1].push(this); }; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){ this.target.visible = this.exposedVars.visible; }; }; } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ _local2[_local2.length] = this; }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function clear():void{ this.tweens = []; this.vars = (this.exposedVars = {ease:this.vars.ease}); _hasUpdate = false; } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:TweenInfo; var _local5:int; _local2 = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change)); _local5--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function initTweenVals():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:TweenInfo; if (((!((this.exposedVars.timeScale == undefined))) && ((this.target is TweenLite)))){ this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false); }; for (_local1 in this.exposedVars) { if ((_local1 in _reservedProps)){ } else { if ((_local1 in plugins)){ _local3 = new (plugins[_local1]); if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); } else { this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); }; }; }; if (this.vars.runBackwards == true){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { _local4 = this.tweens[_local2]; this.tweens[_local2].start = (_local4.start + _local4.change); _local4.change = -(_local4.change); _local2--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; this.initted = true; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.exposedVars, this.tweens); }; } public function complete(_arg1:Boolean=false):void{ var _local2:int; if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){ this.tweens[_local2].target.onComplete(); }; _local2--; }; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function updateAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Array; var _local5:int; var _local6:TweenLite; _local2 = (currentTime = getTimer()); _local3 = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; _local5--; }; }; } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && ((_arg1 in masterList)))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } protected static function killGarbage(_arg1:TimerEvent):void{ var _local2:Dictionary; var _local3:Object; _local2 = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 45
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; public static var _inventory:MochiInventory; public static function triggerEvent(_arg1:String, _arg2:Object):void{ MochiSocial.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.addEventListener(_arg1, _arg2); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(_arg1:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 46
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function set value(_arg1:Number):void{ setValue(_arg1); } public function reencode():void{ var _local1:uint; _local1 = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String; _local1 = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function get value():Number{ return (Number(this.toString())); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String; _local3 = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 47
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } } }//package mochi.as3
Section 48
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local3:Object; var _local4:Object; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function endGame():void{ var _local1:Number; _local1 = (new Date().time - gameStart); trigger("end_game", {time:_local1}); } public static function startGame():void{ gameStart = new Date().time; trigger("start_game"); } public static function trigger(_arg1:String, _arg2:Object=null):void{ if (_arg2 == null){ _arg2 = {}; } else { if (_arg2["kind"] != undefined){ trace("WARNING: optional arguments package contains key 'id', it will be overwritten"); _arg2["kind"] = _arg1; }; }; MochiServices.send("events_triggerEvent", {eventObject:_arg2}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startLevel():void{ levelStart = new Date().time; trigger("start_level"); } public static function endLevel():void{ var _local1:Number; _local1 = (new Date().time - levelStart); trigger("end_level", {time:_local1}); } } }//package mochi.as3
Section 49
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _consumableProperties:Object; private var _syncID:Number; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(_arg1:Object):void{ if (!this[(_arg1.id + KEY_SALT)]){ this[(_arg1.id + KEY_SALT)] = 0; }; if (!this[_arg1.id]){ this[_arg1.id] = 0; }; this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count); this[_arg1.id] = (this[_arg1.id] + _arg1.count); if (_arg1.privateProperties.consumable){ if (!this[_arg1.privateProperties.tag]){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[_arg1]){ return (MochiDigits(_consumableProperties[_arg1]).value); }; return (undefined); } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[_arg1] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(_arg2 is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2}); return; }; if (_consumableProperties[_arg1]){ _local3 = MochiDigits(_consumableProperties[_arg1]); if (_local3.value == _arg2){ return; }; _local3.value = _arg2; } else { _names.push(_arg1); _consumableProperties[_arg1] = new MochiDigits(_arg2); }; _syncID++; } private function sync(_arg1:Event=null):void{ var _local2:Object; var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; _local2 = {}; for (_local3 in _consumableProperties) { _local2[_local3] = MochiDigits(_consumableProperties[_local3]).value; }; MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_names[(_arg1 - 1)]); } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (!_consumableProperties[_arg1]){ return (false); }; _names.splice(_names.indexOf(_arg1), 1); delete _consumableProperties[_arg1]; return (true); } private function itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } private function getConsumableBag(_arg1:MochiUserData):void{ var _local2:String; var _local3:Number; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); return; }; _consumableProperties = {}; _names = new Array(); if (_arg1.data){ for (_local2 in _arg1.data) { _names.push(_local2); _consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]); }; }; for (_local2 in _storeSync) { _local3 = _storeSync[_local2].count; if (_consumableProperties[(_local2 + KEY_SALT)]){ _local3 = (_local3 - _consumableProperties[_local2]); }; if (_local3 == 0){ } else { newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(_arg1:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } } }//package mochi.as3
Section 50
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.gotoAndStop("front"); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 51
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.display.*; import flash.geom.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; public static var servicesSync:MochiSync = new MochiSync(); private static var _clip:MovieClip; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _loader:Loader; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = _clip._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _clip._callbacks[cb]; } public static function get childClip():Object{ return (_clip); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local3:Array; var _local4:int; var _local5:Array; var _local6:Array; var _local7:MovieClip; var _local8:LocalConnection; var _local9:String; var _local10:ByteArray; var _local11:ByteArray; var _local12:uint; var _local13:uint; var _local14:Loader; _local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; _local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; _local6 = [0, 64, 0, 0, 0]; _local7 = new MovieClip(); _local8 = new LocalConnection(); _local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); _local10 = new ByteArray(); _local11 = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); _local12 = ((_local3.length + _local11.length) + 4); _local13 = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; vars = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ var _local2:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); _local2 = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function warnID(_arg1:String, _arg2:Boolean):void{ var _local3:Number; _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; _local3 = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.7 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_clip._queue))){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(_arg1:Object):void{ var _local2:String; var _local3:String; _local2 = _arg1.target; _local3 = _arg1.event; switch (_local2){ case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "sync": servicesSync.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local2:Object; var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; _local2 = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_clip._queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function loadLCBridge(_arg1:Object):void{ var loader:Loader; var mochiLCURL:String; var req:URLRequest; var complete:Function; var clip = _arg1; loader = new Loader(); mochiLCURL = (_servURL + _mochiLC); req = new URLRequest(mochiLCURL); complete = function (_arg1:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var _local3:String; var _local4:String; var _local5:URLRequest; var _local6:URLVariables; _local3 = ("_mochiservices_com_" + _arg1); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; _local4 = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local4 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local4); _clip = createEmptyMovieClip(_arg2, _local3, 10336, false); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); _local5 = new URLRequest(_local4); _local6 = new URLVariables(); _local6.listenLC = _listenChannelName; _local6.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local6.api_version = getVersion(); if (widget){ _local6.widget = true; }; _local5.data = _local6; _loader.load(_local5); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var mc:MovieClip; var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 52
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const USER_INFO:String = "UserInfo"; public static const ERROR:String = "Error"; public static const LOGIN_SHOW:String = "LoginShow"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_SHOWN:String = "LoginShown"; public static const LOGIN_HIDE:String = "LoginHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _user_info:Object = null; public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("coins_saveUserProperties", _arg1); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:_arg1}); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function requestLogin():void{ MochiServices.send("coins_requestLogin"); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _user_info = _arg1; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 53
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ _syncContainer = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ switch (_arg1){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[_arg2.name] = _arg2.value; break; }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_syncContainer[_arg1]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:String; if (_syncContainer[_arg1] == _arg2){ return; }; _local3 = _arg1.toString(); _syncContainer[_local3] = _arg2; MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2}); } } }//package mochi.as3
Section 54
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var error:Event;// = null public var key:String;// = null public var operation:String;// = null public var data;// = null public var _loader:URLLoader; public function MochiUserData(_arg1:String="", _arg2:Function=null){ key = null; data = null; error = null; operation = null; callback = null; super(); this.key = _arg1; this.callback = _arg2; } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } public function request(_arg1:String, _arg2:ByteArray):void{ var api_url:String; var api_token:String; var args:URLVariables; var req:URLRequest; var _operation = _arg1; var _data = _arg2; operation = _operation; api_url = MochiSocial.getAPIURL(); api_token = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); args = new URLVariables(); args.op = _operation; args.key = key; req = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); try { _loader.load(req); } catch(e:SecurityError) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString()))); }; } public function completeHandler(_arg1:Event):void{ var event = _arg1; try { if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; } catch(e:Error) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString()))); return; }; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.objectEncoding = ObjectEncoding.AMF3; _local2.writeObject(_arg1); _local2.compress(); return (_local2); } public function errorHandler(_arg1:IOErrorEvent):void{ data = null; error = _arg1; if (callback != null){ performCallback(); } else { dispatchEvent(_arg1); }; close(); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData; _local3 = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData; _local4 = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 55
//backscore (backscore) package { import flash.media.*; public dynamic class backscore extends Sound { } }//package
Section 56
//Boom (Boom) package { import flash.display.*; public dynamic class Boom extends MovieClip { public function Boom(){ addFrameScript(31, frame32); } function frame32(){ stop(); this.parent.removeChild(DisplayObject(this)); } } }//package
Section 57
//BoomS (BoomS) package { import flash.media.*; public dynamic class BoomS extends Sound { } }//package
Section 58
//Bulet (Bulet) package { import flash.display.*; public dynamic class Bulet extends MovieClip { } }//package
Section 59
//BuletS (BuletS) package { import flash.media.*; public dynamic class BuletS extends Sound { } }//package
Section 60
//CoinS (CoinS) package { import flash.media.*; public dynamic class CoinS extends Sound { } }//package
Section 61
//Eneme (Eneme) package { import flash.display.*; public dynamic class Eneme extends MovieClip { } }//package
Section 62
//Fire (Fire) package { import flash.display.*; public dynamic class Fire extends MovieClip { public function Fire(){ addFrameScript(5, frame6); } function frame6(){ stop(); this.parent.removeChild(DisplayObject(this)); } } }//package
Section 63
//FireS (FireS) package { import flash.media.*; public dynamic class FireS extends Sound { } }//package
Section 64
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 65
//HitTest (HitTest) package { import flash.display.*; import flash.geom.*; public class HitTest { protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{ var _local4:Point; var _local5:Matrix; var _local6:Matrix; _local6 = _arg1.root.transform.concatenatedMatrix; _local4 = _arg1.localToGlobal(new Point()); _local5 = _arg1.transform.concatenatedMatrix; _local5.tx = (_local4.x - _arg2.x); _local5.ty = (_local4.y - _arg2.y); _local5.a = (_local5.a / _local6.a); _local5.d = (_local5.d / _local6.d); if (_arg3 != 1){ _local5.scale(_arg3, _arg3); }; return (_local5); } public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Boolean{ return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0))); } public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{ var _local4:Rectangle; var _local5:BitmapData; var _local6:Rectangle; if (_arg3 <= 0){ throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001)); }; if (!_arg1.hitTestObject(_arg2)){ return (new Rectangle()); }; _local4 = intersectionRectangle(_arg1, _arg2); if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){ return (new Rectangle()); }; _local5 = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0); _local5.draw(_arg1, HitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF)); _local5.draw(_arg2, HitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE); _local6 = _local5.getColorBoundsRect(4294967295, 4278255615); _local5.dispose(); if (_arg3 != 1){ _local6.x = (_local6.x / _arg3); _local6.y = (_local6.y / _arg3); _local6.width = (_local6.width / _arg3); _local6.height = (_local6.height / _arg3); }; _local6.x = (_local6.x + _local4.x); _local6.y = (_local6.y + _local4.y); return (_local6); } public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{ var _local3:Rectangle; var _local4:Rectangle; var _local5:Rectangle; if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){ return (new Rectangle()); }; _local3 = _arg1.getBounds(_arg1.root); _local4 = _arg2.getBounds(_arg2.root); _local5 = new Rectangle(); _local5.x = Math.max(_local3.x, _local4.x); _local5.y = Math.max(_local3.y, _local4.y); _local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x)); _local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y)); return (_local5); } } }//package
Section 66
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 67
//PointMc (PointMc) package { import flash.display.*; public dynamic class PointMc extends MovieClip { } }//package
Section 68
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 69
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 70
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 71
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 72
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 73
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 74
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 75
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 76
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 77
//ScrollPane_disabledSkin (ScrollPane_disabledSkin) package { import flash.display.*; public dynamic class ScrollPane_disabledSkin extends MovieClip { } }//package
Section 78
//ScrollPane_upSkin (ScrollPane_upSkin) package { import flash.display.*; public dynamic class ScrollPane_upSkin extends MovieClip { } }//package
Section 79
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 80
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 81
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 82
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 83
//ShootS (ShootS) package { import flash.media.*; public dynamic class ShootS extends Sound { } }//package
Section 84
//stuDis (stuDis) package { import flash.display.*; public dynamic class stuDis extends MovieClip { public function stuDis(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 85
//Var (Var) package { public class Var { public static var game_stu:String = ""; public static var pauseGame:Boolean = false; public static var bgSpeed:Number = 0; public static var lev_sco:Number = 0; public static var game_sco:Number = 0; public static var w:int; public static var lev_up:Number = 1; } }//package

Library Items

Symbol 1 Sound {ShootS}
Symbol 2 Sound {FireS}
Symbol 3 Sound {CoinS}
Symbol 4 Sound {BuletS}
Symbol 5 Sound {BoomS}
Symbol 6 Sound {backscore}
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:11
Symbol 9 FontUsed by:10
Symbol 10 TextUses:9Used by:11
Symbol 11 MovieClipUses:8 10Used by:12
Symbol 12 MovieClip {FINALFILE_fla.Symbol13_213}Uses:11Used by:20
Symbol 13 FontUsed by:14 18
Symbol 14 TextUses:13Used by:15
Symbol 15 MovieClipUses:14Used by:16
Symbol 16 MovieClip {FINALFILE_fla.Symbol15_216}Uses:15Used by:20
Symbol 17 FontUsed by:18
Symbol 18 TextUses:13 17Used by:19
Symbol 19 MovieClip {FINALFILE_fla.Symbol11_218}Uses:18Used by:20
Symbol 20 MovieClip {stuDis}Uses:12 16 19
Symbol 21 GraphicUsed by:25
Symbol 22 GraphicUsed by:25
Symbol 23 GraphicUsed by:25
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClip {Fire}Uses:21 22 23 24
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:30
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:30
Symbol 30 MovieClip {Bulet}Uses:27 29
Symbol 31 GraphicUsed by:57
Symbol 32 GraphicUsed by:57
Symbol 33 GraphicUsed by:57
Symbol 34 GraphicUsed by:57
Symbol 35 GraphicUsed by:57
Symbol 36 GraphicUsed by:57
Symbol 37 GraphicUsed by:57
Symbol 38 GraphicUsed by:57
Symbol 39 GraphicUsed by:57
Symbol 40 GraphicUsed by:57
Symbol 41 GraphicUsed by:57
Symbol 42 GraphicUsed by:57
Symbol 43 GraphicUsed by:57
Symbol 44 GraphicUsed by:57
Symbol 45 GraphicUsed by:57
Symbol 46 GraphicUsed by:57
Symbol 47 GraphicUsed by:57
Symbol 48 GraphicUsed by:57
Symbol 49 GraphicUsed by:57
Symbol 50 GraphicUsed by:57
Symbol 51 GraphicUsed by:57
Symbol 52 GraphicUsed by:57
Symbol 53 GraphicUsed by:57
Symbol 54 GraphicUsed by:57
Symbol 55 GraphicUsed by:57
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClip {Boom}Uses:31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Symbol 58 GraphicUsed by:73
Symbol 59 GraphicUsed by:73
Symbol 60 GraphicUsed by:73
Symbol 61 GraphicUsed by:73
Symbol 62 GraphicUsed by:73
Symbol 63 GraphicUsed by:73
Symbol 64 GraphicUsed by:73
Symbol 65 GraphicUsed by:73
Symbol 66 GraphicUsed by:73
Symbol 67 GraphicUsed by:73
Symbol 68 GraphicUsed by:73
Symbol 69 GraphicUsed by:73
Symbol 70 GraphicUsed by:73
Symbol 71 GraphicUsed by:73
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:58 59 60 61 62 63 64 65 66 67 68 69 70 71 72Used by:74 102
Symbol 74 MovieClipUses:73Used by:101
Symbol 75 GraphicUsed by:100
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClipUses:76Used by:80
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:80
Symbol 80 MovieClipUses:77 79Used by:100
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:81Used by:100
Symbol 83 GraphicUsed by:85
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:83 84Used by:100
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClipUses:86Used by:98
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:88Used by:98
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:98
Symbol 92 GraphicUsed by:95
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:95
Symbol 95 MovieClipUses:92 94Used by:98
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:98
Symbol 98 MovieClipUses:87 89 91 95 97Used by:100
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:75 80 82 85 98 99Used by:101
Symbol 101 MovieClipUses:74 100Used by:134
Symbol 102 MovieClipUses:73Used by:112 115 122
Symbol 103 GraphicUsed by:111
Symbol 104 GraphicUsed by:110
Symbol 105 GraphicUsed by:110
Symbol 106 GraphicUsed by:110
Symbol 107 GraphicUsed by:110
Symbol 108 GraphicUsed by:110
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:104 105 106 107 108 109Used by:111
Symbol 111 MovieClipUses:103 110Used by:112
Symbol 112 MovieClipUses:102 111Used by:134
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:115
Symbol 115 MovieClipUses:102 114Used by:116
Symbol 116 MovieClipUses:115Used by:134
Symbol 117 GraphicUsed by:122
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:118Used by:120
Symbol 120 MovieClipUses:119Used by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:102 117 120 121Used by:123
Symbol 123 MovieClipUses:122Used by:134
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:127
Symbol 126 GraphicUsed by:127
Symbol 127 MovieClipUses:125 126Used by:133
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClipUses:128Used by:132
Symbol 130 GraphicUsed by:131
Symbol 131 MovieClipUses:130Used by:132
Symbol 132 MovieClip {FINALFILE_fla.jh_204}Uses:129 131Used by:133
Symbol 133 MovieClip {FINALFILE_fla.tank_201}Uses:127 132Used by:134
Symbol 134 MovieClip {Eneme}Uses:101 112 116 123 133
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClipUses:135Used by:137
Symbol 137 MovieClip {PointMc}Uses:136
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:138Used by:176
Symbol 140 MovieClip {fl.core.ComponentShim}Used by:175 176
Symbol 141 MovieClipUsed by:143 144
Symbol 142 MovieClipUsed by:143 144
Symbol 143 MovieClip {ScrollPane_disabledSkin}Uses:141 142Used by:176
Symbol 144 MovieClip {ScrollPane_upSkin}Uses:141 142Used by:176
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClip {ScrollTrack_skin}Uses:145Used by:175
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClip {focusRectSkin}Uses:147Used by:175
Symbol 149 GraphicUsed by:152
Symbol 150 GraphicUsed by:151 154 158 168
Symbol 151 MovieClipUses:150Used by:152 162 164
Symbol 152 MovieClip {ScrollArrowUp_downSkin}Uses:149 151Used by:175
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClip {ScrollArrowDown_downSkin}Uses:153 150Used by:175
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClip {ScrollThumb_downSkin}Uses:155Used by:175
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClip {ScrollArrowDown_overSkin}Uses:157 150Used by:175
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClip {ScrollThumb_overSkin}Uses:159Used by:175
Symbol 161 GraphicUsed by:162
Symbol 162 MovieClip {ScrollArrowUp_overSkin}Uses:161 151Used by:175
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClip {ScrollArrowUp_upSkin}Uses:163 151Used by:175
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClip {ScrollThumb_upSkin}Uses:165Used by:175
Symbol 167 GraphicUsed by:168
Symbol 168 MovieClip {ScrollArrowDown_upSkin}Uses:167 150Used by:175
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClip {ScrollArrowDown_disabledSkin}Uses:169Used by:175
Symbol 171 GraphicUsed by:172
Symbol 172 MovieClip {ScrollArrowUp_disabledSkin}Uses:171Used by:175
Symbol 173 GraphicUsed by:174
Symbol 174 MovieClip {ScrollBar_thumbIcon}Uses:173Used by:175
Symbol 175 MovieClip {fl.controls.ScrollBar}Uses:146 140 148 152 154 156 158 160 162 164 166 168 170 172 174Used by:176
Symbol 176 MovieClip {fl.containers.ScrollPane}Uses:139 140 143 144 175Used by:Timeline
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:179
Symbol 179 MovieClipUses:178Used by:263
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:182
Symbol 182 MovieClipUses:181Used by:183
Symbol 183 MovieClipUses:182Used by:263
Symbol 184 GraphicUsed by:187 201 380 390
Symbol 185 GraphicUsed by:186 201 379 390
Symbol 186 MovieClipUses:185Used by:187
Symbol 187 MovieClipUses:184 186Used by:198
Symbol 188 GraphicUsed by:189 201
Symbol 189 MovieClipUses:188Used by:194
Symbol 190 GraphicUsed by:191 201
Symbol 191 MovieClipUses:190Used by:194
Symbol 192 GraphicUsed by:193 201 383 390
Symbol 193 MovieClipUses:192Used by:194
Symbol 194 MovieClipUses:189 191 193Used by:198
Symbol 195 BitmapUsed by:196
Symbol 196 GraphicUses:195Used by:197 201
Symbol 197 MovieClipUses:196Used by:198
Symbol 198 MovieClipUses:187 194 197Used by:201
Symbol 199 FontUsed by:200 385
Symbol 200 TextUses:199Used by:201
Symbol 201 ButtonUses:198 200 184 185 188 190 192 196Used by:263
Symbol 202 GraphicUsed by:263
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClipUses:203Used by:263
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClipUses:205Used by:216
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClipUses:207Used by:213
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClipUses:209Used by:213
Symbol 211 GraphicUsed by:212
Symbol 212 MovieClipUses:211Used by:213
Symbol 213 MovieClipUses:208 210 212Used by:216
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:216
Symbol 216 MovieClipUses:206 213 215Used by:263
Symbol 217 GraphicUsed by:218 233
Symbol 218 MovieClipUses:217Used by:228
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClipUses:219Used by:221
Symbol 221 MovieClipUses:220Used by:222 234
Symbol 222 MovieClipUses:221Used by:228
Symbol 223 GraphicUsed by:224
Symbol 224 MovieClipUses:223Used by:228
Symbol 225 GraphicUsed by:228
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClipUses:226Used by:228 238
Symbol 228 MovieClipUses:218 222 224 225 227Used by:232
Symbol 229 GraphicUsed by:230
Symbol 230 MovieClipUses:229Used by:231
Symbol 231 MovieClipUses:230Used by:232 239
Symbol 232 MovieClipUses:228 231Used by:262
Symbol 233 MovieClipUses:217Used by:238
Symbol 234 MovieClipUses:221Used by:238
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:238
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClipUses:233 234 236 237 227Used by:239
Symbol 239 MovieClipUses:238 231Used by:262
Symbol 240 GraphicUsed by:241
Symbol 241 MovieClipUses:240Used by:262
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:242Used by:262
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClipUses:244Used by:262
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:262
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClipUses:248Used by:262
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:262
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:252Used by:262
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClipUses:254Used by:262
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:256Used by:262
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClipUses:258Used by:262
Symbol 260 GraphicUsed by:261
Symbol 261 MovieClipUses:260Used by:262
Symbol 262 MovieClip {FINALFILE_fla.preload__23}Uses:232 239 241 243 245 247 249 251 253 255 257 259 261Used by:263
Symbol 263 MovieClip {FINALFILE_fla.preload_preloadMc_1}Uses:179 183 201 202 204 216 262Used by:Timeline
Symbol 264 FontUsed by:265 266
Symbol 265 EditableTextUses:264Used by:Timeline
Symbol 266 EditableTextUses:264Used by:Timeline
Symbol 267 GraphicUsed by:Timeline
Symbol 268 GraphicUsed by:Timeline
Symbol 269 GraphicUsed by:272 277 280
Symbol 270 GraphicUsed by:271
Symbol 271 MovieClipUses:270Used by:272 277 280
Symbol 272 MovieClipUses:269 271Used by:273
Symbol 273 MovieClipUses:272Used by:274
Symbol 274 MovieClipUses:273Used by:282
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClipUses:275Used by:277
Symbol 277 MovieClipUses:269 271 276Used by:278
Symbol 278 MovieClipUses:277Used by:279
Symbol 279 MovieClipUses:278Used by:282
Symbol 280 MovieClipUses:269 271Used by:281
Symbol 281 MovieClipUses:280Used by:282
Symbol 282 MovieClipUses:274 279 281Used by:283
Symbol 283 MovieClipUses:282Used by:340  Timeline
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:340  Timeline
Symbol 286 GraphicUsed by:Timeline
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:318  Timeline
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:Timeline
Symbol 291 ShapeTweeningUsed by:296
Symbol 292 ShapeTweeningUsed by:296
Symbol 293 ShapeTweeningUsed by:296
Symbol 294 ShapeTweeningUsed by:296
Symbol 295 GraphicUsed by:296 310
Symbol 296 MovieClipUses:291 292 293 294 295Used by:305 343
Symbol 297 GraphicUsed by:301 313 315
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClipUses:299Used by:301
Symbol 301 MovieClipUses:297 300Used by:302 343
Symbol 302 MovieClipUses:301Used by:305
Symbol 303 GraphicUsed by:304
Symbol 304 MovieClipUses:303Used by:305 344
Symbol 305 MovieClipUses:296 302 304Used by:Timeline
Symbol 306 ShapeTweeningUsed by:310
Symbol 307 ShapeTweeningUsed by:310
Symbol 308 ShapeTweeningUsed by:310
Symbol 309 ShapeTweeningUsed by:310
Symbol 310 MovieClipUses:306 307 308 309 295Used by:313 315
Symbol 311 FontUsed by:312 314 436 437 439 440 442 455 484 485
Symbol 312 TextUses:311Used by:313
Symbol 313 MovieClipUses:310 297 312Used by:Timeline
Symbol 314 TextUses:311Used by:315
Symbol 315 MovieClipUses:310 297 314Used by:Timeline
Symbol 316 GraphicUsed by:340
Symbol 317 GraphicUsed by:340
Symbol 318 MovieClipUses:288Used by:319
Symbol 319 MovieClipUses:318Used by:340
Symbol 320 GraphicUsed by:340
Symbol 321 GraphicUsed by:340
Symbol 322 GraphicUsed by:323
Symbol 323 MovieClipUses:322Used by:324
Symbol 324 MovieClipUses:323Used by:325
Symbol 325 MovieClipUses:324Used by:326
Symbol 326 MovieClipUses:325Used by:340
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:327Used by:329
Symbol 329 MovieClipUses:328Used by:330
Symbol 330 MovieClipUses:329Used by:331
Symbol 331 MovieClipUses:330Used by:340
Symbol 332 GraphicUsed by:333
Symbol 333 MovieClipUses:332Used by:334
Symbol 334 MovieClipUses:333Used by:338
Symbol 335 GraphicUsed by:336
Symbol 336 MovieClipUses:335Used by:337
Symbol 337 MovieClipUses:336Used by:338
Symbol 338 MovieClipUses:334 337Used by:339
Symbol 339 MovieClipUses:338Used by:340
Symbol 340 MovieClip {FINALFILE_fla.bg_73}Uses:316 283 285 317 319 320 321 326 331 339Used by:Timeline
Symbol 341 MovieClipUsed by:Timeline
Symbol 342 MovieClipUsed by:Timeline
Symbol 343 MovieClipUses:296 301Used by:344
Symbol 344 MovieClipUses:343 304Used by:Timeline
Symbol 345 GraphicUsed by:Timeline
Symbol 346 FontUsed by:347 350 351 354 365 366 367 368
Symbol 347 TextUses:346Used by:Timeline
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:Timeline
Symbol 350 EditableTextUses:346Used by:Timeline
Symbol 351 EditableTextUses:346Used by:Timeline
Symbol 352 GraphicUsed by:353
Symbol 353 MovieClipUses:352Used by:Timeline
Symbol 354 TextUses:346Used by:Timeline
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClipUses:355Used by:361
Symbol 357 GraphicUsed by:361
Symbol 358 GraphicUsed by:361
Symbol 359 GraphicUsed by:361
Symbol 360 GraphicUsed by:361
Symbol 361 MovieClip {FINALFILE_fla.Timeline_97}Uses:356 357 358 359 360Used by:364
Symbol 362 GraphicUsed by:363
Symbol 363 MovieClipUses:362Used by:364
Symbol 364 MovieClip {FINALFILE_fla.Timeline_96}Uses:361 363Used by:Timeline
Symbol 365 TextUses:346Used by:Timeline
Symbol 366 EditableTextUses:346Used by:Timeline
Symbol 367 TextUses:346Used by:Timeline
Symbol 368 EditableTextUses:346Used by:Timeline
Symbol 369 GraphicUsed by:370 373 377
Symbol 370 MovieClipUses:369Used by:373 377
Symbol 371 GraphicUsed by:372 373 377
Symbol 372 MovieClipUses:371Used by:373 377
Symbol 373 ButtonUses:370 372 369 371Used by:378
Symbol 374 GraphicUsed by:378 389 390
Symbol 375 GraphicUsed by:376 377
Symbol 376 MovieClipUses:375Used by:377
Symbol 377 ButtonUses:370 372 376 369 371 375Used by:378
Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100}Uses:373 374 377Used by:Timeline
Symbol 379 MovieClipUses:185Used by:380
Symbol 380 MovieClipUses:184 379Used by:389
Symbol 381 GraphicUsed by:382 390
Symbol 382 MovieClipUses:381Used by:384
Symbol 383 MovieClipUses:192Used by:384
Symbol 384 MovieClipUses:382 383Used by:389
Symbol 385 TextUses:199Used by:389 390
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:388 390
Symbol 388 MovieClipUses:387Used by:389
Symbol 389 MovieClipUses:380 384 385 388 374Used by:390
Symbol 390 ButtonUses:389 184 185 381 192 385 387 374Used by:Timeline
Symbol 391 BitmapUsed by:392
Symbol 392 GraphicUses:391Used by:393
Symbol 393 MovieClipUses:392Used by:465  Timeline
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:394Used by:465  Timeline
Symbol 396 GraphicUsed by:397
Symbol 397 MovieClipUses:396Used by:465  Timeline
Symbol 398 GraphicUsed by:399
Symbol 399 MovieClipUses:398Used by:465  Timeline
Symbol 400 GraphicUsed by:401
Symbol 401 MovieClipUses:400Used by:465  Timeline
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:402Used by:465  Timeline
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:465  Timeline
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406Used by:465  Timeline
Symbol 408 GraphicUsed by:409
Symbol 409 MovieClipUses:408Used by:465  Timeline
Symbol 410 GraphicUsed by:Timeline
Symbol 411 GraphicUsed by:412
Symbol 412 MovieClipUses:411Used by:Timeline
Symbol 413 FontUsed by:414 425 426 428 429 431
Symbol 414 TextUses:413Used by:415
Symbol 415 MovieClipUses:414Used by:Timeline
Symbol 416 GraphicUsed by:417
Symbol 417 MovieClipUses:416Used by:Timeline
Symbol 418 FontUsed by:419 421 423 449
Symbol 419 TextUses:418Used by:424
Symbol 420 GraphicUsed by:424
Symbol 421 TextUses:418Used by:424
Symbol 422 GraphicUsed by:424
Symbol 423 TextUses:418Used by:424
Symbol 424 MovieClip {FINALFILE_fla.chasepageotherhkghk_126}Uses:419 420 421 422 423Used by:Timeline
Symbol 425 EditableTextUses:413Used by:Timeline
Symbol 426 TextUses:413Used by:427
Symbol 427 MovieClipUses:426Used by:Timeline
Symbol 428 EditableTextUses:413Used by:Timeline
Symbol 429 TextUses:413Used by:430
Symbol 430 MovieClipUses:429Used by:Timeline
Symbol 431 EditableTextUses:413Used by:Timeline
Symbol 432 GraphicUsed by:433 438 441 443 446 486
Symbol 433 MovieClipUses:432Used by:435
Symbol 434 GraphicUsed by:435 438 441 443 446 486
Symbol 435 MovieClipUses:433 434Used by:438 441 443 446 486
Symbol 436 TextUses:311Used by:438
Symbol 437 TextUses:311Used by:438
Symbol 438 ButtonUses:435 436 432 434 437Used by:Timeline
Symbol 439 TextUses:311Used by:441
Symbol 440 TextUses:311Used by:441 486
Symbol 441 ButtonUses:435 439 432 434 440Used by:Timeline
Symbol 442 TextUses:311Used by:443
Symbol 443 ButtonUses:435 442 432 434Used by:Timeline
Symbol 444 FontUsed by:445
Symbol 445 TextUses:444Used by:446
Symbol 446 ButtonUses:435 445 432 434Used by:Timeline
Symbol 447 GraphicUsed by:448
Symbol 448 MovieClipUses:447Used by:Timeline
Symbol 449 TextUses:418Used by:Timeline
Symbol 450 GraphicUsed by:453 456
Symbol 451 GraphicUsed by:452 456
Symbol 452 MovieClipUses:451Used by:453
Symbol 453 MovieClipUses:450 452Used by:454
Symbol 454 MovieClipUses:453Used by:456
Symbol 455 TextUses:311Used by:456
Symbol 456 ButtonUses:454 455 450 451Used by:Timeline
Symbol 457 FontUsed by:459
Symbol 458 FontUsed by:459
Symbol 459 TextUses:457 458Used by:461
Symbol 460 GraphicUsed by:461
Symbol 461 MovieClipUses:459 460Used by:Timeline
Symbol 462 GraphicUsed by:463
Symbol 463 MovieClipUses:462Used by:465
Symbol 464 GraphicUsed by:465
Symbol 465 MovieClipUses:463 393 395 397 399 401 403 405 407 409 464Used by:Timeline
Symbol 466 FontUsed by:467
Symbol 467 TextUses:466Used by:470
Symbol 468 FontUsed by:469
Symbol 469 TextUses:468Used by:470
Symbol 470 MovieClip {FINALFILE_fla.ytrgj_165}Uses:467 469Used by:Timeline
Symbol 471 GraphicUsed by:472
Symbol 472 MovieClipUses:471Used by:476
Symbol 473 GraphicUsed by:476
Symbol 474 GraphicUsed by:475
Symbol 475 MovieClipUses:474Used by:476
Symbol 476 MovieClipUses:472 473 475Used by:Timeline
Symbol 477 FontUsed by:478
Symbol 478 TextUses:477Used by:479
Symbol 479 MovieClipUses:478Used by:Timeline
Symbol 480 FontUsed by:481
Symbol 481 TextUses:480Used by:Timeline
Symbol 482 FontUsed by:483
Symbol 483 EditableTextUses:482Used by:Timeline
Symbol 484 TextUses:311Used by:486
Symbol 485 TextUses:311Used by:486
Symbol 486 ButtonUses:435 484 485 432 434 440Used by:Timeline

Instance Names

"preloadMc"Frame 1Symbol 263 MovieClip {FINALFILE_fla.preload_preloadMc_1}
"load_txt"Frame 1Symbol 265 EditableText
"total_txt"Frame 1Symbol 266 EditableText
"ply"Frame 2Symbol 313 MovieClip
"ins"Frame 2Symbol 315 MovieClip
"poiCont"Frame 3Symbol 341 MovieClip
"eneCont"Frame 3Symbol 342 MovieClip
"ben"Frame 3Symbol 344 MovieClip
"bulCont"Frame 3Symbol 341 MovieClip
"poi_txt"Frame 3Symbol 350 EditableText
"tar_txt"Frame 3Symbol 351 EditableText
"lif_txt"Frame 3Symbol 364 MovieClip {FINALFILE_fla.Timeline_96}
"lev_txt"Frame 3Symbol 366 EditableText
"sco_txt"Frame 3Symbol 368 EditableText
"sound_mc"Frame 3Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100}
"logo_mc"Frame 3Symbol 390 Button
"game_sco_txt"Frame 4Symbol 425 EditableText
"lev_sco_txt"Frame 4Symbol 428 EditableText
"lev_txt"Frame 4Symbol 431 EditableText
"sumbitBtn"Frame 4Symbol 438 Button
"againBtn"Frame 4Symbol 441 Button
"moreBtn"Frame 4Symbol 443 Button
"nextBtn"Frame 4Symbol 446 Button
"backBtn"Frame 5Symbol 456 Button
"sc"Frame 5Symbol 176 MovieClip {fl.containers.ScrollPane}
"rect"Frame 5Symbol 461 MovieClip
"CongMc"Frame 6Symbol 470 MovieClip {FINALFILE_fla.ytrgj_165}
"gmsctxtfinal"Frame 6Symbol 483 EditableText
"moregmbt"Frame 6Symbol 486 Button
"alloy2"Symbol 132 MovieClip {FINALFILE_fla.jh_204} Frame 1Symbol 131 MovieClip
"wheel2"Symbol 133 MovieClip {FINALFILE_fla.tank_201} Frame 1Symbol 132 MovieClip {FINALFILE_fla.jh_204}
"wheel2"Symbol 133 MovieClip {FINALFILE_fla.tank_201} Frame 1Symbol 132 MovieClip {FINALFILE_fla.jh_204}
"wheel2"Symbol 133 MovieClip {FINALFILE_fla.tank_201} Frame 1Symbol 132 MovieClip {FINALFILE_fla.jh_204}
"logoload"Symbol 263 MovieClip {FINALFILE_fla.preload_preloadMc_1} Frame 1Symbol 201 Button
"preloadCar"Symbol 263 MovieClip {FINALFILE_fla.preload_preloadMc_1} Frame 1Symbol 262 MovieClip {FINALFILE_fla.preload__23}
"txt"Symbol 364 MovieClip {FINALFILE_fla.Timeline_96} Frame 1Symbol 361 MovieClip {FINALFILE_fla.Timeline_97}
"gradientMask"Symbol 364 MovieClip {FINALFILE_fla.Timeline_96} Frame 1Symbol 363 MovieClip
"sndoff"Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100} Frame 1Symbol 373 Button
"sndon"Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100} Frame 2Symbol 377 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.

Labels

"front"Frame 2
"game"Frame 3
"page"Frame 4
"help"Frame 5
"Sumbit"Frame 6
"Next"Symbol 20 MovieClip {stuDis} Frame 1
"Cong"Symbol 20 MovieClip {stuDis} Frame 2
"Over"Symbol 20 MovieClip {stuDis} Frame 3
"pause"Symbol 20 MovieClip {stuDis} Frame 4
"ben"Symbol 30 MovieClip {Bulet} Frame 1
"ene"Symbol 30 MovieClip {Bulet} Frame 2
"front"Symbol 134 MovieClip {Eneme} Frame 1
"side"Symbol 134 MovieClip {Eneme} Frame 3
"down"Symbol 134 MovieClip {Eneme} Frame 5
"side"Symbol 134 MovieClip {Eneme} Frame 7
"on"Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100} Frame 1
"off"Symbol 378 MovieClip {FINALFILE_fla.Symbol2_100} Frame 2
"Over"Symbol 424 MovieClip {FINALFILE_fla.chasepageotherhkghk_126} Frame 1
"Cong"Symbol 424 MovieClip {FINALFILE_fla.chasepageotherhkghk_126} Frame 2
"Next"Symbol 424 MovieClip {FINALFILE_fla.chasepageotherhkghk_126} Frame 3




http://swfchan.com/27/131621/info.shtml
Created: 21/2 -2019 04:37:14 Last modified: 21/2 -2019 04:37:14 Server time: 04/05 -2024 03:11:07