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

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

zoneout.swf

This is the info page for
Flash #127193

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


Text
loading...

let's play!

PLAY NORMAL MODE

PLAY HAZARD MODE

PLAY HAZARD MODE

LOCKED

INSTRUCTIONS

INSTRUCTIONS

HIGH SCORES

HIGH SCORES

CHALLENGE A FRIEND

CHALLENGE A FRIEND

LEARN MORE ABOUT KNOZONE

LEARN MORE ABOUT KNOZONE

1

DROP

THROW

OR

COLORS  IN  ORDER

2

WATCH  THE  TIMER

IF TIME RUNS OUT, COLORED CELLS
BEGIN TO DISAPPEAR!

3

THE GAME WHERE YOU TEST YOUR SKILL
AND RACE AGAINST TIME TO COMPLETE THE
AIR QUALITY INDEX CHART. FILL THE SLOTS
OF THE CHART WITH THE CORRECT COLORS,
FROM HAZARDOUS(MAROON) TO GOOD(GREEN).

MAIN
MENU

BEGIN LEVEL 1

EXCELLENT!
YOU BEAT  LEVEL 1

<p align="left"><font face="Omnes" size="26" color="#ffffff" letterSpacing="0.500000" kerning="1"><b>00005968</b></font></p>

CLEAN AIR TIP:

YOU SCORED:

2 CELLS PER ROW

ROW BY ROW

FILL ONLY CELLS BELOW THOSE
THAT ARE ALREADY FILLED

PROGRESS BAR

REMAINING TIME CONVERTS TO
POINTS AT THE END OF THE LEVEL

<p align="center"><font face="Omnes Semibold" size="12" color="#4c93bc" letterSpacing="0.000000" kerning="1">INSTEAD OF TAKING A SUNDAY DRIVE,</font></p><p align="center"><font face="Omnes Semibold" size="12" color="#4c93bc" letterSpacing="0.000000" kerning="1"> TAKE A SUNDAY BIKE RIDE OR WALK</font></p>

CONTINUE TO LEVEL 2

EXCELLENT!
YOU BEAT  LEVEL 2

3 CELLS PER ROW

GOTTA BE FAST

THIS LEVEL MOVES FAST AND THE
CHALLENGE ADDS UP EVEN FASTER

PACE YOURSELF

AS YOU FILL ONE SLOT, TIMERS ARE
STILL RUNNING ON ALL THE REST

CONTINUE TO LEVEL 3

THINK & ACT FAST

RANDOM CELLS

SLOTS WILL CONTAIN ROWS OF
1, 2, or 3 CELLS RANDOMLY

TIMER IS TICKING!

CONTINUE TO LEVEL 4

EXCELLENT!
YOU BEAT  LEVEL 3

CHALLENGE
A FRIEND!

SUBMIT SCORE

EXCELLENT!

YOU SCORED:

<p align="left"><font face="Omnes Semibold" size="24" color="#ffffff" letterSpacing="0.000000" kerning="1">0000000</font></p>

ENTER YOUR NAME:

<p align="left"><font face="Omnes Semibold" size="22" color="#71a9c8" letterSpacing="0.000000" kerning="1">NAME</font></p>

GAME OVER

INSTRUCTIONS

The game where you test your skill and race against time to complete the air quality
index chart (AQI). Fill the slots of the chart with the correct colors, from hazardous
(maroon) to good (green).

The AQI was designed to help people understand – and plan for – air pollution on any
given day. It also helps illustrate the health effects you could experience within a few
hours or days after breathing polluted air.

LET'S GET STARTED

You fill the empty slots of the chart by dragging or throwing the colored cards into
position.

DROP

THROW

OR

You must place the colors in the correct order.  For example, you cannot place an orange
card before you place a red card.

The faster you fill the slots, the better your score.  Watch the timer.  If time runs out,
colored cells begin to disappear!

LEVELS

Level 1 charts have
only 1 slot per color to fill

Level 2 charts have
2 slots per color to fill

Level 3 charts have
3 slots per color to fill

and in Level 4 you'll be kept guessing as there will be a mixture of 1 cell, 2 cell,
and 3 cell charts.

HAZARD MODE

Once you complete all 4 levels, you will unlock Hazard Mode.  In this mode the charts will
be a mixture of 1, 2, and 3 cell charts.  As you play, the speed of the cards and the timers
will increase.  How long can you last?!

PLAYER

SCORE

YOUR FIRST NAME:

FRIEND'S NAME:

YOUR E-MAIL:

FRIEND'S E-MAIL:

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

<p align="left"><font face="Omnes Semibold" size="10" color="#f2aa43" letterSpacing="0.900000" kerning="1">INVALID E-MAIL ADDRESS</font></p>

<p align="left"><font face="Omnes Semibold" size="10" color="#f2aa43" letterSpacing="0.900000" kerning="1">INVALID E-MAIL ADDRESS</font></p>

SUBMIT CHALLENGE

+

<p align="left"><font face="Omnes Semibold" size="20" color="#fcb029" letterSpacing="0.000000" kerning="1">ZONEOUT</font></p>

<p align="left"><font face="Omnes Semibold" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1">ZONEOUT</font></p>

<p align="left"><font face="Omnes Semibold" size="20" color="#fcb029" letterSpacing="0.000000" kerning="1">0000000</font></p>

<p align="left"><font face="Omnes Semibold" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1">0000000</font></p>

MONTH'S SCORES

MONTH'S SCORES

HAZARD MODE

HAZARD MODE

WEEK'S SCORES

WEEK'S SCORES

<p align="left"><font face="Omnes Semibold" size="24" color="#ffffff" letterSpacing="0.000000" kerning="1">0000000</font></p>

ALL-TIME SCORES

ALL-TIME SCORES

TODAY'S SCORES

TODAY'S SCORES

NORMAL MODE

NORMAL MODE

( P ) PAUSE

( H ) HELP

( Q ) QUIT

GAME PAUSED

ARE YOU SURE YOU WANT TO QUIT

YES

YES

NO

NO

LEVEL UP!

SCORE:

TIME:

LEVEL:

COMPLETED:

0

0

00:00

-10

debug

+50

ActionScript [AS3]

Section 1
//IScrollBar (basement_core.display.scroll.IScrollBar) package basement_core.display.scroll { import flash.display.*; import flash.events.*; public interface IScrollBar extends IEventDispatcher { function setHeight(:Number):void; function hide():void; function setPercent(:Number):void; function setScrollDelta(:int):void; function getHandle():MovieClip; function getPercent():Number; } }//package basement_core.display.scroll
Section 2
//ScrollEvent (basement_core.display.scroll.ScrollEvent) package basement_core.display.scroll { import flash.events.*; public class ScrollEvent extends Event { public var percent:Number; public static const SCROLL:String = "SCROLL"; public function ScrollEvent(type:String="SCROLL", bubbles:Boolean=false, cancelable:Boolean=false){ super(type, bubbles, cancelable); } } }//package basement_core.display.scroll
Section 3
//ScrollPanel (basement_core.display.scroll.ScrollPanel) package basement_core.display.scroll { import flash.display.*; import flash.events.*; import gs.*; public class ScrollPanel extends MovieClip { private var scrollBar:IScrollBar; private var initY:Number; private var currentPercent:Number;// = 0 private var updatePosition:Boolean; private var autoFocus:Boolean; private var enabledArrows:Boolean; private var viewableArea:DisplayObject; private var initYDiff:Number; private var content:DisplayObject; private var scrollableDistance:Number; private static const KEY_DOWN:int = 40; private static const KEY_DELTA:int = 5; private static const KEY_UP:int = 38; public function ScrollPanel(objectToScroll:DisplayObject, objectMask:DisplayObject, scrollBar:IScrollBar, updatePositionOnRefresh:Boolean=false){ super(); this.autoFocus = true; this.enabledArrows = false; this.updatePosition = updatePositionOnRefresh; this.content = objectToScroll; this.initY = objectMask.y; updateDifference(); this.content.mask = objectMask; this.viewableArea = objectMask; this.content.addEventListener(MouseEvent.CLICK, onMouseClick); this.scrollBar = scrollBar; this.scrollBar.addEventListener(ScrollEvent.SCROLL, onScrollHandler); this.scrollBar.getHandle().addEventListener(MouseEvent.MOUSE_DOWN, onScrollHandleClick); this.addEventListener(FocusEvent.FOCUS_IN, onFocusIn); this.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut); this.refresh(); } public function getScrollableDistance():Number{ return (this.scrollableDistance); } protected function log(msg:String):void{ trace(("[ScrollPanel] " + msg)); } private function onScrollHandleClick(e:MouseEvent):void{ setFocus(); } private function onFocusOut(e:FocusEvent):void{ if (((this.content) && (this.content.stage))){ this.content.stage.removeEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); if (this.enabledArrows){ this.content.stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDownHandler); }; }; } public function refresh(fadeInTime:Number=0, delayIn:Number=0, fadeOutTime:Number=0, delayOut:Number=0, scrollMargin:Number=8, scrollPadding:Number=30):void{ var adjContent:Number; var adjDist:Number; if (updatePosition){ this.initY = viewableArea.y; updateDifference(); }; var adj:Number = this.initYDiff; if (initY > this.content.y){ adj = 0; }; this.scrollableDistance = (((this.content.height - this.viewableArea.height) - adj) + scrollMargin); if (scrollable()){ scrollableDistance = (scrollableDistance + scrollPadding); this.currentPercent = (-1 * (((this.content.y + this.initYDiff) - this.initY) / this.scrollableDistance)); if (currentPercent > 1){ adjContent = (currentPercent - 1); adjDist = (this.scrollableDistance * adjContent); this.content.y = (this.content.y + adjDist); }; this.scrollBar.setPercent(this.currentPercent); TweenLite.to(this.scrollBar, fadeInTime, {autoAlpha:1, delay:delayIn}); } else { TweenLite.to(this.scrollBar, fadeOutTime, {autoAlpha:0, delay:delayOut}); }; } public function setFocus():void{ this.content.stage.focus = this; } private function onScrollHandler(e:ScrollEvent):void{ scrollTo(e.percent); } private function onMouseClick(e:MouseEvent):void{ if (this.autoFocus){ e.stopImmediatePropagation(); setFocus(); }; } private function updateDifference():void{ this.initYDiff = (initY - this.content.y); } public function setAutoFocus(flag:Boolean):void{ this.autoFocus = flag; } private function scrollTo(percent:Number):void{ if (scrollable()){ this.currentPercent = percent; this.content.y = (((-(this.scrollableDistance) * percent) + this.initY) - this.initYDiff); }; } public function enableArrows(flag:Boolean):void{ this.enabledArrows = flag; } private function onKeyDownHandler(e:KeyboardEvent):void{ if (this.scrollable()){ if (e.keyCode == KEY_DOWN){ this.scrollBar.setScrollDelta(-(KEY_DELTA)); } else { if (e.keyCode == KEY_UP){ this.scrollBar.setScrollDelta(KEY_DELTA); }; }; }; } private function onMouseWheel(e:MouseEvent):void{ if (this.scrollable()){ this.scrollBar.setScrollDelta(e.delta); }; } public function setScrollPercent(percent:Number):void{ this.scrollBar.setPercent(percent); this.scrollTo(percent); } private function onFocusIn(e:FocusEvent):void{ if (((this.content) && (this.content.stage))){ this.content.stage.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); if (this.enabledArrows){ this.content.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownHandler); }; }; } private function scrollable():Boolean{ if (scrollableDistance > 0){ return (true); }; this.currentPercent = 0; this.content.y = (this.initY - this.initYDiff); return (false); } } }//package basement_core.display.scroll
Section 4
//Box (basement_core.display.Box) package basement_core.display { import flash.display.*; public class Box extends MovieClip { private var borderAlpha:Number; private var height_Box:Number; private var borderColor:uint; private var useBorder:Boolean; public var fillAlpha:Number; public var fillColor:uint; private var borderThickness:Number; private var width_Box:Number; public function Box(width:Number=100, height:Number=50){ super(); initVars(); this.width_Box = width; this.height_Box = height; this.setBorder(false); } public function setEventBlocker(flag:Boolean):void{ this.mouseEnabled = flag; } public function draw():void{ this.graphics.clear(); if (this.useBorder){ this.graphics.lineStyle(this.borderThickness, this.borderColor, this.borderAlpha); }; this.graphics.beginFill(this.fillColor, this.fillAlpha); this.graphics.drawRect(0, 0, this.width_Box, this.height_Box); } override public function get width():Number{ return (this.width_Box); } override public function set width(w:Number):void{ this.width_Box = w; } override public function set height(h:Number):void{ this.height_Box = h; } private function initVars():void{ this.fillColor = 0; this.fillAlpha = 1; } override public function get height():Number{ return (this.height_Box); } public function setBorder(flag:Boolean, thickness:Number=NaN, color:uint=0, alpha:Number=1):void{ this.useBorder = flag; this.borderAlpha = alpha; this.borderColor = color; this.borderThickness = thickness; } } }//package basement_core.display
Section 5
//HiScoreServerCalls (classes.zoneout.attract.server.HiScoreServerCalls) package classes.zoneout.attract.server { import flash.display.*; import flash.events.*; import flash.net.*; public class HiScoreServerCalls extends EventDispatcher { private var savedName:String; private var _mode:String; private var savedMode:String; private var savedScore:int; private var authKey:int; private var sessionId:int; private var returnedData:Array; private var phpURL:String;// = "http://www.knozone.com/game/data-score_" private var callBack:Function; private var submitURL:String;// = "http://www.knozone.com/game/izo_addScore.php" private var main:Main; private var stage:Stage; private static const SESSION_MAX:int = 10000; public function HiScoreServerCalls(){ super(); main = Main.getInstance(); stage = main.getStage(); } private function getCacheBreaker():String{ return (("&cacheBreaker=" + Math.round((Math.random() * 9999999999)).toString())); } private function onRequestKeyFail(e:ErrorEvent):void{ log(("Request Key Fail: " + e.text)); fail(); } private function reset():void{ this.authKey = -1; this.sessionId = -2; this.savedMode = null; this.savedName = null; this.savedScore = -1; } private function log(msg:String):void{ } public function submitHiScore(name:String, score:int, mode:String, callBackArg:Function):void{ callBack = callBackArg; savedName = name; savedScore = score; savedMode = mode.toLowerCase(); sessionId = (Math.ceil((Math.random() * (SESSION_MAX - 1))) + 1); var fullURL:String = submitURL; var ldr:URLLoader = new URLLoader(); var req:URLRequest = new URLRequest(); req.method = URLRequestMethod.POST; var data:URLVariables = new URLVariables(); data["session_id"] = sessionId; req.data = data; ldr.addEventListener(IOErrorEvent.IO_ERROR, onRequestKeyFail); ldr.addEventListener(Event.COMPLETE, onRequestKeyComplete); log(((("Trying URL: " + fullURL) + " with id: ") + sessionId)); req.url = fullURL; ldr.load(req); } private function onLoadError(e:IOErrorEvent):void{ log("Error submitting"); fail(); } private function submitHiScoreHelper():void{ var fullURL:String = submitURL; var data:URLVariables = new URLVariables(); data["difficulty"] = savedMode; data["session_id"] = sessionId; data["name"] = savedName; data["score"] = savedScore; data["authKey"] = authKey; var ldr:URLLoader = new URLLoader(); var req:URLRequest = new URLRequest(); req.method = URLRequestMethod.POST; req.data = data; ldr.addEventListener(IOErrorEvent.IO_ERROR, onLoadError); ldr.addEventListener(Event.COMPLETE, onSubmitComplete); req.url = fullURL; log(("SUBMITTING : " + req.url)); ldr.load(req); } private function onRequestKeyComplete(e:Event):void{ log("Got Key!"); log(("Data: " + XML(e.target.data).toXMLString())); log(("Data: " + XML(e.target.data))); if (((!(e.target.data)) || ((e.target.data == "")))){ log("E DATA WAS NADA.. FAIL"); fail(); return; }; authKey = int(XML(e.target.data).toString()); log(("INT KEY: " + authKey)); authKey = Math.ceil((((authKey / 3) * 2) + 7)); log(("NEW AUTH KEY: " + authKey)); submitHiScoreHelper(); } private function onCompleteHandler(e:Event):void{ var name:String; var score:String; var xml:XML = XML(e.target.data); var scoreList:XMLList = xml.score; returnedData = new Array(); var i:int; while (i < scoreList.length()) { name = scoreList[i].name.toString(); score = scoreList[i].child([("score_" + _mode)]).toString(); returnedData.push([name, score]); i++; }; log(("RETURNED: " + returnedData)); log(("LENGHT: " + returnedData.length)); callBack(true); } override public function toString():String{ return ("HiScoreServerCalls"); } private function fail():void{ reset(); callBack(false); } private function onSubmitComplete(e:Event):void{ log(("What returned? " + e.target.data)); var message:String = e.target.data.toString(); log(("message: " + message)); if (message.indexOf("Unauthorised:") > -1){ callBack(false); return; }; callBack(true); } public function requestHiScores(mode:String, timeFrame:String, callBackArg:Function):void{ _mode = mode; var req:URLRequest = new URLRequest(); var scoreVars:URLVariables = new URLVariables(); var fullURL:String = (((phpURL + mode) + ".php?option=") + timeFrame); req.url = ((fullURL + "&limit=10") + getCacheBreaker()); var ldr:URLLoader = new URLLoader(); ldr.addEventListener(Event.COMPLETE, onCompleteHandler); ldr.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler); log(("Requesting: " + req.url)); ldr.load(req); callBack = callBackArg; } public function getHiScoreData():Array{ return (returnedData); } private function errorEventHandler(e:ErrorEvent):void{ log(e.type); } } }//package classes.zoneout.attract.server
Section 6
//Attract (classes.zoneout.attract.Attract) package classes.zoneout.attract { import flash.display.*; import classes.zoneout.*; import flash.events.*; import gs.*; import basement_core.display.scroll.*; import classes.zoneout.attract.server.*; import flash.text.*; import basement_core.display.*; import gs.plugins.*; public class Attract { private var tip2Counter:MovieClip; private var scrollBar:EmbedScrollBar; private var sendToAFriendButton:MovieClip; private var mainMenuButton:MovieClip; private var genericCnt:int; private var playerName:String; private var Slots:MovieClip; private var stage:Stage; private var beginLevelOneButton:MovieClip; private var trackMC:Class; private var bgTopBar:Sprite; private var levelOneTipThree:MovieClip; private var hiScoresButtonXPos:Number;// = 281.15 private var instructionsMask:MovieClip; private var stepThree:MovieClip; private var level1Tip1Assets:Sprite; private var instructionsButton:MovieClip; private var soundHandler:SoundHandler; private var scrollPanel:ScrollPanel; private var button:Sprite; private var attractMode:MovieClip; private var playButton_hazardXPos:Number;// = 203 private var buttonMC:Class; private var track:Sprite; private var frontLogoXPos:Number;// = 199.7 private var hiScoresButton:MovieClip; private var transition:Transition; private var hiScorePlotter:HiScorePlotter; private var overlay:Box; private var targetFrame:int; private var clientLink:MovieClip; private var submitButton:MovieClip; private var callBack:Function; private var challengeFriendButton:MovieClip; private var frontLogo:MovieClip; private var hiScoreServerCalls:HiScoreServerCalls; private var beginLevelTwoButton:MovieClip; private var attractMask:Sprite; private var instructionsButtonXPos:Number;// = 277 private var masker:Sprite; private var levelOneTipTwo:MovieClip; private var tip:TextField; private var playButton_normalXPos:Number;// = 168 private var lockedIcon:MovieClip; private var clientURL:String;// = "http://www.cleanairmatters.org/" private var instructions:MovieClip; private var levelOneTipOne:MovieClip; private var masker1:Sprite; private var continueButton:MovieClip; private var sendToAFriend:SendToAFriend; private var playButton_normal:MovieClip; private var clientLinkXPos:Number;// = 202 private var unlockedStatusFlag:Boolean;// = false private var tipOne:Sprite; private var titleAssetsMC:Class; private var attractModeMC:Class; private var sendToAFriendButton_gameComplete:MovieClip; private var stepTwo:MovieClip; private var attractMaskMC:Class; private var sendToAFriendButtonXPos:Number;// = 244 private var playButton_hazard:MovieClip; private var levelTwoInstructions:MovieClip; private var airTip:Sprite; private var main:Main; private var mainMovie:DisplayObject; private var stepOne:MovieClip; private var counter:MovieClip; private var lockedIconXPos:Number;// = 398 private static const MAX_CHARS:int = 16; private static const RESTRICT:String = "A-Za-z 0-9"; public function Attract(){ titleAssetsMC = Attract_titleAssetsMC; attractModeMC = Attract_attractModeMC; trackMC = Attract_trackMC; buttonMC = Attract_buttonMC; attractMaskMC = Attract_attractMaskMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); attractMode = new attractModeMC(); attractMode.gotoAndStop("start"); track = new trackMC(); track.scaleY = 0.8; button = new buttonMC(); button.x = -2; this.scrollBar = new EmbedScrollBar(); this.scrollBar.x = 633; this.scrollBar.y = 115; this.scrollBar.init(button, track); this.attractMask = new attractMaskMC(); attractMask.x = 6; attractMask.y = 8; playerName = main.getInitObj().getCookies().name; transition = new Transition(); var titleAssets:Sprite = new titleAssetsMC(); playButton_normal = titleAssets["playButton_normal"]; playButton_normal.gotoAndStop("_up"); playButton_hazard = titleAssets["playButton_hazard"]; playButton_hazard.gotoAndStop(1); instructionsButton = titleAssets["instructions"]; instructionsButton.gotoAndStop(1); hiScoresButton = titleAssets["highScores"]; hiScoresButton.gotoAndStop(1); sendToAFriendButton = titleAssets["challengeFriend"]; sendToAFriendButton.gotoAndStop(1); clientLink = titleAssets["learnMore"]; clientLink.gotoAndStop(1); lockedIcon = titleAssets["lock"]; lockedIcon.gotoAndStop(1); frontLogo = titleAssets["frontLogo"]; } private function hsNameSelected(e:FocusEvent):void{ var hsName:String = attractMode["hsName"].text; if (hsName == "NAME"){ attractMode["hsName"].text = ""; }; } private function scoresSubmited(success:Boolean):void{ killButton(continueButton, continueButton_gameComplete_Pressed); killButton(sendToAFriendButton_gameComplete, sendToAFriendButton_gameCompletePressed); if (success == true){ submitButtonPress_init(); } else { soundHandler.play_rowLost(); }; } private function attract_kill():void{ houseKeeping(); } public function restart():void{ transition.transitionRemove(attractMode); attractMode.gotoAndStop("start"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = titleButtons_init; initializeFrame(); } public function init():void{ attractMode.gotoAndStop("start"); attractMode.y = -13; stage.addChild(attractMode); stage.addChild(this.attractMask); attractMode.mask = this.attractMask; this.overlay = new Box(713, 468); this.overlay.fillAlpha = 1; this.overlay.fillColor = 6671615; this.overlay.draw(); this.overlay.y = -13; stage.addChild(overlay); TweenLite.to(overlay, 1, {delay:0.25, autoAlpha:0}); targetFrame = attractMode.currentFrame; callBack = titleButtons_init; initializeFrame(); } private function buttonRollOut(e:MouseEvent):void{ e.target.gotoAndStop("_up"); } private function continueButton_beginOne_init():void{ mainMenuButton = attractMode["mainMenuButton"]; initButton(mainMenuButton, mainMenu_Pressed); continueButton = attractMode["continueButton"]; initButton(continueButton, beginLevelOneButton_Pressed); bgTopBar = attractMode["bgTopBar"]; bgTopBar.alpha = 0; if (bgTopBar.alpha == 0){ bgTopBar.x = 5.75; bgTopBar.y = 0; TweenLite.to(bgTopBar, 0.8, {x:5.75, y:20.45, alpha:1, delay:0.8}); }; } private function continueButton_gameOver_kill():void{ killButton(continueButton, continueButton_gameOver_Pressed); } private function continueButtonPressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); continueButton_levelComplete_kill(); attract_kill(); main.getInitObj().getGameController().nextLevelInit(); } private function clientLinkButtonPressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); Web.getURL(clientURL, "_blank"); } private function hiScoresButtonPressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); titleButtons_kill(); attractMode.gotoAndStop("hiScores"); attractMode.x = 700; transition.transitionAppear(attractMode); stage.addChild(attractMode); targetFrame = attractMode.currentFrame; callBack = hiScorePlotter.init; initializeFrame(); } private function sendToAFriendButtonPressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); titleButtons_kill(); attractMode.gotoAndStop("sendToAFriend"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = sendToAFriend.init; initializeFrame(); } private function waitOneFrame(e:Event):void{ if (attractMode.currentFrame == targetFrame){ attractMode.removeEventListener(Event.ENTER_FRAME, waitOneFrame); callBack(); }; } private function killButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = false; buttonArg.buttonMode = false; buttonArg.gotoAndStop(1); buttonArg.removeEventListener(MouseEvent.CLICK, callBackArg); buttonArg.removeEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.removeEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function buttonRollOver(e:MouseEvent):void{ e.target.gotoAndStop("_over"); } private function playButton_normalPressed(e:MouseEvent=null):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); titleButtons_kill(); attractMode.gotoAndStop("beginOne"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = continueButton_beginOne_init; initializeFrame(); } private function instructionsButtonPressed(e:MouseEvent=null):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); titleButtons_kill(); attractMode.gotoAndStop("help"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = init_instructions; initializeFrame(); } public function initTitles():void{ attractMode.gotoAndStop("start"); stage.addChild(attractMode); targetFrame = attractMode.currentFrame; callBack = titleButtonsRestart_init; initializeFrame(); } public function preInit():void{ hiScoreServerCalls = new HiScoreServerCalls(); hiScorePlotter = new HiScorePlotter(attractMode, transition, hiScoreServerCalls); sendToAFriend = new SendToAFriend(attractMode, transition); soundHandler = main.getInitObj().getSoundHandler(); init(); } private function submitButtonPressed(e:MouseEvent):void{ var hsName:String = attractMode["hsName"].text; if (hsName == "NAME"){ submitButton.visible = true; return; }; submitButton.visible = false; attractMode["hsName"].removeEventListener(FocusEvent.FOCUS_IN, hsNameSelected); attractMode["hsName"].removeEventListener(FocusEvent.FOCUS_OUT, hsNameDeselected); killButton(submitButton, submitButtonPressed); soundHandler.play_buttonClick(); playerName = hsName; main.getInitObj().getCookies().name = playerName; main.getInitObj().getCookies().saveAll(); var mode:String = main.getInitObj().getGameController().gameMode; hiScoreServerCalls.submitHiScore(playerName, main.getInitObj().getGameController().getScore(), mode, scoresSubmited); } private function waitingForLockedIconToDie(e:Event):void{ if (++genericCnt < 50){ return; }; if (genericCnt == 50){ lockedIcon.gotoAndPlay(1); }; if (lockedIcon.currentFrame == lockedIcon.totalFrames){ lockedIcon.removeEventListener(Event.ENTER_FRAME, waitingForLockedIconToDie); attractMode.removeChild(lockedIcon); lockedIcon.gotoAndStop(1); initButton(playButton_hazard, playButton_hazardPressed); }; if (playButton_hazard.alpha < 1){ playButton_hazard.alpha = (playButton_hazard.alpha + 0.1); }; } public function gameComplete():void{ attractMode.gotoAndStop("Complete"); transition.transitionLevelAppear(attractMode); stage.addChild(attractMode); targetFrame = attractMode.currentFrame; callBack = continueButton_gameComplete_init; initializeFrame(); } private function log(msg:String):void{ trace("[Attract] ", msg); } private function initButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = true; buttonArg.buttonMode = true; buttonArg.enabled = true; buttonArg.mouseChildren = true; buttonArg.gotoAndStop("_up"); buttonArg.addEventListener(MouseEvent.CLICK, callBackArg); buttonArg.addEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.addEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function continueButton_gameOver_Pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); continueButton_gameOver_kill(); transition.transitionRemove(attractMode); restart(); } public function toString():String{ return ("Attract"); } private function continueButton_gameComplete_init():void{ continueButton = attractMode["mainMenuButton"]; initButton(continueButton, continueButton_gameComplete_Pressed); submitButton = attractMode["submitButton"]; initButton(submitButton, submitButtonPressed); inputTextHandler_init(); sendToAFriendButton_gameComplete = attractMode["sendToAFriendButton_gameComplete"]; initButton(sendToAFriendButton_gameComplete, sendToAFriendButton_gameCompletePressed); var score:int = main.getInitObj().getGameController().getScore(); var scoreString:String = score.toString(); var leadingZeros:String = ""; var cnt:int = (7 - scoreString.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; attractMode["score"].text = (leadingZeros + scoreString); } private function continueButton_levelComplete_init():void{ continueButton = attractMode["continueButton"]; initButton(continueButton, continueButtonPressed); mainMenuButton = attractMode["mainMenuButton"]; initButton(mainMenuButton, mainMenu_Pressed); airTip = attractMode["airTip"]; tip = airTip["tip"]; var callouts:Array = new Array(); callouts.push("Leave early to avoid rush hour traffic."); callouts.push("Take a Sunday walk – not a Sunday drive."); callouts.push("Install a programmable thermostat."); callouts.push("Carpool to work, lunch or school."); callouts.push("Use public transportation."); callouts.push("Don’t wait at long drive-thru lines."); callouts.push("Don’t burn trash or leaves."); callouts.push("Bring your lunch to work or school."); callouts.push("Turn off lights that aren’t being used"); var n:int = callouts.length; var r:int = (Math.random() * n); tip.text = callouts[r].toString(); var levelScore:int = main.getInitObj().getGameController().getLevelScore(); var scoreString:String = levelScore.toString(); var leadingZeros:String = ""; var cnt:int = (7 - scoreString.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; attractMode["score"].text = (leadingZeros + scoreString); } private function titleButtons_init():void{ attractMode.addChild(playButton_normal); initButton(playButton_normal, playButton_normalPressed); attractMode.addChild(playButton_hazard); if (main.getInitObj().getGameController().hazardModeUnlockedFlag == true){ if (unlockedStatusFlag == false){ unlockedStatusFlag = true; playButton_hazard.alpha = 0.5; genericCnt = 0; attractMode.addChild(lockedIcon); lockedIcon.addEventListener(Event.ENTER_FRAME, waitingForLockedIconToDie); } else { playButton_hazard.alpha = 1; initButton(playButton_hazard, playButton_hazardPressed); }; } else { playButton_hazard.alpha = 0.5; attractMode.addChild(lockedIcon); lockedIcon.gotoAndStop(1); }; attractMode.addChild(instructionsButton); initButton(instructionsButton, instructionsButtonPressed); attractMode.addChild(hiScoresButton); initButton(hiScoresButton, hiScoresButtonPressed); attractMode.addChild(sendToAFriendButton); initButton(sendToAFriendButton, sendToAFriendButtonPressed); attractMode.addChild(clientLink); initButton(clientLink, clientLinkButtonPressed); attractMode.addChild(frontLogo); } private function mainMenu_Pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); if (this.mainMenuButton){ killButton(this.mainMenuButton, mainMenu_Pressed); }; if (continueButton){ killButton(continueButton, beginLevelOneButton_Pressed); killButton(continueButton, continueButton_gameComplete_Pressed); }; if (((scrollBar) && (attractMode.contains(scrollBar)))){ attractMode.removeChild(scrollBar); }; restart(); } private function init_instructions():void{ mainMenuButton = attractMode["mainMenuButton"]; bgTopBar = attractMode["bgTopBar"]; bgTopBar.alpha = 0; if (bgTopBar.alpha == 0){ bgTopBar.x = 5.75; bgTopBar.y = 0; TweenLite.to(bgTopBar, 0.8, {x:5.75, y:20.45, alpha:1, delay:0.8}); }; attractMode.addChild(scrollBar); instructionsMask = attractMode["instructionsMask"]; instructions = attractMode["instructions"]; initButton(mainMenuButton, mainMenu_Pressed); instructions.mask = instructionsMask; instructions.cacheAsBitmap = true; instructionsMask.cacheAsBitmap = true; scrollPanel = new ScrollPanel(instructions, instructionsMask, scrollBar); this.scrollPanel.enableArrows(true); scrollPanel.setAutoFocus(false); scrollPanel.refresh(0, 0, 0, 0, 8, -1100); attractMode.addChild(scrollPanel); } private function sendToAFriendButton_gameCompletePressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); log("send "); killButton(continueButton, continueButton_gameComplete_Pressed); killButton(submitButton, submitButtonPressed); killButton(sendToAFriendButton_gameComplete, sendToAFriendButton_gameCompletePressed); attractMode["hsName"].removeEventListener(FocusEvent.FOCUS_IN, hsNameSelected); attractMode["hsName"].removeEventListener(FocusEvent.FOCUS_OUT, hsNameDeselected); sendtoAFriend_publicCall(); } private function inputTextHandler_init():void{ var hsName:TextField = attractMode["hsName"]; hsName.restrict = RESTRICT; hsName.maxChars = MAX_CHARS; hsName.addEventListener(FocusEvent.FOCUS_IN, hsNameSelected); hsName.addEventListener(FocusEvent.FOCUS_OUT, hsNameDeselected); attractMode["hsName"].text = playerName; } private function waitTwoFrame(e:Event):void{ if (attractMode.currentFrame == targetFrame){ attractMode.removeEventListener(Event.ENTER_FRAME, waitTwoFrame); attractMode.addEventListener(Event.ENTER_FRAME, waitOneFrame); }; } private function submitButtonPress_init():void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); attractMode.gotoAndStop("hiScores"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = hiScorePlotter.init; initializeFrame(); } public function sendtoAFriend_publicCall():void{ attractMode.gotoAndStop("sendToAFriend"); attractMode.x = 700; transition.transitionAppear(attractMode); targetFrame = attractMode.currentFrame; callBack = sendToAFriend.init; initializeFrame(); } private function playButton_hazardPressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); titleButtons_kill(); attract_kill(); main.getInitObj().getGameController().startGame("hazard"); } private function initializeFrame():void{ attractMode.addEventListener(Event.ENTER_FRAME, waitTwoFrame); } private function continueButton_gameOver_init():void{ continueButton = attractMode["mainMenuButton"]; initButton(continueButton, continueButton_gameOver_Pressed); submitButton = attractMode["submitButton"]; initButton(submitButton, submitButtonPressed); inputTextHandler_init(); sendToAFriendButton_gameComplete = attractMode["sendToAFriendButton_gameComplete"]; initButton(sendToAFriendButton_gameComplete, sendToAFriendButton_gameCompletePressed); var score:int = main.getInitObj().getGameController().getScore(); var scoreString:String = score.toString(); var leadingZeros:String = ""; var cnt:int = (7 - scoreString.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; attractMode["score"].text = (leadingZeros + scoreString); } private function continueButton_gameComplete_kill():void{ killButton(continueButton, continueButton_gameComplete_Pressed); } private function continueButton_levelComplete_kill():void{ killButton(continueButton, continueButtonPressed); } public function levelComplete(levelArg:int):void{ if (levelArg == 2){ attractMode.gotoAndStop("level2"); transition.transitionLevelAppear(attractMode); stage.addChild(attractMode); } else { if (levelArg == 3){ attractMode.gotoAndStop("level3"); transition.transitionLevelAppear(attractMode); stage.addChild(attractMode); } else { attractMode.gotoAndStop("level4"); transition.transitionLevelAppear(attractMode); stage.addChild(attractMode); }; }; targetFrame = attractMode.currentFrame; callBack = continueButton_levelComplete_init; initializeFrame(); } private function beginLevelOneButton_Pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); killButton(mainMenuButton, mainMenu_Pressed); killButton(continueButton, beginLevelOneButton_Pressed); attract_kill(); main.getInitObj().getGameController().startGame("normal"); } private function titleButtonsRestart_init():void{ transition.transtionsTitlesAppear(playButton_normal, playButton_normalXPos); attractMode.addChild(playButton_normal); initButton(playButton_normal, playButton_normalPressed); transition.transtionsTitlesAppear(playButton_hazard, playButton_hazardXPos); attractMode.addChild(playButton_hazard); if (main.getInitObj().getGameController().hazardModeUnlockedFlag == true){ if (unlockedStatusFlag == false){ unlockedStatusFlag = true; playButton_hazard.alpha = 0.5; genericCnt = 0; transition.transtionsTitlesAppear(lockedIcon, lockedIconXPos); attractMode.addChild(lockedIcon); lockedIcon.addEventListener(Event.ENTER_FRAME, waitingForLockedIconToDie); } else { playButton_hazard.alpha = 1; initButton(playButton_hazard, playButton_hazardPressed); }; } else { playButton_hazard.alpha = 0.5; transition.transtionsTitlesAppear(lockedIcon, lockedIconXPos); attractMode.addChild(lockedIcon); lockedIcon.gotoAndStop(1); }; transition.transtionsTitlesAppear(instructionsButton, instructionsButtonXPos); attractMode.addChild(instructionsButton); initButton(instructionsButton, instructionsButtonPressed); transition.transtionsTitlesAppear(hiScoresButton, hiScoresButtonXPos); attractMode.addChild(hiScoresButton); initButton(hiScoresButton, hiScoresButtonPressed); transition.transtionsTitlesAppear(sendToAFriendButton, sendToAFriendButtonXPos); attractMode.addChild(sendToAFriendButton); initButton(sendToAFriendButton, sendToAFriendButtonPressed); transition.transtionsTitlesAppear(clientLink, clientLinkXPos); attractMode.addChild(clientLink); initButton(clientLink, clientLinkButtonPressed); transition.transtionsTitlesAppear(frontLogo, frontLogoXPos); attractMode.addChild(frontLogo); } private function titleButtons_kill():void{ killButton(playButton_normal, playButton_normalPressed); attractMode.removeChild(playButton_normal); killButton(playButton_hazard, playButton_hazardPressed); attractMode.removeChild(playButton_hazard); killButton(instructionsButton, instructionsButtonPressed); attractMode.removeChild(instructionsButton); killButton(hiScoresButton, hiScoresButtonPressed); attractMode.removeChild(hiScoresButton); killButton(sendToAFriendButton, sendToAFriendButtonPressed); attractMode.removeChild(sendToAFriendButton); killButton(clientLink, clientLinkButtonPressed); attractMode.removeChild(clientLink); attractMode.removeChild(frontLogo); if (lockedIcon.parent != null){ attractMode.removeChild(lockedIcon); lockedIcon.removeEventListener(Event.ENTER_FRAME, waitingForLockedIconToDie); }; } public function gameOver():void{ attractMode.gotoAndStop("GameOver"); attractMode.x = 700; transition.transitionLevelAppear(attractMode); stage.addChild(attractMode); targetFrame = attractMode.currentFrame; callBack = continueButton_gameOver_init; initializeFrame(); } private function continueButton_gameComplete_Pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); continueButton_gameComplete_kill(); restart(); } private function hsNameDeselected(e:FocusEvent):void{ var hsName:String = attractMode["hsName"].text; if (hsName == ""){ attractMode["hsName"].text = "NAME"; }; } public function houseKeeping():void{ stage.removeChild(attractMode); } TweenPlugin.activate([FrameLabelPlugin]); } }//package classes.zoneout.attract
Section 7
//Attract_attractMaskMC (classes.zoneout.attract.Attract_attractMaskMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class Attract_attractMaskMC extends SpriteAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout.attract
Section 8
//Attract_attractModeMC (classes.zoneout.attract.Attract_attractModeMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class Attract_attractModeMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_hazard:DisplayObject; public var cell:DisplayObject; public var stepOne:DisplayObject; public var mainMenuButton:DisplayObject; public var frontLogo:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var bgTopBar:DisplayObject; public var instructions:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var three:DisplayObject; public var instructionsMask:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var friendsNameTF:DisplayObject; public var hsName:DisplayObject; public var learnMore:DisplayObject; public var playButton_normal:DisplayObject; public var yourNameTF:DisplayObject; public var Masker:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var submitButton:DisplayObject; public var levelTwoInstructions:DisplayObject; public var two:DisplayObject; public var airTip:DisplayObject; public var yourEmailTF:DisplayObject; public var stepThree:DisplayObject; public var highScores:DisplayObject; } }//package classes.zoneout.attract
Section 9
//Attract_buttonMC (classes.zoneout.attract.Attract_buttonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class Attract_buttonMC extends SpriteAsset { public var playButton_normal:DisplayObject; public var five:DisplayObject; public var Masker:DisplayObject; public var two:DisplayObject; public var cloud1:DisplayObject; public var cloud3:DisplayObject; public var challengeFriend:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var instructions:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var playButton_hazard:DisplayObject; public var cloud2:DisplayObject; public var progressAnim:DisplayObject; public var lock:DisplayObject; public var frontLogo:DisplayObject; public var three:DisplayObject; public var learnMore:DisplayObject; public var four:DisplayObject; } }//package classes.zoneout.attract
Section 10
//Attract_titleAssetsMC (classes.zoneout.attract.Attract_titleAssetsMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class Attract_titleAssetsMC extends SpriteAsset { public var playButton_normal:DisplayObject; public var five:DisplayObject; public var Masker:DisplayObject; public var two:DisplayObject; public var cloud1:DisplayObject; public var cloud3:DisplayObject; public var challengeFriend:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var instructions:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var playButton_hazard:DisplayObject; public var cloud2:DisplayObject; public var progressAnim:DisplayObject; public var lock:DisplayObject; public var frontLogo:DisplayObject; public var three:DisplayObject; public var learnMore:DisplayObject; public var four:DisplayObject; } }//package classes.zoneout.attract
Section 11
//Attract_trackMC (classes.zoneout.attract.Attract_trackMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class Attract_trackMC extends SpriteAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout.attract
Section 12
//HiScorePlotter (classes.zoneout.attract.HiScorePlotter) package classes.zoneout.attract { import flash.display.*; import classes.zoneout.*; import flash.events.*; import gs.*; import classes.zoneout.attract.server.*; public class HiScorePlotter { private var buttonCoverMC:Class; private var mainMenuButton:MovieClip; private var allTimeScoreButtonMC:Class; private var sendToAFriendButton:MovieClip; private var hiScoreServerCalls:HiScoreServerCalls; private var mainMenuButtonMC:Class; private var bgTopBar:Sprite; private var buttonCover:Sprite; private var mode:String;// = "normal" private var gameMode:String; private var main:Main; private var soundHandler:SoundHandler; private var localScoreMC:Class; private var attractMode:MovieClip; private var hs_normalModeButtonMC:Class; private var todaysScoreButtonMC:Class; private var weekButton:MovieClip; private var hiScoreTextBoxesMC:Class; private var monthButton:MovieClip; private var todayButton:MovieClip; private var monthScoreButtonMC:Class; private var transition:Transition; private var allTimeButton:MovieClip; private var challengeAFriendButtonMC:Class; private var callBack:Function; private var weekScoreButtonMC:Class; private var hazardModeButton:MovieClip; private var localScore:Sprite; private var hs_hazardModeButtonMC:Class; private var mainMovie:DisplayObject; private var hiScoreTextBoxes:Sprite; private var normalModeButton:MovieClip; private var timeScale:String;// = "all-time" private var stage:Stage; public function HiScorePlotter(attractModeArg:MovieClip, transitionArg:Transition, hiScoreServerCallsArg:HiScoreServerCalls){ mainMenuButtonMC = HiScorePlotter_mainMenuButtonMC; hs_hazardModeButtonMC = HiScorePlotter_hs_hazardModeButtonMC; hs_normalModeButtonMC = HiScorePlotter_hs_normalModeButtonMC; buttonCoverMC = HiScorePlotter_buttonCoverMC; hiScoreTextBoxesMC = HiScorePlotter_hiScoreTextBoxesMC; allTimeScoreButtonMC = HiScorePlotter_allTimeScoreButtonMC; monthScoreButtonMC = HiScorePlotter_monthScoreButtonMC; weekScoreButtonMC = HiScorePlotter_weekScoreButtonMC; todaysScoreButtonMC = HiScorePlotter_todaysScoreButtonMC; localScoreMC = HiScorePlotter_localScoreMC; challengeAFriendButtonMC = HiScorePlotter_challengeAFriendButtonMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); transition = transitionArg; hiScoreServerCalls = hiScoreServerCallsArg; soundHandler = main.getInitObj().getSoundHandler(); attractMode = attractModeArg; buttonCover = new buttonCoverMC(); buttonCover.useHandCursor = false; buttonCover.buttonMode = true; hiScoreTextBoxes = new hiScoreTextBoxesMC(); hiScoreTextBoxes.x = 312; hiScoreTextBoxes.y = 187; localScore = new localScoreMC(); localScore.x = 400; localScore.y = 131; normalModeButton = new hs_normalModeButtonMC(); normalModeButton.x = 264; normalModeButton.y = 109; normalModeButton.scaleX = (normalModeButton.scaleY = 1.04); normalModeButton.gotoAndStop(1); hazardModeButton = new hs_hazardModeButtonMC(); hazardModeButton.x = 477; hazardModeButton.y = 109; hazardModeButton.scaleX = (hazardModeButton.scaleY = 0.85); hazardModeButton.gotoAndStop(1); allTimeButton = new allTimeScoreButtonMC(); allTimeButton.x = 156; allTimeButton.y = 282; allTimeButton.gotoAndStop(1); monthButton = new monthScoreButtonMC(); monthButton.x = 156; monthButton.y = 244; monthButton.gotoAndStop(1); weekButton = new weekScoreButtonMC(); weekButton.x = 156; weekButton.y = 210; weekButton.gotoAndStop(1); todayButton = new todaysScoreButtonMC(); todayButton.x = 156; todayButton.y = 175; todayButton.gotoAndStop(1); sendToAFriendButton = new challengeAFriendButtonMC(); sendToAFriendButton.x = 138; sendToAFriendButton.y = 185; sendToAFriendButton.gotoAndStop(1); mainMenuButton = new mainMenuButtonMC(); mainMenuButton.x = 16; mainMenuButton.y = 30; mainMenuButton.scaleX = (mainMenuButton.scaleY = 1.5); mainMenuButton.gotoAndStop(1); } private function sendToAFriendButton_pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); houseKeeping(); main.getInitObj().getAttract().sendtoAFriend_publicCall(); } public function houseKeeping():void{ killButton(mainMenuButton, mainMenuButton_pressed); attractMode.removeChild(mainMenuButton); killButton(sendToAFriendButton, sendToAFriendButton_pressed); attractMode.removeChild(sendToAFriendButton); attractMode.removeChild(normalModeButton); attractMode.removeChild(hazardModeButton); attractMode.removeChild(allTimeButton); attractMode.removeChild(monthButton); attractMode.removeChild(weekButton); attractMode.removeChild(todayButton); attractMode.removeChild(localScore); attractMode.removeChild(hiScoreTextBoxes); killButton(normalModeButton, normalButtonPressed); killButton(hazardModeButton, hazardButtonPressed); killButton(allTimeButton, allTimeButtonPressed); killButton(monthButton, monthlyButtonPressed); killButton(weekButton, weeklyButtonPressed); killButton(todayButton, todayButtonPressed); } private function populateTable():void{ var hsData:Array = hiScoreServerCalls.getHiScoreData(); var cnt:int; while (++cnt != 11) { if ((((((hsData[(cnt - 1)] == null)) || ((hsData[(cnt - 1)][1] == null)))) || ((hsData[(cnt - 1)][1].toString().length == 0)))){ hsData[(cnt - 1)] = ["empty", 0]; }; hiScoreTextBoxes[("name" + cnt)].text = hsData[(cnt - 1)][0]; hiScoreTextBoxes[("score" + cnt)].text = insertLeadingZeros(hsData[(cnt - 1)][1]); }; } private function weeklyButtonPressed(e:MouseEvent):void{ killButton(weekButton, weeklyButtonPressed); soundHandler.play_buttonClick(); TweenLite.to(weekButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:weeklyButtonPressedFinished}); if (timeScale == "all-time"){ allTimeButton.gotoAndStop(1); TweenLite.to(allTimeButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(allTimeButton, allTimeButtonPressed); } else { if (timeScale == "month"){ monthButton.gotoAndStop(1); TweenLite.to(monthButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(monthButton, monthlyButtonPressed); } else { if (timeScale == "today"){ todayButton.gotoAndStop(1); TweenLite.to(todayButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(todayButton, todayButtonPressed); }; }; }; timeScale = "week"; attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function monthlyButtonPressed(e:MouseEvent):void{ killButton(monthButton, monthlyButtonPressed); soundHandler.play_buttonClick(); TweenLite.to(monthButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:monthlyButtonPressedFinished}); if (timeScale == "all-time"){ allTimeButton.gotoAndStop(1); TweenLite.to(allTimeButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(allTimeButton, allTimeButtonPressed); } else { if (timeScale == "week"){ weekButton.gotoAndStop(1); TweenLite.to(weekButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(weekButton, weeklyButtonPressed); } else { if (timeScale == "today"){ todayButton.gotoAndStop(1); TweenLite.to(todayButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(todayButton, todayButtonPressed); }; }; }; timeScale = "month"; attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function todayButtonPressed(e:MouseEvent):void{ killButton(todayButton, todayButtonPressed); soundHandler.play_buttonClick(); TweenLite.to(todayButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:todayButtonPressedFinished}); if (timeScale == "all-time"){ allTimeButton.gotoAndStop(1); TweenLite.to(allTimeButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(allTimeButton, allTimeButtonPressed); } else { if (timeScale == "month"){ monthButton.gotoAndStop(1); TweenLite.to(monthButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(monthButton, monthlyButtonPressed); } else { if (timeScale == "week"){ weekButton.gotoAndStop(1); TweenLite.to(weekButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(weekButton, weeklyButtonPressed); }; }; }; timeScale = "today"; attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } public function init():void{ attractMode.addChild(mainMenuButton); initButton(mainMenuButton, mainMenuButton_pressed); attractMode.addChild(sendToAFriendButton); initButton(sendToAFriendButton, sendToAFriendButton_pressed); attractMode.addChild(hazardModeButton); attractMode.addChild(normalModeButton); attractMode.addChild(allTimeButton); attractMode.addChild(monthButton); attractMode.addChild(weekButton); attractMode.addChild(todayButton); attractMode.addChild(localScore); localScore.alpha = 0; attractMode.addChild(hiScoreTextBoxes); bgTopBar = attractMode["bgTopBar"]; bgTopBar = attractMode["bgTopBar"]; bgTopBar.alpha = 0; if (bgTopBar.alpha == 0){ bgTopBar.x = 0; bgTopBar.y = 0; TweenLite.to(bgTopBar, 0.8, {x:5.95, y:20.45, alpha:1, delay:0.8}); }; setupButtons(); buttonCover.alpha = 0; attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function hazardButtonPressed(e:MouseEvent):void{ killButton(hazardModeButton, hazardButtonPressed); soundHandler.play_buttonClick(); mode = "hazard"; var savedScore:String = main.getInitObj().getCookies().hazardmode_hiscore.toString(); var leadingZeros:String = ""; var cnt:int = (7 - savedScore.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; localScore["score"].text = (leadingZeros + savedScore); TweenLite.to(hazardModeButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:hazardPressedFinished}); normalModeButton.gotoAndStop(1); TweenLite.to(normalModeButton, 0.2, {scaleX:0.85, scaleY:0.85}); attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function weeklyButtonPressedFinished():void{ weekButton.gotoAndStop(2); } private function allTimeButtonPressedFinished():void{ allTimeButton.gotoAndStop(2); } private function allTimeButtonPressed(e:MouseEvent):void{ killButton(allTimeButton, allTimeButtonPressed); soundHandler.play_buttonClick(); TweenLite.to(allTimeButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:allTimeButtonPressedFinished}); if (timeScale == "week"){ weekButton.gotoAndStop(1); TweenLite.to(weekButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(weekButton, weeklyButtonPressed); } else { if (timeScale == "month"){ monthButton.gotoAndStop(1); TweenLite.to(monthButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(monthButton, monthlyButtonPressed); } else { if (timeScale == "today"){ todayButton.gotoAndStop(1); TweenLite.to(todayButton, 0.2, {scaleX:0.85, scaleY:0.85}); initButton(todayButton, todayButtonPressed); }; }; }; timeScale = "all-time"; attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function monthlyButtonPressedFinished():void{ monthButton.gotoAndStop(2); } private function killButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = false; buttonArg.buttonMode = false; buttonArg.gotoAndStop(1); buttonArg.removeEventListener(MouseEvent.CLICK, callBackArg); buttonArg.removeEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.removeEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function log(msg:String):void{ trace("[HiScorePlotter] ", msg); } private function waitOneFrame(e:Event):void{ attractMode.removeEventListener(Event.ENTER_FRAME, waitOneFrame); callBack(); } private function insertLeadingZeros(scoreString:String):String{ var leadingZeros:String = ""; var cnt:int = (7 - scoreString.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; return ((leadingZeros + scoreString)); } private function hazardPressedFinished():void{ hazardModeButton.gotoAndStop(2); var depth:int = attractMode.getChildIndex(hazardModeButton); var depth2:int = attractMode.getChildIndex(normalModeButton); attractMode.setChildIndex(hazardModeButton, depth2); attractMode.setChildIndex(normalModeButton, depth); initButton(normalModeButton, normalButtonPressed); } private function buttonRollOver(e:MouseEvent):void{ e.target.gotoAndStop(2); } private function setupButtons():void{ var depth:int; var depth2:int; var savedScore:String; mode = main.getInitObj().getGameController().gameMode.toString(); if (timeScale == "all-time"){ allTimeButton.scaleX = (allTimeButton.scaleY = 1.04); allTimeButton.gotoAndStop(2); monthButton.scaleX = (monthButton.scaleY = 0.85); weekButton.scaleX = (weekButton.scaleY = 0.85); todayButton.scaleX = (todayButton.scaleY = 0.85); initButton(todayButton, todayButtonPressed); initButton(weekButton, weeklyButtonPressed); initButton(monthButton, monthlyButtonPressed); } else { if (timeScale == "month"){ allTimeButton.scaleX = (allTimeButton.scaleY = 0.85); monthButton.scaleX = (monthButton.scaleY = 1.04); monthButton.gotoAndStop(2); weekButton.scaleX = (weekButton.scaleY = 0.85); todayButton.scaleX = (todayButton.scaleY = 0.85); initButton(allTimeButton, allTimeButtonPressed); initButton(weekButton, weeklyButtonPressed); initButton(todayButton, todayButtonPressed); } else { if (timeScale == "week"){ allTimeButton.scaleX = (allTimeButton.scaleY = 0.85); monthButton.scaleX = (monthButton.scaleY = 0.85); weekButton.scaleX = (weekButton.scaleY = 1.04); weekButton.gotoAndStop(2); todayButton.scaleX = (todayButton.scaleY = 0.85); initButton(allTimeButton, allTimeButtonPressed); initButton(monthButton, monthlyButtonPressed); initButton(todayButton, todayButtonPressed); } else { allTimeButton.scaleX = (allTimeButton.scaleY = 0.85); monthButton.scaleX = (monthButton.scaleY = 0.85); weekButton.scaleX = (weekButton.scaleY = 0.85); todayButton.scaleX = (todayButton.scaleY = 1.04); todayButton.gotoAndStop(2); initButton(allTimeButton, allTimeButtonPressed); initButton(monthButton, monthlyButtonPressed); initButton(weekButton, weeklyButtonPressed); }; }; }; if (mode == "normal"){ normalModeButton.scaleX = (normalModeButton.scaleY = 1.04); hazardModeButton.scaleX = (hazardModeButton.scaleY = 0.85); initButton(hazardModeButton, hazardButtonPressed); normalModeButton.gotoAndStop(2); depth = attractMode.getChildIndex(hazardModeButton); depth2 = attractMode.getChildIndex(normalModeButton); if (depth > depth2){ attractMode.setChildIndex(hazardModeButton, depth2); attractMode.setChildIndex(normalModeButton, depth); }; savedScore = main.getInitObj().getCookies().normalmode_hiscore.toString(); } else { if (mode == "hazard"){ normalModeButton.scaleX = (normalModeButton.scaleY = 0.85); hazardModeButton.scaleX = (hazardModeButton.scaleY = 1.04); initButton(normalModeButton, normalButtonPressed); hazardModeButton.gotoAndStop(2); depth = attractMode.getChildIndex(hazardModeButton); depth2 = attractMode.getChildIndex(normalModeButton); if (depth < depth2){ attractMode.setChildIndex(hazardModeButton, depth2); attractMode.setChildIndex(normalModeButton, depth); }; savedScore = main.getInitObj().getCookies().hazardmode_hiscore.toString(); }; }; var leadingZeros:String = ""; var cnt:int = (7 - savedScore.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; localScore["score"].text = (leadingZeros + savedScore); } private function normalPressedFinished():void{ normalModeButton.gotoAndStop(2); var depth:int = attractMode.getChildIndex(hazardModeButton); var depth2:int = attractMode.getChildIndex(normalModeButton); attractMode.setChildIndex(hazardModeButton, depth2); attractMode.setChildIndex(normalModeButton, depth); initButton(hazardModeButton, hazardButtonPressed); } private function dataLoaded(success:Boolean):void{ if (buttonCover.parent != null){ attractMode.removeChild(buttonCover); buttonCover.alpha = 0.8; }; if (success == true){ populateTable(); } else { trace(success); }; } private function todayButtonPressedFinished():void{ todayButton.gotoAndStop(2); } private function initButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = true; buttonArg.buttonMode = true; buttonArg.enabled = true; buttonArg.mouseChildren = true; buttonArg.gotoAndStop(1); buttonArg.addEventListener(MouseEvent.CLICK, callBackArg); buttonArg.addEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.addEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } public function toString():String{ return ("HiScorePlotter"); } private function mainMenuButton_pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); houseKeeping(); main.getInitObj().getAttract().restart(); } private function normalButtonPressed(e:MouseEvent):void{ killButton(normalModeButton, normalButtonPressed); soundHandler.play_buttonClick(); mode = "normal"; var savedScore:String = main.getInitObj().getCookies().normalmode_hiscore.toString(); var leadingZeros:String = ""; var cnt:int = (7 - savedScore.length); while (--cnt > -1) { leadingZeros = (leadingZeros + "0"); }; localScore["score"].text = (leadingZeros + savedScore); TweenLite.to(normalModeButton, 0.2, {scaleX:1.04, scaleY:1.04, onComplete:normalPressedFinished}); hazardModeButton.gotoAndStop(1); TweenLite.to(hazardModeButton, 0.2, {scaleX:0.85, scaleY:0.85}); attractMode.addChild(buttonCover); hiScoreServerCalls.requestHiScores(mode, timeScale, dataLoaded); } private function buttonRollOut(e:MouseEvent):void{ e.target.gotoAndStop(1); } } }//package classes.zoneout.attract
Section 13
//HiScorePlotter_allTimeScoreButtonMC (classes.zoneout.attract.HiScorePlotter_allTimeScoreButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_allTimeScoreButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 14
//HiScorePlotter_buttonCoverMC (classes.zoneout.attract.HiScorePlotter_buttonCoverMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_buttonCoverMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 15
//HiScorePlotter_challengeAFriendButtonMC (classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_challengeAFriendButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 16
//HiScorePlotter_hiScoreTextBoxesMC (classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_hiScoreTextBoxesMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 17
//HiScorePlotter_hs_hazardModeButtonMC (classes.zoneout.attract.HiScorePlotter_hs_hazardModeButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_hs_hazardModeButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 18
//HiScorePlotter_hs_normalModeButtonMC (classes.zoneout.attract.HiScorePlotter_hs_normalModeButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_hs_normalModeButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 19
//HiScorePlotter_localScoreMC (classes.zoneout.attract.HiScorePlotter_localScoreMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_localScoreMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 20
//HiScorePlotter_mainMenuButtonMC (classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_mainMenuButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 21
//HiScorePlotter_monthScoreButtonMC (classes.zoneout.attract.HiScorePlotter_monthScoreButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_monthScoreButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 22
//HiScorePlotter_todaysScoreButtonMC (classes.zoneout.attract.HiScorePlotter_todaysScoreButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_todaysScoreButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 23
//HiScorePlotter_weekScoreButtonMC (classes.zoneout.attract.HiScorePlotter_weekScoreButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class HiScorePlotter_weekScoreButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name3:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 24
//SendToAFriend (classes.zoneout.attract.SendToAFriend) package classes.zoneout.attract { import flash.display.*; import classes.zoneout.*; import flash.events.*; import gs.*; import flash.net.*; import flash.text.*; public class SendToAFriend { private var submitChallengeMC:Class; private var addFriendButtonMC:Class; private var mainMenuButton:MovieClip; private var cookies:Cookies; private var invalidEmailAddressTF:TextField; private var mainMenuButtonMC:Class; private var bgTopBar:Sprite; private var emailAddressTF:TextField; private var challengeArray:Array; private var addFriendButton:MovieClip; private var main:Main; private var soundHandler:SoundHandler; private var friendsNameTF:TextField; private var attractMode:MovieClip; private var friendsEmailTF:TextField; private var submitChallengeButton:MovieClip; private var yourNameTF:TextField; private var transition:Transition; private var invalidFriendEmailTF:TextField; private var yourEmailTF:TextField; private var mainMovie:DisplayObject; private var stage:Stage; public function SendToAFriend(attractModeArg:MovieClip, transitionArg:Transition){ mainMenuButtonMC = SendToAFriend_mainMenuButtonMC; submitChallengeMC = SendToAFriend_submitChallengeMC; addFriendButtonMC = SendToAFriend_addFriendButtonMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); cookies = main.getInitObj().getCookies(); transition = transitionArg; soundHandler = main.getInitObj().getSoundHandler(); attractMode = attractModeArg; mainMenuButton = new mainMenuButtonMC(); mainMenuButton.x = 16; mainMenuButton.y = 30; mainMenuButton.scaleX = (mainMenuButton.scaleY = 1.5); mainMenuButton.gotoAndStop("_up"); submitChallengeButton = new submitChallengeMC(); submitChallengeButton.x = 285; submitChallengeButton.y = 340; submitChallengeButton.gotoAndStop("_up"); addFriendButton = new addFriendButtonMC(); addFriendButton.x = 610; addFriendButton.y = 217; addFriendButton.gotoAndStop("_up"); challengeArray = new Array(); } private function addFriendsToList(name:String, email:String):void{ emailAddressTF.appendText((((((name + " ") + "[") + email) + "]") + ", ")); } public function init():void{ attractMode.addChild(mainMenuButton); initButton(mainMenuButton, mainMenuButton_pressed); attractMode.addChild(submitChallengeButton); initButton(submitChallengeButton, submitChallengeButton_pressed); attractMode.addChild(addFriendButton); initButton(addFriendButton, addFriendButton_pressed); friendsEmailTF = attractMode["friendsEmailTF"]; yourEmailTF = attractMode["yourEmailTF"]; friendsNameTF = attractMode["friendsNameTF"]; yourNameTF = attractMode["yourNameTF"]; emailAddressTF = attractMode["emailAddressTF"]; invalidFriendEmailTF = attractMode["invalidFriendEmailTF"]; invalidEmailAddressTF = attractMode["invalidEmailAddressTF"]; bgTopBar = attractMode["bgTopBar"]; bgTopBar = attractMode["bgTopBar"]; bgTopBar.alpha = 0; if (bgTopBar.alpha == 0){ bgTopBar.x = 5.75; bgTopBar.y = 0; TweenLite.to(bgTopBar, 0.8, {x:5.75, y:20.45, alpha:1, delay:0.8}); }; invalidEmailAddressTF.visible = false; invalidFriendEmailTF.visible = false; } private function securityErrorHandler(e:Event):void{ log(("YOU HAVE AN ERROR " + e.type)); } private function addFriendButton_pressed(e:MouseEvent):void{ var friendEmail:String = friendsEmailTF.text; if (!invalidEmail(friendEmail)){ log("INVALID FRIEND EMAIL"); invalidFriendEmailTF.visible = true; } else { addFriendsToList(friendsNameTF.text, friendsEmailTF.text); challengeArray.push([friendsNameTF.text, friendsEmailTF.text]); friendsNameTF.text = ""; friendsEmailTF.text = ""; invalidFriendEmailTF.visible = false; }; } private function onCompleteHandler(e:Event):void{ log(("Complete " + e.currentTarget.data)); } private function submitChallengeButton_pressed(e:MouseEvent):void{ var req:URLRequest; var unloadRequest:URLRequest; var fieldForSenderName:String; var fieldForSenderNormalScore:String; var fieldForSenderHazardScore:String; var fieldForChanllegedEmail:String; var fieldForChallengedName:String; var phpURL:String; var endURL:String; var unloadPhpURL:String; var unloadPhpURLEnd:String; var i:int; var name:String; var email:String; var unloadLoader:URLLoader; var ldr:URLLoader; var friendEmail:String = friendsEmailTF.text; var yourEmail:String = yourEmailTF.text; var yourName:String = yourNameTF.text; var hiScoreNormal:String = cookies.normalmode_hiscore.toString(); var highScoreNormal:String = main.getInitObj().getGameController().getScore().toString(); log(("This is the HighScore Normal " + hiScoreNormal)); var hiScoreHazard:String = cookies.hazardmode_hiscore.toString(); if (((((((friendsEmailTF.text) && (!((friendsEmailTF.text == ""))))) && (friendsNameTF.text))) && (!((friendsNameTF.text == ""))))){ challengeArray.push([friendsNameTF.text, friendsEmailTF.text]); }; if (!invalidEmail(yourEmail)){ log("INVALID EMAIL"); invalidEmailAddressTF.visible = true; if (invalidEmail(friendEmail)){ invalidFriendEmailTF.visible = false; }; } else { if (((!(invalidEmail(friendEmail))) && (!((friendEmail.length == 0))))){ log("INVALID FRIEND EMAIL"); invalidFriendEmailTF.visible = true; if (invalidEmail(yourEmail)){ invalidEmailAddressTF.visible = false; }; } else { log("THIS IS A VALID EMAIL"); invalidEmailAddressTF.visible = false; invalidFriendEmailTF.visible = false; req = new URLRequest(); unloadRequest = new URLRequest(); fieldForSenderName = "&field[463,0]="; fieldForSenderNormalScore = "&field[464,0]="; fieldForSenderHazardScore = "&field[465,0]="; fieldForChanllegedEmail = "email=&"; fieldForChallengedName = "&name="; phpURL = "http://server.fatatom.com/12all/box.php?email="; endURL = "&funcml=add&p=154&nlbox[1]=167"; unloadPhpURL = "http://server.fatatom.com/12all/box.php?email="; unloadPhpURLEnd = "&funcml=unsub2&p=154&nlbox[1]=167"; while (i < challengeArray.length) { name = challengeArray[i][0]; email = challengeArray[i][1]; unloadRequest.url = ((unloadPhpURL + email) + unloadPhpURLEnd); unloadLoader = new URLLoader(); unloadLoader.load(unloadRequest); req.url = ((((((((((phpURL + email) + fieldForChallengedName) + name) + fieldForSenderName) + yourName) + fieldForSenderNormalScore) + hiScoreNormal) + fieldForSenderHazardScore) + hiScoreHazard) + endURL); ldr = new URLLoader(); ldr.addEventListener(Event.COMPLETE, onCompleteHandler); ldr.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); ldr.load(req); i++; }; challengeArray = []; friendsEmailTF.text = ""; friendsNameTF.text = ""; yourNameTF.text = ""; yourEmailTF.text = ""; emailAddressTF.text = ""; }; }; } private function killButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = false; buttonArg.buttonMode = false; buttonArg.gotoAndStop(1); buttonArg.removeEventListener(MouseEvent.CLICK, callBackArg); buttonArg.removeEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.removeEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function buttonRollOver(e:MouseEvent):void{ e.target.gotoAndStop("_over"); } private function log(msg:String):void{ trace("[SendToAFriend] ", msg); } private function invalidEmail(email:String):Boolean{ var regExp:RegExp = /(.+)@(.+)\.(.{3})/; if (regExp.test(email)){ return (true); }; regExp = /(.+)@(.+)\.(.{2})/; if (regExp.test(email)){ return (true); }; return (false); } private function initButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = true; buttonArg.buttonMode = true; buttonArg.enabled = true; buttonArg.mouseChildren = true; buttonArg.gotoAndStop(1); buttonArg.addEventListener(MouseEvent.CLICK, callBackArg); buttonArg.addEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.addEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } public function toString():String{ return ("SendToAFriend"); } private function mainMenuButton_pressed(e:MouseEvent):void{ soundHandler.play_buttonClick(); transition.transitionRemove(attractMode); houseKeeping(); main.getInitObj().getAttract().restart(); } public function houseKeeping():void{ killButton(mainMenuButton, mainMenuButton_pressed); attractMode.removeChild(mainMenuButton); killButton(submitChallengeButton, submitChallengeButton_pressed); attractMode.removeChild(submitChallengeButton); killButton(addFriendButton, addFriendButton_pressed); attractMode.removeChild(addFriendButton); } private function buttonRollOut(e:MouseEvent):void{ e.target.gotoAndStop("_up"); } } }//package classes.zoneout.attract
Section 25
//SendToAFriend_addFriendButtonMC (classes.zoneout.attract.SendToAFriend_addFriendButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class SendToAFriend_addFriendButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var helpMask:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 26
//SendToAFriend_mainMenuButtonMC (classes.zoneout.attract.SendToAFriend_mainMenuButtonMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class SendToAFriend_mainMenuButtonMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var helpMask:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 27
//SendToAFriend_submitChallengeMC (classes.zoneout.attract.SendToAFriend_submitChallengeMC) package classes.zoneout.attract { import flash.display.*; import mx.core.*; public class SendToAFriend_submitChallengeMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var helpMask:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout.attract
Section 28
//Card (classes.zoneout.cards.Card) package classes.zoneout.cards { import flash.display.*; public class Card { public var tempSprite:MovieClip; public var sprite:MovieClip; public var pickedUpFlag:Boolean; private var stage:Stage; private var cardHandler:CardHandler; public var numID:int; private var playField:Sprite; private var cardMC:Class; private var main:Main; private var mainMovie:DisplayObject; public function Card(playFieldArg:Sprite, numArg:int):void{ cardMC = Card_cardMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); cardHandler = main.getInitObj().getGameController().getCardHandler(); numID = numArg; playField = playFieldArg; sprite = new cardMC(); sprite.y = 5; sprite.gotoAndStop(1); } private function log(msg:String):void{ trace(("[Card] " + msg)); } public function init(xpos:int, weightedColourCards:Array):void{ var pos:int; var rnd:int = int((Math.random() * 10)); if (rnd > 4.5){ pos = Math.round(((weightedColourCards.length - 1) * Math.random())); rnd = weightedColourCards[pos]; } else { rnd = (Math.round((Math.random() * (sprite.totalFrames - 1))) + 1); }; sprite.gotoAndStop(rnd); sprite.x = xpos; if (sprite.parent == null){ playField.addChild(sprite); }; sprite.visible = true; pickedUpFlag = false; } public function toString():String{ return ("Card"); } public function collisionCheck(mousePointer:MovieClip):Boolean{ if (sprite.visible == false){ return (false); }; if (pickedUpFlag == true){ return (false); }; if (mousePointer.currentFrame != 1){ return (false); }; if (mousePointer["clickHitAreaMC"].hitTestObject(sprite)){ cardHandler.cardPickedUp(this); pickedUpFlag = true; return (true); }; return (false); } public function pickedUpOk():void{ sprite.visible = false; pickedUpFlag = true; } public function houseKeeping():void{ if (sprite.parent != null){ playField.removeChild(sprite); }; } public function cardReturned():void{ sprite.visible = true; pickedUpFlag = false; } } }//package classes.zoneout.cards
Section 29
//Card_cardMC (classes.zoneout.cards.Card_cardMC) package classes.zoneout.cards { import flash.display.*; import mx.core.*; public class Card_cardMC extends MovieClipAsset { public var stepOne:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var warning1:DisplayObject; public var warning2:DisplayObject; public var warning3:DisplayObject; public var completedText:DisplayObject; public var warning5:DisplayObject; public var warning6:DisplayObject; public var quitText:DisplayObject; public var bgImage:DisplayObject; public var warning4:DisplayObject; public var score10:DisplayObject; public var orange:DisplayObject; public var graphicsContainer:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var fillAnim:DisplayObject; public var stepThree:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var hitAreaMC:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var yellow:DisplayObject; public var levelProgressBar:DisplayObject; public var legendGhost:DisplayObject; public var timerBar:DisplayObject; public var red:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var insideBoxTop:DisplayObject; public var outsideBoxShadow:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var Masker:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var levelText:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var airTip:DisplayObject; public var branding:DisplayObject; public var invalidEmailAddressTF:DisplayObject; public var green:DisplayObject; public var name1:DisplayObject; public var name2:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var name8:DisplayObject; public var name9:DisplayObject; public var name3:DisplayObject; public var card:DisplayObject; public var name6:DisplayObject; public var name7:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var bgTopBar:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var insideBoxBottom:DisplayObject; public var darkRed:DisplayObject; public var timer:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var button_window:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var clickHitAreaMC:DisplayObject; public var learnMore:DisplayObject; public var purple:DisplayObject; public var backgroundBox:DisplayObject; public var playButton_normal:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var helpMask:DisplayObject; public var helpButton:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var score4:DisplayObject; public var name10:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var friendsEmailTF:DisplayObject; public var outsideBoxYellow:DisplayObject; } }//package classes.zoneout.cards
Section 30
//CardHandler (classes.zoneout.cards.CardHandler) package classes.zoneout.cards { import flash.display.*; import classes.zoneout.*; import flash.events.*; import classes.zoneout.slots.*; import flash.utils.*; public class CardHandler { public var pauseFlag:Boolean; private var level:int; private var cardScrollerMaskMC:Class; private var activeCards:Array; private var gutter:int;// = 69 private var mainFunc:Function; private var playField:Sprite; private var currentCard:Card; private var gameController:GameController; private var levelSpeeds:Array; private var scrollingPlayField:Sprite; private var main:Main; private var _speed:int; private var difficultyTimer:Timer; private var currentXPos:int; private var scrollCnt:int; private var player:Player; private var cardScroller:Sprite; private var slotHandler:SlotHandler; private var mainMovie:DisplayObject; private var cardScrollerMask:Sprite; private var stage:Stage; private static const MIN_SPEED:int = 4; private static const MAX_SPEED:int = 11; private static const DIFFICULTY_UP:int = 120000; public function CardHandler():void{ cardScrollerMaskMC = CardHandler_cardScrollerMaskMC; levelSpeeds = new Array(3, 3, 4, 4); super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); gameController = main.getInitObj().getGameController(); playField = main.getInitObj().getPlayFieldHandler().cardHolder; cardScrollerMask = new cardScrollerMaskMC(); cardScrollerMask.x = 8; cardScrollerMask.y = 364; cardScrollerMask.cacheAsBitmap = true; playField.addChild(cardScrollerMask); scrollingPlayField = new Sprite(); scrollingPlayField.x = 8; scrollingPlayField.y = cardScrollerMask.y; scrollingPlayField.cacheAsBitmap = true; playField.addChild(scrollingPlayField); scrollingPlayField.mask = cardScrollerMask; playField.visible = false; } private function killTimer():void{ if (difficultyTimer){ this.difficultyTimer.removeEventListener(TimerEvent.TIMER, increaseDifficulty); this.difficultyTimer.stop(); }; } private function mainloop_normal():void{ scroll(); } public function set speed(newSpeed:int):void{ this._speed = newSpeed; if (speed == 3){ gutter = 69; } else { if (speed == 4){ gutter = 68; } else { if (speed == 5){ gutter = 70; } else { if (speed == 6){ gutter = 72; } else { if (speed == 7){ gutter = 77; } else { if (speed == 8){ gutter = 80; } else { if (speed == 9){ gutter = 81; } else { if (speed == 10){ gutter = 80; } else { gutter = (speed * 8); }; }; }; }; }; }; }; }; } public function init(levelArg:int):void{ if (player == null){ player = gameController.getPlayer(); slotHandler = gameController.getSlotHandler(); }; level = levelArg; createCards(); resetCards(); speed = levelSpeeds[(level - 1)]; this.difficultyTimer = new Timer(DIFFICULTY_UP); if (gameController.gameMode == "hazard"){ speed = MIN_SPEED; this.difficultyTimer.addEventListener(TimerEvent.TIMER, increaseDifficulty); this.difficultyTimer.start(); }; scrollingPlayField.x = 690; scrollCnt = ((scrollingPlayField.x + gutter) / speed); playField.visible = true; pauseFlag = false; mainFunc = mainloop_normal; } public function houseKeeping():void{ var card:Card; var len:int = activeCards.length; var cnt = -1; while (++cnt != len) { card = activeCards[cnt]; card.houseKeeping(); }; killTimer(); } private function increaseDifficulty(e:TimerEvent):void{ if (this.speed < MAX_SPEED){ this.speed++; log(("INC DEF " + speed)); } else { log("KILL"); killTimer(); }; } private function log(msg:String):void{ trace(("[CardHandler] " + msg)); } public function get speed():int{ return (_speed); } private function scroll():void{ var firstCard:Card; scrollingPlayField.x = (scrollingPlayField.x - speed); if (--scrollCnt == 0){ scrollCnt = (gutter / speed); firstCard = activeCards.shift(); firstCard.init(currentXPos, slotHandler.weightedCardColours); currentXPos = (currentXPos + gutter); activeCards.push(firstCard); }; } private function createCards():void{ var card:Card; activeCards = new Array(); var cnt = -1; while (++cnt != 11) { card = new Card(scrollingPlayField, cnt); activeCards.push(card); }; } private function nop():void{ } private function resetCards():void{ var card:Card; var xpos = 8; var len:int = activeCards.length; var cnt = -1; while (++cnt != len) { card = activeCards[cnt]; card.init(xpos, slotHandler.weightedCardColours); xpos = (xpos + gutter); }; currentXPos = xpos; } public function mainloop():void{ mainFunc(); } public function cardPickedUp(cardArg:Card):void{ currentCard = cardArg; if (player.cardPickedUp(cardArg) == true){ currentCard.pickedUpOk(); }; } public function collisionCheck(mousePointer:MovieClip):Boolean{ var card:Card; if (pauseFlag == true){ return (false); }; var len:int = activeCards.length; var cnt = -1; while (++cnt != len) { card = activeCards[cnt]; if (card.collisionCheck(mousePointer) == true){ return (true); }; }; return (false); } public function toString():String{ return ("CardHandler"); } } }//package classes.zoneout.cards
Section 31
//CardHandler_cardScrollerMaskMC (classes.zoneout.cards.CardHandler_cardScrollerMaskMC) package classes.zoneout.cards { import flash.display.*; import mx.core.*; public class CardHandler_cardScrollerMaskMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_hazard:DisplayObject; public var cell:DisplayObject; public var stepOne:DisplayObject; public var mainMenuButton:DisplayObject; public var frontLogo:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var bgTopBar:DisplayObject; public var instructions:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var three:DisplayObject; public var instructionsMask:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var friendsNameTF:DisplayObject; public var hsName:DisplayObject; public var learnMore:DisplayObject; public var playButton_normal:DisplayObject; public var yourNameTF:DisplayObject; public var Masker:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var submitButton:DisplayObject; public var levelTwoInstructions:DisplayObject; public var two:DisplayObject; public var airTip:DisplayObject; public var yourEmailTF:DisplayObject; public var stepThree:DisplayObject; public var highScores:DisplayObject; } }//package classes.zoneout.cards
Section 32
//CloudHandler (classes.zoneout.effects.CloudHandler) package classes.zoneout.effects { import flash.display.*; import flash.events.*; public class CloudHandler { private var stage:Stage; private var stageWidth:int; private var cloud3Speed:Number;// = 0.5 private var cloud2Speed:Number;// = 0.3 private var cloud1Speed:Number;// = 0.7 private var mainMovie:DisplayObject; private var main:Main; private var cloud1:Sprite; private var cloud2:Sprite; private var cloud3:Sprite; public function CloudHandler(){ super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); stageWidth = stage.width; var background:Sprite = main.getInitObj().getPlayFieldHandler().background; cloud1 = background["cloud1"]; cloud2 = background["cloud2"]; cloud3 = background["cloud3"]; cloud1.addEventListener(Event.ENTER_FRAME, mainloop); } private function mainloop(e:Event):void{ cloud1.x = (cloud1.x - cloud1Speed); if (cloud1.x < -(cloud1.width)){ cloud1.x = stageWidth; }; cloud2.x = (cloud2.x - cloud2Speed); if (cloud2.x < -(cloud2.width)){ cloud2.x = stageWidth; }; cloud3.x = (cloud3.x - cloud3Speed); if (cloud3.x < -(cloud3.width)){ cloud3.x = stageWidth; }; } public function toString():String{ return ("CloudHandler"); } } }//package classes.zoneout.effects
Section 33
//Particle (classes.zoneout.effects.Particle) package classes.zoneout.effects { import flash.display.*; import flash.geom.*; public class Particle { private var main:Main; private var rotSin:Number; private var sprite:Sprite; private var gravity:Number; private var velocityX:Number; private var velocityY:Number; private var playField:Sprite; private var particleMC:Class; private var rotCos:Number; private var speedX:Number; private var speedY:Number; private var mainMovie:DisplayObject; private var stage:Stage; public function Particle(holderSprite:Sprite, pos:Point):void{ particleMC = Particle_particleMC; super(); playField = holderSprite; sprite = new particleMC(); playField.addChild(sprite); sprite.x = pos.x; sprite.y = pos.y; speedX = (speedY = ((Math.random() * 10) + 4)); var rndRot:int = (Math.random() * 360); var rot:Number = ((rndRot / 180) * Math.PI); rotSin = Math.sin(rot); rotCos = Math.cos(rot); velocityX = (rotSin * speedX); velocityY = (rotCos * speedY); gravity = 0.6; } public function mainloop():String{ sprite.x = (sprite.x + velocityX); sprite.y = (sprite.y + velocityY); velocityY = (velocityY + gravity); sprite.alpha = (sprite.alpha - 0.05); if (sprite.alpha <= 0){ houseKeeping(); return ("dead"); }; return ("cool"); } public function toString():String{ return ("Particle"); } public function houseKeeping():void{ if (sprite.parent != null){ playField.removeChild(sprite); }; } } }//package classes.zoneout.effects
Section 34
//Particle_particleMC (classes.zoneout.effects.Particle_particleMC) package classes.zoneout.effects { import flash.display.*; import mx.core.*; public class Particle_particleMC extends SpriteAsset { public var stepOne:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var warning1:DisplayObject; public var warning2:DisplayObject; public var warning3:DisplayObject; public var completedText:DisplayObject; public var warning5:DisplayObject; public var warning6:DisplayObject; public var quitText:DisplayObject; public var bgImage:DisplayObject; public var warning4:DisplayObject; public var score10:DisplayObject; public var orange:DisplayObject; public var graphicsContainer:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var fillAnim:DisplayObject; public var stepThree:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var hitAreaMC:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var yellow:DisplayObject; public var levelProgressBar:DisplayObject; public var legendGhost:DisplayObject; public var timerBar:DisplayObject; public var red:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var insideBoxTop:DisplayObject; public var outsideBoxShadow:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var Masker:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var levelText:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var airTip:DisplayObject; public var branding:DisplayObject; public var invalidEmailAddressTF:DisplayObject; public var green:DisplayObject; public var name1:DisplayObject; public var name2:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var name8:DisplayObject; public var name9:DisplayObject; public var name3:DisplayObject; public var card:DisplayObject; public var name6:DisplayObject; public var name7:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var bgTopBar:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var insideBoxBottom:DisplayObject; public var darkRed:DisplayObject; public var timer:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var button_window:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var clickHitAreaMC:DisplayObject; public var learnMore:DisplayObject; public var purple:DisplayObject; public var backgroundBox:DisplayObject; public var playButton_normal:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var helpMask:DisplayObject; public var helpButton:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var score4:DisplayObject; public var name10:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var friendsEmailTF:DisplayObject; public var outsideBoxYellow:DisplayObject; } }//package classes.zoneout.effects
Section 35
//ParticleHandler (classes.zoneout.effects.ParticleHandler) package classes.zoneout.effects { import flash.display.*; import flash.geom.*; public class ParticleHandler { private var timerPointsTweenMC:Class; private var activeParticles:Array; private var activeSprites:Array; private var mainMovie:DisplayObject; private var main:Main; private var stage:Stage; public function ParticleHandler():void{ timerPointsTweenMC = ParticleHandler_timerPointsTweenMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); } public function requestParticle(holderSprite:Sprite, pos:Point):void{ var particle:Particle = new Particle(holderSprite, pos); activeParticles.push(particle); } public function houseKeeping():void{ var mc:MovieClip; var particle:Particle; var parent:DisplayObjectContainer; var cnt = -1; var len:int = activeSprites.length; while (++cnt != len) { mc = activeSprites[cnt]; if (mc.currentFrame == mc.totalFrames){ parent = mc.parent; parent.removeChild(mc); }; }; cnt = -1; len = activeParticles.length; while (++cnt != len) { particle = activeParticles[cnt]; particle.houseKeeping(); }; } public function toString():String{ return ("Player"); } public function requestPointsTween(holderSprite:Sprite, pos:Point):void{ var particle:Particle; var tmpSprite:MovieClip = new timerPointsTweenMC(); tmpSprite.x = pos.x; tmpSprite.y = pos.y; holderSprite.addChild(tmpSprite); activeSprites.push(tmpSprite); var cnt = -1; while (++cnt != 6) { particle = new Particle(holderSprite, pos); activeParticles.push(particle); }; } public function mainloop():void{ var mc:MovieClip; var particle:Particle; var parent:DisplayObjectContainer; var cnt = -1; var len:int = activeSprites.length; while (++cnt != len) { mc = activeSprites[cnt]; if (mc.currentFrame == mc.totalFrames){ parent = mc.parent; parent.removeChild(mc); activeSprites.splice(cnt, 1); cnt--; len--; }; }; cnt = -1; len = activeParticles.length; while (++cnt != len) { particle = activeParticles[cnt]; if (particle.mainloop() == "dead"){ activeParticles.splice(cnt, 1); cnt--; len--; }; }; } public function init():void{ activeSprites = new Array(); activeParticles = new Array(); } } }//package classes.zoneout.effects
Section 36
//ParticleHandler_timerPointsTweenMC (classes.zoneout.effects.ParticleHandler_timerPointsTweenMC) package classes.zoneout.effects { import flash.display.*; import mx.core.*; public class ParticleHandler_timerPointsTweenMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_hazard:DisplayObject; public var cell:DisplayObject; public var stepOne:DisplayObject; public var mainMenuButton:DisplayObject; public var frontLogo:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var bgTopBar:DisplayObject; public var instructions:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var three:DisplayObject; public var instructionsMask:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var friendsNameTF:DisplayObject; public var hsName:DisplayObject; public var learnMore:DisplayObject; public var playButton_normal:DisplayObject; public var yourNameTF:DisplayObject; public var Masker:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var submitButton:DisplayObject; public var levelTwoInstructions:DisplayObject; public var two:DisplayObject; public var airTip:DisplayObject; public var yourEmailTF:DisplayObject; public var stepThree:DisplayObject; public var highScores:DisplayObject; } }//package classes.zoneout.effects
Section 37
//Slot (classes.zoneout.slots.Slot) package classes.zoneout.slots { import flash.display.*; import classes.zoneout.*; import flash.events.*; import gs.*; import flash.geom.*; public class Slot { private var green:MovieClip; private var mcStorage:Array; private var amountToAddToTimer:int; private var unfill_row_num:Number; private var colourValues:Array; private var slotMC:Class; private var stage:Stage; private var mainFunc:Function; public var numID:int; private var playField:Sprite; private var orange:MovieClip; private var anim_3row_noneLit:int;// = 9 private var warningFlashDir:String; private var darkRed:MovieClip; private var mapXPos:int; private var warningFlashFlag:Boolean; private var amountToAddWhenLosingACellInHazardMode:int;// = 30 private var soundHandler:SoundHandler; private var amountToAddWhenFillingACellInHazardMode:int;// = 40 private var gasFill_startFrame:int; private var completedFlag:Boolean; private var gameController:GameController; private var tickMaster:int;// = 3 private var map:Array; private var isActiveFlag:Boolean; private var lowestColourNeeded:int; private var yellow:MovieClip; private var anim_1row_noneLit:int;// = 2 private var warningHighlight:Sprite; private var anim_3row_allLit:int;// = 6 private var level:int; private var timerBar:MovieClip; private var gasFill_stopLabel:String; private var anim_2cell_gasFill_Two:int;// = 51 private var red:MovieClip; private var vertSpeed:Number; private var mapYPos:int; private var animatingSprite_unfill:MovieClip; private var map_row1:Array; private var anim_3row_oneLit:int;// = 8 private var tick:int; private var anim_3cell_gasFill_Two:int;// = 102 private var timerReachedZeroFlag:Boolean; private var map_row2:Array; private var map_row3:Array; private var anim_3cell_gasFill_One:int;// = 76 private var anim_2cell_gasFill_One:int;// = 26 private var gasRemoving_endFrame:int; private var main:Main; private var anim_3cell_gasFill_Three:int;// = 127 private var purple:MovieClip; private var anim_2row_allLit:int;// = 3 private var animatingSprite:MovieClip; public var sprite:MovieClip; private var notRunYetFlag:Boolean; private var collisionMap:Array; private var currentColourValue:int; private var internalScore:int; private var anim_2row_noneLit:int;// = 5 private var rows:int; private var anim_2row_oneLit:int;// = 4 private var currentHitAreaMC:Sprite; private var anim_3row_twoLit:int;// = 7 private var mainMovie:DisplayObject; private var anim_1row_allLit:int;// = 1 public function Slot(playFieldArg:Sprite, numArg:int, levelArg:int):void{ slotMC = Slot_slotMC; map_row1 = new Array([0], [0], [0], [0], [0], [0]); map_row2 = new Array([0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]); map_row3 = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]); colourValues = new Array(1, 2, 3, 4, 5, 6, 6, 6); super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); this.unfill_row_num = -1; level = levelArg; gameController = main.getInitObj().getGameController(); soundHandler = main.getInitObj().getSoundHandler(); numID = numArg; playField = playFieldArg; sprite = new slotMC(); sprite.y = 60; sprite.x = (50 + (160 * (numID - 1))); if (gameController.gameMode == "normal"){ sprite.gotoAndStop(1); } else { sprite.gotoAndStop(2); }; timerBar = sprite["timer"].timerBar; timerBar.gotoAndStop(1); darkRed = sprite["darkRed"]; purple = sprite["purple"]; red = sprite["red"]; orange = sprite["orange"]; yellow = sprite["yellow"]; green = sprite["green"]; } private function findCurrentColourMC(rowArg:int):MovieClip{ switch (rowArg){ case 0: return (darkRed); case 1: return (purple); case 2: return (red); case 3: return (orange); case 4: return (yellow); default: break; }; return (green); } public function houseKeeping():void{ mainFunc = nop; if (sprite.parent != null){ playField.removeChild(sprite); }; } public function init(rowsArg:int):void{ var startFrame:int; rows = rowsArg; if (rows == 1){ startFrame = anim_1row_noneLit; map = map_row1; gasFill_stopLabel = "stop"; if (level == 4){ tickMaster = 2; }; } else { if (gameController.gameMode == "hazard"){ if (gameController.completedCnt == 10){ gameController.getHUD().startLevelUpTween(); tickMaster = 2; } else { if (gameController.completedCnt == 15){ gameController.getHUD().startLevelUpTween(); tickMaster = 1; }; }; if (gameController.completedCnt > 10){ if (gameController.completedCnt > 15){ tickMaster = 1; } else { tickMaster = 2; }; }; }; if (rows == 2){ startFrame = anim_2row_noneLit; map = map_row2; } else { startFrame = anim_3row_noneLit; map = map_row3; }; }; darkRed.gotoAndStop(startFrame); purple.gotoAndStop(startFrame); red.gotoAndStop(startFrame); orange.gotoAndStop(startFrame); yellow.gotoAndStop(startFrame); green.gotoAndStop(startFrame); sprite["warning1"].alpha = 0; sprite["warning2"].alpha = 0; sprite["warning3"].alpha = 0; sprite["warning4"].alpha = 0; sprite["warning5"].alpha = 0; sprite["warning6"].alpha = 0; animatingSprite = null; mcStorage = new Array(); mcStorage.push(darkRed["hitAreaMC"], purple["hitAreaMC"], red["hitAreaMC"], orange["hitAreaMC"], yellow["hitAreaMC"], green["hitAreaMC"]); mapYPos = (mapXPos = 0); lowestColourNeeded = mapYPos; currentColourValue = colourValues[mapYPos]; internalScore = (rows * 6); completedFlag = false; timerReachedZeroFlag = false; warningFlashFlag = false; tick = (amountToAddToTimer = 0); vertSpeed = 2; notRunYetFlag = true; } public function collisionCheck_droppedCard(cardSprite:MovieClip):Boolean{ var value:int; var xOffset:int; var innerCnt:int; var total:int; var hitArea:Sprite; var ypos:int; var filledRows:int; var total2:int; if (completedFlag == true){ return (false); }; var tempArray:Array = new Array(); var len:int = map.length; var cnt = -1; var prevTotal = -1; while (++cnt != len) { total = 0; xOffset = total; innerCnt = -1; while (++innerCnt != rows) { total = (total + map[cnt][xOffset]); xOffset++; }; if (total != rows){ if (total == 0){ if (prevTotal == 0){ break; } else { tempArray.push([(mcStorage[cnt] as Sprite), (cnt + 1), cnt, total]); }; } else { tempArray.push([(mcStorage[cnt] as Sprite), (cnt + 1), cnt, total]); }; }; prevTotal = total; }; var cHitArea:Sprite = cardSprite["hitAreaMC"]; len = tempArray.length; cnt = -1; while (++cnt != len) { hitArea = tempArray[cnt][0]; ypos = tempArray[cnt][2]; filledRows = tempArray[cnt][3]; if (cHitArea.hitTestObject(hitArea)){ if (cardSprite["card"].currentFrame == tempArray[cnt][1]){ if (ypos == 0){ cardCorrectlyPlaced(ypos); updateLowest(ypos, filledRows); return (true); }; total = 0; cnt = -1; while (++cnt != rows) { total = (total + map[(ypos - 1)][cnt]); }; total2 = 0; cnt = -1; while (++cnt != rows) { total2 = (total2 + map[ypos][cnt]); }; if (total > total2){ cardCorrectlyPlaced(ypos); updateLowest(ypos, filledRows); return (true); }; break; }; } else { if (this.lowestColourNeeded > ypos){ this.lowestColourNeeded = ypos; }; }; }; return (false); } public function precompleteThisOneToUseAsALegend():void{ var finalFrame:int; if (rows == 1){ finalFrame = anim_1row_allLit; } else { if (rows == 2){ finalFrame = anim_2row_allLit; } else { finalFrame = anim_3row_allLit; }; }; darkRed.gotoAndStop(finalFrame); purple.gotoAndStop(finalFrame); red.gotoAndStop(finalFrame); orange.gotoAndStop(finalFrame); yellow.gotoAndStop(finalFrame); green.gotoAndStop(finalFrame); darkRed.addEventListener(Event.ENTER_FRAME, waitingForAllGasFillAnimsToFinish); sprite["legendGhost"].alpha = 0.7; sprite["timer"].visible = false; completedFlag = true; mainFunc = nop; } private function mainloop_timerPoints():void{ if (timerBar.currentFrame < (timerBar.totalFrames - 10)){ timerBar.gotoAndStop((timerBar.currentFrame + 10)); gameController.incScore(100); } else { gameController.incScore(((timerBar.totalFrames - timerBar.currentFrame) * 100)); timerBar.gotoAndStop(timerBar.totalFrames); TweenLite.to(sprite, 0.5, {y:stage.height, alpha:0, onComplete:houseKeeping}); main.getInitObj().getGameController().getSlotHandler().slotCompleted(this); }; } private function log(msg:String):void{ trace(((("[ Slot ] " + sprite.name) + " ") + msg)); } public function getNextCardAndTimeRemaining():Object{ if (completedFlag == true){ currentColourValue = -1; lowestColourNeeded = 0; return (null); }; var obj:Object = {timer:timerBar.currentFrame, colour:colourValues[lowestColourNeeded]}; return (obj); } private function waitForGasUnFillToFinish(e:Event):void{ if (animatingSprite_unfill != null){ if (animatingSprite_unfill["fillAnim"] != undefined){ if (animatingSprite_unfill["fillAnim"].currentLabel == gasFill_stopLabel){ animatingSprite_unfill.gotoAndStop(gasRemoving_endFrame); animatingSprite_unfill.removeEventListener(Event.ENTER_FRAME, waitForGasUnFillToFinish); animatingSprite_unfill = null; unfill_row_num = -1; }; }; }; } private function oneFramePauseBeforeTriggeringGasFillAnim(e:Event):void{ if (animatingSprite != null){ if (animatingSprite["fillAnim"] != undefined){ if (animatingSprite["fillAnim"].currentFrame != gasFill_startFrame){ animatingSprite["fillAnim"].gotoAndPlay(gasFill_startFrame); } else { animatingSprite.removeEventListener(Event.ENTER_FRAME, oneFramePauseBeforeTriggeringGasFillAnim); animatingSprite.addEventListener(Event.ENTER_FRAME, waitForGasFillToFinish); }; }; }; } private function waitingForAllGasFillAnimsToFinish(e:Event):void{ if (darkRed["fillAnim"] != undefined){ if (darkRed["fillAnim"].currentLabel == gasFill_stopLabel){ darkRed["fillAnim"].gotoAndStop(gasFill_stopLabel); purple["fillAnim"].gotoAndStop(gasFill_stopLabel); red["fillAnim"].gotoAndStop(gasFill_stopLabel); orange["fillAnim"].gotoAndStop(gasFill_stopLabel); yellow["fillAnim"].gotoAndStop(gasFill_stopLabel); green["fillAnim"].gotoAndStop(gasFill_stopLabel); darkRed.removeEventListener(Event.ENTER_FRAME, waitingForAllGasFillAnimsToFinish); }; }; } private function waitForGasFillToFinish(e:Event):void{ if (animatingSprite != null){ if (animatingSprite["fillAnim"] != undefined){ if (animatingSprite["fillAnim"].currentLabel == gasFill_stopLabel){ animatingSprite["fillAnim"].gotoAndStop(gasFill_stopLabel); animatingSprite.removeEventListener(Event.ENTER_FRAME, waitForGasFillToFinish); animatingSprite = null; }; }; }; } private function cardCorrectlyPlaced(rowCardPlaced:int):void{ if (animatingSprite_unfill != null){ if (unfill_row_num != rowCardPlaced){ animatingSprite_unfill.gotoAndStop(gasRemoving_endFrame); }; unfill_row_num = -1; animatingSprite_unfill.removeEventListener(Event.ENTER_FRAME, waitForGasUnFillToFinish); animatingSprite_unfill = null; }; var xOffset:int; var cnt = -1; while (++cnt != rows) { if (map[rowCardPlaced][xOffset] == 0){ break; } else { xOffset++; }; }; map[rowCardPlaced][xOffset] = 1; currentColourValue = colourValues[(rowCardPlaced + 1)]; var currentMC:MovieClip = findCurrentColourMC(rowCardPlaced); if (animatingSprite != null){ animatingSprite["fillAnim"].gotoAndStop(gasFill_stopLabel); }; animatingSprite = currentMC; if (rows == 1){ currentMC.gotoAndStop(anim_1row_allLit); gasFill_startFrame = 1; gasFill_stopLabel = "stop"; } else { if (rows == 2){ if (xOffset == 0){ currentMC.gotoAndStop(anim_2row_oneLit); gasFill_startFrame = anim_2cell_gasFill_One; gasFill_stopLabel = "stop2"; } else { currentMC.gotoAndStop(anim_2row_allLit); gasFill_startFrame = anim_2cell_gasFill_Two; gasFill_stopLabel = "stop3"; }; } else { if (xOffset == 0){ currentMC.gotoAndStop(anim_3row_oneLit); gasFill_startFrame = anim_3cell_gasFill_One; gasFill_stopLabel = "stop4"; } else { if (xOffset == 1){ currentMC.gotoAndStop(anim_3row_twoLit); gasFill_startFrame = anim_3cell_gasFill_Two; gasFill_stopLabel = "stop5"; } else { currentMC.gotoAndStop(anim_3row_allLit); gasFill_startFrame = anim_3cell_gasFill_Three; gasFill_stopLabel = "stop6"; }; }; }; }; soundHandler.play_cellFilled(); if (--internalScore == 0){ completedFlag = true; mainFunc = mainloop_timerPoints; return; }; if (gameController.gameMode == "normal"){ amountToAddToTimer = (amountToAddToTimer + 80); } else { amountToAddToTimer = (amountToAddToTimer + amountToAddWhenFillingACellInHazardMode); }; gameController.getParticleHandler().requestPointsTween(sprite, new Point(68, -16)); animatingSprite.addEventListener(Event.ENTER_FRAME, oneFramePauseBeforeTriggeringGasFillAnim); } public function toString():String{ return ("Slot"); } private function loseARow():void{ var total:int; var innerCnt:int; mapYPos = -1; var cnt:int = map.length; while (--cnt > -1) { innerCnt = -1; total = 0; while (++innerCnt != rows) { total = (total + map[cnt][innerCnt]); if (total > 0){ mapYPos = cnt; }; }; if (mapYPos != -1){ break; }; }; if (mapYPos == -1){ gameController.gameOver(); return; }; currentColourValue = colourValues[mapYPos]; this.updateLowest(mapYPos); var currentMC:MovieClip = findCurrentColourMC(mapYPos); unfill_row_num = mapYPos; if (animatingSprite_unfill != null){ animatingSprite_unfill["fillAnim"].gotoAndStop(gasFill_stopLabel); }; animatingSprite_unfill = currentMC; if (rows == 1){ gasRemoving_endFrame = anim_1row_noneLit; gasFill_startFrame = 152; gasFill_stopLabel = "stop7"; map[mapYPos][0] = 0; internalScore++; } else { mapXPos = 0; cnt = -1; while (++cnt != rows) { mapXPos = (mapXPos + map[mapYPos][cnt]); }; if (rows == 2){ gasRemoving_endFrame = anim_2row_noneLit; if (mapXPos == 1){ gasFill_startFrame = 173; gasFill_stopLabel = "stop8"; map[mapYPos][0] = 0; internalScore++; } else { gasFill_startFrame = 152; gasFill_stopLabel = "stop7"; map[mapYPos][0] = 0; map[mapYPos][1] = 0; internalScore = (internalScore + 2); }; } else { gasRemoving_endFrame = anim_3row_noneLit; if (mapXPos == 1){ gasFill_startFrame = 194; gasFill_stopLabel = "stop9"; map[mapYPos][0] = 0; internalScore++; } else { if (mapXPos == 2){ gasFill_startFrame = 215; gasFill_stopLabel = "stop10"; map[mapYPos][0] = 0; map[mapYPos][1] = 0; internalScore = (internalScore + 2); } else { gasFill_startFrame = 152; gasFill_stopLabel = "stop7"; map[mapYPos][0] = 0; map[mapYPos][1] = 0; map[mapYPos][2] = 0; internalScore = (internalScore + 3); }; }; }; }; animatingSprite_unfill["fillAnim"].gotoAndPlay(gasFill_startFrame); animatingSprite_unfill.addEventListener(Event.ENTER_FRAME, waitForGasUnFillToFinish); soundHandler.play_rowLost(); if (mapYPos == 0){ gameController.gameOver(); return; }; if (gameController.gameMode == "normal"){ amountToAddToTimer = (amountToAddToTimer + 50); main.getInitObj().getGameController().reduceTimer(); } else { amountToAddToTimer = (amountToAddToTimer + amountToAddWhenLosingACellInHazardMode); }; } public function repositionSlot(pos:int):void{ if (isActiveFlag == true){ TweenLite.to(sprite, 1, {x:pos}); } else { isActiveFlag = true; notRunYetFlag = false; mainFunc = mainloop_normal; sprite.x = stage.width; playField.addChild(sprite); TweenLite.to(sprite, 1, {x:pos}); }; } private function mainloop_normal():void{ var tempYPos:int; var total:int; var innerCnt:int; var cnt:int; if (amountToAddToTimer > 0){ if (warningFlashFlag == true){ timerBar.alpha = 1; warningFlashFlag = false; warningHighlight.alpha = 0; }; amountToAddToTimer--; if (timerBar.currentFrame > 1){ timerBar.gotoAndStop((timerBar.currentFrame - 1)); } else { amountToAddToTimer = 0; }; tick = 0; timerReachedZeroFlag = false; return; }; if (++tick == tickMaster){ tick = 0; if (timerBar.currentFrame == timerBar.totalFrames){ if (timerReachedZeroFlag == false){ timerReachedZeroFlag = true; loseARow(); }; } else { timerBar.gotoAndStop((timerBar.currentFrame + 1)); if (timerBar.currentFrame > 160){ if (warningFlashFlag == true){ if (warningFlashDir == "down"){ timerBar.alpha = (timerBar.alpha - 0.2); warningHighlight.alpha = (warningHighlight.alpha + 0.2); if (timerBar.alpha <= 0.2){ warningFlashDir = "up"; }; } else { timerBar.alpha = (timerBar.alpha + 0.25); warningHighlight.alpha = (warningHighlight.alpha - 0.25); if (timerBar.alpha >= 1){ warningFlashDir = "down"; }; }; } else { warningFlashFlag = true; warningFlashDir = "down"; tempYPos = 0; cnt = map.length; while (--cnt > -1) { innerCnt = -1; total = 0; while (++innerCnt != rows) { total = (total + map[cnt][innerCnt]); if (total > 0){ tempYPos = cnt; break; }; }; if (tempYPos == cnt){ break; }; }; warningHighlight = sprite[("warning" + (tempYPos + 1))]; }; }; }; }; } public function removeLegend():void{ TweenLite.to(sprite, 0.5, {y:stage.height, alpha:0, onComplete:houseKeeping}); } public function positionSlot(pos:int):void{ if (pos != -1){ isActiveFlag = true; notRunYetFlag = false; mainFunc = mainloop_normal; sprite.x = pos; playField.addChild(sprite); } else { isActiveFlag = false; mainFunc = nop; }; } private function nop():void{ } private function updateLowest(yPos:int, filledRows:int=-1):void{ if (this.lowestColourNeeded >= yPos){ if (filledRows >= (rows - 1)){ this.lowestColourNeeded = (yPos + 1); } else { this.lowestColourNeeded = yPos; }; }; } public function mainloop():void{ mainFunc(); } public function activate():Boolean{ if (notRunYetFlag == true){ notRunYetFlag = false; return (true); }; return (false); } public function collisionCheck(cardSprite:MovieClip):Boolean{ var value:int; var xOffset:int; var innerCnt:int; var total:int; var hitArea:Sprite; var ypos:int; var filledRows:int; var total2:int; if (completedFlag == true){ return (false); }; var tempArray:Array = new Array(); var len:int = map.length; var cnt = -1; var prevTotal = -1; while (++cnt != len) { total = 0; xOffset = total; innerCnt = -1; while (++innerCnt != rows) { total = (total + map[cnt][xOffset]); xOffset++; }; if (total != rows){ if (total == 0){ if (prevTotal == 0){ break; } else { tempArray.push([(mcStorage[cnt] as Sprite), (cnt + 1), cnt, total]); }; } else { tempArray.push([(mcStorage[cnt] as Sprite), (cnt + 1), cnt, total]); }; }; prevTotal = total; }; var cHitArea:Sprite = cardSprite["hitAreaMC"]; len = tempArray.length; cnt = -1; while (++cnt != len) { hitArea = tempArray[cnt][0]; ypos = tempArray[cnt][2]; filledRows = tempArray[cnt][3]; if (cHitArea.hitTestObject(hitArea)){ if (cardSprite.currentFrame == tempArray[cnt][1]){ if (ypos == 0){ cardCorrectlyPlaced(ypos); updateLowest(ypos, filledRows); return (true); }; total = 0; cnt = -1; while (++cnt != rows) { total = (total + map[(ypos - 1)][cnt]); }; total2 = 0; cnt = -1; while (++cnt != rows) { total2 = (total2 + map[ypos][cnt]); }; if (total > total2){ cardCorrectlyPlaced(ypos); updateLowest(ypos, filledRows); return (true); }; break; }; } else { if (this.lowestColourNeeded > ypos){ this.lowestColourNeeded = ypos; }; }; }; return (false); } } }//package classes.zoneout.slots
Section 38
//Slot_slotMC (classes.zoneout.slots.Slot_slotMC) package classes.zoneout.slots { import flash.display.*; import mx.core.*; public class Slot_slotMC extends MovieClipAsset { public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var warning1:DisplayObject; public var warning2:DisplayObject; public var warning3:DisplayObject; public var warning5:DisplayObject; public var warning6:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var warning4:DisplayObject; public var score10:DisplayObject; public var orange:DisplayObject; public var hsName:DisplayObject; public var fillAnim:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var hitAreaMC:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var yellow:DisplayObject; public var levelProgressBar:DisplayObject; public var legendGhost:DisplayObject; public var timerBar:DisplayObject; public var red:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var Masker:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var levelText:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var airTip:DisplayObject; public var branding:DisplayObject; public var invalidEmailAddressTF:DisplayObject; public var green:DisplayObject; public var name1:DisplayObject; public var name2:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var name8:DisplayObject; public var name9:DisplayObject; public var name3:DisplayObject; public var card:DisplayObject; public var name6:DisplayObject; public var name7:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var bgTopBar:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var darkRed:DisplayObject; public var timer:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var button_window:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var clickHitAreaMC:DisplayObject; public var learnMore:DisplayObject; public var purple:DisplayObject; public var playButton_normal:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var helpMask:DisplayObject; public var helpButton:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var score4:DisplayObject; public var name10:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var friendsEmailTF:DisplayObject; public var stepOne:DisplayObject; } }//package classes.zoneout.slots
Section 39
//SlotHandler (classes.zoneout.slots.SlotHandler) package classes.zoneout.slots { import flash.display.*; import classes.zoneout.*; import classes.zoneout.cards.*; public class SlotHandler { private var slotCompletedFlag:Boolean; private var totalNumberOfCellsToComplete:int; private var level:int; private var legendStillActiveFlag:Boolean; private var numberOfCellsCompleted:int; private var mainFunc:Function; private var playField:Sprite; private var gameController:GameController; private var totalNumberOfSlots:int; private var gameMode:String; private var runningSlots:Array; private var main:Main; private var soundHandler:SoundHandler; private var numberOfCompletedSlots:int; private var levelStructure:Array; private var activeSlots:Array; public var weightedCardColours:Array; private var player:Player; private var completedSlot:Slot; private var positions:Array; private var mainMovie:DisplayObject; private var numberOfRows:int; private var stage:Stage; public function SlotHandler():void{ levelStructure = new Array([8, 1], [8, 2], [8, 3], [12, -1]); weightedCardColours = [1]; positions = new Array([278], [190, 367], [110, 278, 447], [26, 195, 363, 533]); super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); gameController = main.getInitObj().getGameController(); soundHandler = main.getInitObj().getSoundHandler(); playField = main.getInitObj().getPlayFieldHandler().slotHolder; } private function mainloop_normal():void{ var slot:Slot; var lowestTime:int; var returnedObject:Object; if (slotCompletedFlag == true){ slotCompletedFlag = false; if (handleCompletedSlot(completedSlot) == true){ return; }; }; var weightedObject:Object = {timer:1, colour:1}; var len:int = runningSlots.length; var cnt = -1; weightedCardColours = new Array(); while (++cnt != len) { slot = runningSlots[cnt][1]; slot.mainloop(); returnedObject = slot.getNextCardAndTimeRemaining(); if (!returnedObject){ } else { weightedCardColours.push(returnedObject.colour); }; }; if (weightedCardColours.length == 0){ weightedCardColours.push(1); }; } public function init(levelArg:int):void{ if (player == null){ player = gameController.getPlayer(); }; level = levelArg; gameMode = gameController.gameMode; numberOfCompletedSlots = 0; numberOfCellsCompleted = 0; totalNumberOfCellsToComplete = 0; slotCompletedFlag = false; completedSlot = null; createSlots(); resetSlots(); playField.visible = true; mainFunc = mainloop_normal; } private function createSlots():void{ var slot:Slot; totalNumberOfSlots = levelStructure[(level - 1)][0]; if (gameMode == "hazard"){ totalNumberOfSlots = 100; }; activeSlots = new Array(); var cnt:int; while (++cnt != (totalNumberOfSlots + 1)) { slot = new Slot(playField, cnt, level); activeSlots.push(slot); }; } public function testForCollision(card:Card, cardSprite:MovieClip):Boolean{ var slot:Slot; var percentage:int; var collisionFlag:Boolean; var len:int = runningSlots.length; var cnt = -1; while (++cnt != len) { slot = runningSlots[cnt][1]; if (slot.collisionCheck(cardSprite) == true){ collisionFlag = true; gameController.incScore(1000, true); numberOfCellsCompleted++; percentage = Math.round(((numberOfCellsCompleted / totalNumberOfCellsToComplete) * 100)); gameController.incProgressBar(percentage); break; }; }; return (collisionFlag); } private function handleCompletedSlot(slot:Slot):Boolean{ var tempID:int; var legendSlot:Slot; soundHandler.play_completed(); if (++numberOfCompletedSlots == totalNumberOfSlots){ gameController.levelComplete(); return (true); }; var slotID:int = slot.numID; var len:int = runningSlots.length; var cnt = -1; while (++cnt != len) { tempID = runningSlots[cnt][0]; if (tempID == slotID){ runningSlots.splice(cnt, 1); break; }; }; if (level == 1){ if (legendStillActiveFlag == true){ legendStillActiveFlag = false; legendSlot = activeSlots[0]; legendSlot.removeLegend(); runningSlots.splice(0, 1); }; }; soundHandler.play_whoosh(); var newSlotsCnt:int; len = activeSlots.length; cnt = -1; while (++cnt != len) { slot = activeSlots[cnt]; if (slot.activate() == true){ runningSlots.push([slot.numID, slot]); ++newSlotsCnt; if (newSlotsCnt == 2){ break; } else { if (runningSlots.length == 4){ break; }; }; }; }; len = runningSlots.length; var posStorage:Array = positions[(len - 1)]; var posOffset:int; cnt = -1; while (++cnt != len) { slot = runningSlots[cnt][1]; slot.repositionSlot(posStorage[posOffset]); posOffset++; }; return (false); } private function resetSlots():void{ var slot:Slot; var rnd:int; numberOfRows = levelStructure[(level - 1)][1]; runningSlots = new Array(); var len:int = activeSlots.length; var cnt = -1; while (++cnt != len) { slot = activeSlots[cnt]; if (numberOfRows != -1){ slot.init(numberOfRows); totalNumberOfCellsToComplete = (totalNumberOfCellsToComplete + (numberOfRows * 6)); } else { rnd = (Math.round((Math.random() * 2)) + 1); slot.init(rnd); totalNumberOfCellsToComplete = (totalNumberOfCellsToComplete + (rnd * 6)); }; }; if (level == 1){ totalNumberOfCellsToComplete = (totalNumberOfCellsToComplete - 6); }; var posStorage:Array = positions[1]; if (gameMode == "hazard"){ posStorage = positions[3]; }; var posOffset:int; cnt = -1; while (++cnt != len) { slot = activeSlots[cnt]; if (posOffset == posStorage.length){ slot.positionSlot(-1); } else { slot.positionSlot(posStorage[posOffset]); posOffset++; runningSlots.push([slot.numID, slot]); }; }; if (level == 1){ legendStillActiveFlag = true; slot = activeSlots[0]; slot.precompleteThisOneToUseAsALegend(); numberOfCompletedSlots++; }; soundHandler.play_whoosh(); } private function log(msg:String):void{ trace(("[SlotHandler] " + msg)); } public function getNumberOfCompletedSlots():int{ return (this.numberOfCompletedSlots); } public function testForCollision_droppedCard(card:Card, cardSprite:MovieClip):Boolean{ var slot:Slot; var percentage:int; var collisionFlag:Boolean; var len:int = runningSlots.length; var cnt = -1; while (++cnt != len) { slot = runningSlots[cnt][1]; if (slot.collisionCheck_droppedCard(cardSprite) == true){ collisionFlag = true; gameController.incScore(1000, true); numberOfCellsCompleted++; percentage = Math.round(((numberOfCellsCompleted / totalNumberOfCellsToComplete) * 100)); gameController.incProgressBar(percentage); break; }; }; return (collisionFlag); } public function mainloop():void{ mainFunc(); } private function nop():void{ } public function toString():String{ return ("SlotHandler"); } public function slotCompleted(slot:Slot):void{ slotCompletedFlag = true; completedSlot = slot; if (gameMode == "hazard"){ gameController.incCompletedSlots(); }; } public function houseKeeping():void{ var slot:Slot; runningSlots = new Array(); var len:int = activeSlots.length; var cnt = -1; while (++cnt != len) { slot = activeSlots[cnt]; slot.houseKeeping(); }; } } }//package classes.zoneout.slots
Section 40
//Console (classes.zoneout.Console) package classes.zoneout { import flash.display.*; import gs.*; import flash.geom.*; public class Console extends Sprite { private var container:Sprite; public var console_hazardMC:Class; private var bgImage:Sprite; private var container_hazard:Sprite; private var scaledObjects_hazard:Array; private var playField:Sprite; public var consoleMC:Class; private var graphicsContainer:Sprite; private var insideBoxBottom_hazard:Sprite; private var insideBoxBottom:Sprite; private var graphicsContainer_hazard:Sprite; private var backgroundBox:Sprite; private var insideBoxTop:Sprite; private var _height:Number; private var outsideBoxShadow:Sprite; private var insideBoxTop_hazard:Sprite; private var scaleRect:Rectangle; private var backgroundBox_hazard:Sprite; private var initHeight:Number; private var scaledObjects:Array; private var outsideBoxShadow_hazard:Sprite; private var opened:Boolean; private var outsideBoxYellow_hazard:Sprite; private var outsideBoxYellow:Sprite; public function Console(hudSprite:Sprite){ consoleMC = Console_consoleMC; console_hazardMC = Console_console_hazardMC; super(); playField = hudSprite; initDisplayObjects(); initVars(); openNoTween(); } private function openNoTween():void{ this.opened = true; this.height = 470; bgImage.scaleY = 1; bgImage.y = -63; bgImage.alpha = 0.55; } public function isOpen():Boolean{ return (this.opened); } private function initDisplayObjects():void{ this.container = new consoleMC(); this.container.x = 1; this.container.y = 482; this.graphicsContainer = this.container["graphicsContainer"]; this.insideBoxTop = this.container["insideBoxTop"]; this.insideBoxBottom = this.container["insideBoxBottom"]; this.outsideBoxShadow = this.container["outsideBoxShadow"]; this.outsideBoxYellow = this.container["outsideBoxYellow"]; this.backgroundBox = this.container["backgroundBox"]; this.bgImage = this.container["bgImage"]; this.container_hazard = new console_hazardMC(); this.container_hazard.x = 1; this.container_hazard.y = 482; this.graphicsContainer_hazard = this.container_hazard["graphicsContainer"]; this.insideBoxTop_hazard = this.container_hazard["insideBoxTop"]; this.insideBoxBottom_hazard = this.container_hazard["insideBoxBottom"]; this.outsideBoxShadow_hazard = this.container_hazard["outsideBoxShadow"]; this.outsideBoxYellow_hazard = this.container_hazard["outsideBoxYellow"]; this.backgroundBox_hazard = this.container_hazard["backgroundBox"]; this.initHeight = container.height; this.initHeight = container_hazard.height; playField.addChild(this.container_hazard); this.container_hazard.visible = false; playField.addChild(this.container); } override public function get height():Number{ return (_height); } private function log(msg:String):void{ trace("[Console] ", msg); } public function open():void{ if (!this.isOpen()){ this.opened = true; TweenLite.killTweensOf(this); TweenLite.to(this, 0.5, {height:470}); TweenLite.to(bgImage, 0.55, {scaleY:1, alpha:0.55}); }; } override public function set height(value:Number):void{ var i:int; var mc:Sprite; var mch:Sprite; _height = value; var l:int = this.scaledObjects.length; while (i < l) { mc = this.scaledObjects[i]; mc.height = value; i++; }; var lnt:int = this.scaledObjects_hazard.length; i = 0; while (i < lnt) { mch = this.scaledObjects_hazard[i]; mch.height = value; i++; }; } private function initVars():void{ var i:int; var mc:Sprite; var mch:Sprite; this.opened = false; this.scaleRect = new Rectangle(20, -101, 660, 20); this.scaledObjects = new Array(); this.scaledObjects = [graphicsContainer, insideBoxTop, insideBoxBottom, outsideBoxShadow, outsideBoxYellow, backgroundBox]; var l:int = this.scaledObjects.length; while (i < l) { mc = this.scaledObjects[i]; mc.scale9Grid = this.scaleRect; i++; }; this.scaledObjects_hazard = new Array(); this.scaledObjects_hazard = [graphicsContainer_hazard, insideBoxTop_hazard, insideBoxBottom_hazard, outsideBoxShadow_hazard, outsideBoxYellow_hazard, backgroundBox_hazard]; l = this.scaledObjects_hazard.length; i = 0; while (i < l) { mch = this.scaledObjects_hazard[i]; mch.scale9Grid = this.scaleRect; i++; }; } public function close():void{ if (this.isOpen()){ this.opened = false; TweenLite.killTweensOf(this); TweenLite.to(this, 0.5, {height:initHeight}); TweenLite.to(bgImage, 0, {scaleY:0.15, alpha:0.2}); }; } } }//package classes.zoneout
Section 41
//Console_console_hazardMC (classes.zoneout.Console_console_hazardMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Console_console_hazardMC extends SpriteAsset { public var stepOne:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var warning1:DisplayObject; public var warning2:DisplayObject; public var warning3:DisplayObject; public var completedText:DisplayObject; public var warning5:DisplayObject; public var warning6:DisplayObject; public var quitText:DisplayObject; public var bgImage:DisplayObject; public var warning4:DisplayObject; public var score10:DisplayObject; public var orange:DisplayObject; public var graphicsContainer:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var fillAnim:DisplayObject; public var stepThree:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var hitAreaMC:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var yellow:DisplayObject; public var levelProgressBar:DisplayObject; public var legendGhost:DisplayObject; public var timerBar:DisplayObject; public var red:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var insideBoxTop:DisplayObject; public var outsideBoxShadow:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var Masker:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var levelText:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var airTip:DisplayObject; public var branding:DisplayObject; public var invalidEmailAddressTF:DisplayObject; public var green:DisplayObject; public var name1:DisplayObject; public var name2:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var name8:DisplayObject; public var name9:DisplayObject; public var name3:DisplayObject; public var card:DisplayObject; public var name6:DisplayObject; public var name7:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var bgTopBar:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var insideBoxBottom:DisplayObject; public var darkRed:DisplayObject; public var timer:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var button_window:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var clickHitAreaMC:DisplayObject; public var learnMore:DisplayObject; public var purple:DisplayObject; public var backgroundBox:DisplayObject; public var playButton_normal:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var helpMask:DisplayObject; public var helpButton:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var score4:DisplayObject; public var name10:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var friendsEmailTF:DisplayObject; public var outsideBoxYellow:DisplayObject; } }//package classes.zoneout
Section 42
//Console_consoleMC (classes.zoneout.Console_consoleMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Console_consoleMC extends SpriteAsset { public var stepOne:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var warning1:DisplayObject; public var warning2:DisplayObject; public var warning3:DisplayObject; public var completedText:DisplayObject; public var warning5:DisplayObject; public var warning6:DisplayObject; public var quitText:DisplayObject; public var bgImage:DisplayObject; public var warning4:DisplayObject; public var score10:DisplayObject; public var orange:DisplayObject; public var graphicsContainer:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var fillAnim:DisplayObject; public var stepThree:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var hitAreaMC:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var yellow:DisplayObject; public var levelProgressBar:DisplayObject; public var legendGhost:DisplayObject; public var timerBar:DisplayObject; public var red:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var insideBoxTop:DisplayObject; public var outsideBoxShadow:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var Masker:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var levelText:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var airTip:DisplayObject; public var branding:DisplayObject; public var invalidEmailAddressTF:DisplayObject; public var green:DisplayObject; public var name1:DisplayObject; public var name2:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var name8:DisplayObject; public var name9:DisplayObject; public var name3:DisplayObject; public var card:DisplayObject; public var name6:DisplayObject; public var name7:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var bgTopBar:DisplayObject; public var four:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var insideBoxBottom:DisplayObject; public var darkRed:DisplayObject; public var timer:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var button_window:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var instructions:DisplayObject; public var clickHitAreaMC:DisplayObject; public var learnMore:DisplayObject; public var purple:DisplayObject; public var backgroundBox:DisplayObject; public var playButton_normal:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var helpMask:DisplayObject; public var helpButton:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var score4:DisplayObject; public var name10:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var friendsEmailTF:DisplayObject; public var outsideBoxYellow:DisplayObject; } }//package classes.zoneout
Section 43
//Cookies (classes.zoneout.Cookies) package classes.zoneout { import flash.net.*; public class Cookies { private var sharedObject:SharedObject; public var cookiesLoadedFlag:Boolean;// = false public var name:String;// = "NAME" public var hazardModeUnlocked:Boolean;// = false public var volume:Number;// = 1 public var normalmode_hiscore:int;// = 0 public var hazardmode_hiscore:int;// = 0 public function Cookies(){ super(); sharedObject = SharedObject.getLocal("gywPresentsZoneOut"); if (sharedObject.data["volume"] == null){ createFile(); } else { loadAll(); }; } private function createFile():void{ saveAll(); cookiesLoadedFlag = true; } public function saveAll():void{ sharedObject.data["volume"] = volume; sharedObject.data["name"] = name; sharedObject.data["normalmode_hiscore"] = normalmode_hiscore; sharedObject.data["hazardmode_hiscore"] = hazardmode_hiscore; sharedObject.data["hazardModeUnlocked"] = hazardModeUnlocked; sharedObject.flush(); } public function loadAll():void{ volume = sharedObject.data["volume"]; name = sharedObject.data["name"]; normalmode_hiscore = sharedObject.data["normalmode_hiscore"]; hazardmode_hiscore = sharedObject.data["hazardmode_hiscore"]; hazardModeUnlocked = sharedObject.data["hazardModeUnlocked"]; cookiesLoadedFlag = true; } } }//package classes.zoneout
Section 44
//EmbedScrollBar (classes.zoneout.EmbedScrollBar) package classes.zoneout { import flash.display.*; import flash.events.*; import basement_core.display.scroll.*; import flash.geom.*; public class EmbedScrollBar extends MovieClip implements IScrollBar { public var track:MovieClip; private var currentPercent:Number; private var top:Number; private var scroll_rect:Rectangle; public var handle:MovieClip; private var range:Number; public function EmbedScrollBar(){ super(); } public function hide():void{ this.visible = false; } public function setPercent(percent:Number):void{ percent = Math.min(percent, 1); percent = Math.max(percent, 0); this.currentPercent = percent; this.handle.y = ((this.currentPercent * this.range) + this.top); } protected function log(msg:String):void{ trace(("[EmbedScrollBar] " + msg)); } private function onDragMoveHandler(event:MouseEvent):void{ this.currentPercent = ((handle.y - this.top) / this.range); var scrollEvent:ScrollEvent = new ScrollEvent(); scrollEvent.percent = currentPercent; dispatchEvent(scrollEvent); } public function getPercent():Number{ return (this.currentPercent); } private function onDragRelease(event:MouseEvent):void{ this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onDragMoveHandler); this.stage.removeEventListener(MouseEvent.MOUSE_UP, onDragRelease); handle.stopDrag(); } public function init(scrollHandle:Sprite, scrollTrack:Sprite):void{ this.handle = new MovieClip(); this.handle.addChild(scrollHandle); this.track = new MovieClip(); this.track.addChild(scrollTrack); this.addChild(this.track); this.addChild(this.handle); handle.buttonMode = true; handle.mouseChildren = false; handle.addEventListener(MouseEvent.MOUSE_DOWN, onDragClick); track.buttonMode = false; track.mouseChildren = false; track.addEventListener(MouseEvent.CLICK, onTrackClick); set_limits(); } private function set_limits():void{ scroll_rect = new Rectangle(track.x, track.y, 0, (track.height - handle.height)); this.top = track.y; this.range = (track.height - handle.height); } private function onDragClick(event:MouseEvent):void{ this.stage.addEventListener(MouseEvent.MOUSE_UP, onDragRelease, false, 0, true); handle.startDrag(false, scroll_rect); this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onDragMoveHandler); } public function getHandle():MovieClip{ return (this.handle); } public function setHeight($height:Number):void{ this.track.height = $height; this.set_limits(); } public function setScrollDelta(delta:int):void{ this.setPercent((this.currentPercent - (delta / 100))); var scrollEvent:ScrollEvent = new ScrollEvent(); scrollEvent.percent = currentPercent; dispatchEvent(scrollEvent); } private function onTrackClick(event:MouseEvent):void{ } } }//package classes.zoneout
Section 45
//GameController (classes.zoneout.GameController) package classes.zoneout { import com.kongregate.as3.client.*; import flash.display.*; import flash.events.*; import classes.zoneout.cards.*; import classes.zoneout.slots.*; import classes.zoneout.effects.*; import flash.geom.*; import com.google.analytics.*; public class GameController { private var maxLevel:int;// = 5 private var level:int; private var stage:Stage; private var cookies:Cookies; private var score:int; private var genericCnt:int; private var cardHandler:CardHandler; public var completedCnt:int; private var isGameOver:Boolean; public var gameMode:String;// = "normal" private var tracker:AnalyticsTracker; private var main:Main; private var times:Array; private var secs:int; private var cloudHandler:CloudHandler; private var kongregate:KongregateAPI; private var mins:int; private var master:Master; private var particleHandler:ParticleHandler; private var player:Player; public var hazardModeUnlockedFlag:Boolean;// = true private var slotHandler:SlotHandler; private var levelScore:int; private var hud:HUD; private var mainMovie:DisplayObject; private static var GOOGLE_ID:String = "UA-8498347-4"; public function GameController(){ times = new Array([3, 0], [4, 0], [4, 30], [5, 0], [5, 0]); super(); isGameOver = false; main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); tracker = new GATracker(stage, GOOGLE_ID, "AS3", false); cloudHandler = new CloudHandler(); hud = new HUD(); cookies = main.getInitObj().getCookies(); kongregate = main.getKongregate(); } public function nextLevelInit():void{ stage.focus = stage; hud.pauseMenuInit(); levelScore = 0; hud.init(gameMode, level); cardHandler.init(level); slotHandler.init(level); particleHandler.init(); var levelTime:Object = times[(level - 1)]; if (gameMode == "normal"){ master.setStartTime(levelTime[0], levelTime[1]); hud.updateTimer(levelTime[0], levelTime[1]); } else { master.setStartTime(0, 0); hud.updateTimer(0, 0); }; continueGame(); } public function pauseViaKeyPress():void{ master.pause(); player.pause(); cardHandler.pauseFlag = true; hud.pauseViaKeyPress(); } public function getCardHandler():CardHandler{ return (cardHandler); } private function levelCompleteInit():void{ hud.openConsole(); kongregate.stats.submit("LevelComplete", level); if (++level == maxLevel){ kongregate.stats.submit("NormalModeComplete", 1); hazardModeUnlockedFlag = true; cookies.hazardModeUnlocked = true; cookies.saveAll(); main.getInitObj().getAttract().gameComplete(); houseKeeping(); return; }; main.getInitObj().getAttract().levelComplete(level); houseKeeping(); } public function getLevelScore():int{ return (levelScore); } private function pauseAfterGameOver(e:Event):void{ if (++genericCnt == 30){ hud.openConsole(); houseKeeping(); } else { if (genericCnt == 38){ stage.removeEventListener(Event.ENTER_FRAME, pauseAfterGameOver); main.getInitObj().getAttract().gameOver(); }; }; } public function houseKeeping():void{ master.houseKeeping(); player.houseKeeping(); slotHandler.houseKeeping(); cardHandler.houseKeeping(); hud.houseKeeping(); particleHandler.houseKeeping(); } private function trackEvent(event:String):void{ if (this.gameMode == "normal"){ log((((((("Tracking Event: " + "/zoneout/") + this.gameMode) + "/") + event) + "/Level") + level)); tracker.trackPageview(((((("/zoneout/" + this.gameMode) + "/") + event) + "/Level") + level)); } else { log((((((("Tracking Event: " + "/zoneout/") + this.gameMode) + "/") + event) + "/Slot") + this.slotHandler.getNumberOfCompletedSlots())); tracker.trackPageview(((((("/zoneout/" + this.gameMode) + "/") + event) + "/Slot") + this.slotHandler.getNumberOfCompletedSlots())); kongregate.stats.submit("HazardModeSlotsComplete", this.slotHandler.getNumberOfCompletedSlots()); }; } public function incCompletedSlots():void{ completedCnt++; hud.updateLevel(completedCnt); } public function resume():void{ cardHandler.pauseFlag = false; player.resume(); master.resume(); } public function getParticleHandler():ParticleHandler{ return (particleHandler); } public function getSlotHandler():SlotHandler{ return (slotHandler); } public function continueGame():void{ this.isGameOver = false; player.init(); master.start(); hud.closeConsole(); } public function getHUD():HUD{ return (hud); } private function pauseAfterLevelComplete(e:Event):void{ if (++genericCnt == 20){ stage.removeEventListener(Event.ENTER_FRAME, pauseAfterLevelComplete); levelCompleteInit(); } else { if ((mins + secs) > 0){ if (--secs < 0){ if (--mins > 0){ secs = 59; } else { secs = 0; }; }; if ((secs % 10) == 0){ particleHandler.requestParticle(main.getInitObj().getPlayFieldHandler().spritesHolder, new Point(224, 444)); }; score = (score + 100); levelScore = (levelScore + 100); hud.updateScore(score); hud.updateTimer(mins, secs); genericCnt--; }; }; } private function log(msg:String):void{ } public function incScore(arg:int, checkTime:Boolean=false):void{ if (((checkTime) && (!(master.isTimeRemaining())))){ arg = int((arg / 100)); }; score = (score + arg); levelScore = (levelScore + arg); hud.updateScore(score); } public function quit():void{ master.pause(); player.pause(); cardHandler.pauseFlag = true; hud.quitViaKeyPress(); } public function getPlayer():Player{ return (player); } public function levelComplete():void{ trackEvent("CompletedLevel"); master.start_justSlots(); hud.pauseMenuKill(); genericCnt = 0; mins = master.mins; secs = master.secs; stage.addEventListener(Event.ENTER_FRAME, pauseAfterLevelComplete); } public function getScore():int{ return (score); } public function resumeViaKeyPress():void{ cardHandler.pauseFlag = false; player.resume(); master.resume(); hud.resumeViaKeyPress(); } public function gameOver():void{ if (isGameOver){ return; }; isGameOver = true; master.start_justSlots(); hud.pauseMenuKill(); trackEvent("GameOver"); if (gameMode == "normal"){ if (score > cookies.normalmode_hiscore){ cookies.normalmode_hiscore = score; kongregate.scores.submit(score, "NormalModeScore"); cookies.saveAll(); }; } else { if (score > cookies.hazardmode_hiscore){ cookies.hazardmode_hiscore = score; kongregate.scores.submit(score, "HazardModeScore"); cookies.saveAll(); }; }; genericCnt = 0; stage.addEventListener(Event.ENTER_FRAME, pauseAfterGameOver); } public function helpViaKeyPress():void{ master.pause(); player.pause(); cardHandler.pauseFlag = true; hud.helpViaKeyPress(); } public function incProgressBar(arg:int):void{ hud.updateProgressBar(arg); } public function toString():String{ return ("GameController"); } public function startGame(mode:String):void{ if (player == null){ player = new Player(); cardHandler = new CardHandler(); slotHandler = new SlotHandler(); master = new Master(); particleHandler = new ParticleHandler(); }; gameMode = mode; if (gameMode == "normal"){ level = 1; hud.updateLevel(level); } else { level = 4; completedCnt = 0; hud.updateLevel(0); }; this.trackEvent("NewGame"); score = 0; hud.updateScore(score); nextLevelInit(); } public function pause():void{ master.pause(); player.pause(); cardHandler.pauseFlag = true; } public function quitGame():void{ trackEvent("Quit"); houseKeeping(); hud.openConsole(); main.getInitObj().getAttract().initTitles(); } public function reduceTimer():void{ var secs:int = master.secs; var mins:int = master.mins; if (!master.isTimeRemaining()){ return; }; secs = (secs - 10); if (secs < 0){ if (mins > 0){ mins--; secs = (secs + 60); } else { secs = 0; }; }; master.tick = 0; if (mins < 0){ mins = 0; }; if (secs < 0){ secs = 0; }; master.setTime(mins, secs); hud.updateTimer(mins, secs); hud.startLostTimeTween(); } } }//package classes.zoneout
Section 46
//HUD (classes.zoneout.HUD) package classes.zoneout { import flash.display.*; import flash.events.*; import gs.*; import basement_core.display.scroll.*; import flash.geom.*; import flash.text.*; public class HUD { private var levelUpTweenMC:Class; private var stage:Stage; private var scrollBar:EmbedScrollBar; private var loseTimeTween:MovieClip; private var legend:Sprite; private var completedText:Sprite; private var speakerIcon_hazard:MovieClip; private var pauseDropDownMC:Class; private var speakerIcon:MovieClip; private var trackMC:Class; public var scrollWindow:Sprite; private var playField:Sprite; private var menuThatIsDown:String;// = "" private var graphicsContainer:Sprite; private var button:Sprite; private var scrollPanel:ScrollPanel; private var pauseDropDown:Sprite; private var buttonMC:Class; private var insideBoxBottom:Sprite; private var track:Sprite; private var scaleRect:Rectangle; private var quitQuestion:MovieClip; private var initHeight:Number; private var scaledObjects:Array; public var console:Console; private var quitButton:MovieClip; private var opened:Boolean; private var quitYesButton:MovieClip; private var levelUpTween:MovieClip; private var pausedText:Sprite; private var container:Sprite; private var levelProgressBar:Sprite; private var level:TextField; private var helpInstructions:MovieClip; private var score:TextField; private var pauseMenuHelpText:Sprite; private var clientURL:String;// = "http://www.cleanairmatters.org/" private var progressBar:MovieClip; private var outsideBoxShadow:Sprite; private var main:Main; private var backgroundBox:Sprite; private var insideBoxTop:Sprite; private var littleLogo:MovieClip; private var pauseButton:MovieClip; private var quitNoButton:MovieClip; private var hudMC:Class; private var levelText:Sprite; private var helpButton:MovieClip; private var time:TextField; private var helpMask:MovieClip; private var hud:Sprite; private var outsideBoxYellow:Sprite; private var branding:Sprite; private var mainMovie:DisplayObject; private static const MIDDLE:Number = 10; private static const BOTTOM:Number = 370; private static const TOP:Number = -20; private static const OFF:Number = -100; public function HUD(){ hudMC = HUD_hudMC; levelUpTweenMC = HUD_levelUpTweenMC; pauseDropDownMC = HUD_pauseDropDownMC; trackMC = HUD_trackMC; buttonMC = HUD_buttonMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); hud = new hudMC(); littleLogo = hud["littleLogo"]; initButton(littleLogo, gotoClientSite); speakerIcon = hud["speakerIcon"]; var vol:Number = main.getInitObj().getCookies().volume; if (vol == 0){ speakerIcon.gotoAndStop(2); } else { speakerIcon.gotoAndStop(1); }; speakerIcon.buttonMode = true; speakerIcon.useHandCursor = true; speakerIcon.addEventListener(MouseEvent.CLICK, soundToggled); speakerIcon.visible = true; speakerIcon.alpha = 1; speakerIcon_hazard = hud["speakerIcon_hazard"]; speakerIcon_hazard.buttonMode = true; speakerIcon_hazard.useHandCursor = true; speakerIcon_hazard.gotoAndStop(speakerIcon.currentFrame); speakerIcon_hazard.addEventListener(MouseEvent.CLICK, soundToggled); speakerIcon_hazard.visible = false; branding = hud["branding"]; levelProgressBar = hud["levelProgressBar"]; levelProgressBar.visible = false; levelText = hud["levelText"]; legend = hud["legend"]; completedText = hud["completedText"]; completedText.visible = false; progressBar = levelProgressBar["bar"]; progressBar.gotoAndStop(1); levelUpTween = new levelUpTweenMC(); levelUpTween.x = 350; levelUpTween.y = 335; levelUpTween.gotoAndStop(1); loseTimeTween = hud["loseTimeTween"]; loseTimeTween.gotoAndStop(1); loseTimeTween.visible = false; score = hud["score"]; level = hud["level"]; time = hud["time"]; console = new Console(hud["consoleContainer"]); console.open(); playField = main.getInitObj().getPlayFieldHandler().hud; playField.addChild(hud); pauseDropDown = new pauseDropDownMC(); pauseMenuKill(); stage.addChild(pauseDropDown); pauseButton = pauseDropDown["pauseButton"]; helpButton = pauseDropDown["helpButton"]; quitButton = pauseDropDown["quitButton"]; quitNoButton = pauseDropDown["quitNoButton"]; quitButton.buttonMode = true; quitYesButton = pauseDropDown["quitYesButton"]; quitQuestion = pauseDropDown["quitQuestion"]; quitNoButton.gotoAndStop("_up"); quitYesButton.gotoAndStop("_up"); pausedText = pauseDropDown["pausedText"]; pauseMenuHelpText = pauseDropDown["pauseMenuHelpText"]; track = new trackMC(); track.scaleY = 0.8; button = new buttonMC(); button.x = -2; helpInstructions = pauseMenuHelpText["helpInstructions"]; helpMask = pauseMenuHelpText["helpMask"]; this.scrollBar = new EmbedScrollBar(); this.scrollBar.x = 630; this.scrollBar.y = -325; this.scrollBar.init(button, track); scrollBar.visible = false; pauseDropDown.addChild(scrollBar); helpInstructions.mask = helpMask; helpInstructions.cacheAsBitmap = true; helpMask.cacheAsBitmap = true; scrollPanel = new ScrollPanel(helpInstructions, helpMask, scrollBar); this.scrollPanel.enableArrows(true); scrollPanel.setAutoFocus(false); scrollPanel.refresh(0, 0, 0, 0, 8, -1100); pauseDropDown.addChild(scrollPanel); } private function helpPauseCoverInPlace():void{ killButton(pauseButton, pauseButton_pressed); initButton(helpButton, resumeButton_pressed); } public function updateTimer(mins:int, secs:int):void{ var secString:String; var minsString:String; if (secs < 10){ secString = ("0" + secs.toString()); } else { secString = secs.toString(); }; if (mins < 10){ minsString = ("0" + mins.toString()); } else { minsString = mins.toString(); }; time.text = ((minsString + ":") + secString); } private function handleLevelUpTextTween(e:Event):void{ if (levelUpTween.currentFrame == levelUpTween.totalFrames){ levelUpTween.removeEventListener(Event.ENTER_FRAME, handleLevelUpTextTween); if (levelUpTween.parent != null){ levelUpTween.gotoAndStop(1); playField.removeChild(levelUpTween); }; }; } public function init(mode:String, levelArg:int):void{ stage.addChild(pauseDropDown); pauseDropDown.y = OFF; if (mode == "normal"){ if (branding.alpha == 0){ TweenLite.to(branding, 0.5, {alpha:1}); TweenLite.to(speakerIcon, 0.5, {autoAlpha:1}); TweenLite.to(speakerIcon_hazard, 0.5, {autoAlpha:1}); }; levelProgressBar.visible = true; progressBar.gotoAndStop(1); levelText.visible = true; legend.visible = true; completedText.visible = false; level.text = levelArg.toString(); } else { if (branding.alpha != 0){ TweenLite.to(branding, 0.5, {alpha:0}); TweenLite.to(speakerIcon, 0.5, {autoAlpha:0}); TweenLite.to(this.speakerIcon_hazard, 0.5, {autoAlpha:0}); }; levelText.visible = false; legend.visible = false; completedText.visible = true; level.text = "0"; }; } public function houseKeeping():void{ levelProgressBar.visible = false; if (levelUpTween.parent != null){ levelUpTween.gotoAndStop(1); playField.removeChild(levelUpTween); }; pauseDropDown.removeEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); killButton(pauseButton, resumeButton_pressed); killButton(pauseButton, pauseButton_pressed); killButton(helpButton, helpButton_pressed); killButton(quitButton, quitButton_pressed); killButton(quitYesButton, quitYesButton_pressed); killButton(quitNoButton, quitNoButton_pressed); TweenLite.to(pauseDropDown, 0.2, {y:OFF}); } public function startLevelUpTween():void{ levelUpTween.gotoAndPlay(1); playField.addChild(levelUpTween); levelUpTween.addEventListener(Event.ENTER_FRAME, handleLevelUpTextTween); } private function removePauseMenu_enterFrame(e:Event):void{ if (stage.mouseY > 70){ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); TweenLite.to(pauseDropDown, 0.3, {y:TOP, onComplete:resetMenuRollOver}); }; } public function pauseMenuInit():void{ TweenLite.to(pauseDropDown, 1, {y:TOP}); pauseDropDown.addEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); } private function revealPauseMenu(e:MouseEvent):void{ TweenLite.to(pauseDropDown, 0.2, {y:MIDDLE, onComplete:pauseMenuInPlace}); } public function updateProgressBar(arg:int):void{ progressBar.gotoAndStop(arg); } public function updateLevel(arg:int):void{ level.text = arg.toString(); } public function closeConsole():void{ console.close(); } private function buttonRollOver(e:MouseEvent):void{ e.target.gotoAndStop(2); } private function quitButton_pressed(e:MouseEvent):void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); killButton(pauseButton, pauseButton_pressed); killButton(helpButton, helpButton_pressed); killButton(quitButton, quitButton_pressed); killButton(pauseButton, resumeButton_pressed); initButton(quitNoButton, resumeButton_pressed); initButton(quitYesButton, quitYesButton_pressed); main.getInitObj().getGameController().quit(); } private function quitYesButton_pressed(e:MouseEvent):void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); killButton(pauseButton, pauseButton_pressed); killButton(helpButton, helpButton_pressed); killButton(quitButton, quitButton_pressed); killButton(quitYesButton, quitYesButton_pressed); killButton(quitNoButton, quitNoButton_pressed); this.pauseMenuKill(); main.getInitObj().getGameController().quitGame(); } public function updateScore(arg:int):void{ score.text = arg.toString(); } public function helpViaKeyPress():void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); pauseMenuHelpText.visible = true; scrollBar.visible = true; pausedText.visible = false; quitQuestion.visible = false; quitNoButton.visible = false; quitYesButton.visible = false; TweenLite.to(pauseDropDown, 0.5, {y:BOTTOM, onComplete:pauseCoverInPlace}); } private function killButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = false; buttonArg.buttonMode = false; buttonArg.gotoAndStop(1); buttonArg.removeEventListener(MouseEvent.CLICK, callBackArg); buttonArg.removeEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.removeEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function removePauseMenu(e:MouseEvent):void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); TweenLite.to(pauseDropDown, 0.2, {y:TOP, onComplete:resetMenuRollOver}); } private function pauseCoverInPlace():void{ if (menuThatIsDown == "help"){ initButton(helpButton, resumeButton_pressed); }; if (menuThatIsDown == "pause"){ initButton(pauseButton, resumeButton_pressed); }; if (menuThatIsDown == "quit"){ killButton(pauseButton, resumeButton_pressed); killButton(helpButton, resumeButton_pressed); }; } private function log(msg:String):void{ trace("[HUD] ", msg); } private function resetMenuRollOver():void{ pauseDropDown.addEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); } private function initButton(buttonArg:MovieClip, callBackArg:Function):void{ buttonArg.useHandCursor = true; buttonArg.buttonMode = true; buttonArg.enabled = true; buttonArg.mouseChildren = true; buttonArg.gotoAndStop(1); buttonArg.addEventListener(MouseEvent.CLICK, callBackArg); buttonArg.addEventListener(MouseEvent.ROLL_OVER, buttonRollOver); buttonArg.addEventListener(MouseEvent.ROLL_OUT, buttonRollOut); } private function gotoClientSite(e:MouseEvent):void{ Web.getURL(clientURL, "_blank"); } public function pauseViaKeyPress():void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); pausedText.visible = true; pauseMenuHelpText.visible = false; quitQuestion.visible = false; quitNoButton.visible = false; quitYesButton.visible = false; scrollBar.visible = false; initButton(helpButton, helpButton_pressed); initButton(quitButton, quitButton_pressed); initButton(pauseButton, resumeButton_pressed); TweenLite.to(pauseDropDown, 0.5, {y:BOTTOM, onComplete:pauseCoverInPlace}); } public function quitViaKeyPress():void{ menuThatIsDown = "quit"; pauseDropDown.removeEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); pausedText.visible = false; pauseMenuHelpText.visible = false; scrollBar.visible = false; quitQuestion.visible = true; quitNoButton.visible = true; quitYesButton.visible = true; initButton(quitNoButton, quitNoButton_pressed); initButton(quitYesButton, quitYesButton_pressed); TweenLite.to(pauseDropDown, 0.5, {y:BOTTOM, onComplete:pauseCoverInPlace}); } private function soundToggled(e:MouseEvent):void{ var vol:int = main.getInitObj().getSoundHandler().toggleSounds(); if (vol == 0){ speakerIcon.gotoAndStop(2); } else { speakerIcon.gotoAndStop(1); }; speakerIcon_hazard.gotoAndStop(speakerIcon.currentFrame); var cookies:Cookies = main.getInitObj().getCookies(); cookies.volume = vol; cookies.saveAll(); } public function pauseMenuKill():void{ pauseDropDown.y = OFF; } public function startLostTimeTween():void{ loseTimeTween.gotoAndPlay(1); loseTimeTween.visible = true; loseTimeTween.addEventListener(Event.ENTER_FRAME, handleLoseTimeTween); } public function toString():String{ return ("HUD"); } private function quitNoButton_pressed(e:MouseEvent):void{ pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); killButton(pauseButton, pauseButton_pressed); killButton(helpButton, helpButton_pressed); killButton(quitButton, quitButton_pressed); killButton(quitYesButton, quitYesButton_pressed); killButton(quitNoButton, quitNoButton_pressed); initButton(quitNoButton, resumeButton_pressed); } private function pauseButton_pressed(e:MouseEvent):void{ menuThatIsDown = "pause"; main.getInitObj().getGameController().pause(); pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); pauseViaKeyPress(); pausedText.visible = true; pauseMenuHelpText.visible = false; quitNoButton.visible = false; quitYesButton.visible = false; quitQuestion.visible = false; scrollBar.visible = false; initButton(pauseButton, resumeButton_pressed); initButton(helpButton, helpButton_pressed); initButton(quitButton, quitButton_pressed); killButton(pauseButton, pauseButton_pressed); } private function resumeButton_pressed(e:MouseEvent=null):void{ killButton(pauseButton, resumeButton_pressed); killButton(helpButton, resumeButton_pressed); TweenLite.to(pauseDropDown, 0.5, {y:TOP, onComplete:pauseCoverRemoved}); } private function helpButton_pressed(e:MouseEvent):void{ menuThatIsDown = "help"; pauseDropDown.removeEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.removeEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); main.getInitObj().getGameController().pause(); helpViaKeyPress(); pausedText.visible = false; pauseMenuHelpText.visible = true; quitNoButton.visible = false; quitYesButton.visible = false; quitQuestion.visible = false; scrollBar.visible = true; killButton(helpButton, helpButton_pressed); initButton(quitButton, quitButton_pressed); initButton(pauseButton, pauseButton_pressed); initButton(helpButton, resumeButton_pressed); } public function openConsole():void{ console.open(); } private function pauseCoverRemoved():void{ pauseDropDown.addEventListener(MouseEvent.MOUSE_OVER, revealPauseMenu); main.getInitObj().getGameController().resume(); } private function pauseMenuInPlace():void{ pauseDropDown.addEventListener(MouseEvent.MOUSE_OUT, removePauseMenu); pauseDropDown.addEventListener(Event.ENTER_FRAME, removePauseMenu_enterFrame); initButton(pauseButton, pauseButton_pressed); initButton(helpButton, helpButton_pressed); initButton(quitButton, quitButton_pressed); } private function handleLoseTimeTween(e:Event):void{ if (loseTimeTween.currentFrame == loseTimeTween.totalFrames){ loseTimeTween.gotoAndStop(1); loseTimeTween.visible = false; loseTimeTween.removeEventListener(Event.ENTER_FRAME, handleLoseTimeTween); }; } public function resumeViaKeyPress():void{ killButton(pauseButton, resumeButton_pressed); killButton(pauseButton, pauseButton_pressed); killButton(helpButton, helpButton_pressed); killButton(quitButton, quitButton_pressed); killButton(quitYesButton, quitYesButton_pressed); killButton(quitNoButton, quitNoButton_pressed); TweenLite.to(pauseDropDown, 0.5, {y:TOP, onComplete:pauseCoverRemoved}); } private function buttonRollOut(e:MouseEvent):void{ e.target.gotoAndStop(1); } } }//package classes.zoneout
Section 47
//HUD_buttonMC (classes.zoneout.HUD_buttonMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class HUD_buttonMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var yourEmailTF:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var levelProgressBar:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var friendsEmailTF:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 48
//HUD_hudMC (classes.zoneout.HUD_hudMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class HUD_hudMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var yourEmailTF:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var levelProgressBar:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var friendsEmailTF:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 49
//HUD_levelUpTweenMC (classes.zoneout.HUD_levelUpTweenMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class HUD_levelUpTweenMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var yourEmailTF:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var levelProgressBar:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var friendsEmailTF:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 50
//HUD_pauseDropDownMC (classes.zoneout.HUD_pauseDropDownMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class HUD_pauseDropDownMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var helpMask:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 51
//HUD_trackMC (classes.zoneout.HUD_trackMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class HUD_trackMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var yourEmailTF:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var levelProgressBar:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var friendsEmailTF:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 52
//Init (classes.zoneout.Init) package classes.zoneout { import flash.display.*; import flash.events.*; import classes.zoneout.attract.*; import com.gamingyourway.Utils.*; public class Init { private var attract:Attract; private var playFieldHandler:PlayFieldHandler; private var stage:Stage; private var gameController:GameController; private var cookies:Cookies; private var mainMovie:DisplayObject; private var main:Main; private var soundHandler:SoundHandler; public function Init(){ super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); Key.initialize(stage); soundHandler = new SoundHandler(); cookies = new Cookies(); mainMovie.addEventListener(Event.ENTER_FRAME, waitingForCookiesToLoad); playFieldHandler = new PlayFieldHandler(); } public function getCookies():Cookies{ return (cookies); } public function getGameController():GameController{ return (gameController); } public function getAttract():Attract{ return (attract); } public function toString():String{ return ("Init"); } public function getSoundHandler():SoundHandler{ return (soundHandler); } public function waitingForCookiesToLoad(e:Event):void{ if (cookies.cookiesLoadedFlag == true){ mainMovie.removeEventListener(Event.ENTER_FRAME, waitingForCookiesToLoad); soundHandler.setVolume(cookies.volume); soundHandler.play_backgroundNoise(); gameController = new GameController(); gameController.hazardModeUnlockedFlag = cookies.hazardModeUnlocked; attract = new Attract(); attract.preInit(); }; } public function getPlayFieldHandler():PlayFieldHandler{ return (playFieldHandler); } } }//package classes.zoneout
Section 53
//Master (classes.zoneout.Master) package classes.zoneout { import flash.display.*; import flash.events.*; import classes.zoneout.cards.*; import classes.zoneout.slots.*; import classes.zoneout.effects.*; import com.gamingyourway.Utils.*; public class Master { private var _mins:int; private var stage:Stage; private var testTheTimerFlag:Boolean; private var cardHandler:CardHandler; public var tick:int; private var _secs:int; private var keyDelay:int; private var currentEvent:String; private var slotHandler:SlotHandler; private var gameController:GameController; private var particleHandler:ParticleHandler; private var hud:HUD; private var main:Main; private var gameMode:String; private var mainMovie:DisplayObject; public function Master():void{ super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); gameController = main.getInitObj().getGameController(); } public function houseKeeping():void{ stage.removeEventListener(Event.ENTER_FRAME, mainloop); stage.removeEventListener(Event.ENTER_FRAME, mainloop_justSlots); stage.removeEventListener(Event.ENTER_FRAME, mainloop_pauseMode); } public function start_justSlots():void{ stage.removeEventListener(Event.ENTER_FRAME, mainloop); currentEvent = "mainloop_justSlots"; stage.addEventListener(Event.ENTER_FRAME, mainloop_justSlots); } public function setStartTime(minsArg:int, secsArg:int):void{ _mins = minsArg; _secs = secsArg; } private function mainloop_justSlots(e:Event):void{ slotHandler.mainloop(); particleHandler.mainloop(); } public function get secs():int{ return (_secs); } public function setTime(minsArg:int, secsArg:int):void{ this._mins = minsArg; this._secs = secsArg; } private function mainloop_pauseMode(e:Event):void{ if (--keyDelay > 0){ return; }; if (Key.isDown(80)){ gameController.resumeViaKeyPress(); keyDelay = 10; return; }; if (Key.isDown(81)){ gameController.quit(); return; }; if (Key.isDown(72)){ gameController.helpViaKeyPress(); return; }; } public function isTimeRemaining():Boolean{ return (this.testTheTimerFlag); } public function start():void{ if (hud == null){ hud = gameController.getHUD(); cardHandler = gameController.getCardHandler(); slotHandler = gameController.getSlotHandler(); particleHandler = gameController.getParticleHandler(); }; gameMode = gameController.gameMode; tick = 0; keyDelay = 0; testTheTimerFlag = true; currentEvent = "mainloop"; resume(); } public function resume():void{ stage.removeEventListener(Event.ENTER_FRAME, mainloop_pauseMode); if (currentEvent == "mainloop"){ stage.addEventListener(Event.ENTER_FRAME, mainloop); } else { stage.addEventListener(Event.ENTER_FRAME, mainloop_justSlots); }; } public function get mins():int{ return (_mins); } public function pause():void{ stage.removeEventListener(Event.ENTER_FRAME, mainloop); stage.removeEventListener(Event.ENTER_FRAME, mainloop_justSlots); stage.addEventListener(Event.ENTER_FRAME, mainloop_pauseMode); } public function toString():String{ return ("Master"); } private function mainloop(e:Event):void{ cardHandler.mainloop(); slotHandler.mainloop(); particleHandler.mainloop(); if (--keyDelay < 0){ if (Key.isDown(80)){ gameController.pauseViaKeyPress(); keyDelay = 10; return; }; if (Key.isDown(81)){ gameController.quit(); return; }; if (Key.isDown(72)){ gameController.helpViaKeyPress(); return; }; }; if (testTheTimerFlag == true){ if (++tick >= stage.frameRate){ tick = 0; if (gameMode == "normal"){ if (--_secs < 0){ if (--_mins <= 0){ _secs = 0; _mins = 0; testTheTimerFlag = false; } else { _secs = 59; }; }; } else { if (++_secs == 60){ _secs = 0; _mins++; }; }; hud.updateTimer(_mins, _secs); }; }; } } }//package classes.zoneout
Section 54
//Player (classes.zoneout.Player) package classes.zoneout { import flash.display.*; import flash.events.*; import classes.zoneout.cards.*; import classes.zoneout.slots.*; import gs.*; import flash.geom.*; import flash.ui.*; public class Player { private var lastMouseX:Number; private var level:int; private var sprite2:MovieClip; private var sprite3:MovieClip; private var lastMouseY:Number; private var pointerMC:Class; private var state:String; private var tempXSpeed:Number; private var slotHandler:SlotHandler; private var debugText:Sprite; private var currentCard:Card; private var currentMouseX:Number; private var currentMouseY:Number; private var gameController:GameController; private var xSpeed:Number; private var cardHandler:CardHandler; private var playField:Sprite; private var debugTextMC:Class; private var main:Main; private var explosionSprite:MovieClip; private var cardSpeedMin:int;// = 25 private var frames:int;// = 10 private var tempYSpeed:Number; private var currentCardFrame:int; private var sprite:MovieClip; private var heldCardMC:Class; private var cardSpeedMax:int;// = 40 private var ySpeed:Number; private var mouseSpeedMin:int;// = 10 private var stageHeight:int; private var mousePointer:MovieClip; private var soundHandler:SoundHandler; private var returningCard:Card; private var thrownCardStorage:Array; private var stageWidth:int; private var mouseUpEventFlag:Boolean; private var mouseDownFlag:Boolean; private var mainMovie:DisplayObject; private var kludgeCnt:int; private var stage:Stage; public function Player():void{ heldCardMC = Player_heldCardMC; debugTextMC = Player_debugTextMC; pointerMC = Player_pointerMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); gameController = main.getInitObj().getGameController(); playField = main.getInitObj().getPlayFieldHandler().spritesHolder; soundHandler = main.getInitObj().getSoundHandler(); sprite = new heldCardMC(); sprite.gotoAndStop(1); sprite2 = new heldCardMC(); sprite2.gotoAndStop(1); sprite3 = new heldCardMC(); sprite3.gotoAndStop(1); explosionSprite = new heldCardMC(); explosionSprite.gotoAndStop(1); mousePointer = new pointerMC(); mousePointer.gotoAndStop(1); mousePointer.mouseEnabled = false; mousePointer.mouseChildren = false; stageWidth = stage.width; stageHeight = stage.height; } public function resume():void{ mousePointer.visible = true; if (state == "onMouseDown"){ stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); } else { stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); }; Mouse.hide(); } private function returnCardToScrollingWindow_Done():void{ if (returningCard.tempSprite.parent != null){ playField.removeChild(returningCard.tempSprite); }; returningCard.cardReturned(); } public function houseKeeping():void{ if (sprite.parent != null){ playField.removeChild(sprite); }; if (sprite2.parent != null){ playField.removeChild(sprite2); }; if (sprite3.parent != null){ playField.removeChild(sprite3); }; mousePointer.removeEventListener(Event.ENTER_FRAME, mousePointer_fixCardFrame); mousePointer.removeEventListener(Event.ENTER_FRAME, mousePointerHandler); stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); if (mousePointer.parent != null){ stage.removeChild(mousePointer); }; Mouse.show(); } public function init():void{ if (cardHandler == null){ cardHandler = gameController.getCardHandler(); slotHandler = gameController.getSlotHandler(); }; lastMouseX = (currentMouseX = (mousePointer.x = stage.mouseX)); lastMouseY = (currentMouseY = (mousePointer.y = stage.mouseY)); stage.addChild(mousePointer); mousePointer.gotoAndStop(1); mousePointer.visible = true; currentCard = null; Mouse.hide(); mouseDownFlag = false; mouseUpEventFlag = false; kludgeCnt = 0; tempXSpeed = (tempYSpeed = 0); thrownCardStorage = new Array(); mousePointer.addEventListener(Event.ENTER_FRAME, mousePointerHandler); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); state = "onMouseDown"; } private function throwCard_handler(thrownSprite:MovieClip, thrownCard:Card, speedX:Number, speedY:Number):String{ if (slotHandler.testForCollision(thrownCard, thrownSprite) == true){ return ("dead"); }; thrownSprite.x = (thrownSprite.x + speedX); thrownSprite.y = (thrownSprite.y + speedY); if (thrownSprite.x < -(thrownSprite.width)){ return ("dead"); }; if (thrownSprite.x > stageWidth){ return ("dead"); }; if (thrownSprite.y > stageHeight){ return ("dead"); }; if (thrownSprite.y < -(thrownSprite.height)){ return ("dead"); }; return ("cool"); } private function explosionInit():void{ explosionSprite.x = (mousePointer.x - 48); explosionSprite.y = (mousePointer.y - 37); explosionSprite.gotoAndStop((currentCard.sprite.currentFrame + 6)); if (explosionSprite.parent == null){ playField.addChild(explosionSprite); }; soundHandler.play_cardExploding(); explosionSprite.addEventListener(Event.ENTER_FRAME, handleExplosionSprite); } private function onMouseUp(e:MouseEvent):void{ var newThrownSprite:MovieClip; stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); mouseDownFlag = false; mouseUpEventFlag = false; sprite.removeEventListener(Event.ENTER_FRAME, throwCard_handler); mousePointer.removeEventListener(Event.ENTER_FRAME, mousePointer_fixCardFrame); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); state = "onMouseDown"; mousePointer.gotoAndStop(1); var xSpeedAbs:Number = Math.abs(xSpeed); var ySpeedAbs:Number = Math.abs(ySpeed); var totalSpeed:Number = (xSpeedAbs + ySpeedAbs); var xPercent:Number = (xSpeedAbs / totalSpeed); var yPercent:Number = (ySpeedAbs / totalSpeed); if (xSpeed < 0){ xPercent = (xPercent * -1); }; if (ySpeed < 0){ yPercent = (yPercent * -1); }; if (totalSpeed >= mouseSpeedMin){ soundHandler.play_cardThrown(); if (totalSpeed > this.cardSpeedMax){ totalSpeed = this.cardSpeedMax; xSpeed = (totalSpeed * xPercent); ySpeed = (totalSpeed * yPercent); } else { if (totalSpeed < this.cardSpeedMin){ totalSpeed = this.cardSpeedMin; xSpeed = (totalSpeed * xPercent); ySpeed = (totalSpeed * yPercent); }; }; if (xSpeedAbs < 3){ xSpeed = 0; }; newThrownSprite = spriteInit(); thrownCardStorage.push([newThrownSprite, currentCard, xSpeed, ySpeed]); currentCard = null; return; }; if (mousePointer.y >= 340){ returnCardToScrollingWindow(spriteInit()); return; }; if (slotHandler.testForCollision_droppedCard(currentCard, mousePointer) == true){ currentCard = null; return; }; explosionInit(); currentCard = null; } private function mousePointer_fixCardFrame(e:Event):void{ state = "mousePointer_fixCardFrame"; if (mousePointer["card"] != undefined){ mousePointer["card"].gotoAndStop(currentCardFrame); mousePointer["card"].alpha = 1; state = "card frame correct"; if (mouseUpEventFlag == false){ mouseUpEventFlag = true; stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); state = "onMouseUp"; }; } else { state = "card undefined"; }; } private function onMouseDown(e:Event):void{ mouseDownFlag = true; if (kludgeCnt > 0){ return; }; if (cardHandler.collisionCheck(mousePointer) == true){ stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); soundHandler.play_pickUp(); kludgeCnt = 5; }; } private function localToLocal(fr:Sprite, to:Sprite):Point{ return (to.globalToLocal(fr.localToGlobal(new Point()))); } public function toString():String{ return ("Player"); } private function returnCardToScrollingWindow(movingSprite:MovieClip):void{ returningCard = currentCard; returningCard.tempSprite = movingSprite; currentCard = null; var speed:int = cardHandler.speed; var cardSprite:MovieClip = returningCard.sprite; var p:Point = localToLocal((cardSprite as Sprite), (mainMovie as Sprite)); p.x = (p.x - ((speed * frames) / 2)); TweenLite.to(movingSprite, (1 / frames), {x:p.x, y:p.y, onComplete:returnCardToScrollingWindow_Done}); } public function pause():void{ mousePointer.visible = false; stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); Mouse.show(); } private function handleThrownCards():void{ var thrownSprite:MovieClip; var thrownCard:Card; var cnt = -1; var len:int = thrownCardStorage.length; while (++cnt != len) { thrownSprite = thrownCardStorage[cnt][0]; thrownCard = thrownCardStorage[cnt][1]; if (throwCard_handler(thrownSprite, thrownCard, thrownCardStorage[cnt][2], thrownCardStorage[cnt][3]) == "dead"){ playField.removeChild(thrownSprite); thrownCardStorage.splice(cnt, 1); cnt--; len--; }; }; } private function mousePointerHandler(e:Event):void{ kludgeCnt--; lastMouseX = currentMouseX; lastMouseY = currentMouseY; mousePointer.x = (currentMouseX = stage.mouseX); mousePointer.y = (currentMouseY = stage.mouseY); if (mouseDownFlag == true){ xSpeed = (currentMouseX - lastMouseX); ySpeed = (currentMouseY - lastMouseY); }; handleThrownCards(); } public function cardPickedUp(cardArg:Card):Boolean{ if (currentCard != null){ return (false); }; currentCard = cardArg; currentCardFrame = currentCard.sprite.currentFrame; mousePointer.gotoAndStop(2); mousePointer.addEventListener(Event.ENTER_FRAME, mousePointer_fixCardFrame); state = "collected"; return (true); } private function log(msg:String):void{ trace(("[Player] " + msg)); } private function spriteInit():MovieClip{ var newSprite:MovieClip; if (sprite.parent == null){ newSprite = sprite; } else { if (sprite2.parent == null){ newSprite = sprite2; } else { if (sprite3.parent == null){ newSprite = sprite3; } else { newSprite = sprite; }; }; }; newSprite.x = (mousePointer.x - 48); newSprite.y = (mousePointer.y - 37); newSprite.gotoAndStop(currentCardFrame); newSprite.visible = true; playField.addChild(newSprite); return (newSprite); } private function handleExplosionSprite(e:Event):void{ if (explosionSprite["anim"] == undefined){ return; }; if (explosionSprite["anim"].currentFrame == explosionSprite["anim"].totalFrames){ explosionSprite.removeEventListener(Event.ENTER_FRAME, handleExplosionSprite); playField.removeChild(explosionSprite); }; } } }//package classes.zoneout
Section 55
//Player_debugTextMC (classes.zoneout.Player_debugTextMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Player_debugTextMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var card:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var name1:DisplayObject; public var completedText:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var name3:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var hitAreaMC:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var submitButton:DisplayObject; public var quitYesButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var clickHitAreaMC:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var Masker:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 56
//Player_heldCardMC (classes.zoneout.Player_heldCardMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Player_heldCardMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var card:DisplayObject; public var anim:DisplayObject; public var bar:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var name1:DisplayObject; public var completedText:DisplayObject; public var name4:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var mainMenuButton:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var name3:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var hitAreaMC:DisplayObject; public var yourEmailTF:DisplayObject; public var name5:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var submitButton:DisplayObject; public var quitYesButton:DisplayObject; public var frontLogo:DisplayObject; public var copy:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var clickHitAreaMC:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var Masker:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 57
//Player_pointerMC (classes.zoneout.Player_pointerMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Player_pointerMC extends MovieClipAsset { public var invalidEmailAddressTF:DisplayObject; public var playButton_normal:DisplayObject; public var name2:DisplayObject; public var loseTimeTween:DisplayObject; public var name6:DisplayObject; public var name9:DisplayObject; public var six:DisplayObject; public var card:DisplayObject; public var mainMenuButton:DisplayObject; public var bar:DisplayObject; public var name1:DisplayObject; public var consoleContainer:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var name4:DisplayObject; public var name5:DisplayObject; public var bgTopBar:DisplayObject; public var legend:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var name7:DisplayObject; public var name8:DisplayObject; public var score10:DisplayObject; public var friendsNameTF:DisplayObject; public var name3:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var instructionsMask:DisplayObject; public var yourNameTF:DisplayObject; public var helpMask:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var hitAreaMC:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var cell:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var submitButton:DisplayObject; public var quitYesButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var three:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var button_window:DisplayObject; public var instructions:DisplayObject; public var cloud3:DisplayObject; public var clickHitAreaMC:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var time:DisplayObject; public var pauseButton:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var score1:DisplayObject; public var score2:DisplayObject; public var score3:DisplayObject; public var score4:DisplayObject; public var score5:DisplayObject; public var score6:DisplayObject; public var score7:DisplayObject; public var score8:DisplayObject; public var score9:DisplayObject; public var challengeFriend:DisplayObject; public var name10:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var stepTwo:DisplayObject; public var airTip:DisplayObject; public var Masker:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 58
//PlayFieldHandler (classes.zoneout.PlayFieldHandler) package classes.zoneout { import flash.display.*; import gs.*; import basement_core.display.*; public class PlayFieldHandler { private var backgroundMC:Class; private var stage:Stage; public var slotHolder:Sprite; public var background:Sprite; private var overlay:Box; public var hud:Sprite; private var main:Main; public var spritesHolder:Sprite; public var cardHolder:Sprite; private var mainMovie:DisplayObject; public function PlayFieldHandler(){ backgroundMC = PlayFieldHandler_backgroundMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); background = new backgroundMC(); hud = new Sprite(); cardHolder = new Sprite(); slotHolder = new Sprite(); spritesHolder = new Sprite(); var yAdj:Number = -13; hud.y = yAdj; cardHolder.y = yAdj; slotHolder.y = yAdj; spritesHolder.y = yAdj; background.y = yAdj; stage.addChild(background); stage.addChild(slotHolder); stage.addChild(hud); stage.addChild(cardHolder); stage.addChild(spritesHolder); this.overlay = new Box(700, 468); this.overlay.fillAlpha = 1; this.overlay.fillColor = 6671615; this.overlay.y = -13; this.overlay.draw(); stage.addChild(overlay); TweenLite.to(overlay, 1, {delay:0.25, autoAlpha:0}); } public function toString():String{ return ("PlayFieldHandler"); } } }//package classes.zoneout
Section 59
//PlayFieldHandler_backgroundMC (classes.zoneout.PlayFieldHandler_backgroundMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class PlayFieldHandler_backgroundMC extends SpriteAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 60
//SoundHandler (classes.zoneout.SoundHandler) package classes.zoneout { import flash.media.*; public class SoundHandler { private var cellFilledSFX:Class; private var whoosh:Sound; private var rowLostSFX:Class; private var pickUpSFX:Class; private var completed:Sound; private var cardThrown:Sound; private var backgroundNoise:Sound; private var backgroundNoiseSFX:Class; private var masterVolume:Number;// = 1 private var rowLost:Sound; private var whooshSFX:Class; private var pickUp:Sound; private var cellFilled:Sound; private var cardThrownSFX:Class; private var buttonClickSFX:Class; private var cardExploding:Sound; private var buttonClick:Sound; private var cardExplodingSFX:Class; private var completedSFX:Class; public function SoundHandler(){ buttonClickSFX = SoundHandler_buttonClickSFX; rowLostSFX = SoundHandler_rowLostSFX; completedSFX = SoundHandler_completedSFX; whooshSFX = SoundHandler_whooshSFX; pickUpSFX = SoundHandler_pickUpSFX; cellFilledSFX = SoundHandler_cellFilledSFX; backgroundNoiseSFX = SoundHandler_backgroundNoiseSFX; cardThrownSFX = SoundHandler_cardThrownSFX; cardExplodingSFX = SoundHandler_cardExplodingSFX; super(); SoundMixer.soundTransform = new SoundTransform(masterVolume); buttonClick = new buttonClickSFX(); rowLost = new rowLostSFX(); completed = new completedSFX(); whoosh = new whooshSFX(); pickUp = new pickUpSFX(); cellFilled = new cellFilledSFX(); backgroundNoise = new backgroundNoiseSFX(); cardThrown = new cardThrownSFX(); cardExploding = new cardExplodingSFX(); } public function play_completed():void{ completed.play(); } public function play_buttonClick():void{ buttonClick.play(); } public function play_backgroundNoise():void{ backgroundNoise.play(0, 99999999); } public function play_cellFilled():void{ cellFilled.play(); } public function setVolume(arg:Number):void{ masterVolume = arg; SoundMixer.soundTransform = new SoundTransform(masterVolume); } public function play_rowLost():void{ rowLost.play(); } public function play_cardThrown():void{ cardThrown.play(); } public function play_pickUp():void{ pickUp.play(); } public function play_whoosh():void{ whoosh.play(); } public function toggleSounds():int{ if (masterVolume == 1){ masterVolume = 0; } else { masterVolume = 1; }; SoundMixer.soundTransform = new SoundTransform(masterVolume); return (masterVolume); } public function play_cardExploding():void{ cardExploding.play(); } public function toString():String{ return ("SoundHandler"); } } }//package classes.zoneout
Section 61
//SoundHandler_backgroundNoiseSFX (classes.zoneout.SoundHandler_backgroundNoiseSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_backgroundNoiseSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 62
//SoundHandler_buttonClickSFX (classes.zoneout.SoundHandler_buttonClickSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_buttonClickSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 63
//SoundHandler_cardExplodingSFX (classes.zoneout.SoundHandler_cardExplodingSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_cardExplodingSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 64
//SoundHandler_cardThrownSFX (classes.zoneout.SoundHandler_cardThrownSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_cardThrownSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 65
//SoundHandler_cellFilledSFX (classes.zoneout.SoundHandler_cellFilledSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_cellFilledSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 66
//SoundHandler_completedSFX (classes.zoneout.SoundHandler_completedSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_completedSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 67
//SoundHandler_pickUpSFX (classes.zoneout.SoundHandler_pickUpSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_pickUpSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 68
//SoundHandler_rowLostSFX (classes.zoneout.SoundHandler_rowLostSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_rowLostSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 69
//SoundHandler_whooshSFX (classes.zoneout.SoundHandler_whooshSFX) package classes.zoneout { import flash.display.*; import mx.core.*; public class SoundHandler_whooshSFX extends SoundAsset { public var cell:DisplayObject; public var three:DisplayObject; public var one:DisplayObject; public var two:DisplayObject; public var four:DisplayObject; public var six:DisplayObject; public var five:DisplayObject; public var progressAnim:DisplayObject; public var Masker:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; } }//package classes.zoneout
Section 70
//Transition (classes.zoneout.Transition) package classes.zoneout { import flash.display.*; import gs.*; import flash.filters.*; public class Transition { private var main:Main; private var attractMask:Sprite; private var grabBitmap:Bitmap; private var attractMaskMC:Class; private var grabBitmapData:BitmapData; private var playField:Sprite; private var sourceMC:MovieClip; private var mainMovie:DisplayObject; private var stage:Stage; public function Transition(){ attractMaskMC = Transition_attractMaskMC; super(); main = Main.getInstance(); mainMovie = main.getMainMovie(); stage = main.getStage(); playField = new Sprite(); grabBitmapData = new BitmapData(700, 468, true, 0); grabBitmap = new Bitmap(grabBitmapData); grabBitmap.filters = new Array(new BlurFilter(32, 0, 1)); playField.addChild(grabBitmap); this.attractMask = new attractMaskMC(); attractMask.x = 6; attractMask.y = 8; } public function transitionAppear(source:MovieClip):void{ source.alpha = 0; TweenLite.to(source, 1, {x:0, alpha:1}); } public function transitionLevelRemove(source:MovieClip):void{ grabBitmapData.fillRect(grabBitmapData.rect, 0); grabBitmapData.draw(source); playField.x = (playField.y = 0); playField.alpha = 1; stage.addChild(playField); stage.addChild(this.attractMask); playField.mask = this.attractMask; TweenLite.to(playField, 1, {x:-500, alpha:0, onComplete:houseKeeping}); } public function transitionLevelAppear(source:MovieClip):void{ source.alpha = 0; source.x = 460; TweenLite.to(source, 0.5, {x:0, alpha:1, delay:0.5}); } public function transtionsTitlesAppear(source:MovieClip, xPos:Number):void{ source.alpha = 0; source.x = 860; TweenLite.to(source, 0.5, {x:xPos, alpha:1, delay:0.4}); } public function toString():String{ return ("Transition"); } public function transitionRemove(source:MovieClip):void{ grabBitmapData.fillRect(grabBitmapData.rect, 0); grabBitmapData.draw(source); playField.x = (playField.y = 0); playField.alpha = 1; stage.addChild(playField); stage.addChild(this.attractMask); playField.mask = this.attractMask; TweenLite.to(playField, 0.5, {x:-500, alpha:0, onComplete:houseKeeping}); } public function houseKeeping():void{ if (stage.contains(this.attractMask)){ stage.removeChild(this.attractMask); }; stage.removeChild(playField); } } }//package classes.zoneout
Section 71
//Transition_attractMaskMC (classes.zoneout.Transition_attractMaskMC) package classes.zoneout { import flash.display.*; import mx.core.*; public class Transition_attractMaskMC extends SpriteAsset { public var invalidEmailAddressTF:DisplayObject; public var loseTimeTween:DisplayObject; public var mainMenuButton:DisplayObject; public var legend:DisplayObject; public var bar:DisplayObject; public var speakerIcon:DisplayObject; public var speakerIcon_hazard:DisplayObject; public var quitText:DisplayObject; public var completedText:DisplayObject; public var bgTopBar:DisplayObject; public var emailAddressTF:DisplayObject; public var lock:DisplayObject; public var four:DisplayObject; public var instructionsMask:DisplayObject; public var friendsNameTF:DisplayObject; public var stepThree:DisplayObject; public var hsName:DisplayObject; public var yourNameTF:DisplayObject; public var two:DisplayObject; public var quitQuestion:DisplayObject; public var yourEmailTF:DisplayObject; public var quitButton:DisplayObject; public var highScores:DisplayObject; public var one:DisplayObject; public var cell:DisplayObject; public var quitYesButton:DisplayObject; public var submitButton:DisplayObject; public var frontLogo:DisplayObject; public var pausedText:DisplayObject; public var levelProgressBar:DisplayObject; public var helpInstructions:DisplayObject; public var level:DisplayObject; public var score:DisplayObject; public var tip:DisplayObject; public var cloud1:DisplayObject; public var cloud2:DisplayObject; public var cloud3:DisplayObject; public var pauseMenuHelpText:DisplayObject; public var three:DisplayObject; public var instructions:DisplayObject; public var five:DisplayObject; public var continueButton:DisplayObject; public var learnMore:DisplayObject; public var littleLogo:DisplayObject; public var quitNoButton:DisplayObject; public var pauseButton:DisplayObject; public var time:DisplayObject; public var playButton_normal:DisplayObject; public var friendsEmailTF:DisplayObject; public var helpButton:DisplayObject; public var levelText:DisplayObject; public var invalidFriendEmailTF:DisplayObject; public var sendToAFriendButton_gameComplete:DisplayObject; public var progressAnim:DisplayObject; public var stepTwo:DisplayObject; public var challengeFriend:DisplayObject; public var six:DisplayObject; public var helpMask:DisplayObject; public var Masker:DisplayObject; public var consoleContainer:DisplayObject; public var playButton_hazard:DisplayObject; public var levelTwoInstructions:DisplayObject; public var airTip:DisplayObject; public var stepOne:DisplayObject; public var branding:DisplayObject; } }//package classes.zoneout
Section 72
//Key (com.gamingyourway.Utils.Key) package com.gamingyourway.Utils { import flash.display.*; import flash.events.*; public class Key { private static var initialized:Boolean = false; private static var keysDown:Object = new Object(); public function Key(){ super(); } public static function initialize(stage:Stage):void{ if (!initialized){ stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased); stage.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } private static function clearKeys(event:Event):void{ keysDown = new Object(); } public static function isDown(keyCode:uint):Boolean{ if (!initialized){ throw (new Error("Key class has yet been initialized.")); }; return (Boolean((keyCode in keysDown))); } private static function keyPressed(event:KeyboardEvent):void{ keysDown[event.keyCode] = true; } private static function keyReleased(event:KeyboardEvent):void{ if ((event.keyCode in keysDown)){ delete keysDown[event.keyCode]; }; } } }//package com.gamingyourway.Utils
Section 73
//CampaignInfo (com.google.analytics.campaign.CampaignInfo) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignInfo { private var _new:Boolean; private var _empty:Boolean; public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){ _empty = _arg1; _new = _arg2; } public function isEmpty():Boolean{ return (_empty); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((!(isEmpty())) && (isNew()))){ _local1.utmcn = utmcn; }; if (((!(isEmpty())) && (!(isNew())))){ _local1.utmcr = utmcr; }; return (_local1); } public function isNew():Boolean{ return (_new); } public function get utmcn():String{ return ("1"); } public function get utmcr():String{ return ("1"); } } }//package com.google.analytics.campaign
Section 74
//CampaignKey (com.google.analytics.campaign.CampaignKey) package com.google.analytics.campaign { public class CampaignKey { public var UCMD:String;// = "utm_medium" public var UCID:String;// = "utm_id" public var UCTR:String;// = "utm_term" public var UCSR:String;// = "utm_source" public var UCNO:String;// = "utm_nooverride" public var UCCN:String;// = "utm_campaign" public var UGCLID:String;// = "gclid" public var UCCT:String;// = "utm_content" public function CampaignKey(){ UCCN = "utm_campaign"; UCCT = "utm_content"; UCID = "utm_id"; UCMD = "utm_medium"; UCNO = "utm_nooverride"; UCSR = "utm_source"; UCTR = "utm_term"; UGCLID = "gclid"; super(); } } }//package com.google.analytics.campaign
Section 75
//CampaignManager (com.google.analytics.campaign.CampaignManager) package com.google.analytics.campaign { import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; public class CampaignManager { private var _config:Configuration; private var _domainHash:Number; private var _debug:DebugConfiguration; private var _timeStamp:Number; private var _referrer:String; private var _buffer:Buffer; public static const trackingDelimiter:String = "|"; public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _domainHash = _arg4; _referrer = _arg5; _timeStamp = _arg6; } public function hasNoOverride(_arg1:String):Boolean{ var _local2:CampaignKey; var _local3:Variables; var _local4:String; _local2 = _config.campaignKey; if (_arg1 == ""){ return (false); }; _local3 = new Variables(_arg1); _local4 = ""; if (_local3.hasOwnProperty(_local2.UCNO)){ _local4 = _local3[_local2.UCNO]; switch (_local4){ case "1": return (true); case "": case "0": default: return (false); }; }; return (false); } public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{ var _local3:CampaignInfo; var _local4:CampaignTracker; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:CampaignTracker; var _local9:int; _local3 = new CampaignInfo(); _local5 = false; _local6 = false; _local7 = 0; if (((_config.allowLinker) && (_buffer.isGenuine()))){ if (!_buffer.hasUTMZ()){ return (_local3); }; }; _local4 = getTrackerFromSearchString(_arg1); if (isValid(_local4)){ _local6 = hasNoOverride(_arg1); if (((_local6) && (!(_buffer.hasUTMZ())))){ return (_local3); }; }; if (!isValid(_local4)){ _local4 = getOrganicCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){ return (_local3); }; }; if (((!(isValid(_local4))) && (_arg2))){ _local4 = getReferrerCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){ return (_local3); }; }; if (!isValid(_local4)){ if (((!(_buffer.hasUTMZ())) && (_arg2))){ _local4 = getDirectCampaign(); }; }; if (!isValid(_local4)){ return (_local3); }; if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){ _local8 = new CampaignTracker(); _local8.fromTrackerString(_buffer.utmz.campaignTracking); _local5 = (_local8.toTrackerString() == _local4.toTrackerString()); _local7 = _buffer.utmz.responseCount; }; if (((!(_local5)) || (_arg2))){ _local9 = _buffer.utma.sessionCount; _local7++; if (_local9 == 0){ _local9 = 1; }; _buffer.utmz.domainHash = _domainHash; _buffer.utmz.campaignCreation = _timeStamp; _buffer.utmz.campaignSessions = _local9; _buffer.utmz.responseCount = _local7; _buffer.utmz.campaignTracking = _local4.toTrackerString(); _debug.info(_buffer.utmz.toString(), VisualDebugMode.geek); _local3 = new CampaignInfo(false, true); } else { _local3 = new CampaignInfo(false, false); }; return (_local3); } public function isValid(_arg1:CampaignTracker):Boolean{ if (((_arg1) && (_arg1.isValid()))){ return (true); }; return (false); } public function getTrackerFromSearchString(_arg1:String):CampaignTracker{ var _local2:CampaignTracker; var _local3:CampaignTracker; var _local4:CampaignKey; var _local5:Variables; _local2 = getOrganicCampaign(); _local3 = new CampaignTracker(); _local4 = _config.campaignKey; if (_arg1 == ""){ return (_local3); }; _local5 = new Variables(_arg1); if (_local5.hasOwnProperty(_local4.UCID)){ _local3.id = _local5[_local4.UCID]; }; if (_local5.hasOwnProperty(_local4.UCSR)){ _local3.source = _local5[_local4.UCSR]; }; if (_local5.hasOwnProperty(_local4.UGCLID)){ _local3.clickId = _local5[_local4.UGCLID]; }; if (_local5.hasOwnProperty(_local4.UCCN)){ _local3.name = _local5[_local4.UCCN]; } else { _local3.name = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCMD)){ _local3.medium = _local5[_local4.UCMD]; } else { _local3.medium = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCTR)){ _local3.term = _local5[_local4.UCTR]; } else { if (((_local2) && (!((_local2.term == ""))))){ _local3.term = _local2.term; }; }; if (_local5.hasOwnProperty(_local4.UCCT)){ _local3.content = _local5[_local4.UCCT]; }; return (_local3); } public function getOrganicCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:Array; var _local5:OrganicReferrer; var _local6:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = ""; if (_local2.hostName != ""){ if (_local2.hostName.indexOf(".") > -1){ _local4 = _local2.hostName.split("."); switch (_local4.length){ case 2: _local3 = _local4[0]; break; case 3: _local3 = _local4[1]; break; }; }; }; if (_config.organic.match(_local3)){ _local5 = _config.organic.getReferrerByName(_local3); _local6 = _config.organic.getKeywordValue(_local5, _local2.search); _local1 = new CampaignTracker(); _local1.source = _local5.engine; _local1.name = "(organic)"; _local1.medium = "organic"; _local1.term = _local6; }; return (_local1); } public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "referral")))){ return (_config.organic.isIgnoredReferral(_arg1.source)); }; return (false); } public function getDirectCampaign():CampaignTracker{ var _local1:CampaignTracker; _local1 = new CampaignTracker(); _local1.source = "(direct)"; _local1.name = "(direct)"; _local1.medium = "(none)"; return (_local1); } public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "organic")))){ return (_config.organic.isIgnoredKeyword(_arg1.term)); }; return (false); } public function getReferrerCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = _local2.hostName; _local4 = _local2.path; if (_local3.indexOf("www.") == 0){ _local3 = _local3.substr(4); }; _local1 = new CampaignTracker(); _local1.source = _local3; _local1.name = "(referral)"; _local1.medium = "referral"; _local1.content = _local4; return (_local1); } public static function isInvalidReferrer(_arg1:String):Boolean{ var _local2:URL; if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){ return (true); }; if (_arg1.indexOf("://") > -1){ _local2 = new URL(_arg1); if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){ return (true); }; }; return (false); } public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{ var _local3:URL; _local3 = new URL(_arg1); if (_local3.hostName.indexOf(_arg2.google) > -1){ if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){ if (_local3.path == ("/" + _arg2.googleCsePath)){ return (true); }; }; }; return (false); } } }//package com.google.analytics.campaign
Section 76
//CampaignTracker (com.google.analytics.campaign.CampaignTracker) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignTracker { public var content:String; public var id:String; public var clickId:String; public var name:String; public var term:String; public var medium:String; public var source:String; public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){ this.id = _arg1; this.source = _arg2; this.clickId = _arg3; this.name = _arg4; this.medium = _arg5; this.term = _arg6; this.content = _arg7; } public function toTrackerString():String{ var _local1:Array; _local1 = []; _addIfNotEmpty(_local1, "utmcsr=", source); _addIfNotEmpty(_local1, "utmccn=", name); _addIfNotEmpty(_local1, "utmcmd=", medium); _addIfNotEmpty(_local1, "utmctr=", term); _addIfNotEmpty(_local1, "utmcct=", content); _addIfNotEmpty(_local1, "utmcid=", id); _addIfNotEmpty(_local1, "utmgclid=", clickId); return (_local1.join(CampaignManager.trackingDelimiter)); } public function isValid():Boolean{ if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){ return (true); }; return (false); } private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{ if (_arg3 != ""){ _arg3 = _arg3.split("+").join("%20"); _arg3 = _arg3.split(" ").join("%20"); _arg1.push((_arg2 + _arg3)); }; } public function fromTrackerString(_arg1:String):void{ var _local2:String; var _local3:Variables; _local2 = _arg1.split(CampaignManager.trackingDelimiter).join("&"); _local3 = new Variables(_local2); if (_local3.hasOwnProperty("utmcid")){ this.id = _local3["utmcid"]; }; if (_local3.hasOwnProperty("utmcsr")){ this.source = _local3["utmcsr"]; }; if (_local3.hasOwnProperty("utmccn")){ this.name = _local3["utmccn"]; }; if (_local3.hasOwnProperty("utmcmd")){ this.medium = _local3["utmcmd"]; }; if (_local3.hasOwnProperty("utmctr")){ this.term = _local3["utmctr"]; }; if (_local3.hasOwnProperty("utmcct")){ this.content = _local3["utmcct"]; }; if (_local3.hasOwnProperty("utmgclid")){ this.clickId = _local3["utmgclid"]; }; } } }//package com.google.analytics.campaign
Section 77
//BrowserInfo (com.google.analytics.core.BrowserInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.utils.*; public class BrowserInfo { private var _config:Configuration; private var _info:Environment; public function BrowserInfo(_arg1:Configuration, _arg2:Environment){ _config = _arg1; _info = _arg2; } public function get utmul():String{ return (_info.language.toLowerCase()); } public function get utmje():String{ return ("0"); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmsr():String{ return (((_info.screenWidth + "x") + _info.screenHeight)); } public function get utmcs():String{ return (_info.languageEncoding); } public function get utmfl():String{ var _local1:Version; if (_config.detectFlash){ _local1 = _info.flashVersion; return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build)); }; return ("-"); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; _local1.utmcs = utmcs; _local1.utmsr = utmsr; _local1.utmsc = utmsc; _local1.utmul = utmul; _local1.utmje = utmje; _local1.utmfl = utmfl; return (_local1); } public function get utmsc():String{ return ((_info.screenColorDepth + "-bit")); } } }//package com.google.analytics.core
Section 78
//Buffer (com.google.analytics.core.Buffer) package com.google.analytics.core { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.net.*; import com.google.analytics.data.*; public dynamic class Buffer { private var _SO:SharedObject; private var _OBJ:Object; private var _utma:UTMA; private var _utmb:UTMB; private var _utmc:UTMC; private var _debug:DebugConfiguration; private var _utmk:UTMK; private var _config:Configuration; private var _utmv:UTMV; private var _utmz:UTMZ; private var _volatile:Boolean; public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){ var _local5:Boolean; var _local6:String; super(); _config = _arg1; _debug = _arg2; UTMB.defaultTimespan = _config.sessionTimeout; UTMZ.defaultTimespan = _config.conversionTimeout; if (!_arg3){ _SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath); _local5 = false; if (_SO.data.utma){ if (!hasUTMA()){ _createUMTA(); }; _utma.fromSharedObject(_SO.data.utma); if (_debug.verbose){ _debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek); }; if (_utma.isExpired()){ if (_debug.verbose){ _debug.warning("UTMA has expired", VisualDebugMode.advanced); }; _clearUTMA(); _local5 = true; }; }; if (_SO.data.utmb){ if (!hasUTMB()){ _createUMTB(); }; _utmb.fromSharedObject(_SO.data.utmb); if (_debug.verbose){ _debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek); }; if (_utmb.isExpired()){ if (_debug.verbose){ _debug.warning("UTMB has expired", VisualDebugMode.advanced); }; _clearUTMB(); _local5 = true; }; }; if (_SO.data.utmc){ delete _SO.data.utmc; _local5 = true; }; if (_SO.data.utmk){ if (!hasUTMK()){ _createUMTK(); }; _utmk.fromSharedObject(_SO.data.utmk); if (_debug.verbose){ _debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek); }; }; if (_SO.data.utmv){ if (!hasUTMV()){ _createUMTV(); }; _utmv.fromSharedObject(_SO.data.utmv); if (_debug.verbose){ _debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek); }; if (_utmv.isExpired()){ if (_debug.verbose){ _debug.warning("UTMV has expired", VisualDebugMode.advanced); }; _clearUTMV(); _local5 = true; }; }; if (_SO.data.utmz){ if (!hasUTMZ()){ _createUMTZ(); }; _utmz.fromSharedObject(_SO.data.utmz); if (_debug.verbose){ _debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek); }; if (_utmz.isExpired()){ if (_debug.verbose){ _debug.warning("UTMZ has expired", VisualDebugMode.advanced); }; _clearUTMZ(); _local5 = true; }; }; if (_local5){ save(); }; } else { _OBJ = new Object(); if (_arg4){ for (_local6 in _arg4) { _OBJ[_local6] = _arg4[_local6]; }; }; }; _volatile = _arg3; } public function save():void{ var flushStatus:String; if (!isVolatile()){ flushStatus = null; try { flushStatus = _SO.flush(); } catch(e:Error) { _debug.warning("Error...Could not write SharedObject to disk"); }; switch (flushStatus){ case SharedObjectFlushStatus.PENDING: _debug.info("Requesting permission to save object..."); _SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); break; case SharedObjectFlushStatus.FLUSHED: _debug.info("Value flushed to disk."); break; }; }; } public function get utmv():UTMV{ if (!hasUTMV()){ _createUMTV(); }; return (_utmv); } public function clearCookies():void{ utma.reset(); utmb.reset(); utmc.reset(); utmz.reset(); utmv.reset(); utmk.reset(); } public function get utmz():UTMZ{ if (!hasUTMZ()){ _createUMTZ(); }; return (_utmz); } public function hasUTMA():Boolean{ if (_utma){ return (true); }; return (false); } public function hasUTMB():Boolean{ if (_utmb){ return (true); }; return (false); } public function isGenuine():Boolean{ if (!hasUTMK()){ return (true); }; return ((utmk.hash == generateCookiesHash())); } public function resetCurrentSession():void{ _clearUTMB(); _clearUTMC(); save(); } public function hasUTMC():Boolean{ if (_utmc){ return (true); }; return (false); } public function hasUTMK():Boolean{ if (_utmk){ return (true); }; return (false); } public function generateCookiesHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + utma.valueOf()); _local1 = (_local1 + utmb.valueOf()); _local1 = (_local1 + utmc.valueOf()); _local1 = (_local1 + utmz.valueOf()); _local1 = (_local1 + utmv.valueOf()); return (Utils.generateHash(_local1)); } private function _createUMTA():void{ _utma = new UTMA(); _utma.proxy = this; } private function _createUMTB():void{ _utmb = new UTMB(); _utmb.proxy = this; } private function _createUMTC():void{ _utmc = new UTMC(); } public function hasUTMV():Boolean{ if (_utmv){ return (true); }; return (false); } private function _createUMTK():void{ _utmk = new UTMK(); _utmk.proxy = this; } public function hasUTMZ():Boolean{ if (_utmz){ return (true); }; return (false); } private function _createUMTV():void{ _utmv = new UTMV(); _utmv.proxy = this; } private function _createUMTZ():void{ _utmz = new UTMZ(); _utmz.proxy = this; } public function updateUTMA(_arg1:Number):void{ if (_debug.verbose){ _debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced); }; if (!utma.isEmpty()){ if (isNaN(utma.sessionCount)){ utma.sessionCount = 1; } else { utma.sessionCount = (utma.sessionCount + 1); }; utma.lastTime = utma.currentTime; utma.currentTime = _arg1; }; } private function _onFlushStatus(_arg1:NetStatusEvent):void{ _debug.info("User closed permission dialog..."); switch (_arg1.info.code){ case "SharedObject.Flush.Success": _debug.info("User granted permission -- value saved."); break; case "SharedObject.Flush.Failed": _debug.info("User denied permission -- value not saved."); break; }; _SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); } private function _clearUTMA():void{ _utma = null; if (!isVolatile()){ _SO.data.utma = null; delete _SO.data.utma; }; } private function _clearUTMC():void{ _utmc = null; } private function _clearUTMB():void{ _utmb = null; if (!isVolatile()){ _SO.data.utmb = null; delete _SO.data.utmb; }; } public function update(_arg1:String, _arg2):void{ if (isVolatile()){ _OBJ[_arg1] = _arg2; } else { _SO.data[_arg1] = _arg2; }; } private function _clearUTMZ():void{ _utmz = null; if (!isVolatile()){ _SO.data.utmz = null; delete _SO.data.utmz; }; } private function _clearUTMV():void{ _utmv = null; if (!isVolatile()){ _SO.data.utmv = null; delete _SO.data.utmv; }; } public function isVolatile():Boolean{ return (_volatile); } public function get utma():UTMA{ if (!hasUTMA()){ _createUMTA(); }; return (_utma); } public function get utmb():UTMB{ if (!hasUTMB()){ _createUMTB(); }; return (_utmb); } public function get utmc():UTMC{ if (!hasUTMC()){ _createUMTC(); }; return (_utmc); } public function get utmk():UTMK{ if (!hasUTMK()){ _createUMTK(); }; return (_utmk); } } }//package com.google.analytics.core
Section 79
//DocumentInfo (com.google.analytics.core.DocumentInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; public class DocumentInfo { private var _config:Configuration; private var _utmr:String; private var _adSense:AdSenseGlobals; private var _info:Environment; private var _pageURL:String; public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){ _config = _arg1; _info = _arg2; _utmr = _arg3; _pageURL = _arg4; _adSense = _arg5; } public function get utmr():String{ if (!_utmr){ return ("-"); }; return (_utmr); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } private function _renderPageURL(_arg1:String=""):String{ var _local2:String; var _local3:String; _local2 = _info.locationPath; _local3 = _info.locationSearch; if (((!(_arg1)) || ((_arg1 == "")))){ _arg1 = (_local2 + unescape(_local3)); }; return (_arg1); } public function get utmp():String{ return (_renderPageURL(_pageURL)); } private function _generateHitId():Number{ var _local1:Number; if (((_adSense.hid) && (!((_adSense.hid == ""))))){ _local1 = Number(_adSense.hid); } else { _local1 = Math.round((Math.random() * 2147483647)); _adSense.hid = String(_local1); }; return (_local1); } public function get utmhid():String{ return (String(_generateHitId())); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((_config.detectTitle) && (!((utmdt == ""))))){ _local1.utmdt = utmdt; }; _local1.utmhid = utmhid; _local1.utmr = utmr; _local1.utmp = utmp; return (_local1); } public function get utmdt():String{ return (_info.documentTitle); } } }//package com.google.analytics.core
Section 80
//Domain (com.google.analytics.core.Domain) package com.google.analytics.core { import com.google.analytics.debug.*; public class Domain { private var _mode:DomainNameMode; private var _name:String; private var _debug:DebugConfiguration; public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){ _debug = _arg3; if (_arg1 == null){ _arg1 = DomainNameMode.auto; }; _mode = _arg1; if (_arg1 == DomainNameMode.custom){ this.name = _arg2; } else { _name = _arg2; }; } public function get mode():DomainNameMode{ return (_mode); } public function set mode(_arg1:DomainNameMode):void{ _mode = _arg1; if (_mode == DomainNameMode.none){ _name = ""; }; } public function get name():String{ return (_name); } public function set name(_arg1:String):void{ if (((!((_arg1.charAt(0) == "."))) && (_debug))){ _debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek); }; _name = _arg1; } } }//package com.google.analytics.core
Section 81
//DomainNameMode (com.google.analytics.core.DomainNameMode) package com.google.analytics.core { public class DomainNameMode { private var _value:int; private var _name:String; public static const custom:DomainNameMode = new DomainNameMode(2, "custom"); ; public static const none:DomainNameMode = new DomainNameMode(0, "none"); ; public static const auto:DomainNameMode = new DomainNameMode(1, "auto"); ; public function DomainNameMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 82
//EventInfo (com.google.analytics.core.EventInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.data.*; public class EventInfo { private var _isEventHit:Boolean; private var _ext10:X10; private var _x10:X10; public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){ _isEventHit = _arg1; _x10 = _arg2; _ext10 = _arg3; } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmt():String{ return ("event"); } public function get utme():String{ return (_x10.renderMergedUrlString(_ext10)); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (_isEventHit){ _local1.utmt = utmt; }; _local1.utme = utme; return (_local1); } } }//package com.google.analytics.core
Section 83
//EventTracker (com.google.analytics.core.EventTracker) package com.google.analytics.core { import com.google.analytics.v4.*; public class EventTracker { private var _parent:GoogleAnalyticsAPI; public var name:String; public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){ this.name = _arg1; _parent = _arg2; } public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{ return (_parent.trackEvent(name, _arg1, _arg2, _arg3)); } } }//package com.google.analytics.core
Section 84
//ga_internal (com.google.analytics.core.ga_internal) package com.google.analytics.core { public namespace ga_internal; }//package com.google.analytics.core
Section 85
//GIFRequest (com.google.analytics.core.GIFRequest) package com.google.analytics.core { import flash.display.*; import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.net.*; import com.google.analytics.utils.*; import flash.system.*; public class GIFRequest { private var _info:Environment; private var _count:int; private var _utmac:String; private var _alertcount:int; private var _debug:DebugConfiguration; private var _lastRequest:URLRequest; private var _buffer:Buffer; private var _config:Configuration; private var _requests:Array; public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _info = _arg4; _count = 0; _alertcount = 0; _requests = []; } public function get utmn():String{ return ((Utils.generate32bitRandom() as String)); } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _lastRequest.url; _local3 = String((_requests.length - 1)); _local4 = (("Gif Request #" + _local3) + " failed"); if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local2.indexOf("?") > -1){ _local2 = _local2.split("?")[0]; }; _local2 = _shortenURL(_local2); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable")); }; _debug.failure(_local4); } else { _debug.warning(_local4); }; _removeListeners(_arg1.target); } public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ var _local5:String; var _local6:URLRequest; var _local7:URLRequest; _utmac = _arg1; if (!_arg2){ _arg2 = new Variables(); }; _arg2.URIencode = false; _arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"]; _arg2.post = ["utmcc"]; if (_debug.verbose){ _debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek); }; if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){ if (_arg4){ updateToken(); }; if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){ if (((!(_arg3)) && (_arg4))){ _buffer.utmb.token = (_buffer.utmb.token - 1); }; _buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1); if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; _arg2.utmwv = utmwv; _arg2.utmn = Utils.generate32bitRandom(); if (_info.domainName != ""){ _arg2.utmhn = _info.domainName; }; if (_config.sampleRate < 1){ _arg2.utmsp = (_config.sampleRate * 100); }; if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){ _local5 = _info.locationSWFPath; if (_local5.lastIndexOf("/") > 0){ _local5 = _local5.substring(0, _local5.lastIndexOf("/")); }; _local6 = new URLRequest(); if (_config.localGIFpath.indexOf("http") == 0){ _local6.url = _config.localGIFpath; } else { _local6.url = (_local5 + _config.localGIFpath); }; _local6.url = (_local6.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local6); } else { sendRequest(_local6); }; }; if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){ _local7 = new URLRequest(); if (_info.protocol == Protocols.HTTPS){ _local7.url = _config.secureRemoteGIFpath; } else { if (_info.protocol == Protocols.HTTP){ _local7.url = _config.remoteGIFpath; } else { _local7.url = _config.remoteGIFpath; }; }; _arg2.utmac = utmac; _arg2.utmcc = encodeURIComponent(utmcc); _local7.url = (_local7.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local7); } else { sendRequest(_local7); }; }; }; }; } public function onSecurityError(_arg1:SecurityErrorEvent):void{ if (_debug.GIFRequests){ _debug.failure(_arg1.text); }; } public function get utmsp():String{ return (((_config.sampleRate * 100) as String)); } public function get utmcc():String{ var _local1:Array; _local1 = []; if (_buffer.hasUTMA()){ _local1.push((_buffer.utma.toURLString() + ";")); }; if (_buffer.hasUTMZ()){ _local1.push((_buffer.utmz.toURLString() + ";")); }; if (_buffer.hasUTMV()){ _local1.push((_buffer.utmv.toURLString() + ";")); }; return (_local1.join("+")); } public function get utmac():String{ return (_utmac); } public function get utmwv():String{ return (_config.version); } public function sendRequest(_arg1:URLRequest):void{ var loader:Loader; var context:LoaderContext; var request = _arg1; loader = new Loader(); loader.name = String(_count++); context = new LoaderContext(false); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); _lastRequest = request; _requests[loader.name] = new RequestObject(request); try { loader.load(request, context); } catch(e:Error) { _debug.failure("\"Loader.load()\" could not instanciate Gif Request"); }; } private function _removeListeners(_arg1:Object):void{ _arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError); _arg1.removeEventListener(Event.COMPLETE, onComplete); } public function updateToken():void{ var _local1:Number; var _local2:Number; _local1 = new Date().getTime(); _local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000)); if (_debug.verbose){ _debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek); }; if (_local2 >= 1){ _buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity); _buffer.utmb.lastTime = _local1; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; }; } private function _shortenURL(_arg1:String):String{ var _local2:Array; if (_arg1.length > 60){ _local2 = _arg1.split("/"); while (_arg1.length > 60) { _local2.shift(); _arg1 = ("../" + _local2.join("/")); }; }; return (_arg1); } public function get utmhn():String{ return (_info.domainName); } private function _debugSend(_arg1:URLRequest):void{ var _local2:String; var _local3:String; _local2 = ""; switch (_debug.mode){ case VisualDebugMode.geek: _local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url); break; case VisualDebugMode.advanced: _local3 = _arg1.url; if (_local3.indexOf("?") > -1){ _local3 = _local3.split("?")[0]; }; _local3 = _shortenURL(_local3); _local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?"); break; case VisualDebugMode.basic: default: _local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?"); }; _debug.alertGifRequest(_local2, _arg1, this); _alertcount++; } public function onComplete(_arg1:Event):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _arg1.target.loader.name; _requests[_local2].complete(); _local3 = (("Gif Request #" + _local2) + " sent"); _local4 = _requests[_local2].request.url; if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local4.indexOf("?") > -1){ _local4 = _local4.split("?")[0]; }; _local4 = _shortenURL(_local4); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local3 = (_local3 + ((" to \"" + _local4) + "\"")); }; _debug.success(_local3); } else { _debug.info(_local3); }; _removeListeners(_arg1.target); } } }//package com.google.analytics.core
Section 86
//IdleTimer (com.google.analytics.core.IdleTimer) package com.google.analytics.core { import flash.display.*; import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.utils.*; public class IdleTimer { private var _loop:Timer; private var _stage:Stage; private var _lastMove:int; private var _debug:DebugConfiguration; private var _session:Timer; private var _inactivity:Number; private var _buffer:Buffer; public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){ var _local5:Number; var _local6:Number; var _local7:Number; super(); _local5 = _arg1.idleLoop; _local6 = _arg1.idleTimeout; _local7 = _arg1.sessionTimeout; _loop = new Timer((_local5 * 1000)); _session = new Timer((_local7 * 1000), 1); _debug = _arg2; _stage = _arg3.stage; _buffer = _arg4; _lastMove = getTimer(); _inactivity = (_local6 * 1000); _loop.addEventListener(TimerEvent.TIMER, checkForIdle); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); _stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek); _loop.start(); } private function onMouseMove(_arg1:MouseEvent):void{ _lastMove = getTimer(); if (_session.running){ _debug.info("session timer reset", VisualDebugMode.geek); _session.reset(); }; } public function endSession(_arg1:TimerEvent):void{ _session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession); _debug.info("session timer end session", VisualDebugMode.geek); _session.reset(); _buffer.resetCurrentSession(); _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); _debug.info(_buffer.utmc.toString(), VisualDebugMode.geek); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); } public function checkForIdle(_arg1:TimerEvent):void{ var _local2:int; _local2 = getTimer(); if ((_local2 - _lastMove) >= _inactivity){ if (!_session.running){ _debug.info("session timer start", VisualDebugMode.geek); _session.start(); }; }; } } }//package com.google.analytics.core
Section 87
//Organic (com.google.analytics.core.Organic) package com.google.analytics.core { import com.google.analytics.utils.*; public class Organic { private var _sourcesCache:Array; private var _sourcesEngine:Array; private var _ignoredKeywords:Array; private var _ignoredReferralsCache:Object; private var _ignoredReferrals:Array; private var _ignoredKeywordsCache:Object; private var _sources:Array; public static var throwErrors:Boolean = false; public function Organic(){ _sources = []; _sourcesCache = []; _sourcesEngine = []; _ignoredReferrals = []; _ignoredReferralsCache = {}; _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{ var _local3:String; _local3 = _arg1.keyword; return (getKeywordValueFromPath(_local3, _arg2)); } public function isIgnoredKeyword(_arg1:String):Boolean{ if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function isIgnoredReferral(_arg1:String):Boolean{ if (_ignoredReferralsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function clear():void{ clearEngines(); clearIgnoredReferrals(); clearIgnoredKeywords(); } public function get ignoredKeywordsCount():int{ return (_ignoredKeywords.length); } public function match(_arg1:String):Boolean{ if (_arg1 == ""){ return (false); }; _arg1 = _arg1.toLowerCase(); if (_sourcesEngine[_arg1] != undefined){ return (true); }; return (false); } public function get count():int{ return (_sources.length); } public function addSource(_arg1:String, _arg2:String):void{ var _local3:OrganicReferrer; _local3 = new OrganicReferrer(_arg1, _arg2); if (_sourcesCache[_local3.toString()] == undefined){ _sources.push(_local3); _sourcesCache[_local3.toString()] = (_sources.length - 1); if (_sourcesEngine[_local3.engine] == undefined){ _sourcesEngine[_local3.engine] = [(_sources.length - 1)]; } else { _sourcesEngine[_local3.engine].push((_sources.length - 1)); }; } else { if (throwErrors){ throw (new Error((_local3.toString() + " already exists, we don't add it."))); }; }; } public function clearIgnoredKeywords():void{ _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function clearEngines():void{ _sources = []; _sourcesCache = []; _sourcesEngine = []; } public function get ignoredReferralsCount():int{ return (_ignoredReferrals.length); } public function addIgnoredReferral(_arg1:String):void{ if (_ignoredReferralsCache[_arg1] == undefined){ _ignoredReferrals.push(_arg1); _ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function clearIgnoredReferrals():void{ _ignoredReferrals = []; _ignoredReferralsCache = {}; } public function getReferrerByName(_arg1:String):OrganicReferrer{ var _local2:int; if (match(_arg1)){ _local2 = _sourcesEngine[_arg1][0]; return (_sources[_local2]); }; return (null); } public function addIgnoredKeyword(_arg1:String):void{ if (_ignoredKeywordsCache[_arg1] == undefined){ _ignoredKeywords.push(_arg1); _ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function get sources():Array{ return (_sources); } public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Variables; if (_arg2.indexOf((_arg1 + "=")) > -1){ if (_arg2.charAt(0) == "?"){ _arg2 = _arg2.substr(1); }; _arg2 = _arg2.split("+").join("%20"); _local4 = new Variables(_arg2); _local3 = _local4[_arg1]; }; return (_local3); } } }//package com.google.analytics.core
Section 88
//OrganicReferrer (com.google.analytics.core.OrganicReferrer) package com.google.analytics.core { public class OrganicReferrer { private var _engine:String; private var _keyword:String; public function OrganicReferrer(_arg1:String, _arg2:String){ this.engine = _arg1; this.keyword = _arg2; } public function set engine(_arg1:String):void{ _engine = _arg1.toLowerCase(); } public function get keyword():String{ return (_keyword); } public function toString():String{ return (((engine + "?") + keyword)); } public function get engine():String{ return (_engine); } public function set keyword(_arg1:String):void{ _keyword = _arg1.toLowerCase(); } } }//package com.google.analytics.core
Section 89
//RequestObject (com.google.analytics.core.RequestObject) package com.google.analytics.core { import flash.net.*; import flash.utils.*; public class RequestObject { public var start:int; public var request:URLRequest; public var end:int; public function RequestObject(_arg1:URLRequest){ start = getTimer(); this.request = _arg1; } public function toString():String{ var _local1:Array; _local1 = []; _local1.push((("duration: " + duration) + "ms")); _local1.push(("url: " + request.url)); return ((("{ " + _local1.join(", ")) + " }")); } public function get duration():int{ if (!hasCompleted()){ return (0); }; return ((end - start)); } public function hasCompleted():Boolean{ return ((end > 0)); } public function complete():void{ end = getTimer(); } } }//package com.google.analytics.core
Section 90
//ServerOperationMode (com.google.analytics.core.ServerOperationMode) package com.google.analytics.core { public class ServerOperationMode { private var _value:int; private var _name:String; public static const both:ServerOperationMode = new ServerOperationMode(2, "both"); ; public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote"); ; public static const local:ServerOperationMode = new ServerOperationMode(0, "local"); ; public function ServerOperationMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 91
//TrackerCache (com.google.analytics.core.TrackerCache) package com.google.analytics.core { import com.google.analytics.v4.*; import flash.errors.*; public class TrackerCache implements GoogleAnalyticsAPI { public var tracker:GoogleAnalyticsAPI; private var _ar:Array; public static var CACHE_THROW_ERROR:Boolean; public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){ this.tracker = _arg1; _ar = []; } public function size():uint{ return (_ar.length); } public function flush():void{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:int; if (tracker == null){ return; }; if (size() > 0){ _local4 = _ar.length; while (_local5 < _local4) { _local1 = _ar.shift(); _local2 = (_local1.name as String); _local3 = (_local1.args as Array); if (((!((_local2 == null))) && ((_local2 in tracker)))){ (tracker[_local2] as Function).apply(tracker, _local3); }; _local5++; }; }; } public function enqueue(_arg1:String, ... _args):Boolean{ if (_arg1 == null){ return (false); }; _ar.push({name:_arg1, args:_args}); return (true); } public function link(_arg1:String, _arg2:Boolean=false):void{ enqueue("link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ enqueue("addOrganic", _arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ enqueue("setAllowLinker", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4); return (true); } public function trackTrans():void{ enqueue("trackTrans"); } public function trackPageview(_arg1:String=""):void{ enqueue("trackPageview", _arg1); } public function setClientInfo(_arg1:Boolean):void{ enqueue("setClientInfo", _arg1); } public function getClientInfo():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment.")); }; return (false); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ enqueue("linkByPost", _arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ enqueue("setCookieTimeout", _arg1); } public function isEmpty():Boolean{ return ((_ar.length == 0)); } public function resetSession():void{ enqueue("resetSession"); } public function setDetectFlash(_arg1:Boolean):void{ enqueue("setDetectFlash", _arg1); } public function clear():void{ _ar = []; } public function getDetectTitle():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment.")); }; return (false); } public function setCampNameKey(_arg1:String):void{ enqueue("setCampNameKey", _arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function createEventTracker(_arg1:String):EventTracker{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment.")); }; return (null); } public function setVar(_arg1:String):void{ enqueue("setVar", _arg1); } public function clearIgnoredOrganic():void{ enqueue("clearIgnoredOrganic"); } public function setDomainName(_arg1:String):void{ enqueue("setDomainName", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment.")); }; return (null); } public function setCampSourceKey(_arg1:String):void{ enqueue("setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ enqueue("setCampContentKey", _arg1); } public function clearIgnoredRef():void{ enqueue("clearIgnoredRef"); } public function setLocalServerMode():void{ enqueue("setLocalServerMode"); } public function getLocalGifPath():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment.")); }; return (""); } public function setAllowAnchor(_arg1:Boolean):void{ enqueue("setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ enqueue("setLocalGifPath", _arg1); } public function getVersion():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment.")); }; return (""); } public function setCookiePath(_arg1:String):void{ enqueue("setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ enqueue("setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ enqueue("setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ enqueue("addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ enqueue("setCampNOKey", _arg1); } public function getServiceMode():ServerOperationMode{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment.")); }; return (null); } public function setLocalRemoteServerMode():void{ enqueue("setLocalRemoteServerMode"); } public function cookiePathCopy(_arg1:String):void{ enqueue("cookiePathCopy", _arg1); } public function setDetectTitle(_arg1:Boolean):void{ enqueue("setDetectTitle", _arg1); } public function getDetectFlash():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment.")); }; return (false); } public function setCampaignTrack(_arg1:Boolean):void{ enqueue("setCampaignTrack", _arg1); } public function clearOrganic():void{ enqueue("clearOrganic"); } public function setCampTermKey(_arg1:String):void{ enqueue("setCampTermKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ enqueue("addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ enqueue("setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ enqueue("setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ enqueue("setRemoteServerMode"); } public function element(){ return (_ar[0]); } public function getAccount():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment.")); }; return (""); } } }//package com.google.analytics.core
Section 92
//TrackerMode (com.google.analytics.core.TrackerMode) package com.google.analytics.core { public class TrackerMode { public static const BRIDGE:String = "Bridge"; public static const AS3:String = "AS3"; } }//package com.google.analytics.core
Section 93
//Utils (com.google.analytics.core.Utils) package com.google.analytics.core { public class Utils { public static function trim(_arg1:String, _arg2:Boolean=false):String{ var _local3:Array; var _local4:String; var _local5:int; var _local6:int; var _local7:int; if (_arg1 == ""){ return (""); }; _local3 = [" ", "\n", "\r", "\t"]; _local4 = _arg1; if (_arg2){ _local5 = 0; while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) { _local4 = _local4.split(_local3[_local5]).join(""); _local5++; }; } else { _local6 = 0; while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) { _local6++; }; _local4 = _local4.substr(_local6); _local7 = (_local4.length - 1); while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) { _local7--; }; _local4 = _local4.substring(0, (_local7 + 1)); }; return (_local4); } public static function generateHash(_arg1:String):int{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; _local2 = 1; _local3 = 0; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = 0; _local4 = (_arg1.length - 1); while (_local4 >= 0) { _local5 = _arg1.charCodeAt(_local4); _local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14)); _local3 = (_local2 & 266338304); if (_local3 != 0){ _local2 = (_local2 ^ (_local3 >> 21)); }; _local4--; }; }; return (_local2); } public static function generate32bitRandom():int{ return (Math.round((Math.random() * 2147483647))); } public static function validateAccount(_arg1:String):Boolean{ var _local2:RegExp; _local2 = /^UA-[0-9]*-[0-9]*$/; return (_local2.test(_arg1)); } } }//package com.google.analytics.core
Section 94
//Cookie (com.google.analytics.data.Cookie) package com.google.analytics.data { public interface Cookie { function toURLString():String; function toSharedObject():Object; function set creation(_arg1:Date):void; function fromSharedObject(_arg1:Object):void; function get expiration():Date; function isExpired():Boolean; function set expiration(_arg1:Date):void; function get creation():Date; } }//package com.google.analytics.data
Section 95
//UTMA (com.google.analytics.data.UTMA) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMA extends UTMCookie { private var _domainHash:Number; private var _firstTime:Number; private var _currentTime:Number; private var _sessionId:Number; private var _lastTime:Number; private var _sessionCount:Number; public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){ super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.sessionId = _arg2; this.firstTime = _arg3; this.lastTime = _arg4; this.currentTime = _arg5; this.sessionCount = _arg6; } public function get lastTime():Number{ return (_lastTime); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get sessionCount():Number{ return (_sessionCount); } public function get firstTime():Number{ return (_firstTime); } public function set sessionId(_arg1:Number):void{ _sessionId = _arg1; update(); } public function set sessionCount(_arg1:Number):void{ _sessionCount = _arg1; update(); } public function set firstTime(_arg1:Number):void{ _firstTime = _arg1; update(); } public function set currentTime(_arg1:Number):void{ _currentTime = _arg1; update(); } public function get sessionId():Number{ return (_sessionId); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get currentTime():Number{ return (_currentTime); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 96
//UTMB (com.google.analytics.data.UTMB) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMB extends UTMCookie { private var _lastTime:Number; private var _domainHash:Number; private var _trackCount:Number; private var _token:Number; public static var defaultTimespan:Number = Timespan.thirtyminutes; public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){ super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.trackCount = _arg2; this.token = _arg3; this.lastTime = _arg4; } public function get token():Number{ return (_token); } public function set trackCount(_arg1:Number):void{ _trackCount = _arg1; update(); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get lastTime():Number{ return (_lastTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set token(_arg1:Number):void{ _token = _arg1; update(); } public function get trackCount():Number{ return (_trackCount); } } }//package com.google.analytics.data
Section 97
//UTMC (com.google.analytics.data.UTMC) package com.google.analytics.data { public class UTMC extends UTMCookie { private var _domainHash:Number; public function UTMC(_arg1:Number=NaN){ super("utmc", "__utmc", ["domainHash"]); this.domainHash = _arg1; } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 98
//UTMCookie (com.google.analytics.data.UTMCookie) package com.google.analytics.data { import com.google.analytics.core.*; public class UTMCookie implements Cookie { protected var inURL:String; protected var name:String; private var _creation:Date; private var _expiration:Date; public var proxy:Buffer; private var _timespan:Number; protected var fields:Array; public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){ this.name = _arg1; this.inURL = _arg2; this.fields = _arg3; _timestamp(_arg4); } public function isEmpty():Boolean{ var _local1:int; var _local2:String; var _local3:int; _local1 = 0; _local3 = 0; while (_local3 < fields.length) { _local2 = fields[_local3]; if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){ _local1++; } else { if ((((this[_local2] is String)) && ((this[_local2] == "")))){ _local1++; }; }; _local3++; }; if (_local1 == fields.length){ return (true); }; return (false); } protected function update():void{ resetTimestamp(); if (proxy){ proxy.update(name, toSharedObject()); }; } public function fromSharedObject(_arg1:Object):void{ var _local2:String; var _local3:int; var _local4:int; _local3 = fields.length; _local4 = 0; while (_local4 < _local3) { _local2 = fields[_local4]; if (_arg1[_local2]){ this[_local2] = _arg1[_local2]; }; _local4++; }; if (_arg1.creation){ this.creation = _arg1.creation; }; if (_arg1.expiration){ this.expiration = _arg1.expiration; }; } private function _timestamp(_arg1:Number):void{ creation = new Date(); _timespan = _arg1; if (_arg1 > 0){ expiration = new Date((creation.valueOf() + _arg1)); }; } public function isExpired():Boolean{ var _local1:Date; var _local2:Number; _local1 = new Date(); _local2 = (expiration.valueOf() - _local1.valueOf()); if (_local2 <= 0){ return (true); }; return (false); } public function set expiration(_arg1:Date):void{ _expiration = _arg1; } public function get creation():Date{ return (_creation); } public function reset():void{ var _local1:String; var _local2:int; _local2 = 0; while (_local2 < fields.length) { _local1 = fields[_local2]; if ((this[_local1] is Number)){ this[_local1] = NaN; } else { if ((this[_local1] is String)){ this[_local1] = ""; }; }; _local2++; }; resetTimestamp(); update(); } public function valueOf():String{ var _local1:Array; var _local2:String; var _local3:*; var _local4:int; _local1 = []; _local4 = 0; while (_local4 < fields.length) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ if (_local3 == ""){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; } else { if ((_local3 is Number)){ if (_local3 == 0){ _local1.push(_local3); } else { if (isNaN(_local3)){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; }; }; }; _local4++; }; return (("" + _local1.join("."))); } public function resetTimestamp(_arg1:Number=NaN):void{ if (!isNaN(_arg1)){ _timespan = _arg1; }; _creation = null; _expiration = null; _timestamp(_timespan); } public function get expiration():Date{ if (_expiration){ return (_expiration); }; return (new Date((new Date().valueOf() + 1000))); } public function toURLString():String{ return (((inURL + "=") + valueOf())); } public function toSharedObject():Object{ var _local1:Object; var _local2:String; var _local3:*; var _local4:int; _local1 = {}; _local4 = 0; for (;_local4 < fields.length;_local4++) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ _local1[_local2] = _local3; } else { if (_local3 == 0){ _local1[_local2] = _local3; } else { if (isNaN(_local3)){ continue; } else { _local1[_local2] = _local3; }; }; }; }; _local1.creation = creation; _local1.expiration = expiration; return (_local1); } public function toString(_arg1:Boolean=false):String{ var _local2:Array; var _local3:String; var _local4:*; var _local5:int; var _local6:int; var _local7:String; _local2 = []; _local5 = fields.length; _local6 = 0; for (;_local6 < _local5;_local6++) { _local3 = fields[_local6]; _local4 = this[_local3]; if ((_local4 is String)){ _local2.push((((_local3 + ": \"") + _local4) + "\"")); } else { if (_local4 == 0){ _local2.push(((_local3 + ": ") + _local4)); } else { if (isNaN(_local4)){ continue; } else { _local2.push(((_local3 + ": ") + _local4)); }; }; }; }; _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}"); if (_arg1){ _local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration)); }; return (_local7); } public function set creation(_arg1:Date):void{ _creation = _arg1; } } }//package com.google.analytics.data
Section 99
//UTMK (com.google.analytics.data.UTMK) package com.google.analytics.data { public class UTMK extends UTMCookie { private var _hash:Number; public function UTMK(_arg1:Number=NaN){ super("utmk", "__utmk", ["hash"]); this.hash = _arg1; } public function get hash():Number{ return (_hash); } public function set hash(_arg1:Number):void{ _hash = _arg1; update(); } } }//package com.google.analytics.data
Section 100
//UTMV (com.google.analytics.data.UTMV) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMV extends UTMCookie { private var _domainHash:Number; private var _value:String; public function UTMV(_arg1:Number=NaN, _arg2:String=""){ super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.value = _arg2; } public function get value():String{ return (_value); } public function set value(_arg1:String):void{ _value = _arg1; update(); } override public function toURLString():String{ return (((inURL + "=") + encodeURI(valueOf()))); } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } } }//package com.google.analytics.data
Section 101
//UTMZ (com.google.analytics.data.UTMZ) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMZ extends UTMCookie { private var _domainHash:Number; private var _campaignSessions:Number; private var _campaignTracking:String; private var _responseCount:Number; private var _campaignCreation:Number; public static var defaultTimespan:Number = Timespan.sixmonths; public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){ super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.campaignCreation = _arg2; this.campaignSessions = _arg3; this.responseCount = _arg4; this.campaignTracking = _arg5; } public function get campaignCreation():Number{ return (_campaignCreation); } public function set campaignSessions(_arg1:Number):void{ _campaignSessions = _arg1; update(); } public function set responseCount(_arg1:Number):void{ _responseCount = _arg1; update(); } public function set campaignCreation(_arg1:Number):void{ _campaignCreation = _arg1; update(); } public function get campaignSessions():Number{ return (_campaignSessions); } public function get responseCount():Number{ return (_responseCount); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get campaignTracking():String{ return (_campaignTracking); } public function set campaignTracking(_arg1:String):void{ _campaignTracking = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 102
//X10 (com.google.analytics.data.X10) package com.google.analytics.data { public class X10 { private var _delimEnd:String;// = ")" private var _delimSet:String;// = "*" private var _escapeChar:String;// = "'" private var _delimBegin:String;// = "(" private var _delimNumValue:String;// = "!" private var _key:String;// = "k" private var _set:Array; private var _projectData:Object; private var _hasData:int; private var _escapeCharMap:Object; private var _minimum:int; private var _value:String;// = "v" public function X10(){ _key = "k"; _value = "v"; _set = [_key, _value]; _delimBegin = "("; _delimEnd = ")"; _delimSet = "*"; _delimNumValue = "!"; _escapeChar = "'"; super(); _projectData = {}; _escapeCharMap = {}; _escapeCharMap[_escapeChar] = "'0"; _escapeCharMap[_delimEnd] = "'1"; _escapeCharMap[_delimSet] = "'2"; _escapeCharMap[_delimNumValue] = "'3"; _minimum = 1; } private function _clearInternal(_arg1:Number, _arg2:String):void{ var _local3:Boolean; var _local4:int; var _local5:int; if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ _projectData[_arg1][_arg2] = undefined; _local3 = true; _local5 = _set.length; _local4 = 0; while (_local4 < _local5) { if (_projectData[_arg1][_set[_local4]] != undefined){ _local3 = false; break; }; _local4++; }; if (_local3){ _projectData[_arg1] = undefined; _hasData = (_hasData - 1); }; }; } public function hasData():Boolean{ return ((_hasData > 0)); } private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{ if (!hasProject(_arg1)){ _projectData[_arg1] = {}; }; if (_projectData[_arg1][_arg2] == undefined){ _projectData[_arg1][_arg2] = []; }; _projectData[_arg1][_arg2][_arg3] = _arg4; _hasData = (_hasData + 1); } public function hasProject(_arg1:Number):Boolean{ return (_projectData[_arg1]); } public function clearKey(_arg1:Number):void{ _clearInternal(_arg1, _key); } private function _renderDataType(_arg1:Array):String{ var _local2:Array; var _local3:String; var _local4:int; _local2 = []; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] != undefined){ _local3 = ""; if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){ _local3 = (_local3 + _local4.toString()); _local3 = (_local3 + _delimNumValue); }; _local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4])); _local2.push(_local3); }; _local4++; }; return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd)); } public function getKey(_arg1:Number, _arg2:Number):String{ return ((_getInternal(_arg1, _key, _arg2) as String)); } public function clearValue(_arg1:Number):void{ _clearInternal(_arg1, _value); } public function renderMergedUrlString(_arg1:X10=null):String{ var _local2:Array; var _local3:String; if (!_arg1){ return (renderUrlString()); }; _local2 = [_arg1.renderUrlString()]; for (_local3 in _projectData) { if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){ _local2.push((_local3 + _renderProject(_projectData[_local3]))); }; }; return (_local2.join("")); } public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){ return (false); }; _setInternal(_arg1, _value, _arg2, _arg3.toString()); return (true); } public function renderUrlString():String{ var _local1:Array; var _local2:String; _local1 = []; for (_local2 in _projectData) { if (hasProject(Number(_local2))){ _local1.push((_local2 + _renderProject(_projectData[_local2]))); }; }; return (_local1.join("")); } private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{ if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ return (_projectData[_arg1][_arg2][_arg3]); }; return (undefined); } public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{ _setInternal(_arg1, _key, _arg2, _arg3); return (true); } public function getValue(_arg1:Number, _arg2:Number){ var _local3:*; _local3 = _getInternal(_arg1, _value, _arg2); if (_local3 == null){ return (null); }; return (Number(_local3)); } private function _renderProject(_arg1:Object):String{ var _local2:String; var _local3:Boolean; var _local4:int; var _local5:Array; var _local6:int; _local2 = ""; _local3 = false; _local6 = _set.length; _local4 = 0; while (_local4 < _local6) { _local5 = _arg1[_set[_local4]]; if (_local5){ if (_local3){ _local2 = (_local2 + _set[_local4]); }; _local2 = (_local2 + _renderDataType(_local5)); _local3 = false; } else { _local3 = true; }; _local4++; }; return (_local2); } private function _escapeExtensibleValue(_arg1:String):String{ var _local2:String; var _local3:int; var _local4:String; var _local5:String; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); _local5 = _escapeCharMap[_local4]; if (_local5){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } } }//package com.google.analytics.data
Section 103
//_Style (com.google.analytics.debug._Style) package com.google.analytics.debug { import flash.net.*; import flash.text.*; public class _Style { public var borderColor:uint; public var backgroundColor:uint; private var _sheet:StyleSheet; public var roundedCorner:uint; public var alertColor:uint; public var infoColor:uint; public var successColor:uint; private var _loader:URLLoader; public var failureColor:uint; private var _defaultSheet:String; public var warningColor:uint; public function _Style(){ _sheet = new StyleSheet(); _loader = new URLLoader(); _init(); } private function _parseSheet(_arg1:String):void{ _sheet.parseCSS(_arg1); } public function get sheet():StyleSheet{ return (_sheet); } private function _init():void{ _defaultSheet = ""; _defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n"); _defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n"); _defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + "\n"); roundedCorner = 6; backgroundColor = 0xCCCCCC; borderColor = 0x555555; infoColor = 16777113; alertColor = 0xFFCC00; warningColor = 0xCC0000; successColor = 0xFF00; failureColor = 0xFF0000; _parseSheet(_defaultSheet); } } }//package com.google.analytics.debug
Section 104
//Alert (com.google.analytics.debug.Alert) package com.google.analytics.debug { import flash.events.*; public class Alert extends Label { public var actionOnNextLine:Boolean;// = true public var autoClose:Boolean;// = true private var _actions:Array; public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){ var _local8:int; autoClose = true; actionOnNextLine = true; if (_arg4 == 0){ _arg4 = Style.alertColor; }; if (_arg5 == null){ _arg5 = Align.center; }; super(_arg1, _arg3, _arg4, _arg5, _arg6); this.selectable = true; super.mouseChildren = true; this.buttonMode = true; this.mouseEnabled = true; this.useHandCursor = true; this.actionOnNextLine = _arg7; _actions = []; _local8 = 0; while (_local8 < _arg2.length) { _arg2[_local8].container = this; _actions.push(_arg2[_local8]); _local8++; }; } protected function getAction(_arg1:String):AlertAction{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (_actions[_local2]); }; _local2++; }; return (null); } override protected function layout():void{ super.layout(); _defineActions(); } protected function spaces(_arg1:int):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = ""; _local3 = " "; _local4 = 0; while (_local4 < (_arg1 + 1)) { _local2 = (_local2 + _local3); _local4++; }; return (_local2); } override public function onLink(_arg1:TextEvent):void{ var _local2:AlertAction; if (isValidAction(_arg1.text)){ _local2 = getAction(_arg1.text); if (_local2){ _local2.execute(); }; }; if (autoClose){ close(); }; } protected function isValidAction(_arg1:String):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (true); }; _local2++; }; return (false); } private function _defineActions():void{ var _local1:String; var _local2:Array; var _local3:AlertAction; var _local4:int; _local1 = ""; if (actionOnNextLine){ _local1 = (_local1 + "\n"); } else { _local1 = (_local1 + " |"); }; _local1 = (_local1 + " "); _local2 = []; _local4 = 0; while (_local4 < _actions.length) { _local3 = _actions[_local4]; _local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>")); _local4++; }; _local1 = (_local1 + _local2.join(" | ")); appendText(_local1, "uiAlertAction"); } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 105
//AlertAction (com.google.analytics.debug.AlertAction) package com.google.analytics.debug { public class AlertAction { public var container:Alert; private var _callback; public var name:String; public var activator:String; public function AlertAction(_arg1:String, _arg2:String, _arg3){ this.name = _arg1; this.activator = _arg2; _callback = _arg3; } public function execute():void{ if (_callback){ if ((_callback is Function)){ (_callback as Function)(); } else { if ((_callback is String)){ var _local1 = container; _local1[_callback](); }; }; }; } } }//package com.google.analytics.debug
Section 106
//Align (com.google.analytics.debug.Align) package com.google.analytics.debug { public class Align { private var _value:int; private var _name:String; public static const bottomRight:Align = new Align(18, "bottomRight"); ; public static const right:Align = new Align(16, "right"); ; public static const left:Align = new Align(32, "left"); ; public static const topRight:Align = new Align(17, "topRight"); ; public static const bottom:Align = new Align(2, "bottom"); ; public static const bottomLeft:Align = new Align(34, "bottomLeft"); ; public static const topLeft:Align = new Align(33, "topLeft"); ; public static const center:Align = new Align(0x0100, "center"); ; public static const none:Align = new Align(0, "none"); ; public static const top:Align = new Align(1, "top"); ; public function Align(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 107
//Background (com.google.analytics.debug.Background) package com.google.analytics.debug { import flash.display.*; public class Background { public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{ var _local5:uint; var _local6:uint; var _local7:uint; _local7 = Style.roundedCorner; if ((((_arg3 > 0)) && ((_arg4 > 0)))){ _local5 = _arg3; _local6 = _arg4; } else { _local5 = _arg1.width; _local6 = _arg1.height; }; if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){ switch (_arg1.alignement){ case Align.top: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7); break; case Align.topLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7); break; case Align.topRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0); break; case Align.bottom: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0); break; case Align.bottomLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0); break; case Align.bottomRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0); break; case Align.left: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7); break; case Align.right: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0); break; case Align.center: _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); break; }; } else { _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); }; } } }//package com.google.analytics.debug
Section 108
//Debug (com.google.analytics.debug.Debug) package com.google.analytics.debug { import flash.events.*; import flash.ui.*; public class Debug extends Label { private var _lines:Array; private var _preferredForcedWidth:uint;// = 540 public var maxLines:uint;// = 16 private var _linediff:int;// = 0 public static var count:uint = 0; public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){ _linediff = 0; _preferredForcedWidth = 540; maxLines = 16; if (_arg2 == null){ _arg2 = Align.bottom; }; super("", "uiLabel", _arg1, _arg2, _arg3); this.name = ("Debug" + count++); _lines = []; selectable = true; addEventListener(KeyboardEvent.KEY_DOWN, onKey); } public function close():void{ dispose(); } public function writeBold(_arg1:String):void{ write(_arg1, true); } override protected function dispose():void{ removeEventListener(KeyboardEvent.KEY_DOWN, onKey); super.dispose(); } override public function get forcedWidth():uint{ if (this.parent){ if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){ return (_preferredForcedWidth); }; return (UISprite(this.parent).forcedWidth); } else { }; return (!NULL!); } private function onKey(_arg1:KeyboardEvent=null):void{ var _local2:Array; switch (_arg1.keyCode){ case Keyboard.DOWN: _local2 = _getLinesToDisplay(1); break; case Keyboard.UP: _local2 = _getLinesToDisplay(-1); break; default: _local2 = null; }; if (_local2 == null){ return; }; text = _local2.join("\n"); } public function write(_arg1:String, _arg2:Boolean=false):void{ var _local3:Array; var _local4:String; var _local5:String; var _local6:int; var _local7:Array; if (_arg1.indexOf("") > -1){ _local3 = _arg1.split("\n"); } else { _local3 = [_arg1]; }; _local4 = ""; _local5 = ""; if (_arg2){ _local4 = "<b>"; _local5 = "</b>"; }; _local6 = 0; while (_local6 < _local3.length) { _lines.push(((_local4 + _local3[_local6]) + _local5)); _local6++; }; _local7 = _getLinesToDisplay(); text = _local7.join("\n"); } private function _getLinesToDisplay(_arg1:int=0):Array{ var _local2:Array; var _local3:uint; var _local4:uint; if ((_lines.length - 1) > maxLines){ if ((_linediff <= 0)){ _linediff = (_linediff + _arg1); } else { if ((((_linediff > 0)) && ((_arg1 < 0)))){ _linediff = (_linediff + _arg1); }; }; _local3 = ((_lines.length - maxLines) + _linediff); _local4 = (_local3 + maxLines); _local2 = _lines.slice(_local3, _local4); } else { _local2 = _lines; }; return (_local2); } } }//package com.google.analytics.debug
Section 109
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.utils.*; import flash.ui.*; public class DebugConfiguration { public var showHideKey:Number; private var _mode:VisualDebugMode; private var _verbose:Boolean;// = false public var destroyKey:Number; public var GIFRequests:Boolean;// = false public var infoTimeout:Number;// = 1000 public var showInfos:Boolean;// = true public var minimizedOnStart:Boolean;// = false private var _active:Boolean;// = false public var traceOutput:Boolean;// = false public var layout:ILayout; public var warningTimeout:Number;// = 1500 public var javascript:Boolean;// = false public var showWarnings:Boolean;// = true private var _visualInitialized:Boolean;// = false public function DebugConfiguration(){ _active = false; _verbose = false; _visualInitialized = false; _mode = VisualDebugMode.basic; traceOutput = false; javascript = false; GIFRequests = false; showInfos = true; infoTimeout = 1000; showWarnings = true; warningTimeout = 1500; minimizedOnStart = false; showHideKey = Keyboard.SPACE; destroyKey = Keyboard.BACKSPACE; super(); } public function get verbose():Boolean{ return (_verbose); } public function set verbose(_arg1:Boolean):void{ _verbose = _arg1; } public function set mode(_arg1):void{ if ((_arg1 is String)){ switch (_arg1){ case "geek": _arg1 = VisualDebugMode.geek; break; case "advanced": _arg1 = VisualDebugMode.advanced; break; case "basic": default: _arg1 = VisualDebugMode.basic; }; }; _mode = _arg1; } public function success(_arg1:String):void{ if (layout){ layout.createSuccessAlert(_arg1); }; if (traceOutput){ trace((("[+] " + _arg1) + " !!")); }; } public function get active():Boolean{ return (_active); } private function _initializeVisual():void{ if (layout){ layout.init(); _visualInitialized = true; }; } private function _destroyVisual():void{ if (((layout) && (_visualInitialized))){ layout.destroy(); }; } public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showWarnings))){ layout.createWarning(_arg1); }; if (traceOutput){ trace((("## " + _arg1) + " ##")); }; } private function _filter(_arg1:VisualDebugMode=null):Boolean{ return (((_arg1) && ((int(_arg1) >= int(this.mode))))); } public function failure(_arg1:String):void{ if (layout){ layout.createFailureAlert(_arg1); }; if (traceOutput){ trace((("[-] " + _arg1) + " !!")); }; } public function get mode(){ return (_mode); } public function set active(_arg1:Boolean):void{ _active = _arg1; if (_active){ _initializeVisual(); } else { _destroyVisual(); }; } protected function trace(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:Array; var _local8:int; _local2 = []; _local3 = ""; _local4 = ""; if (this.mode == VisualDebugMode.geek){ _local3 = (getTimer() + " - "); _local4 = (new Array(_local3.length).join(" ") + " "); }; if (_arg1.indexOf("\n") > -1){ _local7 = _arg1.split("\n"); _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] == ""){ } else { if (_local8 == 0){ _local2.push((_local3 + _local7[_local8])); } else { _local2.push((_local4 + _local7[_local8])); }; }; _local8++; }; } else { _local2.push((_local3 + _arg1)); }; _local5 = _local2.length; _local6 = 0; while (_local6 < _local5) { trace(_local2[_local6]); _local6++; }; } public function alert(_arg1:String):void{ if (layout){ layout.createAlert(_arg1); }; if (traceOutput){ trace((("!! " + _arg1) + " !!")); }; } public function info(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showInfos))){ layout.createInfo(_arg1); }; if (traceOutput){ trace(_arg1); }; } public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ if (layout){ layout.createGIFRequestAlert(_arg1, _arg2, _arg3); }; if (traceOutput){ trace(((">> " + _arg1) + " <<")); }; } } }//package com.google.analytics.debug
Section 110
//FailureAlert (com.google.analytics.debug.FailureAlert) package com.google.analytics.debug { public class FailureAlert extends Alert { public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 111
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert) package com.google.analytics.debug { public class GIFRequestAlert extends Alert { public function GIFRequestAlert(_arg1:String, _arg2:Array){ super(_arg1, _arg2); } } }//package com.google.analytics.debug
Section 112
//ILayout (com.google.analytics.debug.ILayout) package com.google.analytics.debug { import flash.display.*; import com.google.analytics.core.*; import flash.net.*; public interface ILayout { function createWarning(_arg1:String):void; function addToStage(_arg1:DisplayObject):void; function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void; function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void; function createInfo(_arg1:String):void; function createFailureAlert(_arg1:String):void; function addToPanel(_arg1:String, _arg2:DisplayObject):void; function init():void; function createSuccessAlert(_arg1:String):void; function createVisualDebug():void; function createAlert(_arg1:String):void; function destroy():void; function bringToFront(_arg1:DisplayObject):void; function isAvailable():Boolean; } }//package com.google.analytics.debug
Section 113
//Info (com.google.analytics.debug.Info) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Info extends Label { private var _timer:Timer; public function Info(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiInfo", Style.infoColor, Align.top, true); if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 114
//Label (com.google.analytics.debug.Label) package com.google.analytics.debug { import flash.display.*; import flash.events.*; import flash.text.*; public class Label extends UISprite { private var _text:String; private var _textField:TextField; private var _color:uint; protected var selectable:Boolean; public var stickToEdge:Boolean; private var _background:Shape; private var _tag:String; public static var count:uint = 0; public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){ this.name = ("Label" + count++); selectable = false; _background = new Shape(); _textField = new TextField(); _text = _arg1; _tag = _arg2; if (_arg4 == null){ _arg4 = Align.none; }; this.alignement = _arg4; this.stickToEdge = _arg5; if (_arg3 == 0){ _arg3 = Style.backgroundColor; }; _color = _arg3; _textField.addEventListener(TextEvent.LINK, onLink); } override protected function dispose():void{ _textField.removeEventListener(TextEvent.LINK, onLink); super.dispose(); } private function _draw():void{ var _local1:Graphics; var _local2:uint; var _local3:uint; _local1 = _background.graphics; _local1.clear(); _local1.beginFill(_color); _local2 = _textField.width; _local3 = _textField.height; if (forcedWidth > 0){ _local2 = forcedWidth; }; Background.drawRounded(this, _local1, _local2, _local3); _local1.endFill(); } override protected function layout():void{ _textField.type = TextFieldType.DYNAMIC; _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = false; _textField.selectable = selectable; _textField.multiline = true; _textField.styleSheet = Style.sheet; this.text = _text; addChild(_background); addChild(_textField); } public function get text():String{ return (_textField.text); } public function set tag(_arg1:String):void{ _tag = _arg1; text = ""; } public function set text(_arg1:String):void{ if (_arg1 == ""){ _arg1 = _text; }; _textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>"); _text = _arg1; _draw(); resize(); } public function appendText(_arg1:String, _arg2:String=""):void{ if (_arg1 == ""){ return; }; if (_arg2 == ""){ _arg2 = tag; }; _textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>")); _text = (_text + _arg1); _draw(); resize(); } public function onLink(_arg1:TextEvent):void{ } public function get tag():String{ return (_tag); } } }//package com.google.analytics.debug
Section 115
//Layout (com.google.analytics.debug.Layout) package com.google.analytics.debug { import flash.display.*; import flash.events.*; import com.google.analytics.core.*; import flash.net.*; import com.google.analytics.*; public class Layout implements ILayout { private var _display:DisplayObject; private var _infoQueue:Array; private var _maxCharPerLine:int;// = 85 private var _hasInfo:Boolean; private var _warningQueue:Array; private var _hasDebug:Boolean; private var _hasWarning:Boolean; private var _mainPanel:Panel; private var _GRAlertQueue:Array; private var _debug:DebugConfiguration; public var visualDebug:Debug; private var _hasGRAlert:Boolean; public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){ _maxCharPerLine = 85; super(); _display = _arg2; _debug = _arg1; _hasWarning = false; _hasInfo = false; _hasDebug = false; _hasGRAlert = false; _warningQueue = []; _infoQueue = []; _GRAlertQueue = []; } private function onKey(_arg1:KeyboardEvent=null):void{ switch (_arg1.keyCode){ case _debug.showHideKey: _mainPanel.visible = !(_mainPanel.visible); break; case _debug.destroyKey: destroy(); break; }; } public function bringToFront(_arg1:DisplayObject):void{ _display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1)); } public function createFailureAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new FailureAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function init():void{ var _local1:int; var _local2:uint; var _local3:uint; var _local4:Panel; _local1 = 10; _local2 = (_display.stage.stageWidth - (_local1 * 2)); _local3 = (_display.stage.stageHeight - (_local1 * 2)); _local4 = new Panel("analytics", _local2, _local3); _local4.alignement = Align.top; _local4.stickToEdge = false; _local4.title = ("Google Analytics v" + GATracker.version); _mainPanel = _local4; addToStage(_local4); bringToFront(_local4); if (_debug.minimizedOnStart){ _mainPanel.onToggle(); }; createVisualDebug(); _display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true); } public function addToPanel(_arg1:String, _arg2:DisplayObject):void{ var _local3:DisplayObject; var _local4:Panel; _local3 = _display.stage.getChildByName(_arg1); if (_local3){ _local4 = (_local3 as Panel); _local4.addData(_arg2); } else { trace((("panel \"" + _arg1) + "\" not found")); }; } private function _clearInfo(_arg1:Event):void{ _hasInfo = false; if (_infoQueue.length > 0){ createInfo(_infoQueue.shift()); }; } private function _filterMaxChars(_arg1:String, _arg2:int=0):String{ var _local3:String; var _local4:Array; var _local5:Array; var _local6:String; var _local7:int; _local3 = "\n"; _local4 = []; _local5 = _arg1.split(_local3); if (_arg2 == 0){ _arg2 = _maxCharPerLine; }; _local7 = 0; while (_local7 < _local5.length) { _local6 = _local5[_local7]; while (_local6.length > _arg2) { _local4.push(_local6.substr(0, _arg2)); _local6 = _local6.substring(_arg2); }; _local4.push(_local6); _local7++; }; return (_local4.join(_local3)); } public function createWarning(_arg1:String):void{ var _local2:Warning; if (((_hasWarning) || (!(isAvailable())))){ _warningQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasWarning = true; _local2 = new Warning(_arg1, _debug.warningTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } private function _clearGRAlert(_arg1:Event):void{ _hasGRAlert = false; if (_GRAlertQueue.length > 0){ createGIFRequestAlert.apply(this, _GRAlertQueue.shift()); }; } public function createSuccessAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new SuccessAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function isAvailable():Boolean{ return (!((_display.stage == null))); } public function createAlert(_arg1:String):void{ var _local2:Alert; _arg1 = _filterMaxChars(_arg1); _local2 = new Alert(_arg1, [new AlertAction("Close", "close", "close")]); addToPanel("analytics", _local2); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function createInfo(_arg1:String):void{ var _local2:Info; if (((_hasInfo) || (!(isAvailable())))){ _infoQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasInfo = true; _local2 = new Info(_arg1, _debug.infoTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true); if (_hasDebug){ visualDebug.write(_arg1); }; } public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ var f:Function; var gra:GIFRequestAlert; var message = _arg1; var request = _arg2; var ref = _arg3; if (_hasGRAlert){ _GRAlertQueue.push([message, request, ref]); return; }; _hasGRAlert = true; f = function ():void{ ref.sendRequest(request); }; message = _filterMaxChars(message); gra = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]); addToPanel("analytics", gra); gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true); if (_hasDebug){ if (_debug.verbose){ message = message.split("\n").join(""); message = _filterMaxChars(message, 66); }; visualDebug.write(message); }; } public function createVisualDebug():void{ if (!visualDebug){ visualDebug = new Debug(); visualDebug.alignement = Align.bottom; visualDebug.stickToEdge = true; addToPanel("analytics", visualDebug); _hasDebug = true; }; } public function addToStage(_arg1:DisplayObject):void{ _display.stage.addChild(_arg1); } private function _clearWarning(_arg1:Event):void{ _hasWarning = false; if (_warningQueue.length > 0){ createWarning(_warningQueue.shift()); }; } public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Panel; _local4 = new Panel(_arg1, _arg2, _arg3); _local4.alignement = Align.center; _local4.stickToEdge = false; addToStage(_local4); bringToFront(_local4); } public function destroy():void{ _mainPanel.close(); _debug.layout = null; } } }//package com.google.analytics.debug
Section 116
//Margin (com.google.analytics.debug.Margin) package com.google.analytics.debug { public class Margin { public var bottom:int; public var top:int; public var right:int; public var left:int; public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){ this.top = _arg1; this.bottom = _arg2; this.left = _arg3; this.right = _arg4; } } }//package com.google.analytics.debug
Section 117
//Panel (com.google.analytics.debug.Panel) package com.google.analytics.debug { import flash.display.*; import flash.events.*; public class Panel extends UISprite { protected var baseAlpha:Number; private var _border:Shape; private var _name:String; private var _title:Label; private var _data:UISprite; private var _backgroundColor:uint; private var _colapsed:Boolean; private var _stickToEdge:Boolean; private var _background:Shape; private var _savedW:uint; private var _mask:Sprite; private var _savedH:uint; private var _borderColor:uint; public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){ _name = _arg1; this.name = _arg1; this.mouseEnabled = false; _colapsed = false; forcedWidth = _arg2; forcedHeight = _arg3; this.baseAlpha = _arg6; _background = new Shape(); _data = new UISprite(); _data.forcedWidth = _arg2; _data.forcedHeight = _arg3; _data.mouseEnabled = false; _title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8); _title.buttonMode = true; _title.margin.top = 0.6; _title.margin.left = 0.6; _title.addEventListener(MouseEvent.CLICK, onToggle); _title.mouseChildren = false; _border = new Shape(); _mask = new Sprite(); _mask.useHandCursor = false; _mask.mouseEnabled = false; _mask.mouseChildren = false; if (_arg7 == null){ _arg7 = Align.none; }; this.alignement = _arg7; this.stickToEdge = _arg8; if (_arg4 == 0){ _arg4 = Style.backgroundColor; }; _backgroundColor = _arg4; if (_arg5 == 0){ _arg5 = Style.borderColor; }; _borderColor = _arg5; } public function set stickToEdge(_arg1:Boolean):void{ _stickToEdge = _arg1; _title.stickToEdge = _arg1; } public function onToggle(_arg1:MouseEvent=null):void{ if (_colapsed){ _data.visible = true; } else { _data.visible = false; }; _colapsed = !(_colapsed); _update(); resize(); } override protected function dispose():void{ _title.removeEventListener(MouseEvent.CLICK, onToggle); super.dispose(); } private function _draw():void{ var _local1:uint; var _local2:uint; var _local3:Graphics; var _local4:Graphics; var _local5:Graphics; var _local6:Graphics; if (((_savedW) && (_savedH))){ forcedWidth = _savedW; forcedHeight = _savedH; }; if (!_colapsed){ _local1 = forcedWidth; _local2 = forcedHeight; } else { _local1 = _title.width; _local2 = _title.height; _savedW = forcedWidth; _savedH = forcedHeight; forcedWidth = _local1; forcedHeight = _local2; }; _local3 = _background.graphics; _local3.clear(); _local3.beginFill(_backgroundColor); Background.drawRounded(this, _local3, _local1, _local2); _local3.endFill(); _local4 = _data.graphics; _local4.clear(); _local4.beginFill(_backgroundColor, 0); Background.drawRounded(this, _local4, _local1, _local2); _local4.endFill(); _local5 = _border.graphics; _local5.clear(); _local5.lineStyle(0.1, _borderColor); Background.drawRounded(this, _local5, _local1, _local2); _local5.endFill(); _local6 = _mask.graphics; _local6.clear(); _local6.beginFill(_backgroundColor); Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1)); _local6.endFill(); } override protected function layout():void{ _update(); addChild(_background); addChild(_data); addChild(_title); addChild(_border); addChild(_mask); mask = _mask; } public function get title():String{ return (_title.text); } public function get stickToEdge():Boolean{ return (_stickToEdge); } public function set title(_arg1:String):void{ _title.text = _arg1; } private function _update():void{ _draw(); if (baseAlpha < 1){ _background.alpha = baseAlpha; _border.alpha = baseAlpha; }; } public function addData(_arg1:DisplayObject):void{ _data.addChild(_arg1); } public function close():void{ dispose(); if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 118
//Style (com.google.analytics.debug.Style) package com.google.analytics.debug { public const Style:_Style = new _Style(); }//package com.google.analytics.debug
Section 119
//SuccessAlert (com.google.analytics.debug.SuccessAlert) package com.google.analytics.debug { public class SuccessAlert extends Alert { public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 120
//UISprite (com.google.analytics.debug.UISprite) package com.google.analytics.debug { import flash.display.*; import flash.events.*; public class UISprite extends Sprite { private var _forcedHeight:uint; protected var listenResize:Boolean; public var alignement:Align; private var _forcedWidth:uint; public var margin:Margin; protected var alignTarget:DisplayObject; public function UISprite(_arg1:DisplayObject=null){ listenResize = false; alignement = Align.none; this.alignTarget = _arg1; margin = new Margin(); addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); } protected function dispose():void{ var _local1:DisplayObject; var _local2:int; _local2 = 0; while (_local2 < numChildren) { _local1 = getChildAt(_local2); if (_local1){ removeChild(_local1); }; _local2++; }; } protected function layout():void{ } public function get forcedHeight():uint{ if (_forcedHeight){ return (_forcedHeight); }; return (height); } public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{ var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:UISprite; if (_arg2 == null){ if ((parent is Stage)){ _arg2 = this.stage; } else { _arg2 = parent; }; }; if (_arg2 == this.stage){ if (this.stage == null){ return; }; _local3 = this.stage.stageHeight; _local4 = this.stage.stageWidth; _local5 = 0; _local6 = 0; } else { _local7 = (_arg2 as UISprite); if (_local7.forcedHeight){ _local3 = _local7.forcedHeight; } else { _local3 = _local7.height; }; if (_local7.forcedWidth){ _local4 = _local7.forcedWidth; } else { _local4 = _local7.width; }; _local5 = 0; _local6 = 0; }; switch (_arg1){ case Align.top: x = ((_local4 / 2) - (forcedWidth / 2)); y = (_local6 + margin.top); break; case Align.bottom: x = ((_local4 / 2) - (forcedWidth / 2)); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.left: x = (_local5 + margin.left); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.right: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.center: x = ((_local4 / 2) - (forcedWidth / 2)); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.topLeft: x = (_local5 + margin.left); y = (_local6 + margin.top); break; case Align.topRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (_local6 + margin.top); break; case Align.bottomLeft: x = (_local5 + margin.left); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.bottomRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; }; if (((!(listenResize)) && (!((_arg1 == Align.none))))){ _arg2.addEventListener(Event.RESIZE, onResize, false, 0, true); listenResize = true; }; this.alignement = _arg1; this.alignTarget = _arg2; } public function get forcedWidth():uint{ if (_forcedWidth){ return (_forcedWidth); }; return (width); } protected function onResize(_arg1:Event):void{ resize(); } private function _onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); dispose(); } public function resize():void{ if (alignement != Align.none){ alignTo(alignement, alignTarget); }; } private function _onAddedToStage(_arg1:Event):void{ layout(); resize(); } public function set forcedHeight(_arg1:uint):void{ _forcedHeight = _arg1; } public function set forcedWidth(_arg1:uint):void{ _forcedWidth = _arg1; } } }//package com.google.analytics.debug
Section 121
//Warning (com.google.analytics.debug.Warning) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Warning extends Label { private var _timer:Timer; public function Warning(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiWarning", Style.warningColor, Align.top, false); margin.top = 32; if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 122
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode) package com.google.analytics.debug { public class VisualDebugMode { private var _value:int; private var _name:String; public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced"); ; public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek"); ; public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic"); ; public function VisualDebugMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 123
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent) package com.google.analytics.events { import flash.events.*; import com.google.analytics.*; public class AnalyticsEvent extends Event { public var tracker:AnalyticsTracker; public static const READY:String = "ready"; public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.tracker = _arg2; } override public function clone():Event{ return (new AnalyticsEvent(type, tracker, bubbles, cancelable)); } } }//package com.google.analytics.events
Section 124
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals) package com.google.analytics.external { import com.google.analytics.debug.*; public class AdSenseGlobals extends JavascriptProxy { private var _gaGlobalVerified:Boolean;// = false public static var gaGlobal_js:XML = <script> <![CDATA[ function() { try { gaGlobal } catch(e) { gaGlobal = {} ; } } ]]> </script> ; public function AdSenseGlobals(_arg1:DebugConfiguration){ _gaGlobalVerified = false; super(_arg1); } public function set vid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.vid", _arg1); } public function get hid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.hid")); } public function get dh():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.dh")); } public function get gaGlobal():Object{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal")); } public function set hid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.hid", _arg1); } public function get sid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.sid")); } private function _verify():void{ if (!_gaGlobalVerified){ executeBlock(gaGlobal_js); _gaGlobalVerified = true; }; } public function get vid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.vid")); } public function set sid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.sid", _arg1); } } }//package com.google.analytics.external
Section 125
//HTMLDOM (com.google.analytics.external.HTMLDOM) package com.google.analytics.external { import com.google.analytics.debug.*; public class HTMLDOM extends JavascriptProxy { private var _referrer:String; private var _protocol:String; private var _host:String; private var _location:String; private var _pathname:String; private var _title:String; private var _characterSet:String; private var _search:String; private var _language:String; private var _colorDepth:String; public static var cache_properties_js:XML = <script> <![CDATA[ function() { var obj = {}; obj.host = document.location.host; obj.language = navigator.language ? navigator.language : navigator.browserLanguage; obj.characterSet = document.characterSet ? document.characterSet : document.charset; obj.colorDepth = window.screen.colorDepth; obj.location = document.location.toString(); obj.pathname = document.location.pathname; obj.protocol = document.location.protocol; obj.search = document.location.search; obj.referrer = document.referrer; obj.title = document.title; return obj; } ]]> </script> ; public function HTMLDOM(_arg1:DebugConfiguration){ super(_arg1); } public function get search():String{ if (_search){ return (_search); }; if (!isAvailable()){ return (null); }; _search = getProperty("document.location.search"); return (_search); } public function get location():String{ if (_location){ return (_location); }; if (!isAvailable()){ return (null); }; _location = getPropertyString("document.location"); return (_location); } public function get pathname():String{ if (_pathname){ return (_pathname); }; if (!isAvailable()){ return (null); }; _pathname = getProperty("document.location.pathname"); return (_pathname); } public function get referrer():String{ if (_referrer){ return (_referrer); }; if (!isAvailable()){ return (null); }; _referrer = getProperty("document.referrer"); return (_referrer); } public function get protocol():String{ if (_protocol){ return (_protocol); }; if (!isAvailable()){ return (null); }; _protocol = getProperty("document.location.protocol"); return (_protocol); } public function cacheProperties():void{ var _local1:Object; if (!isAvailable()){ return; }; _local1 = call(cache_properties_js); if (_local1){ _host = _local1.host; _language = _local1.language; _characterSet = _local1.characterSet; _colorDepth = _local1.colorDepth; _location = _local1.location; _pathname = _local1.pathname; _protocol = _local1.protocol; _search = _local1.search; _referrer = _local1.referrer; _title = _local1.title; }; } public function get colorDepth():String{ if (_colorDepth){ return (_colorDepth); }; if (!isAvailable()){ return (null); }; _colorDepth = getProperty("window.screen.colorDepth"); return (_colorDepth); } public function get title():String{ if (_title){ return (_title); }; if (!isAvailable()){ return (null); }; _title = getProperty("document.title"); return (_title); } public function get host():String{ if (_host){ return (_host); }; if (!isAvailable()){ return (null); }; _host = getProperty("document.location.host"); return (_host); } public function get characterSet():String{ var _local1:String; if (_characterSet){ return (_characterSet); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("document.characterSet"); if (_local1 == null){ _local1 = getProperty("document.charset"); }; _characterSet = _local1; return (_characterSet); } public function get language():String{ var _local1:String; if (_language){ return (_language); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("navigator.language"); if (_local1 == null){ _local1 = getProperty("navigator.browserLanguage"); }; _language = _local1; return (_language); } } }//package com.google.analytics.external
Section 126
//JavascriptProxy (com.google.analytics.external.JavascriptProxy) package com.google.analytics.external { import com.google.analytics.debug.*; import flash.system.*; import flash.external.*; public class JavascriptProxy { private var _notAvailableWarning:Boolean;// = true private var _debug:DebugConfiguration; public static var setProperty_js:XML = <script> <![CDATA[ function( path , value ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } target[ prop ] = value ; } ]]> </script> ; public static var hasProperty_js:XML = <script> <![CDATA[ function( path ) { var paths; if( path.indexOf(".") > 0 ) { paths = path.split("."); } else { paths = [path]; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } if( target ) { return true; } else { return false; } } ]]> </script> ; public static var setPropertyRef_js:XML = <script> <![CDATA[ function( path , target ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } alert( "paths:"+paths.length+", prop:"+prop ); var targets; var name; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } alert( "targets:"+targets.length+", name:"+name ); var root = window; var len = paths.length; for( var i = 0 ; i < len ; i++ ) { root = root[ paths[i] ] ; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } root[ prop ] = ref[name] ; } ]]> </script> ; public function JavascriptProxy(_arg1:DebugConfiguration){ _notAvailableWarning = true; super(); _debug = _arg1; } public function getProperty(_arg1:String){ return (call((_arg1 + ".valueOf"))); } public function hasProperty(_arg1:String):Boolean{ return (call(hasProperty_js, _arg1)); } public function setProperty(_arg1:String, _arg2):void{ call(setProperty_js, _arg1, _arg2); } public function executeBlock(_arg1:String):void{ var data = _arg1; if (isAvailable()){ try { ExternalInterface.call(data); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; } public function getPropertyString(_arg1:String):String{ return (call((_arg1 + ".toString"))); } public function setPropertyByReference(_arg1:String, _arg2:String):void{ call(setPropertyRef_js, _arg1, _arg2); } public function call(_arg1:String, ... _args){ var output:String; var functionName = _arg1; var args = _args; if (isAvailable()){ try { if (((_debug.javascript) && (_debug.verbose))){ output = ""; output = ("Flash->JS: " + functionName); output = (output + "( "); if (args.length > 0){ output = (output + args.join(",")); }; output = (output + " )"); _debug.info(output); }; args.unshift(functionName); return (ExternalInterface.call.apply(ExternalInterface, args)); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; return (null); } public function isAvailable():Boolean{ var _local1:Boolean; _local1 = ExternalInterface.available; if (((_local1) && ((Capabilities.playerType == "External")))){ _local1 = false; }; if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){ _debug.warning("ExternalInterface is not available."); _notAvailableWarning = false; }; return (_local1); } } }//package com.google.analytics.external
Section 127
//Environment (com.google.analytics.utils.Environment) package com.google.analytics.utils { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; import flash.system.*; public class Environment { private var _dom:HTMLDOM; private var _appName:String; private var _debug:DebugConfiguration; private var _appVersion:Version; private var _url:String; private var _protocol:Protocols; private var _userAgent:UserAgent; public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){ var _local6:Version; super(); if (_arg2 == ""){ if (isAIR()){ _arg2 = "AIR"; } else { _arg2 = "Flash"; }; }; if (_arg3 == ""){ _local6 = flashVersion; } else { _local6 = Version.fromString(_arg3); }; _url = _arg1; _appName = _arg2; _appVersion = _local6; _debug = _arg4; _dom = _arg5; } public function isAIR():Boolean{ return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application")))); } public function get playerType():String{ return (Capabilities.playerType); } public function get locationSearch():String{ var _local1:String; _local1 = _dom.search; if (_local1){ return (_local1); }; return (""); } public function get protocol():Protocols{ if (!_protocol){ _findProtocol(); }; return (_protocol); } public function get flashVersion():Version{ var _local1:Version; _local1 = Version.fromString(Capabilities.version.split(" ")[1], ","); return (_local1); } public function get screenWidth():Number{ return (Capabilities.screenResolutionX); } public function get languageEncoding():String{ var _local1:String; if (System.useCodePage){ _local1 = _dom.characterSet; if (_local1){ return (_local1); }; return ("-"); }; return ("UTF-8"); } public function get appName():String{ return (_appName); } public function get screenColorDepth():String{ var _local1:String; var _local2:String; switch (Capabilities.screenColor){ case "bw": _local1 = "1"; break; case "gray": _local1 = "2"; break; case "color": default: _local1 = "24"; }; _local2 = _dom.colorDepth; if (_local2){ _local1 = _local2; }; return (_local1); } private function _findProtocol():void{ var _local1:Protocols; var _local2:String; var _local3:String; var _local4:String; var _local5:String; _local1 = Protocols.none; if (_url != ""){ _local4 = _url.toLowerCase(); _local5 = _local4.substr(0, 5); switch (_local5){ case "file:": _local1 = Protocols.file; break; case "http:": _local1 = Protocols.HTTP; break; case "https": if (_local4.charAt(5) == ":"){ _local1 = Protocols.HTTPS; }; break; default: _protocol = Protocols.none; }; }; _local2 = _dom.protocol; _local3 = (_local1.toString() + ":").toLowerCase(); if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){ _debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2)); }; _protocol = _local1; } public function get locationSWFPath():String{ return (_url); } public function get platform():String{ var _local1:String; _local1 = Capabilities.manufacturer; return (_local1.split("Adobe ")[1]); } public function get operatingSystem():String{ return (Capabilities.os); } public function set appName(_arg1:String):void{ _appName = _arg1; userAgent.applicationProduct = _arg1; } public function get userAgent():UserAgent{ if (!_userAgent){ _userAgent = new UserAgent(this, appName, appVersion.toString(4)); }; return (_userAgent); } ga_internal function set url(_arg1:String):void{ _url = _arg1; } public function get referrer():String{ var _local1:String; _local1 = _dom.referrer; if (_local1){ return (_local1); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function isInHTML():Boolean{ return ((Capabilities.playerType == "PlugIn")); } public function get language():String{ var _local1:String; var _local2:String; _local1 = _dom.language; _local2 = Capabilities.language; if (_local1){ if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){ _local2 = _local1; }; }; return (_local2); } public function get domainName():String{ var _local1:String; var _local2:String; var _local3:int; if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){ _local1 = _url.toLowerCase(); if (protocol == Protocols.HTTP){ _local2 = _local1.split("http://").join(""); } else { if (protocol == Protocols.HTTPS){ _local2 = _local1.split("https://").join(""); }; }; _local3 = _local2.indexOf("/"); if (_local3 > -1){ _local2 = _local2.substring(0, _local3); }; return (_local2); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function set userAgent(_arg1:UserAgent):void{ _userAgent = _arg1; } public function set appVersion(_arg1:Version):void{ _appVersion = _arg1; userAgent.applicationVersion = _arg1.toString(4); } public function get screenHeight():Number{ return (Capabilities.screenResolutionY); } public function get locationPath():String{ var _local1:String; _local1 = _dom.pathname; if (_local1){ return (_local1); }; return (""); } public function get documentTitle():String{ var _local1:String; _local1 = _dom.title; if (_local1){ return (_local1); }; return (""); } public function get appVersion():Version{ return (_appVersion); } } }//package com.google.analytics.utils
Section 128
//Protocols (com.google.analytics.utils.Protocols) package com.google.analytics.utils { public class Protocols { private var _value:int; private var _name:String; public static const none:Protocols = new Protocols(0, "none"); ; public static const HTTPS:Protocols = new Protocols(3, "HTTPS"); ; public static const file:Protocols = new Protocols(1, "file"); ; public static const HTTP:Protocols = new Protocols(2, "HTTP"); ; public function Protocols(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.utils
Section 129
//Timespan (com.google.analytics.utils.Timespan) package com.google.analytics.utils { public class Timespan { public static var sixmonths:Number = 15768000; public static var twoyears:Number = 63072000; public static var thirtyminutes:Number = 1800; } }//package com.google.analytics.utils
Section 130
//URL (com.google.analytics.utils.URL) package com.google.analytics.utils { public class URL { private var _url:String; public function URL(_arg1:String=""){ _url = _arg1.toLowerCase(); } public function get domain():String{ var _local1:Array; if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){ _local1 = hostName.split("."); switch (_local1.length){ case 2: return (hostName); case 3: if (_local1[1] == "co"){ return (hostName); }; _local1.shift(); return (_local1.join(".")); case 4: _local1.shift(); return (_local1.join(".")); }; }; return (""); } public function get path():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if (_local1.charAt(0) != "/"){ _local1 = ("/" + _local1); }; return (_local1); } public function get search():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[1]; } else { _local1 = ""; }; return (_local1); } public function get subDomain():String{ if (((!((domain == ""))) && (!((domain == hostName))))){ return (hostName.split(("." + domain)).join("")); }; return (""); } public function get protocol():Protocols{ var _local1:String; _local1 = _url.split("://")[0]; switch (_local1){ case "file": return (Protocols.file); case "http": return (Protocols.HTTP); case "https": return (Protocols.HTTPS); default: return (Protocols.none); }; } public function get hostName():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf("/") > -1){ _local1 = _local1.split("/")[0]; }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){ return (""); }; return (_local1); } } }//package com.google.analytics.utils
Section 131
//UserAgent (com.google.analytics.utils.UserAgent) package com.google.analytics.utils { import com.google.analytics.core.*; import flash.system.*; public class UserAgent { private var _version:Version; private var _localInfo:Environment; private var _applicationProduct:String; public static var minimal:Boolean = false; public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){ _localInfo = _arg1; applicationProduct = _arg2; _version = Version.fromString(_arg3); } public function get tamarinProductToken():String{ if (UserAgent.minimal){ return (""); }; if (System.vmVersion){ return (("Tamarin/" + Utils.trim(System.vmVersion, true))); }; return (""); } public function set applicationProduct(_arg1:String):void{ _applicationProduct = _arg1; } public function get applicationVersion():String{ return (_version.toString(2)); } public function get applicationProductToken():String{ var _local1:String; _local1 = applicationProduct; if (applicationVersion != ""){ _local1 = (_local1 + ("/" + applicationVersion)); }; return (_local1); } public function get vendorProductToken():String{ var _local1:String; _local1 = ""; if (_localInfo.isAIR()){ _local1 = (_local1 + "AIR"); } else { _local1 = (_local1 + "FlashPlayer"); }; _local1 = (_local1 + "/"); _local1 = (_local1 + _version.toString(3)); return (_local1); } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + applicationProductToken); if (applicationComment != ""){ _local1 = (_local1 + (" " + applicationComment)); }; if (tamarinProductToken != ""){ _local1 = (_local1 + (" " + tamarinProductToken)); }; if (vendorProductToken != ""){ _local1 = (_local1 + (" " + vendorProductToken)); }; return (_local1); } public function get applicationComment():String{ var _local1:Array; _local1 = []; _local1.push(_localInfo.platform); _local1.push(_localInfo.playerType); if (!UserAgent.minimal){ _local1.push(_localInfo.operatingSystem); _local1.push(_localInfo.language); }; if (Capabilities.isDebugger){ _local1.push("DEBUG"); }; if (_local1.length > 0){ return ((("(" + _local1.join("; ")) + ")")); }; return (""); } public function set applicationVersion(_arg1:String):void{ _version = Version.fromString(_arg1); } public function get applicationProduct():String{ return (_applicationProduct); } } }//package com.google.analytics.utils
Section 132
//Variables (com.google.analytics.utils.Variables) package com.google.analytics.utils { import flash.net.*; public dynamic class Variables { public var post:Array; public var URIencode:Boolean; public var pre:Array; public var sort:Boolean;// = true public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){ pre = []; post = []; sort = true; super(); if (_arg1){ decode(_arg1); }; if (_arg2){ this.pre = _arg2; }; if (_arg3){ this.post = _arg3; }; } private function _join(_arg1:Variables):void{ var _local2:String; if (!_arg1){ return; }; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function join(... _args):void{ var _local2:int; var _local3:int; _local2 = _args.length; _local3 = 0; while (_local3 < _local2) { if (!(_args[_local3] is Variables)){ } else { _join(_args[_local3]); }; _local3++; }; } public function toString():String{ var _local1:Array; var _local2:String; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:String; _local1 = []; for (_local3 in this) { _local2 = this[_local3]; if (URIencode){ _local2 = encodeURI(_local2); }; _local1.push(((_local3 + "=") + _local2)); }; if (sort){ _local1.sort(); }; if (pre.length > 0){ pre.reverse(); _local5 = 0; while (_local5 < pre.length) { _local7 = pre[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local7) == 0){ _local1.unshift(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; pre.reverse(); }; if (post.length > 0){ _local5 = 0; while (_local5 < post.length) { _local8 = post[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local8) == 0){ _local1.push(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; }; return (_local1.join("&")); } public function decode(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:String; var _local6:Array; var _local7:int; if (_arg1 == ""){ return; }; if (_arg1.indexOf("&") > -1){ _local2 = _arg1.split("&"); } else { _local2 = [_arg1]; }; _local7 = 0; while (_local7 < _local2.length) { _local3 = _local2[_local7]; if (_local3.indexOf("=") > -1){ _local6 = _local3.split("="); _local4 = _local6[0]; _local5 = decodeURI(_local6[1]); this[_local4] = _local5; }; _local7++; }; } public function toURLVariables():URLVariables{ var _local1:URLVariables; var _local2:String; _local1 = new URLVariables(); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package com.google.analytics.utils
Section 133
//Version (com.google.analytics.utils.Version) package com.google.analytics.utils { public class Version { private var _maxBuild:uint;// = 0xFF private var _maxMinor:uint;// = 15 private var _maxMajor:uint;// = 15 private var _revision:uint; private var _separator:String;// = "." private var _maxRevision:uint;// = 0xFFFF private var _build:uint; private var _minor:uint; private var _major:uint; public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){ var _local5:Version; _maxMajor = 15; _maxMinor = 15; _maxBuild = 0xFF; _maxRevision = 0xFFFF; _separator = "."; super(); if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){ _local5 = Version.fromNumber(_arg1); _arg1 = _local5.major; _arg2 = _local5.minor; _arg3 = _local5.build; _arg4 = _local5.revision; }; this.major = _arg1; this.minor = _arg2; this.build = _arg3; this.revision = _arg4; } public function toString(_arg1:int=0):String{ var _local2:Array; if ((((_arg1 <= 0)) || ((_arg1 > 4)))){ _arg1 = getFields(); }; switch (_arg1){ case 1: _local2 = [major]; break; case 2: _local2 = [major, minor]; break; case 3: _local2 = [major, minor, build]; break; case 4: default: _local2 = [major, minor, build, revision]; }; return (_local2.join(_separator)); } public function get revision():uint{ return (_revision); } public function set build(_arg1:uint):void{ _build = Math.min(_arg1, _maxBuild); } public function set minor(_arg1:uint):void{ _minor = Math.min(_arg1, _maxMinor); } public function get build():uint{ return (_build); } public function set major(_arg1:uint):void{ _major = Math.min(_arg1, _maxMajor); } public function get minor():uint{ return (_minor); } public function valueOf():uint{ return (((((major << 28) | (minor << 24)) | (build << 16)) | revision)); } public function get major():uint{ return (_major); } public function set revision(_arg1:uint):void{ _revision = Math.min(_arg1, _maxRevision); } private function getFields():int{ var _local1:int; _local1 = 4; if (revision == 0){ _local1--; }; if ((((_local1 == 3)) && ((build == 0)))){ _local1--; }; if ((((_local1 == 2)) && ((minor == 0)))){ _local1--; }; return (_local1); } public function equals(_arg1):Boolean{ if (!(_arg1 is Version)){ return (false); }; if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){ return (true); }; return (false); } public static function fromString(_arg1:String="", _arg2:String="."):Version{ var _local3:Version; var _local4:Array; _local3 = new (Version); if ((((_arg1 == "")) || ((_arg1 == null)))){ return (_local3); }; if (_arg1.indexOf(_arg2) > -1){ _local4 = _arg1.split(_arg2); _local3.major = parseInt(_local4[0]); _local3.minor = parseInt(_local4[1]); _local3.build = parseInt(_local4[2]); _local3.revision = parseInt(_local4[3]); } else { _local3.major = parseInt(_arg1); }; return (_local3); } public static function fromNumber(_arg1:Number=0):Version{ var _local2:Version; _local2 = new (Version); if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){ return (_local2); }; _local2.major = (_arg1 >>> 28); _local2.minor = ((_arg1 & 251658240) >>> 24); _local2.build = ((_arg1 & 0xFF0000) >>> 16); _local2.revision = (_arg1 & 0xFFFF); return (_local2); } } }//package com.google.analytics.utils
Section 134
//Bridge (com.google.analytics.v4.Bridge) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; public class Bridge implements GoogleAnalyticsAPI { private var _debug:DebugConfiguration; private var _proxy:JavascriptProxy; private var _jsContainer:String;// = "_GATracker" private var _hasGATracker:Boolean;// = false private var _account:String; private static var _linkTrackingObject_js:XML = <script> <![CDATA[ function( container , target ) { var targets ; var name ; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } window[container][target] = ref[name] ; } ]]> </script> ; private static var _createTrackingObject_js:XML = <script> <![CDATA[ function( acct ) { _GATracker[acct] = _gat._getTracker(acct); } ]]> </script> ; private static var _injectTrackingObject_js:XML = <script> <![CDATA[ function() { try { _GATracker } catch(e) { _GATracker = {}; } } ]]> </script> ; private static var _checkGAJS_js:XML = <script> <![CDATA[ function() { if( _gat && _gat._getTracker ) { return true; } return false; } ]]> </script> ; private static var _checkValidTrackingObject_js:XML = <script> <![CDATA[ function(acct) { if( _GATracker[acct] && (_GATracker[acct]._getAccount) ) { return true ; } else { return false; } } ]]> </script> ; public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){ var _local4:String; var _local5:String; var _local6:String; _hasGATracker = false; _jsContainer = "_GATracker"; super(); _account = _arg1; _debug = _arg2; _proxy = _arg3; if (!_checkGAJS()){ _local4 = ""; _local4 = (_local4 + "ga.js not found, be sure to check if\n"); _local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n"); _local4 = (_local4 + "is included in the HTML."); _debug.warning(_local4); throw (new Error(_local4)); }; if (!_hasGATracker){ if (((_debug.javascript) && (_debug.verbose))){ _local5 = ""; _local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n"); _local5 = (_local5 + "we create it"); _debug.info(_local5, VisualDebugMode.advanced); }; _injectTrackingObject(); }; if (Utils.validateAccount(_arg1)){ _createTrackingObject(_arg1); } else { if (_checkTrackingObject(_arg1)){ _linkTrackingObject(_arg1); } else { _local6 = ""; _local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n")); _local6 = (_local6 + "Bridge object not created."); _debug.warning(_local6); throw (new Error(_local6)); }; }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )")); _call("_link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _call("_addOrganic", _arg1); } public function setAllowLinker(_arg1:Boolean):void{ _debug.info((("setAllowLinker( " + _arg1) + " )")); _call("_setAllowLinker", _arg1); } private function _linkTrackingObject(_arg1:String):void{ _proxy.call(_linkTrackingObject_js, _jsContainer, _arg1); } public function setClientInfo(_arg1:Boolean):void{ _debug.info((("setClientInfo( " + _arg1) + " )")); _call("_setClientInfo", _arg1); } public function trackTrans():void{ _debug.info("trackTrans()"); _call("_trackTrans"); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:int; _local5 = 2; if (((_arg3) && (!((_arg3 == ""))))){ _local5 = 3; }; if ((((_local5 == 3)) && (!(isNaN(_arg4))))){ _local5 = 4; }; switch (_local5){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4)); case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3)); case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2)); }; } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); _call("_trackPageview", _arg1); } public function setCookieTimeout(_arg1:int):void{ _debug.info((("setCookieTimeout( " + _arg1) + " )")); _call("_setCookieTimeout", _arg1); } private function _checkValidTrackingObject(_arg1:String):Boolean{ return (_proxy.call(_checkValidTrackingObject_js, _arg1)); } private function _checkGAJS():Boolean{ return (_proxy.call(_checkGAJS_js)); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_call("_getClientInfo")); } private function _call(_arg1:String, ... _args){ _args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1)); return (_proxy.call.apply(_proxy, _args)); } public function hasGAJS():Boolean{ return (_checkGAJS()); } private function _checkTrackingObject(_arg1:String):Boolean{ var _local2:Boolean; var _local3:Boolean; _local2 = _proxy.hasProperty(_arg1); _local3 = _proxy.hasProperty((_arg1 + "._getAccount")); return (((_local2) && (_local3))); } public function resetSession():void{ _debug.warning("resetSession() not implemented"); } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_call("_getDetectTitle")); } public function setDetectFlash(_arg1:Boolean):void{ _debug.info((("setDetectFlash( " + _arg1) + " )")); _call("_setDetectFlash", _arg1); } public function setCampNameKey(_arg1:String):void{ _debug.info((("setCampNameKey( " + _arg1) + " )")); _call("_setCampNameKey", _arg1); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); _call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _call("_clearIgnoreOrganic"); } public function setVar(_arg1:String):void{ _debug.info((("setVar( " + _arg1) + " )")); _call("_setVar", _arg1); } public function setDomainName(_arg1:String):void{ _debug.info((("setDomainName( " + _arg1) + " )")); _call("_setDomainName", _arg1); } public function hasTrackingAccount(_arg1:String):Boolean{ if (Utils.validateAccount(_arg1)){ return (_checkValidTrackingObject(_arg1)); }; return (_checkTrackingObject(_arg1)); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )")); _call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); return (null); } public function setCampSourceKey(_arg1:String):void{ _debug.info((("setCampSourceKey( " + _arg1) + " )")); _call("_setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ _debug.info((("setCampContentKey( " + _arg1) + " )")); _call("_setCampContentKey", _arg1); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _call("_clearIgnoreRef"); } public function setLocalServerMode():void{ _debug.info("setLocalServerMode()"); _call("_setLocalServerMode"); } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_call("_getLocalGifPath")); } public function setAllowAnchor(_arg1:Boolean):void{ _debug.info((("setAllowAnchor( " + _arg1) + " )")); _call("_setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ _debug.info((("setLocalGifPath( " + _arg1) + " )")); _call("_setLocalGifPath", _arg1); } public function getVersion():String{ _debug.info("getVersion()"); return (_call("_getVersion")); } private function _injectTrackingObject():void{ _proxy.executeBlock(_injectTrackingObject_js); _hasGATracker = true; } public function setCookiePath(_arg1:String):void{ _debug.info((("setCookiePath( " + _arg1) + " )")); _call("_setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ _debug.info((("setSampleRate( " + _arg1) + " )")); _call("_setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ _debug.info((("setAllowHash( " + _arg1) + " )")); _call("_setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _call("_addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ _debug.info((("setCampNOKey( " + _arg1) + " )")); _call("_setCampNOKey", _arg1); } public function cookiePathCopy(_arg1:String):void{ _debug.info((("cookiePathCopy( " + _arg1) + " )")); _call("_cookiePathCopy", _arg1); } public function setLocalRemoteServerMode():void{ _debug.info("setLocalRemoteServerMode()"); _call("_setLocalRemoteServerMode"); } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_call("_getServiceMode")); } public function setDetectTitle(_arg1:Boolean):void{ _debug.info((("setDetectTitle( " + _arg1) + " )")); _call("_setDetectTitle", _arg1); } public function setCampTermKey(_arg1:String):void{ _debug.info((("setCampTermKey( " + _arg1) + " )")); _call("_setCampTermKey", _arg1); } private function _createTrackingObject(_arg1:String):void{ _proxy.call(_createTrackingObject_js, _arg1); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_call("_getDetectFlash")); } public function setCampaignTrack(_arg1:Boolean):void{ _debug.info((("setCampaignTrack( " + _arg1) + " )")); _call("_setCampaignTrack", _arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _call("_clearOrganic"); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _call("_addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ _debug.info((("setCampMediumKey( " + _arg1) + " )")); _call("_setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ _debug.info((("setSessionTimeout( " + _arg1) + " )")); _call("_setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ _debug.info("setRemoteServerMode()"); _call("_setRemoteServerMode"); } public function getAccount():String{ _debug.info("getAccount()"); return (_call("_getAccount")); } } }//package com.google.analytics.v4
Section 135
//Configuration (com.google.analytics.v4.Configuration) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import com.google.analytics.campaign.*; public class Configuration { public var serverMode:ServerOperationMode; public var detectFlash:Boolean;// = true public var allowLocalTracking:Boolean;// = true public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif" public var hasSiteOverlay:Boolean;// = false private var _version:String;// = "4.3as" public var allowDomainHash:Boolean;// = true public var detectClientInfo:Boolean;// = true public var idleLoop:Number;// = 30 public var isTrackOutboundSubdomains:Boolean;// = false public var cookiePath:String;// = "/" public var transactionFieldDelim:String;// = "|" private var _organic:Organic; private var _cookieName:String;// = "analytics" public var campaignKey:CampaignKey; public var google:String;// = "google" public var googleCsePath:String;// = "cse" public var bucketCapacity:Number;// = 10 private var _sampleRate:Number;// = 1 public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif" public var googleSearchParam:String;// = "q" public var allowLinker:Boolean;// = false public var maxOutboundLinkExamined:Number;// = 1000 private var _debug:DebugConfiguration; private var _trackingLimitPerSession:int;// = 500 private var _domain:Domain; public var allowAnchor:Boolean;// = false public var tokenCliff:int;// = 10 public var sessionTimeout:Number; public var idleTimeout:Number;// = 60 public var campaignTracking:Boolean;// = true public var domainName:String;// = "" public var detectTitle:Boolean;// = true public var tokenRate:Number;// = 0.2 public var conversionTimeout:Number; public var localGIFpath:String;// = "/__utm.gif" public function Configuration(_arg1:DebugConfiguration=null){ _version = "4.3as"; _sampleRate = 1; _trackingLimitPerSession = 500; _organic = new Organic(); googleCsePath = "cse"; googleSearchParam = "q"; google = "google"; _cookieName = "analytics"; allowDomainHash = true; allowAnchor = false; allowLinker = false; hasSiteOverlay = false; tokenRate = 0.2; conversionTimeout = Timespan.sixmonths; sessionTimeout = Timespan.thirtyminutes; idleLoop = 30; idleTimeout = 60; maxOutboundLinkExamined = 1000; tokenCliff = 10; bucketCapacity = 10; detectClientInfo = true; detectFlash = true; detectTitle = true; campaignKey = new CampaignKey(); campaignTracking = true; isTrackOutboundSubdomains = false; serverMode = ServerOperationMode.remote; localGIFpath = "/__utm.gif"; remoteGIFpath = "http://www.google-analytics.com/__utm.gif"; secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif"; cookiePath = "/"; transactionFieldDelim = "|"; domainName = ""; allowLocalTracking = true; super(); _debug = _arg1; _domain = new Domain(DomainNameMode.auto, "", _debug); serverMode = ServerOperationMode.remote; _initOrganicSources(); } public function get organic():Organic{ return (_organic); } public function get trackingLimitPerSession():int{ return (_trackingLimitPerSession); } private function _initOrganicSources():void{ addOrganicSource(google, googleSearchParam); addOrganicSource("yahoo", "p"); addOrganicSource("msn", "q"); addOrganicSource("aol", "query"); addOrganicSource("aol", "encquery"); addOrganicSource("lycos", "query"); addOrganicSource("ask", "q"); addOrganicSource("altavista", "q"); addOrganicSource("netscape", "query"); addOrganicSource("cnn", "query"); addOrganicSource("looksmart", "qt"); addOrganicSource("about", "terms"); addOrganicSource("mamma", "query"); addOrganicSource("alltheweb", "q"); addOrganicSource("gigablast", "q"); addOrganicSource("voila", "rdata"); addOrganicSource("virgilio", "qs"); addOrganicSource("live", "q"); addOrganicSource("baidu", "wd"); addOrganicSource("alice", "qs"); addOrganicSource("yandex", "text"); addOrganicSource("najdi", "q"); addOrganicSource("aol", "q"); addOrganicSource("club-internet", "q"); addOrganicSource("mama", "query"); addOrganicSource("seznam", "q"); addOrganicSource("search", "q"); addOrganicSource("wp", "szukaj"); addOrganicSource("onet", "qt"); addOrganicSource("netsprint", "q"); addOrganicSource("google.interia", "q"); addOrganicSource("szukacz", "q"); addOrganicSource("yam", "k"); addOrganicSource("pchome", "q"); addOrganicSource("kvasir", "searchExpr"); addOrganicSource("sesam", "q"); addOrganicSource("ozu", "q"); addOrganicSource("terra", "query"); addOrganicSource("nostrum", "query"); addOrganicSource("mynet", "q"); addOrganicSource("ekolay", "q"); addOrganicSource("search.ilse", "search_for"); } public function get sampleRate():Number{ return (_sampleRate); } public function get cookieName():String{ return (_cookieName); } public function addOrganicSource(_arg1:String, _arg2:String):void{ var engine = _arg1; var keyword = _arg2; try { _organic.addSource(engine, keyword); } catch(e:Error) { if (((_debug) && (_debug.active))){ _debug.warning(e.message); }; }; } public function get domain():Domain{ return (_domain); } public function set sampleRate(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0.1; }; if (_arg1 > 1){ _arg1 = 1; }; _arg1 = Number(_arg1.toFixed(2)); _sampleRate = _arg1; } public function get version():String{ return (_version); } } }//package com.google.analytics.v4
Section 136
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI) package com.google.analytics.v4 { import com.google.analytics.core.*; public interface GoogleAnalyticsAPI { function getServiceMode():ServerOperationMode; function setLocalRemoteServerMode():void; function setCampSourceKey(_arg1:String):void; function setCampContentKey(_arg1:String):void; function addOrganic(_arg1:String, _arg2:String):void; function setDetectFlash(_arg1:Boolean):void; function resetSession():void; function setCampTermKey(_arg1:String):void; function setCampNameKey(_arg1:String):void; function addIgnoredOrganic(_arg1:String):void; function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void; function setAllowLinker(_arg1:Boolean):void; function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object; function getDetectFlash():Boolean; function setCampaignTrack(_arg1:Boolean):void; function createEventTracker(_arg1:String):EventTracker; function setCookieTimeout(_arg1:int):void; function setAllowAnchor(_arg1:Boolean):void; function trackTrans():void; function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean; function trackPageview(_arg1:String=""):void; function setLocalGifPath(_arg1:String):void; function getVersion():String; function getLocalGifPath():String; function setVar(_arg1:String):void; function clearIgnoredOrganic():void; function setCampMediumKey(_arg1:String):void; function addIgnoredRef(_arg1:String):void; function setClientInfo(_arg1:Boolean):void; function setCookiePath(_arg1:String):void; function setSampleRate(_arg1:Number):void; function setSessionTimeout(_arg1:int):void; function setRemoteServerMode():void; function clearIgnoredRef():void; function linkByPost(_arg1:Object, _arg2:Boolean=false):void; function setLocalServerMode():void; function setDetectTitle(_arg1:Boolean):void; function setAllowHash(_arg1:Boolean):void; function clearOrganic():void; function getAccount():String; function setDomainName(_arg1:String):void; function link(_arg1:String, _arg2:Boolean=false):void; function setCampNOKey(_arg1:String):void; function getClientInfo():Boolean; function cookiePathCopy(_arg1:String):void; function getDetectTitle():Boolean; } }//package com.google.analytics.v4
Section 137
//Tracker (com.google.analytics.v4.Tracker) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; import com.google.analytics.data.*; import com.google.analytics.campaign.*; public class Tracker implements GoogleAnalyticsAPI { private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3; private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1; private const EVENT_TRACKER_PROJECT_ID:int = 5; private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1; private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2; private var _adSense:AdSenseGlobals; private var _eventTracker:X10; private var _noSessionInformation:Boolean;// = false private var _browserInfo:BrowserInfo; private var _debug:DebugConfiguration; private var _isNewVisitor:Boolean;// = false private var _buffer:Buffer; private var _config:Configuration; private var _x10Module:X10; private var _campaign:CampaignManager; private var _formatedReferrer:String; private var _timeStamp:Number; private var _info:Environment; private var _domainHash:Number; private var _campaignInfo:CampaignInfo; private var _gifRequest:GIFRequest; private var _hasInitData:Boolean;// = false private var _account:String; public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){ var _local8:String; _hasInitData = false; _isNewVisitor = false; _noSessionInformation = false; super(); _account = _arg1; _config = _arg2; _debug = _arg3; _info = _arg4; _buffer = _arg5; _gifRequest = _arg6; _adSense = _arg7; if (!Utils.validateAccount(_arg1)){ _local8 = (("Account \"" + _arg1) + "\" is not valid."); _debug.warning(_local8); throw (new Error(_local8)); }; _initData(); } private function _doTracking():Boolean{ if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){ return (true); }; if (_config.allowLocalTracking){ return (true); }; return (false); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _config.organic.addSource(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _config.allowLinker = _arg1; _debug.info((("setAllowLinker( " + _config.allowLinker) + " )")); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); if (_doTracking()){ _initData(); _trackMetrics(_arg1); _noSessionInformation = false; } else { _debug.warning((("trackPageview( " + _arg1) + " ) failed")); }; } public function setCookieTimeout(_arg1:int):void{ _config.conversionTimeout = _arg1; _debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )")); } public function trackTrans():void{ _debug.warning("trackTrans() not implemented"); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:Boolean; var _local6:int; _local5 = true; _local6 = 2; if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){ _eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID); _eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2); if (((_arg3) && (!((_arg3 == ""))))){ _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3); _local6 = 3; if (!isNaN(_arg4)){ _local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4); _local6 = 4; }; }; if (_local5){ _debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _sendXEvent(_eventTracker); }; } else { _debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _local5 = false; }; switch (_local6){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); break; case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); break; case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); }; return (_local5); } public function setClientInfo(_arg1:Boolean):void{ _config.detectClientInfo = _arg1; _debug.info((("setClientInfo( " + _config.detectClientInfo) + " )")); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } private function _initData():void{ var _local1:String; var _local2:String; if (!_hasInitData){ _updateDomainName(); _domainHash = _getDomainHash(); _timeStamp = Math.round((new Date().getTime() / 1000)); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "_initData 0"); _local1 = (_local1 + ("\ndomain name: " + _config.domainName)); _local1 = (_local1 + ("\ndomain hash: " + _domainHash)); _local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_doTracking()){ _handleCookie(); }; if (!_hasInitData){ if (_doTracking()){ _formatedReferrer = _formatReferrer(); _browserInfo = new BrowserInfo(_config, _info); _debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced); if (_config.campaignTracking){ _campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp); _campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation); _debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced); }; }; _x10Module = new X10(); _eventTracker = new X10(); _hasInitData = true; }; if (_config.hasSiteOverlay){ _debug.warning("Site Overlay is not supported"); }; if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "_initData (misc)"); _local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4))); _local2 = (_local2 + ("\nprotocol: " + _info.protocol)); _local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\"")); _local2 = (_local2 + ("\nlanguage: " + _info.language)); _local2 = (_local2 + ("\ndomain hash: " + _getDomainHash())); _local2 = (_local2 + ("\nuser-agent: " + _info.userAgent)); _debug.info(_local2, VisualDebugMode.geek); }; } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_config.detectTitle); } public function resetSession():void{ _debug.info("resetSession()"); _buffer.resetCurrentSession(); } private function _sendXEvent(_arg1:X10=null):void{ var _local2:Variables; var _local3:EventInfo; var _local4:Variables; var _local5:Variables; _initData(); if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; _local3 = new EventInfo(true, _x10Module, _arg1); _local4 = _local3.toVariables(); _local5 = _renderMetricsSearchVariables(); _local2.join(_local4, _local5); _gifRequest.send(_account, _local2, false, true); }; } public function setDetectFlash(_arg1:Boolean):void{ _config.detectFlash = _arg1; _debug.info((("setDetectFlash( " + _config.detectFlash) + " )")); } public function setCampNameKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCN = _arg1; _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCN]")); } else { _debug.info(_local2); }; } private function _formatReferrer():String{ var _local1:String; var _local2:String; var _local3:URL; var _local4:URL; _local1 = _info.referrer; if ((((_local1 == "")) || ((_local1 == "localhost")))){ _local1 = "-"; } else { _local2 = _info.domainName; _local3 = new URL(_local1); _local4 = new URL(("http://" + _local2)); if (_local3.hostName == _local2){ return ("-"); }; if (_local4.domain == _local3.domain){ if (_local4.subDomain != _local3.subDomain){ _local1 = "0"; }; }; if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){ _local1 = "-"; }; }; _debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced); return (_local1); } private function _visitCode():Number{ if (_debug.verbose){ _debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek); }; return (_buffer.utma.sessionId); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented")); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _config.organic.clearIgnoredKeywords(); } public function setVar(_arg1:String):void{ var _local2:Variables; if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){ _initData(); _buffer.utmv.domainHash = _domainHash; _buffer.utmv.value = _arg1; if (_debug.verbose){ _debug.info(_buffer.utmv.toString(), VisualDebugMode.geek); }; _debug.info((("setVar( " + _arg1) + " )")); if (_takeSample()){ _local2 = new Variables(); _local2.utmt = "var"; _gifRequest.send(_account, _local2); }; } else { _debug.warning((("setVar \"" + _arg1) + "\" is ignored")); }; } public function setDomainName(_arg1:String):void{ if (_arg1 == "auto"){ _config.domain.mode = DomainNameMode.auto; } else { if (_arg1 == "none"){ _config.domain.mode = DomainNameMode.none; } else { _config.domain.mode = DomainNameMode.custom; _config.domain.name = _arg1; }; }; _updateDomainName(); _debug.info((("setDomainName( " + _config.domainName) + " )")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_config.detectClientInfo); } private function _updateDomainName():void{ var _local1:String; if (_config.domain.mode == DomainNameMode.auto){ _local1 = _info.domainName; if (_local1.substring(0, 4) == "www."){ _local1 = _local1.substring(4); }; _config.domain.name = _local1; }; _config.domainName = _config.domain.name.toLowerCase(); _debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented")); return (null); } public function setCampContentKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCT = _arg1; _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCT]")); } else { _debug.info(_local2); }; } private function _handleCookie():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:String; if (_config.allowLinker){ }; if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){ if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){ _buffer.updateUTMA(_timeStamp); _noSessionInformation = true; }; if (_debug.verbose){ _debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek); }; } else { _debug.info("create a new utma", VisualDebugMode.advanced); _buffer.utma.domainHash = _domainHash; _buffer.utma.sessionId = _getUniqueSessionId(); _buffer.utma.firstTime = _timeStamp; _buffer.utma.lastTime = _timeStamp; _buffer.utma.currentTime = _timeStamp; _buffer.utma.sessionCount = 1; if (_debug.verbose){ _debug.info(_buffer.utma.toString(), VisualDebugMode.geek); }; _noSessionInformation = true; _isNewVisitor = true; }; if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){ if (_adSense.sid){ _buffer.utma.currentTime = Number(_adSense.sid); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "AdSense sid found\n"); _local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_isNewVisitor){ if (_adSense.sid){ _buffer.utma.lastTime = Number(_adSense.sid); if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "AdSense sid found (new visitor)\n"); _local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local2, VisualDebugMode.geek); }; }; if (_adSense.vid){ _local3 = _adSense.vid.split("."); _buffer.utma.sessionId = Number(_local3[0]); _buffer.utma.firstTime = Number(_local3[1]); if (_debug.verbose){ _local4 = ""; _local4 = (_local4 + "AdSense vid found (new visitor)\n"); _local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n")); _local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")")); _debug.info(_local4, VisualDebugMode.geek); }; }; if (_debug.verbose){ _debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek); }; }; }; _buffer.utmb.domainHash = _domainHash; if (isNaN(_buffer.utmb.trackCount)){ _buffer.utmb.trackCount = 0; }; if (isNaN(_buffer.utmb.token)){ _buffer.utmb.token = _config.tokenCliff; }; if (isNaN(_buffer.utmb.lastTime)){ _buffer.utmb.lastTime = _buffer.utma.currentTime; }; _buffer.utmc.domainHash = _domainHash; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced); _debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced); }; } public function setLocalServerMode():void{ _config.serverMode = ServerOperationMode.local; _debug.info("setLocalServerMode()"); } private function _renderMetricsSearchVariables(_arg1:String=""):Variables{ var _local2:Variables; var _local3:DocumentInfo; var _local4:Variables; var _local5:Variables; _local2 = new Variables(); _local2.URIencode = true; _local3 = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense); _debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek); if (_config.campaignTracking){ _local4 = _campaignInfo.toVariables(); }; _local5 = _browserInfo.toVariables(); _local2.join(_local3.toVariables(), _local5, _local4); return (_local2); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _config.organic.clearIgnoredReferrals(); } public function setCampSourceKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCSR = _arg1; _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCSR]")); } else { _debug.info(_local2); }; } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_config.localGIFpath); } public function setLocalGifPath(_arg1:String):void{ _config.localGIFpath = _arg1; _debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )")); } public function getVersion():String{ _debug.info("getVersion()"); return (_config.version); } public function setAllowAnchor(_arg1:Boolean):void{ _config.allowAnchor = _arg1; _debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )")); } private function _isNotGoogleSearch():Boolean{ var _local1:String; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; _local1 = _config.domainName; _local2 = (_local1.indexOf("www.google.") < 0); _local3 = (_local1.indexOf(".google.") < 0); _local4 = (_local1.indexOf("google.") < 0); _local5 = (_local1.indexOf("google.org") > -1); return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5))); } public function setSampleRate(_arg1:Number):void{ if (_arg1 < 0){ _debug.warning("sample rate can not be negative, ignoring value."); } else { _config.sampleRate = _arg1; }; _debug.info((("setSampleRate( " + _config.sampleRate) + " )")); } private function _takeSample():Boolean{ if (_debug.verbose){ _debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek); }; return (((_visitCode() % 10000) < (_config.sampleRate * 10000))); } public function setCookiePath(_arg1:String):void{ _config.cookiePath = _arg1; _debug.info((("setCookiePath( " + _config.cookiePath) + " )")); } public function setAllowHash(_arg1:Boolean):void{ _config.allowDomainHash = _arg1; _debug.info((("setAllowHash( " + _config.allowDomainHash) + " )")); } private function _generateUserDataHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + _info.appName); _local1 = (_local1 + _info.appVersion); _local1 = (_local1 + _info.language); _local1 = (_local1 + _info.platform); _local1 = (_local1 + _info.userAgent.toString()); _local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth)); _local1 = (_local1 + _info.referrer); return (Utils.generateHash(_local1)); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _config.organic.addIgnoredKeyword(_arg1); } public function setLocalRemoteServerMode():void{ _config.serverMode = ServerOperationMode.both; _debug.info("setLocalRemoteServerMode()"); } public function cookiePathCopy(_arg1:String):void{ _debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented")); } public function setDetectTitle(_arg1:Boolean):void{ _config.detectTitle = _arg1; _debug.info((("setDetectTitle( " + _config.detectTitle) + " )")); } public function setCampTermKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCTR = _arg1; _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCTR]")); } else { _debug.info(_local2); }; } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_config.serverMode); } public function setCampNOKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCNO = _arg1; _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCNO]")); } else { _debug.info(_local2); }; } private function _trackMetrics(_arg1:String=""):void{ var _local2:Variables; var _local3:Variables; var _local4:Variables; var _local5:EventInfo; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; if (((_x10Module) && (_x10Module.hasData()))){ _local5 = new EventInfo(false, _x10Module); _local3 = _local5.toVariables(); }; _local4 = _renderMetricsSearchVariables(_arg1); _local2.join(_local3, _local4); _gifRequest.send(_account, _local2); }; } public function setCampaignTrack(_arg1:Boolean):void{ _config.campaignTracking = _arg1; _debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )")); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _config.organic.addIgnoredReferral(_arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _config.organic.clearEngines(); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_config.detectFlash); } public function setCampMediumKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCMD = _arg1; _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCMD]")); } else { _debug.info(_local2); }; } private function _getUniqueSessionId():Number{ var _local1:Number; _local1 = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647); _debug.info(("Session ID: " + _local1), VisualDebugMode.geek); return (_local1); } private function _getDomainHash():Number{ if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){ _config.domainName = ""; return (1); }; _updateDomainName(); if (_config.allowDomainHash){ return (Utils.generateHash(_config.domainName)); }; return (1); } public function setSessionTimeout(_arg1:int):void{ _config.sessionTimeout = _arg1; _debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )")); } public function getAccount():String{ _debug.info("getAccount()"); return (_account); } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } public function setRemoteServerMode():void{ _config.serverMode = ServerOperationMode.remote; _debug.info("setRemoteServerMode()"); } } }//package com.google.analytics.v4
Section 138
//AnalyticsTracker (com.google.analytics.AnalyticsTracker) package com.google.analytics { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher { function set config(_arg1:Configuration):void; function isReady():Boolean; function get mode():String; function set debug(_arg1:DebugConfiguration):void; function get account():String; function set mode(_arg1:String):void; function get config():Configuration; function get debug():DebugConfiguration; function set account(_arg1:String):void; function get visualDebug():Boolean; function set visualDebug(_arg1:Boolean):void; } }//package com.google.analytics
Section 139
//API (com.google.analytics.API) package com.google.analytics { import com.google.analytics.utils.*; public class API { public static var version:Version = new Version(); version.major = 1; version.minor = 0; version.build = 1; version.revision = "$Rev: 234 $ ".split(" ")[1]; } }//package com.google.analytics
Section 140
//GATracker (com.google.analytics.GATracker) package com.google.analytics { import flash.display.*; import flash.events.*; import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; import com.google.analytics.events.*; public class GATracker implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; private var _visualDebug:Boolean; private var _idleTimer:IdleTimer; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _config:Configuration; private var _mode:String; private var _display:DisplayObject; private var _jsproxy:JavascriptProxy; private var _dom:HTMLDOM; private var _eventDispatcher:EventDispatcher; private var _ready:Boolean;// = false private var _gifRequest:GIFRequest; private var _account:String; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public static var autobuild:Boolean = true; public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){ _ready = false; super(); _display = _arg1; _eventDispatcher = new EventDispatcher(this); _tracker = new TrackerCache(); this.account = _arg2; this.mode = _arg3; this.visualDebug = _arg4; if (!_arg6){ this.debug = new DebugConfiguration(); }; if (!_arg5){ this.config = new Configuration(_arg6); }; if (autobuild){ _factory(); }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4)); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function trackTrans():void{ _tracker.trackTrans(); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function dispatchEvent(_arg1:Event):Boolean{ return (_eventDispatcher.dispatchEvent(_arg1)); } public function get config():Configuration{ return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function get debug():DebugConfiguration{ return (_debug); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function set account(_arg1:String):void{ _account = _arg1; } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function build():void{ if (!isReady()){ _factory(); }; } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8)); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function willTrigger(_arg1:String):Boolean{ return (_eventDispatcher.willTrigger(_arg1)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function isReady():Boolean{ return (_ready); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function get mode():String{ return (_mode); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function getVersion():String{ return (_tracker.getVersion()); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory():void{ var _local1:GoogleAnalyticsAPI; var _local2:TrackerCache; _jsproxy = new JavascriptProxy(debug); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; _local2 = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local1 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local1 = _trackerFactory(); }; if (!_local2.isEmpty()){ _local2.tracker = _local1; _local2.flush(); }; _tracker = _local1; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense)); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function clearOrganic():void{ _tracker.clearOrganic(); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function get visualDebug():Boolean{ return (_visualDebug); } public function getAccount():String{ return (_tracker.getAccount()); } public function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics
Section 141
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 142
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 143
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 144
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { function setMode(_arg1:String):void; function submit(_arg1:Number, _arg2:String=null):void; function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 145
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { function getPlayerInfo(_arg1:Function):void; function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 146
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { function submitArray(_arg1:Array):void; function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 147
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { function getName():String; function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 148
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 149
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 150
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 151
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.display.*; import flash.events.*; public interface IAPIBootstrap { function init(_arg1:Event=null, _arg2:Stage=null):void; function hideLog():void; function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 152
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.display.*; import flash.events.*; import com.kongregate.as3.client.services.*; import flash.net.*; import flash.system.*; import com.kongregate.as3.client.events.*; import flash.utils.*; import flash.errors.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 153
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import flash.display.*; import gs.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _target:Object; protected var _visible:Boolean; protected var _tween:TweenLite; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ super(); this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function killProps($lookup:Object):void{ super.killProps($lookup); _tweenVisible = !(Boolean(("visible" in $lookup))); } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _tween = $tween; _visible = Boolean(!(($value == 0))); _tweenVisible = true; addTween($target, "alpha", $target.alpha, $value, "alpha"); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } } }//package gs.plugins
Section 154
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import flash.display.*; import gs.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _a:Array; protected var _info: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"]; } public function init($start:Array, $end:Array):void{ _a = $start; var i:int = ($end.length - 1); while (i > -1) { if (((!(($start[i] == $end[i]))) && (!(($start[i] == null))))){ _info[_info.length] = new ArrayTweenInfo(i, _a[i], ($end[i] - _a[i])); }; i--; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((!(($target is Array))) || (!(($value is Array))))){ return (false); }; init(($target as Array), $value); return (true); } override public function set changeFactor($n:Number):void{ var i:int; var ti:ArrayTweenInfo; var val:Number; var neg:int; if (this.round){ i = (_info.length - 1); while (i > -1) { ti = _info[i]; val = (ti.start + (ti.change * $n)); neg = ((val)<0) ? -1 : 1; _a[ti.index] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val); i--; }; } else { i = (_info.length - 1); while (i > -1) { ti = _info[i]; _a[ti.index] = (ti.start + (ti.change * $n)); i--; }; }; } } }//package gs.plugins
Section 155
//FrameLabelPlugin (gs.plugins.FrameLabelPlugin) package gs.plugins { import flash.display.*; import gs.*; public class FrameLabelPlugin extends FramePlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function FrameLabelPlugin(){ super(); this.propName = "frameLabel"; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ var i:int; if ((!($tween.target) is MovieClip)){ return (false); }; _target = ($target as MovieClip); var labels:Array = _target.currentLabels; var label:String = $value; var endFrame:int = _target.currentFrame; i = (labels.length - 1); while (i > -1) { if (labels[i].name == label){ endFrame = labels[i].frame; break; }; i--; }; if (_target.currentFrame != endFrame){ addTween(this, "frame", _target.currentFrame, endFrame, "frame"); }; return (true); } } }//package gs.plugins
Section 156
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import flash.display.*; import gs.*; public class FramePlugin extends TweenPlugin { protected var _target:MovieClip; public var frame:int; public static const VERSION:Number = 1; public static const API:Number = 1; public function FramePlugin(){ super(); this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((!(($target is MovieClip))) || (isNaN($value)))){ return (false); }; _target = ($target as MovieClip); addTween(this, "frame", _target.currentFrame, $value, "frame"); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); _target.gotoAndStop(this.frame); } } }//package gs.plugins
Section 157
//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(){ super(); this.propName = "removeTint"; } } }//package gs.plugins
Section 158
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.geom.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _target:DisplayObject; protected var _ct:ColorTransform; public static const VERSION:Number = 1.01; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ super(); this.propName = "tint"; this.overwriteProps = ["tint"]; } public function init($target:DisplayObject, $end:ColorTransform):void{ var i:int; var p:String; _target = $target; _ct = _target.transform.colorTransform; i = (_props.length - 1); while (i > -1) { p = _props[i]; if (_ct[p] != $end[p]){ _tweens[_tweens.length] = new TweenInfo(_ct, p, _ct[p], ($end[p] - _ct[p]), "tint", false); }; i--; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (!($target is DisplayObject)){ return (false); }; var end:ColorTransform = new ColorTransform(); if (((!(($value == null))) && (!(($tween.exposedVars.removeTint == true))))){ end.color = uint($value); }; if (((!(($tween.exposedVars.alpha == undefined))) || (!(($tween.exposedVars.autoAlpha == undefined))))){ end.alphaMultiplier = (($tween.exposedVars.alpha)!=undefined) ? $tween.exposedVars.alpha : $tween.exposedVars.autoAlpha; $tween.killVars({alpha:1, autoAlpha:1}); } else { end.alphaMultiplier = $target.alpha; }; init(($target as DisplayObject), end); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); _target.transform.colorTransform = _ct; } } }//package gs.plugins
Section 159
//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 propName:String; public var onComplete:Function; public var round:Boolean; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; super(); } protected function updateTweens($changeFactor:Number):void{ var i:int; var ti:TweenInfo; var val:Number; var neg:int; if (this.round){ i = (_tweens.length - 1); while (i > -1) { ti = _tweens[i]; val = (ti.start + (ti.change * $changeFactor)); neg = ((val)<0) ? -1 : 1; ti.target[ti.property] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val); i--; }; } else { i = (_tweens.length - 1); while (i > -1) { ti = _tweens[i]; ti.target[ti.property] = (ti.start + (ti.change * $changeFactor)); i--; }; }; } public function set changeFactor($n:Number):void{ updateTweens($n); _changeFactor = $n; } protected function addTween($object:Object, $propName:String, $start:Number, $end, $overwriteProp:String=null):void{ var change:Number; if ($end != null){ change = ((typeof($end))=="number") ? ($end - $start) : Number($end); if (change != 0){ _tweens[_tweens.length] = new TweenInfo($object, $propName, $start, change, (($overwriteProp) || ($propName)), false); }; }; } public function killProps($lookup:Object):void{ var i:int; i = (this.overwriteProps.length - 1); while (i > -1) { if ((this.overwriteProps[i] in $lookup)){ this.overwriteProps.splice(i, 1); }; i--; }; i = (_tweens.length - 1); while (i > -1) { if ((_tweens[i].name in $lookup)){ _tweens.splice(i, 1); }; i--; }; } public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ addTween($target, this.propName, $target[this.propName], $value, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate($plugins:Array):Boolean{ var i:int; var instance:Object; i = ($plugins.length - 1); while (i > -1) { instance = new ($plugins[i]); TweenLite.plugins[instance.propName] = $plugins[i]; i--; }; return (true); } } }//package gs.plugins
Section 160
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import flash.display.*; import gs.*; public class VisiblePlugin extends TweenPlugin { protected var _target:Object; protected var _visible:Boolean; protected var _tween:TweenLite; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ super(); this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _tween = $tween; _visible = Boolean($value); return (true); } override public function set changeFactor($n:Number):void{ if (_target.visible != true){ _target.visible = true; }; } } }//package gs.plugins
Section 161
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _target:Object; protected var _st:SoundTransform; public static const VERSION:Number = 1; public static const API:Number = 1; public function VolumePlugin(){ super(); this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((isNaN($value)) || (!($target.hasOwnProperty("soundTransform"))))){ return (false); }; _target = $target; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, $value, "volume"); return (Boolean(!((_tweens.length == 0)))); } override public function set changeFactor($n:Number):void{ updateTweens($n); _target.soundTransform = _st; } } }//package gs.plugins
Section 162
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var change:Number; public var start:Number; public var index:uint; public function ArrayTweenInfo($index:uint, $start:Number, $change:Number){ super(); this.index = $index; this.start = $start; this.change = $change; } } }//package gs.utils.tween
Section 163
//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($target:Object, $property:String, $start:Number, $change:Number, $name:String, $isPlugin:Boolean){ super(); this.target = $target; this.property = $property; this.start = $start; this.change = $change; this.name = $name; this.isPlugin = $isPlugin; } } }//package gs.utils.tween
Section 164
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import gs.plugins.*; import flash.utils.*; import gs.utils.tween.*; public class TweenLite { public var started:Boolean; public var delay:Number; protected var _hasUpdate:Boolean; protected var _hasPlugins: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 tweens:Array; public var vars:Object; public var ease:Function; public var exposedVars:Object; public var initTime:Number; public var combinedTimeScale: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($target:Object, $duration:Number, $vars:Object){ super(); if ($target == 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 = $vars; this.duration = (($duration) || (0.001)); this.delay = (($vars.delay) || (0)); this.combinedTimeScale = (($vars.timeScale) || (1)); this.active = Boolean(((($duration == 0)) && ((this.delay == 0)))); this.target = $target; 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)); var mode:int = (((($vars.overwrite == undefined)) || (((!(overwriteManager.enabled)) && (($vars.overwrite > 1)))))) ? overwriteManager.mode : int($vars.overwrite); if (((!(($target in masterList))) || ((mode == 1)))){ masterList[$target] = [this]; } else { masterList[$target].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 get enabled():Boolean{ return ((this.gc) ? false : true); } public function set enabled($b:Boolean):void{ var a:Array; var found:Boolean; var i:int; if ($b){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { a = masterList[this.target]; i = (a.length - 1); while (i > -1) { if (a[i] == this){ found = true; break; }; i--; }; if (!found){ a[a.length] = this; }; }; }; this.gc = ($b) ? 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($t:uint):void{ var factor:Number; var ti:TweenInfo; var i:int; var time:Number = (($t - this.startTime) * 0.001); if (time >= this.duration){ time = this.duration; factor = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { factor = this.ease(time, 0, 1, this.duration); }; i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; ti.target[ti.property] = (ti.start + (factor * ti.change)); i--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (time == 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 initTweenVals():void{ var p:String; var i:int; var plugin:*; var ti: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 (p in this.exposedVars) { if ((p in _reservedProps)){ } else { if ((p in plugins)){ plugin = new (plugins[p]); if (plugin.onInitTween(this.target, this.exposedVars[p], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false); } else { this.tweens[this.tweens.length] = new TweenInfo(plugin, "changeFactor", 0, 1, ((plugin.overwriteProps.length)==1) ? plugin.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false); }; }; }; if (this.vars.runBackwards == true){ i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; ti.start = (ti.start + ti.change); ti.change = -(ti.change); i--; }; }; 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($t:Number, $b:Number, $c:Number, $d:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars($vars:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars($vars, this.exposedVars, this.tweens); }; } public function complete($skipRender:Boolean=false):void{ var i:int; if (!$skipRender){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ i = (this.tweens.length - 1); while (i > -1) { if (((this.tweens[i].isPlugin) && (!((this.tweens[i].target.onComplete == null))))){ this.tweens[i].target.onComplete(); }; i--; }; }; 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($e:Event=null):void{ var a:Array; var i:int; var tween:TweenLite; var time:uint = (currentTime = getTimer()); var ml:Dictionary = masterList; for each (a in ml) { i = (a.length - 1); while (i > -1) { tween = a[i]; if (tween.active){ tween.render(time); } else { if (tween.gc){ a.splice(i, 1); } else { if (time >= tween.startTime){ tween.activate(); tween.render(time); }; }; }; i--; }; }; } public static function removeTween($tween:TweenLite, $clear:Boolean=true):void{ if ($tween != null){ if ($clear){ $tween.clear(); }; $tween.enabled = false; }; } public static function killTweensOf($target:Object=null, $complete:Boolean=false):void{ var a:Array; var i:int; var tween:TweenLite; if (((!(($target == null))) && (($target in masterList)))){ a = masterList[$target]; i = (a.length - 1); while (i > -1) { tween = a[i]; if ((($complete) && (!(tween.gc)))){ tween.complete(false); }; tween.clear(); i--; }; delete masterList[$target]; }; } public static function from($target:Object, $duration:Number, $vars:Object):TweenLite{ $vars.runBackwards = true; return (new TweenLite($target, $duration, $vars)); } public static function easeOut($t:Number, $b:Number, $c:Number, $d:Number):Number{ $t = ($t / $d); return ((((-($c) * $t) * ($t - 2)) + $b)); } protected static function killGarbage($e:TimerEvent):void{ var tgt:Object; var ml:Dictionary = masterList; for (tgt in ml) { if (ml[tgt].length == 0){ delete ml[tgt]; }; }; } public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null):TweenLite{ return (new TweenLite($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, overwrite:0})); } public static function to($target:Object, $duration:Number, $vars:Object):TweenLite{ return (new TweenLite($target, $duration, $vars)); } } }//package gs
Section 165
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){ super(); this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 166
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMovieClip(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 167
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexSprite(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 168
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 169
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 170
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(void:Point):Point; function get name():String; function set width(flash.display:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(flash.display:String):void; function set scaleX(flash.display:Number):void; function set scaleY(flash.display:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(flash.display:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(void:Point):Point; function get height():Number; function set blendMode(flash.display:String):void; function get parent():DisplayObjectContainer; function getBounds(String:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(flash.display:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(flash.display:Number):void; function set accessibilityProperties(flash.display:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(flash.display:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(flash.display:Number):void; function set mask(flash.display:DisplayObject):void; function getRect(String:DisplayObject):Rectangle; function get alpha():Number; function set transform(flash.display:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean; function set opaqueBackground(flash.display:Object):void; function set visible(flash.display:Boolean):void; function get mask():DisplayObject; function set x(flash.display:Number):void; function set y(flash.display:Number):void; function get transform():Transform; function set filters(flash.display:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(flash.display:Number):void; function get stage():Stage; } }//package mx.core
Section 171
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get isDocument():Boolean; function set repeaters(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function initializeRepeaterArrays(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 172
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 173
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 174
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; public function SoundAsset(){ super(); } } }//package mx.core
Section 175
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function SpriteAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 176
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public function NameUtil(){ super(); } public static function displayObjectToString(displayObject:DisplayObject):String{ var result:String; var s:String; var indices:Array; var o:DisplayObject = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; return (result); } public static function createUniqueName(object:Object):String{ if (!object){ return (null); }; var name:String = getQualifiedClassName(object); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; var charCode:int = name.charCodeAt((name.length - 1)); if ((((charCode >= 48)) && ((charCode <= 57)))){ name = (name + "_"); }; return ((name + counter++)); } } }//package mx.utils
Section 177
//Main (Main) package { import com.kongregate.as3.client.*; import flash.display.*; import classes.zoneout.*; import flash.events.*; public class Main extends Sprite { private static var __parent:DisplayObject; private static var instance:Main; private static var initObj:Init; private static var kongregate:KongregateAPI; private static var stage:Stage; public function Main(){ super(); if (instance){ throw (new Error("Singleton and can only be accessed through Singleton.getInstance()")); }; instance = this; this.alpha = 0; waiting(); } public function getInitObj():Init{ return (initObj); } public function getMainMovie():DisplayObject{ return (__parent); } public function getKongregate():KongregateAPI{ return (kongregate); } private function mainAddedToStage(e:Event):void{ stage = this.stage; kongregate = new KongregateAPI(); stage.addChild(kongregate); __parent = this.root; initObj = new Init(); } override public function toString():String{ return ("Main"); } public function waiting():void{ addEventListener(Event.ADDED_TO_STAGE, mainAddedToStage); } public function getStage():Stage{ return (stage); } public static function getInstance():Main{ return (instance); } } }//package
Section 178
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class Preloader extends MovieClip { private var logoClassInstance:Object; private var content:Sprite; private var logoClass:Class; public function Preloader(){ super(); this.content = new Sprite(); this.addChild(content); stop(); stage.showDefaultContextMenu = false; stage.scaleMode = StageScaleMode.NO_SCALE; addEventListener(Event.ENTER_FRAME, mainloop); } private function triggerLogo():void{ logoClass = (getDefinitionByName("PreloaderLogo") as Class); if (logoClass){ logoClassInstance = new logoClass(); this.content.addChild((logoClassInstance as DisplayObject)); logoClassInstance.initialBytesLoaded = this.loaderInfo.bytesLoaded; if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal){ logoClassInstance.onComplete(); }; this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, logoClassInstance.progressHandler); this.loaderInfo.addEventListener(Event.COMPLETE, logoClassInstance.onComplete); this.logoClassInstance.addEventListener(Event.COMPLETE, onReady); }; } private function triggerGame():void{ var app:Object; var main:Class = (getDefinitionByName("Main") as Class); if (main){ app = new (main); this.content.addChild((app as DisplayObject)); app.waiting(); logoClassInstance.dispose(); }; } private function onReady(e:Event=null):void{ nextFrame(); triggerGame(); } private function mainloop(e:Event):void{ if (framesLoaded >= 2){ nextFrame(); triggerLogo(); removeEventListener(Event.ENTER_FRAME, mainloop); }; } } }//package
Section 179
//PreloaderLogo (PreloaderLogo) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class PreloaderLogo extends Sprite { private var animation:MovieClip; private var introComplete:Boolean; public var animCompletedFlag:Boolean;// = false private var timer:Timer; private var rows:Array; private var percent:Number; private var progressAnim:MovieClip; private var animMC:Class; private var percentLoaded:Number; public var initialBytesLoaded:Number; private var increment:Number;// = 14 private var percentTimed:Number; private var loadComplete:Boolean; public function PreloaderLogo(){ animMC = PreloaderLogo_animMC; super(); animation = new animMC(); introComplete = false; loadComplete = false; this.initialBytesLoaded = 0; this.percentTimed = 0; this.percent = 0; this.percentLoaded = 0; parseProgressAnim(); waiting(); this.animation.scaleX = (this.animation.scaleY = 0.5); this.animation.x = ((700 / 2) - (this.animation.width / 2)); this.animation.y = ((422 / 2) - (this.animation.height / 2)); } private function waitingForReady(e:Event):void{ if (this.animation.currentFrame == 20){ this.timer = new Timer(40); this.timer.addEventListener(TimerEvent.TIMER, onTimeTick); this.timer.start(); this.progressAnim.visible = true; animation.removeEventListener(Event.ENTER_FRAME, waitingForReady); this.introComplete = true; this.animation.stop(); isReady(); }; } private function onTimeTick(e:TimerEvent):void{ this.percentTimed = (this.percentTimed + 0.02); if (percentTimed >= 1){ percentTimed = 1; this.timer.removeEventListener(TimerEvent.TIMER, onTimeTick); }; updateTime(); } public function waiting():void{ addEventListener(Event.ADDED_TO_STAGE, logoAddedToStage); } private function stopAtEnd(e:Event):void{ if (e.target.currentFrame == e.target.totalFrames){ e.target.stop(); e.target.removeEventListener(Event.ENTER_FRAME, stopAtEnd); }; } private function waitingToEnd(e:Event):void{ var event:Event; if (animation.currentFrame == animation.totalFrames){ animation.gotoAndStop(animation.totalFrames); animation.removeEventListener(Event.ENTER_FRAME, waitingToEnd); animCompletedFlag = true; event = new Event(Event.COMPLETE); dispatchEvent(event); }; } public function dispose():void{ stage.removeChild(animation); } private function isReady():void{ if (((loadComplete) && (introComplete))){ animation.addEventListener(Event.ENTER_FRAME, waitingToEnd); animation.play(); }; } private function logoAddedToStage(e:Event):void{ stage.addChild(animation); this.animation.gotoAndPlay(1); animation.addEventListener(Event.ENTER_FRAME, waitingForReady); } private function parseProgressAnim():void{ var i:int; var row:MovieClip; progressAnim = this.animation["progressAnim"]; animation.stop(); progressAnim.stop(); progressAnim.visible = false; this.rows = new Array(); this.rows.push(progressAnim["one"]); this.rows.push(progressAnim["two"]); this.rows.push(progressAnim["three"]); this.rows.push(progressAnim["four"]); this.rows.push(progressAnim["five"]); this.rows.push(progressAnim["six"]); var l:int = this.rows.length; while (i < l) { row = this.rows[i]; row.stop(); row["cell"].stop(); i++; }; } public function progressHandler(e:ProgressEvent):void{ this.percentLoaded = ((e.bytesLoaded - this.initialBytesLoaded) / (e.bytesTotal - this.initialBytesLoaded)); updateTime(); } private function updateTime():void{ var pos:int; var check:Number; var row:MovieClip; this.percent = Math.round((Math.min(this.percentLoaded, this.percentTimed) * 100)); if (percent >= 100){ this.loadComplete = true; isReady(); } else { if (this.rows.length > 0){ pos = (7 - this.rows.length); check = (this.increment * pos); if (check <= percent){ row = this.rows.shift(); row.cell.addEventListener(Event.ENTER_FRAME, stopAtEnd); row.cell.play(); }; }; }; } public function onComplete(e:Event=null):void{ this.percentLoaded = 1; updateTime(); } } }//package
Section 180
//PreloaderLogo_animMC (PreloaderLogo_animMC) package { import flash.display.*; import mx.core.*; public class PreloaderLogo_animMC extends MovieClipAsset { public var cell:DisplayObject; public var progressAnim:DisplayObject; public var one:DisplayObject; public var six:DisplayObject; public var four:DisplayObject; public var five:DisplayObject; public var Masker:DisplayObject; public var two:DisplayObject; public var three:DisplayObject; } }//package
Section 181
//Web (Web) package { import flash.net.*; public class Web { public function Web(){ super(); } public static function getURL(url:String, window:String=null):void{ var url = url; var window = window; var req:URLRequest = new URLRequest(url); navigateToURL(req, window); //unresolved jump var _slot1 = e; trace(("Navigate to URL failed " + _slot1.message)); } } }//package

Library Items

Symbol 1 BitmapUsed by:3 12 548
Symbol 2 BitmapUsed by:3 5 530
Symbol 3 GraphicUses:1 2Used by:4
Symbol 4 MovieClipUses:3Used by:23
Symbol 5 GraphicUses:2Used by:13 22
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:6Used by:11 21
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:10 72 503 504 505 506 507 508 533
Symbol 10 MovieClipUses:9Used by:11
Symbol 11 MovieClipUses:7 10Used by:13
Symbol 12 GraphicUses:1Used by:13 22
Symbol 13 MovieClipUses:5 11 12Used by:23
Symbol 14 FontUsed by:15 18 215 289 291 359 360 361 362 382
Symbol 15 TextUses:14Used by:16
Symbol 16 MovieClipUses:15Used by:17
Symbol 17 MovieClipUses:16Used by:23
Symbol 18 TextUses:14Used by:19
Symbol 19 MovieClipUses:18Used by:20
Symbol 20 MovieClipUses:19Used by:23
Symbol 21 MovieClipUses:7Used by:22
Symbol 22 MovieClipUses:5 21 12Used by:23
Symbol 23 MovieClip {PreloaderLogo_animMC} [animMC]Uses:4 13 17 20 22
Symbol 24 MovieClip {com.kongregate.as3.client.KongregateAPI} [com.kongregate.as3.client.KongregateAPI]
Symbol 25 BitmapUsed by:26
Symbol 26 GraphicUses:25Used by:35
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:27Used by:35
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:35
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:31Used by:35
Symbol 33 BitmapUsed by:34
Symbol 34 GraphicUses:33Used by:35
Symbol 35 MovieClip {classes.zoneout.PlayFieldHandler_backgroundMC} [backgroundMC]Uses:26 28 30 32 34
Symbol 36 Sound {classes.zoneout.SoundHandler_whooshSFX} [whooshSFX]
Symbol 37 Sound {classes.zoneout.SoundHandler_backgroundNoiseSFX} [backgroundNoiseSFX]
Symbol 38 Sound {classes.zoneout.SoundHandler_rowLostSFX} [rowLostSFX]
Symbol 39 Sound {classes.zoneout.SoundHandler_cardExplodingSFX} [cardExplodingSFX]
Symbol 40 Sound {classes.zoneout.SoundHandler_buttonClickSFX} [buttonClickSFX]
Symbol 41 Sound {classes.zoneout.SoundHandler_completedSFX} [completedSFX]
Symbol 42 Sound {classes.zoneout.SoundHandler_cellFilledSFX} [cellFilledSFX]
Symbol 43 Sound {classes.zoneout.SoundHandler_cardThrownSFX} [cardThrownSFX]
Symbol 44 Sound {classes.zoneout.SoundHandler_pickUpSFX} [pickUpSFX]
Symbol 45 GraphicUsed by:48 384 407 409 411 482
Symbol 46 FontUsed by:47 49 50 73 75 77 78 80 81 83 84 110 111 112 114 117 118 169 187 194 196 197 199 200 215 223 224 226 227 229 230 248 250 251 253 271 287 288 289 290 291 293 294 295 296 298 299 303 304 305 307 310 313 314 315 316 317 318 319 328 329 347 348 359 360 361 362 373 374 376 377 379 380 382 385 386 388 389 391 392 406 408 410 458 459 460 462 464 465 466
Symbol 47 TextUses:46Used by:48
Symbol 48 MovieClipUses:45 47Used by:105
Symbol 49 TextUses:46Used by:51
Symbol 50 TextUses:46Used by:51
Symbol 51 MovieClipUses:49 50Used by:105
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:54
Symbol 54 MovieClipUses:53Used by:72
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:72
Symbol 57 GraphicUsed by:58 183 274
Symbol 58 MovieClipUses:57Used by:72
Symbol 59 GraphicUsed by:72
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClipUses:60Used by:72
Symbol 62 FontUsed by:63 109 115 119 175 179 219 244 267 277 282 352 356 425 467 510
Symbol 63 TextUses:62Used by:72
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClipUses:64Used by:72
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClipUses:66Used by:72 503 504 505 506 507 508
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68Used by:72 503 504 505 506 507 508
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:72
Symbol 72 MovieClipUses:54 56 58 59 61 63 65 9 67 69 71Used by:105
Symbol 73 TextUses:46Used by:74
Symbol 74 MovieClipUses:73Used by:76
Symbol 75 TextUses:46Used by:76
Symbol 76 MovieClipUses:74 75Used by:105
Symbol 77 TextUses:46Used by:79
Symbol 78 TextUses:46Used by:79
Symbol 79 MovieClipUses:77 78Used by:105
Symbol 80 TextUses:46Used by:82
Symbol 81 TextUses:46Used by:82
Symbol 82 MovieClipUses:80 81Used by:105
Symbol 83 TextUses:46Used by:85
Symbol 84 TextUses:46Used by:85
Symbol 85 MovieClipUses:83 84Used by:105
Symbol 86 GraphicUsed by:104 292 349
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:104 292 349
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClipUses:89Used by:104 292 349
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:104 292 349
Symbol 93 GraphicUsed by:104 292 349
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClipUses:94Used by:104 292 349
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:104 292 349
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98Used by:104 292 349
Symbol 100 GraphicUsed by:104 292 349
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:101Used by:104 292 349
Symbol 103 GraphicUsed by:104 292 349
Symbol 104 MovieClipUses:86 88 90 92 93 95 97 99 100 102 103Used by:105
Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC]Uses:48 51 72 76 79 82 85 104
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:108
Symbol 108 MovieClipUses:107Used by:349
Symbol 109 TextUses:62Used by:113 195 225 249
Symbol 110 TextUses:46Used by:113
Symbol 111 TextUses:46Used by:113
Symbol 112 TextUses:46Used by:113
Symbol 113 MovieClipUses:109 110 111 112Used by:166 241
Symbol 114 TextUses:46Used by:116
Symbol 115 TextUses:62Used by:116 198 228 252
Symbol 116 MovieClipUses:114 115Used by:166
Symbol 117 TextUses:46Used by:120
Symbol 118 TextUses:46Used by:120
Symbol 119 TextUses:62Used by:120 201 231 254
Symbol 120 MovieClipUses:117 118 119Used by:166
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:123
Symbol 123 MovieClipUses:122Used by:166
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:126
Symbol 126 MovieClipUses:125Used by:166 297
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:129
Symbol 129 MovieClipUses:128Used by:166
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:132
Symbol 132 MovieClipUses:131Used by:166
Symbol 133 BitmapUsed by:134
Symbol 134 GraphicUses:133Used by:135
Symbol 135 MovieClipUses:134Used by:166
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:138
Symbol 138 MovieClipUses:137Used by:166
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 MovieClipUses:140Used by:166
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:144
Symbol 144 MovieClipUses:143Used by:166
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:147
Symbol 147 MovieClipUses:146Used by:166
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:150
Symbol 150 MovieClipUses:149Used by:166
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:153
Symbol 153 MovieClipUses:152Used by:166
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:156
Symbol 156 MovieClipUses:155Used by:166
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:159
Symbol 159 MovieClipUses:158Used by:166
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:162
Symbol 162 MovieClipUses:161Used by:166
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:165
Symbol 165 MovieClipUses:164Used by:166
Symbol 166 MovieClipUses:113 116 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165Used by:349
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:349
Symbol 169 TextUses:46Used by:349
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:349
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:174
Symbol 174 MovieClipUses:173Used by:176
Symbol 175 TextUses:62Used by:176
Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]Uses:174 175Used by:349
Symbol 177 GraphicUsed by:178 181
Symbol 178 MovieClipUses:177Used by:186 353
Symbol 179 TextUses:62Used by:186
Symbol 180 GraphicUsed by:186
Symbol 181 MovieClipUses:177Used by:182
Symbol 182 MovieClipUses:181Used by:186 222 247 270 285 353
Symbol 183 MovieClipUses:57Used by:186 222 247 270 285
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClipUses:184Used by:186 222 247 270 285
Symbol 186 MovieClipUses:178 179 180 182 183 185Used by:349
Symbol 187 TextUses:46Used by:349
Symbol 188 FontUsed by:189 192 193 332 333 334 335 412 416 418 419 421 422
Symbol 189 EditableTextUses:188 477Used by:349
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:349
Symbol 192 TextUses:188Used by:349
Symbol 193 TextUses:188Used by:349
Symbol 194 TextUses:46Used by:195
Symbol 195 MovieClipUses:109 194Used by:214
Symbol 196 TextUses:46Used by:198
Symbol 197 TextUses:46Used by:198
Symbol 198 MovieClipUses:196 115 197Used by:214
Symbol 199 TextUses:46Used by:201
Symbol 200 TextUses:46Used by:201
Symbol 201 MovieClipUses:199 200 119Used by:214
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:204
Symbol 204 MovieClipUses:203Used by:214
Symbol 205 BitmapUsed by:206 308
Symbol 206 GraphicUses:205Used by:207
Symbol 207 MovieClipUses:206Used by:214
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:210
Symbol 210 MovieClipUses:209Used by:214
Symbol 211 BitmapUsed by:212
Symbol 212 GraphicUses:211Used by:213
Symbol 213 MovieClipUses:212Used by:214
Symbol 214 MovieClipUses:195 198 201 204 207 210 213Used by:349
Symbol 215 EditableTextUses:14 46Used by:216
Symbol 216 MovieClipUses:215Used by:349
Symbol 217 GraphicUsed by:222
Symbol 218 GraphicUsed by:222
Symbol 219 TextUses:62Used by:222
Symbol 220 GraphicUsed by:222
Symbol 221 GraphicUsed by:222
Symbol 222 MovieClipUses:182 183 217 185 218 219 220 221Used by:349
Symbol 223 TextUses:46Used by:349
Symbol 224 TextUses:46Used by:225
Symbol 225 MovieClipUses:109 224Used by:241
Symbol 226 TextUses:46Used by:228
Symbol 227 TextUses:46Used by:228
Symbol 228 MovieClipUses:226 115 227Used by:241
Symbol 229 TextUses:46Used by:231
Symbol 230 TextUses:46Used by:231
Symbol 231 MovieClipUses:229 230 119Used by:241
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:234
Symbol 234 MovieClipUses:233Used by:241
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:237
Symbol 237 MovieClipUses:236Used by:241
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:240
Symbol 240 MovieClipUses:239Used by:241
Symbol 241 MovieClipUses:225 228 231 234 113 237 240Used by:349
Symbol 242 GraphicUsed by:247
Symbol 243 GraphicUsed by:247
Symbol 244 TextUses:62Used by:247
Symbol 245 GraphicUsed by:247
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:182 183 242 185 243 244 245 246Used by:349
Symbol 248 TextUses:46Used by:249
Symbol 249 MovieClipUses:109 248Used by:264
Symbol 250 TextUses:46Used by:252
Symbol 251 TextUses:46Used by:252
Symbol 252 MovieClipUses:250 115 251Used by:264
Symbol 253 TextUses:46Used by:254
Symbol 254 MovieClipUses:253 119Used by:264
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:257
Symbol 257 MovieClipUses:256Used by:264
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:260
Symbol 260 MovieClipUses:259Used by:264
Symbol 261 BitmapUsed by:262
Symbol 262 GraphicUses:261Used by:263
Symbol 263 MovieClipUses:262Used by:264
Symbol 264 MovieClipUses:249 252 254 257 260 263Used by:349
Symbol 265 GraphicUsed by:270
Symbol 266 GraphicUsed by:270
Symbol 267 TextUses:62Used by:270
Symbol 268 GraphicUsed by:270
Symbol 269 GraphicUsed by:270
Symbol 270 MovieClipUses:182 183 265 185 266 267 268 269Used by:349
Symbol 271 TextUses:46Used by:349
Symbol 272 GraphicUsed by:273
Symbol 273 MovieClipUses:272Used by:279
Symbol 274 MovieClipUses:57Used by:279
Symbol 275 GraphicUsed by:279
Symbol 276 GraphicUsed by:279
Symbol 277 TextUses:62Used by:279
Symbol 278 GraphicUsed by:279
Symbol 279 MovieClip {classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC} [challengeAFriendButtonMC]Uses:273 274 275 276 277 278Used by:349
Symbol 280 GraphicUsed by:285
Symbol 281 GraphicUsed by:285
Symbol 282 TextUses:62Used by:285
Symbol 283 GraphicUsed by:285
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:182 183 280 185 281 282 283 284Used by:349
Symbol 286 GraphicUsed by:349
Symbol 287 TextUses:46Used by:349
Symbol 288 TextUses:46Used by:349
Symbol 289 EditableTextUses:14 46Used by:349
Symbol 290 TextUses:46Used by:349
Symbol 291 EditableTextUses:14 46Used by:349
Symbol 292 MovieClipUses:86 88 90 92 93 95 97 99 100 102 103Used by:349
Symbol 293 TextUses:46Used by:349
Symbol 294 TextUses:46Used by:297
Symbol 295 TextUses:46Used by:297
Symbol 296 TextUses:46Used by:297
Symbol 297 MovieClipUses:294 295 126 296Used by:322
Symbol 298 TextUses:46Used by:322
Symbol 299 TextUses:46Used by:306
Symbol 300 BitmapUsed by:302
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:300 301Used by:306
Symbol 303 TextUses:46Used by:306
Symbol 304 TextUses:46Used by:306
Symbol 305 TextUses:46Used by:306
Symbol 306 MovieClipUses:299 302 303 304 305Used by:322
Symbol 307 TextUses:46Used by:309
Symbol 308 GraphicUses:205Used by:309
Symbol 309 MovieClipUses:307 308Used by:322
Symbol 310 TextUses:46Used by:322
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:322
Symbol 313 TextUses:46Used by:322
Symbol 314 TextUses:46Used by:322
Symbol 315 TextUses:46Used by:322
Symbol 316 TextUses:46Used by:322
Symbol 317 TextUses:46Used by:322
Symbol 318 TextUses:46Used by:322
Symbol 319 TextUses:46Used by:322
Symbol 320 BitmapUsed by:321
Symbol 321 GraphicUses:320Used by:322
Symbol 322 MovieClipUses:297 298 306 309 310 312 313 314 315 316 317 318 319 321Used by:349 415
Symbol 323 GraphicUsed by:324
Symbol 324 MovieClipUses:323Used by:349 415
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:327
Symbol 327 MovieClipUses:326Used by:349
Symbol 328 TextUses:46Used by:349
Symbol 329 TextUses:46Used by:349
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:349
Symbol 332 TextUses:188Used by:349
Symbol 333 TextUses:188Used by:349
Symbol 334 TextUses:188Used by:349
Symbol 335 TextUses:188Used by:349
Symbol 336 BitmapUsed by:337
Symbol 337 GraphicUses:336Used by:349
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:340
Symbol 340 MovieClipUses:339Used by:349
Symbol 341 FontUsed by:342 343 344 345 346
Symbol 342 EditableTextUses:341Used by:349
Symbol 343 EditableTextUses:341Used by:349
Symbol 344 EditableTextUses:341Used by:349
Symbol 345 EditableTextUses:341Used by:349
Symbol 346 EditableTextUses:341Used by:349
Symbol 347 EditableTextUses:46Used by:349
Symbol 348 EditableTextUses:46Used by:349
Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC]Uses:108 166 168 169 171 86 88 90 92 93 95 97 99 100 102 103 176 186 187 189 191 192 193 214 216 222 223 241 247 264 270 271 279 285 286 287 288 289 290 291 292 293 322 324 327 328 329 331 332 333 334 335 337 340 342 343 344 345 346 347 348
Symbol 350 GraphicUsed by:351
Symbol 351 MovieClip {classes.zoneout.attract.Attract_attractMaskMC} [attractMaskMC]Uses:350
Symbol 352 TextUses:62Used by:353
Symbol 353 MovieClip {classes.zoneout.attract.SendToAFriend_submitChallengeMC} [submitChallengeMC]Uses:178 352 182
Symbol 354 GraphicUsed by:355
Symbol 355 MovieClipUses:354Used by:358
Symbol 356 TextUses:62Used by:358
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClip {classes.zoneout.attract.SendToAFriend_addFriendButtonMC} [addFriendButtonMC]Uses:355 356 357
Symbol 359 EditableTextUses:14 46Used by:363
Symbol 360 EditableTextUses:14 46Used by:363
Symbol 361 EditableTextUses:14 46Used by:363
Symbol 362 EditableTextUses:14 46Used by:363
Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC]Uses:359 360 361 362
Symbol 364 GraphicUsed by:375 378 381 387 390 393
Symbol 365 GraphicUsed by:366
Symbol 366 MovieClipUses:365Used by:375 378 381 387 390 393
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClipUses:367Used by:375 378 381 387 390 393
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClipUses:369Used by:375 378 381 387 390 393
Symbol 371 GraphicUsed by:372
Symbol 372 MovieClipUses:371Used by:375 378 381 387 390 393
Symbol 373 TextUses:46Used by:375
Symbol 374 TextUses:46Used by:375
Symbol 375 MovieClip {classes.zoneout.attract.HiScorePlotter_monthScoreButtonMC} [monthScoreButtonMC]Uses:364 366 368 370 372 373 374
Symbol 376 TextUses:46Used by:378
Symbol 377 TextUses:46Used by:378
Symbol 378 MovieClip {classes.zoneout.attract.HiScorePlotter_hs_hazardModeButtonMC} [hs_hazardModeButtonMC]Uses:364 366 368 370 372 376 377
Symbol 379 TextUses:46Used by:381
Symbol 380 TextUses:46Used by:381
Symbol 381 MovieClip {classes.zoneout.attract.HiScorePlotter_weekScoreButtonMC} [weekScoreButtonMC]Uses:364 366 368 370 372 379 380
Symbol 382 EditableTextUses:14 46Used by:383
Symbol 383 MovieClip {classes.zoneout.attract.HiScorePlotter_localScoreMC} [localScoreMC]Uses:382
Symbol 384 MovieClip {classes.zoneout.attract.HiScorePlotter_buttonCoverMC} [buttonCoverMC]Uses:45
Symbol 385 TextUses:46Used by:387
Symbol 386 TextUses:46Used by:387
Symbol 387 MovieClip {classes.zoneout.attract.HiScorePlotter_allTimeScoreButtonMC} [allTimeScoreButtonMC]Uses:364 366 368 370 372 385 386
Symbol 388 TextUses:46Used by:390
Symbol 389 TextUses:46Used by:390
Symbol 390 MovieClip {classes.zoneout.attract.HiScorePlotter_todaysScoreButtonMC} [todaysScoreButtonMC]Uses:364 366 368 370 372 388 389
Symbol 391 TextUses:46Used by:393
Symbol 392 TextUses:46Used by:393
Symbol 393 MovieClip {classes.zoneout.attract.HiScorePlotter_hs_normalModeButtonMC} [hs_normalModeButtonMC]Uses:364 366 368 370 372 391 392
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClip {classes.zoneout.cards.CardHandler_cardScrollerMaskMC} [cardScrollerMaskMC]Uses:394
Symbol 396 GraphicUsed by:424
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:397Used by:424
Symbol 399 GraphicUsed by:400
Symbol 400 MovieClipUses:399Used by:424
Symbol 401 GraphicUsed by:424
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:402Used by:424
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:424
Symbol 406 TextUses:46Used by:407
Symbol 407 MovieClipUses:45 406Used by:424
Symbol 408 TextUses:46Used by:409
Symbol 409 MovieClipUses:45 408Used by:424
Symbol 410 TextUses:46Used by:411
Symbol 411 MovieClipUses:45 410Used by:424
Symbol 412 TextUses:188Used by:413
Symbol 413 MovieClipUses:412Used by:424
Symbol 414 MovieClipUsed by:424 470
Symbol 415 MovieClipUses:322 324Used by:424
Symbol 416 TextUses:188Used by:417
Symbol 417 MovieClipUses:416Used by:424
Symbol 418 TextUses:188Used by:420
Symbol 419 TextUses:188Used by:420
Symbol 420 MovieClipUses:418 419Used by:424
Symbol 421 TextUses:188Used by:423
Symbol 422 TextUses:188Used by:423
Symbol 423 MovieClipUses:421 422Used by:424
Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC]Uses:396 398 400 401 403 405 407 409 411 413 414 415 417 420 423
Symbol 425 TextUses:62Used by:426
Symbol 426 MovieClipUses:425Used by:427
Symbol 427 MovieClip {classes.zoneout.HUD_levelUpTweenMC} [levelUpTweenMC]Uses:426
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:430
Symbol 430 MovieClipUses:429Used by:431
Symbol 431 MovieClip {classes.zoneout.HUD_buttonMC} [buttonMC]Uses:430
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:436
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:436
Symbol 436 MovieClipUses:433 435Used by:470
Symbol 437 BitmapUsed by:438
Symbol 438 GraphicUses:437Used by:454 470
Symbol 439 GraphicUsed by:445 555
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClipUses:440Used by:445 555
Symbol 442 GraphicUsed by:445 555
Symbol 443 GraphicUsed by:444 553
Symbol 444 MovieClipUses:443Used by:445
Symbol 445 MovieClipUses:439 441 442 444Used by:470
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:450
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:450
Symbol 450 MovieClipUses:447 449Used by:470
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:453
Symbol 453 MovieClipUses:452Used by:470
Symbol 454 MovieClipUses:438Used by:470
Symbol 455 BitmapUsed by:456
Symbol 456 GraphicUses:455Used by:457
Symbol 457 MovieClipUses:456Used by:470
Symbol 458 TextUses:46Used by:470
Symbol 459 TextUses:46Used by:470
Symbol 460 TextUses:46Used by:461
Symbol 461 MovieClipUses:460Used by:470
Symbol 462 TextUses:46Used by:463
Symbol 463 MovieClipUses:462Used by:470
Symbol 464 EditableTextUses:46Used by:470
Symbol 465 EditableTextUses:46Used by:470
Symbol 466 EditableTextUses:46Used by:470
Symbol 467 TextUses:62Used by:468
Symbol 468 MovieClipUses:467Used by:469
Symbol 469 MovieClipUses:468Used by:470
Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC]Uses:414 436 438 445 450 453 454 457 458 459 461 463 464 465 466 469
Symbol 471 GraphicUsed by:472
Symbol 472 MovieClipUses:471Used by:476
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:475
Symbol 475 MovieClipUses:474Used by:476
Symbol 476 MovieClip {classes.zoneout.attract.Attract_trackMC} [trackMC]Uses:472 475
Symbol 477 FontUsed by:189 478
Symbol 478 EditableTextUses:477Used by:479
Symbol 479 MovieClip {classes.zoneout.Player_debugTextMC} [debugTextMC]Uses:478
Symbol 480 GraphicUsed by:481
Symbol 481 MovieClipUses:480Used by:496
Symbol 482 MovieClipUses:45Used by:496 509 542 543 544 545 546 547
Symbol 483 BitmapUsed by:484 497
Symbol 484 GraphicUses:483Used by:495
Symbol 485 BitmapUsed by:486 498
Symbol 486 GraphicUses:485Used by:495
Symbol 487 BitmapUsed by:488 499
Symbol 488 GraphicUses:487Used by:495
Symbol 489 BitmapUsed by:490 500
Symbol 490 GraphicUses:489Used by:495
Symbol 491 BitmapUsed by:492 501
Symbol 492 GraphicUses:491Used by:495
Symbol 493 BitmapUsed by:494 502
Symbol 494 GraphicUses:493Used by:495
Symbol 495 MovieClip {classes.zoneout.cards.Card_cardMC} [cardMC]Uses:484 486 488 490 492 494Used by:496
Symbol 496 MovieClip {classes.zoneout.Player_pointerMC} [pointerMC]Uses:481 482 495
Symbol 497 GraphicUses:483Used by:509
Symbol 498 GraphicUses:485Used by:509
Symbol 499 GraphicUses:487Used by:509
Symbol 500 GraphicUses:489Used by:509
Symbol 501 GraphicUses:491Used by:509
Symbol 502 GraphicUses:493Used by:509
Symbol 503 MovieClipUses:67 69 9Used by:509
Symbol 504 MovieClipUses:67 69 9Used by:509
Symbol 505 MovieClipUses:67 69 9Used by:509
Symbol 506 MovieClipUses:67 69 9Used by:509
Symbol 507 MovieClipUses:67 69 9Used by:509
Symbol 508 MovieClipUses:67 69 9Used by:509
Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC]Uses:497 482 498 499 500 501 502 503 504 505 506 507 508
Symbol 510 TextUses:62Used by:511
Symbol 511 MovieClipUses:510Used by:512
Symbol 512 MovieClip {classes.zoneout.effects.ParticleHandler_timerPointsTweenMC} [timerPointsTweenMC]Uses:511
Symbol 513 GraphicUsed by:514
Symbol 514 MovieClipUses:513Used by:525 529
Symbol 515 GraphicUsed by:516
Symbol 516 MovieClipUses:515Used by:525 529
Symbol 517 GraphicUsed by:518
Symbol 518 MovieClipUses:517Used by:525 529
Symbol 519 GraphicUsed by:520
Symbol 520 MovieClipUses:519Used by:525 529
Symbol 521 GraphicUsed by:522
Symbol 522 MovieClipUses:521Used by:525 529
Symbol 523 GraphicUsed by:524
Symbol 524 MovieClipUses:523Used by:525 529
Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC]Uses:514 516 518 520 522 524
Symbol 526 BitmapUsed by:527
Symbol 527 GraphicUses:526Used by:528
Symbol 528 MovieClipUses:527Used by:529
Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC]Uses:514 516 518 520 522 528 524
Symbol 530 GraphicUses:2Used by:560
Symbol 531 GraphicUsed by:542 543 544 545 546 547
Symbol 532 GraphicUsed by:533
Symbol 533 MovieClipUses:9 532Used by:542 543 544 545 546 547
Symbol 534 GraphicUsed by:542 543 544 545 546 547
Symbol 535 BitmapUsed by:536 539
Symbol 536 GraphicUses:535Used by:542 543 544 545 546 547
Symbol 537 GraphicUsed by:542 543 544 545 546 547
Symbol 538 GraphicUsed by:542 543 544 545 546 547
Symbol 539 GraphicUses:535Used by:542 543 544 545 546 547
Symbol 540 GraphicUsed by:542 543 544 545 546 547
Symbol 541 GraphicUsed by:542 543 544 545 546 547
Symbol 542 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 543 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 544 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 545 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 546 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 547 MovieClipUses:482 531 533 534 536 537 538 539 540 541Used by:560
Symbol 548 GraphicUses:1Used by:552 560
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:551
Symbol 551 MovieClipUses:550Used by:560
Symbol 552 MovieClipUses:548Used by:560
Symbol 553 MovieClipUses:443Used by:554
Symbol 554 MovieClipUses:553Used by:555
Symbol 555 MovieClipUses:439 441 442 554Used by:560
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:560
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:560
Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC]Uses:530 542 543 544 545 546 547 548 551 552 555 557 559
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:579
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:579
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:579
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:579
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:579
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:579
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:579
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:579
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:579
Symbol 579 MovieClipUses:562 564 566 568 570 572 574 576 578Used by:580
Symbol 580 MovieClip {classes.zoneout.effects.Particle_particleMC} [particleMC]Uses:579

Instance Names

"Masker"Symbol 11 MovieClip Frame 1Symbol 7 MovieClip
"cell"Symbol 11 MovieClip Frame 1Symbol 10 MovieClip
"one"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"two"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"three"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"four"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"five"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"six"Symbol 13 MovieClip Frame 1Symbol 11 MovieClip
"Masker"Symbol 21 MovieClip Frame 1Symbol 7 MovieClip
"progressAnim"Symbol 23 MovieClip {PreloaderLogo_animMC} [animMC] Frame 1Symbol 13 MovieClip
"cloud2"Symbol 35 MovieClip {classes.zoneout.PlayFieldHandler_backgroundMC} [backgroundMC] Frame 1Symbol 28 MovieClip
"cloud3"Symbol 35 MovieClip {classes.zoneout.PlayFieldHandler_backgroundMC} [backgroundMC] Frame 1Symbol 30 MovieClip
"cloud1"Symbol 35 MovieClip {classes.zoneout.PlayFieldHandler_backgroundMC} [backgroundMC] Frame 1Symbol 32 MovieClip
"playButton_normal"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 48 MovieClip
"playButton_hazard"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 51 MovieClip
"lock"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 72 MovieClip
"instructions"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 76 MovieClip
"highScores"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 79 MovieClip
"challengeFriend"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 82 MovieClip
"learnMore"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 85 MovieClip
"frontLogo"Symbol 105 MovieClip {classes.zoneout.attract.Attract_titleAssetsMC} [titleAssetsMC] Frame 1Symbol 104 MovieClip
"stepOne"Symbol 166 MovieClip Frame 1Symbol 113 MovieClip
"stepOne"Symbol 166 MovieClip Frame 1Symbol 113 MovieClip
"stepTwo"Symbol 166 MovieClip Frame 1Symbol 116 MovieClip
"stepThree"Symbol 166 MovieClip Frame 1Symbol 120 MovieClip
"stepTwo"Symbol 166 MovieClip Frame 310Symbol 116 MovieClip
"stepThree"Symbol 166 MovieClip Frame 677Symbol 120 MovieClip
"stepOne"Symbol 214 MovieClip Frame 1Symbol 195 MovieClip
"stepOne"Symbol 214 MovieClip Frame 1Symbol 195 MovieClip
"stepTwo"Symbol 214 MovieClip Frame 1Symbol 198 MovieClip
"stepThree"Symbol 214 MovieClip Frame 1Symbol 201 MovieClip
"stepTwo"Symbol 214 MovieClip Frame 93Symbol 198 MovieClip
"stepThree"Symbol 214 MovieClip Frame 345Symbol 201 MovieClip
"tip"Symbol 216 MovieClip Frame 1Symbol 215 EditableText
"stepOne"Symbol 241 MovieClip Frame 1Symbol 225 MovieClip
"stepOne"Symbol 241 MovieClip Frame 1Symbol 225 MovieClip
"stepTwo"Symbol 241 MovieClip Frame 1Symbol 228 MovieClip
"stepThree"Symbol 241 MovieClip Frame 1Symbol 231 MovieClip
"stepOne"Symbol 241 MovieClip Frame 102Symbol 113 MovieClip
"stepTwo"Symbol 241 MovieClip Frame 108Symbol 228 MovieClip
"stepThree"Symbol 241 MovieClip Frame 274Symbol 231 MovieClip
"stepOne"Symbol 264 MovieClip Frame 1Symbol 249 MovieClip
"stepOne"Symbol 264 MovieClip Frame 1Symbol 249 MovieClip
"stepTwo"Symbol 264 MovieClip Frame 1Symbol 252 MovieClip
"stepThree"Symbol 264 MovieClip Frame 1Symbol 254 MovieClip
"stepTwo"Symbol 264 MovieClip Frame 97Symbol 252 MovieClip
"stepThree"Symbol 264 MovieClip Frame 263Symbol 254 MovieClip
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 2Symbol 108 MovieClip
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 2Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"continueButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 2Symbol 186 MovieClip
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 108 MovieClip
"score"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 189 EditableText
"levelTwoInstructions"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 214 MovieClip
"airTip"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 216 MovieClip
"continueButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 222 MovieClip
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10Symbol 108 MovieClip
"score"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10Symbol 189 EditableText
"continueButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10Symbol 247 MovieClip
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"airTip"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10Symbol 216 MovieClip
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13Symbol 108 MovieClip
"continueButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13Symbol 270 MovieClip
"score"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13Symbol 189 EditableText
"airTip"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13Symbol 216 MovieClip
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 108 MovieClip
"sendToAFriendButton_gameComplete"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 279 MovieClip {classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC} [challengeAFriendButtonMC]
"submitButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 285 MovieClip
"score"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 289 EditableText
"hsName"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 291 EditableText
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 108 MovieClip
"sendToAFriendButton_gameComplete"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 279 MovieClip {classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC} [challengeAFriendButtonMC]
"submitButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 285 MovieClip
"score"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 289 EditableText
"hsName"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 291 EditableText
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 27Symbol 108 MovieClip
"instructions"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 27Symbol 322 MovieClip
"instructionsMask"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 27Symbol 324 MovieClip
"mainMenuButton"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 27Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC]
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 32Symbol 108 MovieClip
"bgTopBar"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 108 MovieClip
"yourNameTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 342 EditableText
"friendsNameTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 343 EditableText
"yourEmailTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 344 EditableText
"friendsEmailTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 345 EditableText
"emailAddressTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 346 EditableText
"invalidFriendEmailTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 347 EditableText
"invalidEmailAddressTF"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37Symbol 348 EditableText
"name1"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 359 EditableText
"name2"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name3"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name4"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name5"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name6"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name7"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name8"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name9"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"name10"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 360 EditableText
"score1"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 361 EditableText
"score2"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score3"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score4"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score5"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score6"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score7"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score8"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score9"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"score10"Symbol 363 MovieClip {classes.zoneout.attract.HiScorePlotter_hiScoreTextBoxesMC} [hiScoreTextBoxesMC] Frame 1Symbol 362 EditableText
"button_window"Symbol 375 MovieClip {classes.zoneout.attract.HiScorePlotter_monthScoreButtonMC} [monthScoreButtonMC] Frame 1Symbol 370 MovieClip
"button_window"Symbol 378 MovieClip {classes.zoneout.attract.HiScorePlotter_hs_hazardModeButtonMC} [hs_hazardModeButtonMC] Frame 1Symbol 370 MovieClip
"button_window"Symbol 381 MovieClip {classes.zoneout.attract.HiScorePlotter_weekScoreButtonMC} [weekScoreButtonMC] Frame 1Symbol 370 MovieClip
"score"Symbol 383 MovieClip {classes.zoneout.attract.HiScorePlotter_localScoreMC} [localScoreMC] Frame 1Symbol 382 EditableText
"button_window"Symbol 387 MovieClip {classes.zoneout.attract.HiScorePlotter_allTimeScoreButtonMC} [allTimeScoreButtonMC] Frame 1Symbol 370 MovieClip
"button_window"Symbol 390 MovieClip {classes.zoneout.attract.HiScorePlotter_todaysScoreButtonMC} [todaysScoreButtonMC] Frame 1Symbol 370 MovieClip
"button_window"Symbol 393 MovieClip {classes.zoneout.attract.HiScorePlotter_hs_normalModeButtonMC} [hs_normalModeButtonMC] Frame 1Symbol 370 MovieClip
"helpInstructions"Symbol 415 MovieClip Frame 1Symbol 322 MovieClip
"helpMask"Symbol 415 MovieClip Frame 1Symbol 324 MovieClip
"pauseButton"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 407 MovieClip
"helpButton"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 409 MovieClip
"quitButton"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 411 MovieClip
"pausedText"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 413 MovieClip
"quitText"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 414 MovieClip
"pauseMenuHelpText"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 415 MovieClip
"quitQuestion"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 417 MovieClip
"quitYesButton"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 420 MovieClip
"quitNoButton"Symbol 424 MovieClip {classes.zoneout.HUD_pauseDropDownMC} [pauseDropDownMC] Frame 1Symbol 423 MovieClip
"bar"Symbol 445 MovieClip Frame 1Symbol 444 MovieClip
"consoleContainer"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 414 MovieClip
"speakerIcon_hazard"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 436 MovieClip
"levelProgressBar"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 445 MovieClip
"speakerIcon"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 450 MovieClip
"legend"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 453 MovieClip
"branding"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 454 MovieClip
"littleLogo"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 457 MovieClip
"levelText"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 461 MovieClip
"completedText"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 463 MovieClip
"score"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 464 EditableText
"level"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 465 EditableText
"time"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 466 EditableText
"loseTimeTween"Symbol 470 MovieClip {classes.zoneout.HUD_hudMC} [hudMC] Frame 1Symbol 469 MovieClip
"copy"Symbol 479 MovieClip {classes.zoneout.Player_debugTextMC} [debugTextMC] Frame 1Symbol 478 EditableText
"clickHitAreaMC"Symbol 496 MovieClip {classes.zoneout.Player_pointerMC} [pointerMC] Frame 1Symbol 482 MovieClip
"card"Symbol 496 MovieClip {classes.zoneout.Player_pointerMC} [pointerMC] Frame 2Symbol 495 MovieClip {classes.zoneout.cards.Card_cardMC} [cardMC]
"hitAreaMC"Symbol 496 MovieClip {classes.zoneout.Player_pointerMC} [pointerMC] Frame 2Symbol 482 MovieClip
"hitAreaMC"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 1Symbol 482 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 7Symbol 503 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 8Symbol 504 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 9Symbol 505 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 10Symbol 506 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 11Symbol 507 MovieClip
"anim"Symbol 509 MovieClip {classes.zoneout.Player_heldCardMC} [heldCardMC] Frame 12Symbol 508 MovieClip
"backgroundBox"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 514 MovieClip
"outsideBoxYellow"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 516 MovieClip
"outsideBoxShadow"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 518 MovieClip
"insideBoxBottom"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 520 MovieClip
"insideBoxTop"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 522 MovieClip
"graphicsContainer"Symbol 525 MovieClip {classes.zoneout.Console_console_hazardMC} [console_hazardMC] Frame 1Symbol 524 MovieClip
"backgroundBox"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 514 MovieClip
"outsideBoxYellow"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 516 MovieClip
"outsideBoxShadow"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 518 MovieClip
"insideBoxBottom"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 520 MovieClip
"insideBoxTop"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 522 MovieClip
"bgImage"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 528 MovieClip
"graphicsContainer"Symbol 529 MovieClip {classes.zoneout.Console_consoleMC} [consoleMC] Frame 1Symbol 524 MovieClip
"hitAreaMC"Symbol 542 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 542 MovieClip Frame 8Symbol 533 MovieClip
"hitAreaMC"Symbol 543 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 543 MovieClip Frame 8Symbol 533 MovieClip
"hitAreaMC"Symbol 544 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 544 MovieClip Frame 8Symbol 533 MovieClip
"hitAreaMC"Symbol 545 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 545 MovieClip Frame 8Symbol 533 MovieClip
"hitAreaMC"Symbol 546 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 546 MovieClip Frame 8Symbol 533 MovieClip
"hitAreaMC"Symbol 547 MovieClip Frame 1Symbol 482 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 1Symbol 533 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 3Symbol 533 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 4Symbol 533 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 6Symbol 533 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 7Symbol 533 MovieClip
"fillAnim"Symbol 547 MovieClip Frame 8Symbol 533 MovieClip
"timerBar"Symbol 555 MovieClip Frame 1Symbol 554 MovieClip
"green"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 542 MovieClip
"yellow"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 543 MovieClip
"orange"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 544 MovieClip
"red"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 545 MovieClip
"purple"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 546 MovieClip
"darkRed"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 547 MovieClip
"warning1"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"warning2"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"warning3"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"warning4"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"warning5"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"warning6"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 551 MovieClip
"legendGhost"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 552 MovieClip
"timer"Symbol 560 MovieClip {classes.zoneout.slots.Slot_slotMC} [slotMC] Frame 1Symbol 555 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 2Symbol 23 as "animMC"
ExportAssets (56)Timeline Frame 3Symbol 24 as "com.kongregate.as3.client.KongregateAPI"
ExportAssets (56)Timeline Frame 3Symbol 35 as "backgroundMC"
ExportAssets (56)Timeline Frame 3Symbol 36 as "whooshSFX"
ExportAssets (56)Timeline Frame 3Symbol 37 as "backgroundNoiseSFX"
ExportAssets (56)Timeline Frame 3Symbol 38 as "rowLostSFX"
ExportAssets (56)Timeline Frame 3Symbol 39 as "cardExplodingSFX"
ExportAssets (56)Timeline Frame 3Symbol 40 as "buttonClickSFX"
ExportAssets (56)Timeline Frame 3Symbol 41 as "completedSFX"
ExportAssets (56)Timeline Frame 3Symbol 42 as "cellFilledSFX"
ExportAssets (56)Timeline Frame 3Symbol 43 as "cardThrownSFX"
ExportAssets (56)Timeline Frame 3Symbol 44 as "pickUpSFX"
ExportAssets (56)Timeline Frame 3Symbol 105 as "titleAssetsMC"
ExportAssets (56)Timeline Frame 3Symbol 349 as "attractModeMC"
ExportAssets (56)Timeline Frame 3Symbol 351 as "attractMaskMC"
ExportAssets (56)Timeline Frame 3Symbol 353 as "submitChallengeMC"
ExportAssets (56)Timeline Frame 3Symbol 358 as "addFriendButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 363 as "hiScoreTextBoxesMC"
ExportAssets (56)Timeline Frame 3Symbol 375 as "monthScoreButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 378 as "hs_hazardModeButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 381 as "weekScoreButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 383 as "localScoreMC"
ExportAssets (56)Timeline Frame 3Symbol 176 as "mainMenuButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 384 as "buttonCoverMC"
ExportAssets (56)Timeline Frame 3Symbol 387 as "allTimeScoreButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 279 as "challengeAFriendButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 390 as "todaysScoreButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 393 as "hs_normalModeButtonMC"
ExportAssets (56)Timeline Frame 3Symbol 395 as "cardScrollerMaskMC"
ExportAssets (56)Timeline Frame 3Symbol 424 as "pauseDropDownMC"
ExportAssets (56)Timeline Frame 3Symbol 427 as "levelUpTweenMC"
ExportAssets (56)Timeline Frame 3Symbol 431 as "buttonMC"
ExportAssets (56)Timeline Frame 3Symbol 470 as "hudMC"
ExportAssets (56)Timeline Frame 3Symbol 476 as "trackMC"
ExportAssets (56)Timeline Frame 3Symbol 479 as "debugTextMC"
ExportAssets (56)Timeline Frame 3Symbol 496 as "pointerMC"
ExportAssets (56)Timeline Frame 3Symbol 509 as "heldCardMC"
ExportAssets (56)Timeline Frame 3Symbol 512 as "timerPointsTweenMC"
ExportAssets (56)Timeline Frame 3Symbol 495 as "cardMC"
ExportAssets (56)Timeline Frame 3Symbol 525 as "console_hazardMC"
ExportAssets (56)Timeline Frame 3Symbol 529 as "consoleMC"
ExportAssets (56)Timeline Frame 3Symbol 560 as "slotMC"
ExportAssets (56)Timeline Frame 3Symbol 580 as "particleMC"
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$wR$Lxh1gEIQVnVO6qG0HfqtE.."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"two"Frame 2
"three"Frame 3
"_up"Symbol 48 MovieClip Frame 1
"_over"Symbol 48 MovieClip Frame 2
"_down"Symbol 48 MovieClip Frame 3
"_up"Symbol 51 MovieClip Frame 1
"_over"Symbol 51 MovieClip Frame 2
"_down"Symbol 51 MovieClip Frame 3
"_up"Symbol 76 MovieClip Frame 1
"_over"Symbol 76 MovieClip Frame 2
"_down"Symbol 76 MovieClip Frame 3
"_up"Symbol 79 MovieClip Frame 1
"_over"Symbol 79 MovieClip Frame 2
"_down"Symbol 79 MovieClip Frame 3
"_up"Symbol 82 MovieClip Frame 1
"_over"Symbol 82 MovieClip Frame 2
"_down"Symbol 82 MovieClip Frame 3
"_up"Symbol 85 MovieClip Frame 1
"_over"Symbol 85 MovieClip Frame 2
"_down"Symbol 85 MovieClip Frame 3
"_up"Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC] Frame 1
"_over"Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC] Frame 2
"_down"Symbol 176 MovieClip {classes.zoneout.attract.HiScorePlotter_mainMenuButtonMC} [mainMenuButtonMC] Frame 3
"_up"Symbol 186 MovieClip Frame 1
"_over"Symbol 186 MovieClip Frame 2
"_down"Symbol 186 MovieClip Frame 3
"_up"Symbol 222 MovieClip Frame 1
"_over"Symbol 222 MovieClip Frame 2
"_down"Symbol 222 MovieClip Frame 3
"_up"Symbol 247 MovieClip Frame 1
"_over"Symbol 247 MovieClip Frame 2
"_down"Symbol 247 MovieClip Frame 3
"_up"Symbol 270 MovieClip Frame 1
"_over"Symbol 270 MovieClip Frame 2
"_down"Symbol 270 MovieClip Frame 3
"_up"Symbol 279 MovieClip {classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC} [challengeAFriendButtonMC] Frame 1
"_over"Symbol 279 MovieClip {classes.zoneout.attract.HiScorePlotter_challengeAFriendButtonMC} [challengeAFriendButtonMC] Frame 2
"_up"Symbol 285 MovieClip Frame 1
"_over"Symbol 285 MovieClip Frame 2
"_down"Symbol 285 MovieClip Frame 3
"start"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 1
"beginOne"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 2
"level2"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 6
"level3"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 10
"level4"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 13
"Complete"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 17
"GameOver"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 22
"help"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 27
"hiScores"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 32
"sendToAFriend"Symbol 349 MovieClip {classes.zoneout.attract.Attract_attractModeMC} [attractModeMC] Frame 37
"_up"Symbol 353 MovieClip {classes.zoneout.attract.SendToAFriend_submitChallengeMC} [submitChallengeMC] Frame 1
"_over"Symbol 353 MovieClip {classes.zoneout.attract.SendToAFriend_submitChallengeMC} [submitChallengeMC] Frame 2
"_down"Symbol 353 MovieClip {classes.zoneout.attract.SendToAFriend_submitChallengeMC} [submitChallengeMC] Frame 3
"_up"Symbol 358 MovieClip {classes.zoneout.attract.SendToAFriend_addFriendButtonMC} [addFriendButtonMC] Frame 1
"_over"Symbol 358 MovieClip {classes.zoneout.attract.SendToAFriend_addFriendButtonMC} [addFriendButtonMC] Frame 2
"_down"Symbol 358 MovieClip {classes.zoneout.attract.SendToAFriend_addFriendButtonMC} [addFriendButtonMC] Frame 3
"_up"Symbol 407 MovieClip Frame 1
"_over"Symbol 407 MovieClip Frame 2
"_down"Symbol 407 MovieClip Frame 3
"_up"Symbol 409 MovieClip Frame 1
"_over"Symbol 409 MovieClip Frame 2
"_down"Symbol 409 MovieClip Frame 3
"_up"Symbol 411 MovieClip Frame 1
"_over"Symbol 411 MovieClip Frame 2
"_down"Symbol 411 MovieClip Frame 3
"_up"Symbol 420 MovieClip Frame 1
"_over"Symbol 420 MovieClip Frame 2
"_down"Symbol 420 MovieClip Frame 3
"_up"Symbol 423 MovieClip Frame 1
"_over"Symbol 423 MovieClip Frame 2
"_down"Symbol 423 MovieClip Frame 3
"stop"Symbol 533 MovieClip Frame 25
"stop2"Symbol 533 MovieClip Frame 50
"stop3"Symbol 533 MovieClip Frame 75
"stop4"Symbol 533 MovieClip Frame 101
"stop5"Symbol 533 MovieClip Frame 126
"stop6"Symbol 533 MovieClip Frame 151
"stop7"Symbol 533 MovieClip Frame 172
"stop8"Symbol 533 MovieClip Frame 193
"stop9"Symbol 533 MovieClip Frame 214
"stop10"Symbol 533 MovieClip Frame 235
"stop11"Symbol 533 MovieClip Frame 248
"stop12"Symbol 533 MovieClip Frame 259
"stop13"Symbol 533 MovieClip Frame 272
"stop14"Symbol 533 MovieClip Frame 285
"stop15"Symbol 533 MovieClip Frame 298
"stop16"Symbol 533 MovieClip Frame 312
"stop17"Symbol 533 MovieClip Frame 326




http://swfchan.com/26/127193/info.shtml
Created: 10/8 -2019 05:26:17 Last modified: 10/8 -2019 05:26:17 Server time: 29/04 -2024 14:19:03