Section 1
//MainTimeline (dragBall2_fla.MainTimeline)
package dragBall2_fla {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import mochi.as3.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var thud:Thud;
public var bounceMenu:int;
public var nextTimer:Timer;
public var vRotation:Number;
public var numResets:int;
public var bounceTextAdded:Boolean;
public var startX:Number;
public var startY:Number;
public var finishColour:uint;
public var bounceTextShown:Number;
public var bg:MovieClip;
public var introPop:Pop;
public var graphicsContainer:MovieClip;
public var __setPropDict:Dictionary;
public var totalScore_txt:TextField;
public var historyX:Number;
public var historyY:Number;
public var menuDisplayed:Boolean;
public var shiftDown:Boolean;
public var balls:Array;
public var container:MovieClip;
public var numBounces:int;
public var prevY:Number;
public var bounce:Number;
public var justKilled:Boolean;
public var credits:Credits;
public var prevX:Number;
public var leftRotation:Boolean;
public var finish:Finish;
public var mainMenu:MainMenuScreen;
public var settingsBall;
public var vy:Number;
public var keysDown:Boolean;
public var vx:Number;
public var newGameBall;
public var qualitySet:Number;
public var fps:FPSCounter;
public var xd:MovieClip;
public var menuShown:Boolean;
public var animatieTimer:Timer;
public var mainMenuDisplayed:Boolean;
public var oldY:Number;
public var bounced:Boolean;
public var shot:Boolean;
public var musicChannel:SoundChannel;
public var oldX:Number;
public var continueLevel:int;
public var midX:Number;
public var midY:Number;
public var mainMenuShown:Boolean;
public var loadingBar:MovieClip;
public var afterDrag:Boolean;
public var score_txt:TextField;
public var bgMenu:MovieClip;
public var continueBall;
public var playBall;
public var _mochiads_game_id:String;
public var submitScore:Button;
public var menu:MenuScreen;
public var dragBall:DragBall;
public var checkPoint:CheckPoint;
public var lineAdded:Boolean;
public var dragballData:SharedObject;
public var maxCircle:MaxCircle;
public var lowY:Number;
public var mouseDownBoolean:Boolean;
public var currentLevel:Number;
public var bounceSpotAdded:Boolean;
public var enemy:Enemy;
public var firstBounce:Boolean;
public var exitToMain:Button;
public var tekst2:Tekst2;
public var tekst5:Tekst5;
public var muteMusic:Boolean;
public var tekst1:Tekst1;
public var tekst3:Tekst3;
public var tekst4:Tekst4;
public var lowX:Number;
public var bounceSpot:BounceSpot;
public var muteSFX:Boolean;
public var enemyArray:Array;
public var creditsBall;
public var rightRotation:Boolean;
public var song1:Song1;
public var song2:Song2;
public var cam:MovieClip;
public var checkPointArray:Array;
public var beingDragged:Boolean;
public var bounceText:BounceTekst;
public var totalScore:Number;
public var bouncePoint:Point;
public var lineLeven:Number;
public var line:AimLine;
public function MainTimeline(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
public function progressListener(_arg1:ProgressEvent):void{
var _local2:Number;
var _local3:int;
_local2 = (_arg1.bytesLoaded / _arg1.bytesTotal);
_local3 = (_local2 * 100);
loadingBar.scaleX = _local2;
}
public function checkCollision():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:Point;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local1 = (checkPointArray.length - 1);
while (_local1 >= 0) {
_local2 = (checkPointArray[_local1].x - dragBall.x);
_local3 = (checkPointArray[_local1].y - dragBall.y);
_local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
if ((((_local4 <= 25)) && (!((checkPointArray[_local1] == null))))){
soundHandler("hitEffect");
checkPointArray[_local1].hit(vx, vy, qualitySet);
finishColour = checkPointArray[_local1].getColor();
changeTint(finishColour);
checkPointArray[_local1].parent.removeChild(checkPointArray[_local1]);
checkPointArray.splice(_local1, 1);
};
_local1--;
};
if (checkPointArray.length > 0){
_local5 = (checkPointArray.length - 1);
while (_local5 >= 0) {
_local6 = new Point();
_local6.x = (dragBall.x - ((dragBall.x - prevX) / 2));
_local6.y = (dragBall.y - ((dragBall.y - prevY) / 2));
_local7 = (checkPointArray[_local5].x - _local6.x);
_local8 = (checkPointArray[_local5].y - _local6.y);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
if ((((_local9 <= 25)) && (!((checkPointArray[_local1] == null))))){
soundHandler("hitEffect");
checkPointArray[_local5].hit(vx, vy, qualitySet);
finishColour = checkPointArray[_local1].getColor();
changeTint(finishColour);
checkPointArray[_local5].parent.removeChild(checkPointArray[_local5]);
checkPointArray.splice(_local5, 1);
};
_local5--;
};
};
}
public function showMenu():void{
if (menuShown == false){
if (beingDragged == true){
dragBallUpActions();
};
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeysDown);
stage.addEventListener(KeyboardEvent.KEY_DOWN, secondKeyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeysUp);
removeEventListener(Event.ENTER_FRAME, gameLoop);
dragBall.removeEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
removeEventListener(MouseEvent.MOUSE_UP, onDragBallUp);
dragballData.data.numberBounces = numBounces;
dragballData.data.numberResets = numResets;
dragballData.flush();
menu.x = 350;
menu.y = 200;
menu.alpha = 0;
addChild(menu);
menu.checkSelected();
menu.showStats();
TweenMax.to(cam, 1, {colorMatrixFilter:{colorize:0xFFFFFF, saturation:0}});
TweenMax.to(menu, 1, {alpha:1, onComplete:menuUp});
menuShown = true;
};
if ((((menuShown == true)) && ((menuDisplayed == true)))){
menu.removeText();
removeMenu();
};
}
public function onDragBallDown(_arg1:MouseEvent):void{
if (shot == false){
if (lineAdded == true){
leftRotation = false;
rightRotation = false;
dragBall.removeChild(line);
dragBall.lineBoolean = false;
lineAdded = false;
};
afterDrag = false;
dragBall.startDrag();
mouseDownBoolean = true;
maxCircle = new MaxCircle();
maxCircle.x = dragBall.x;
maxCircle.y = dragBall.y;
addChild(maxCircle);
stage.addEventListener(MouseEvent.MOUSE_UP, onDragBallUp);
beingDragged = true;
};
}
public function removeMenu():void{
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeysDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeysUp);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, secondKeyDown);
addEventListener(Event.ENTER_FRAME, gameLoop);
dragBall.addEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
removeChild(menu);
changeTint(finishColour);
menuShown = false;
menuDisplayed = false;
stage.focus = stage;
}
public function shoot():void{
var _local1:Number;
_local1 = ((dragBall.rotation * Math.PI) / 180);
vx = (Math.cos(_local1) * 10);
vy = (Math.sin(_local1) * 10);
afterDrag = true;
removeLine();
shot = true;
}
public function setValues():void{
dragBall = new DragBall();
line = new AimLine();
finish = new Finish();
menu = new MenuScreen();
enemy = new Enemy();
bouncePoint = new Point();
graphicsContainer = new MovieClip();
bounce = -0.9;
vx = 0;
vy = 0;
oldX = 0;
oldY = 0;
midX = 0;
midY = 0;
lowX = 0;
lowY = 0;
lineLeven = 0;
prevX = dragBall.x;
prevY = dragBall.y;
vRotation = 3;
finishColour = 0xDDDDDD;
checkPointArray = new Array();
enemyArray = new Array();
lineAdded = false;
afterDrag = false;
leftRotation = false;
rightRotation = false;
shiftDown = false;
shot = false;
menuShown = false;
beingDragged = false;
menuDisplayed = false;
firstBounce = false;
bounced = false;
}
public function addLine():void{
if ((((lineAdded == false)) && ((shot == false)))){
line = new AimLine();
lineLeven = 0;
dragBall.addChild(line);
dragBall.lineBoolean = true;
lineAdded = true;
};
}
public function checkBallMovements():void{
var _local1:uint;
var _local2:MenuBall;
var _local3:MenuBall;
var _local4:Number;
var _local5:MenuBall;
_local1 = 0;
while (_local1 < balls.length) {
_local2 = balls[_local1];
_local2.x = (_local2.x + _local2.vx);
_local2.y = (_local2.y + _local2.vy);
checkWallsMenu(_local2);
_local1++;
};
_local1 = 0;
while (_local1 < (balls.length - 1)) {
_local3 = balls[_local1];
_local4 = (_local1 + 1);
while (_local4 < balls.length) {
_local5 = balls[_local4];
checkCollisionMenu(_local3, _local5);
_local4++;
};
_local1++;
};
checkWallsMenu(_local3);
checkWallsMenu(_local5);
}
function __setProp_exitToMain_Scene1_objects_6(){
try {
exitToMain["componentInspectorSetting"] = true;
} catch(e:Error) {
};
exitToMain.emphasized = false;
exitToMain.enabled = true;
exitToMain.label = "exit to main menu";
exitToMain.labelPlacement = "right";
exitToMain.selected = false;
exitToMain.toggle = false;
exitToMain.visible = true;
try {
exitToMain["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function drawLines():void{
var _local1:Number;
var _local2:*;
var _local3:int;
graphics.clear();
_local1 = 200;
_local2 = Math.sqrt((((finish.x - dragBall.x) * (finish.x - dragBall.x)) + ((finish.y - dragBall.y) * (finish.y - dragBall.y))));
if (_local2 <= 200){
_local1 = _local2;
graphics.lineStyle(2, 0, (1 - (_local1 / 200)));
graphics.moveTo(dragBall.x, dragBall.y);
graphics.lineTo(finish.x, finish.y);
};
if (checkPointArray.length > 0){
_local3 = (checkPointArray.length - 1);
while (_local3 >= 0) {
_local2 = Math.sqrt((((checkPointArray[_local3].x - dragBall.x) * (checkPointArray[_local3].x - dragBall.x)) + ((checkPointArray[_local3].y - dragBall.y) * (checkPointArray[_local3].y - dragBall.y))));
if (_local2 <= 150){
_local1 = _local2;
graphics.lineStyle(2, 0, (1 - (_local1 / 150)));
graphics.moveTo(dragBall.x, dragBall.y);
graphics.lineTo(checkPointArray[_local3].x, checkPointArray[_local3].y);
};
_local3--;
};
};
}
public function playMusicMenu():void{
musicChannel = song2.play(0, -1);
muteMusic = false;
}
public function onPlayBallClick(_arg1:MouseEvent):void{
var _local2:int;
removeEventListener(MouseEvent.CLICK, onMouseClickMenu);
playBall.removeEventListener(MouseEvent.CLICK, onPlayBallClick);
addEventListener(MouseEvent.CLICK, onMouseClickMenu2);
particlesMenu(playBall.x, playBall.y, playBall.x, playBall.y);
continueBall = new MenuBall(25, 0x555555);
if ((((playBall.x >= 110)) && ((playBall.x <= 590)))){
continueBall.x = (playBall.x - 26);
} else {
continueBall.x = (playBall.x + 100);
};
continueBall.y = playBall.y;
continueBall.vx = 2;
continueBall.vy = playBall.vy;
continueBall.gotoAndStop(4);
addChild(continueBall);
newGameBall = new MenuBall(25, 0x222222);
if ((((playBall.x >= 110)) && ((playBall.x <= 590)))){
newGameBall.x = (playBall.x + 26);
} else {
newGameBall.x = (playBall.x - 100);
};
newGameBall.y = playBall.y;
newGameBall.vx = -2;
newGameBall.vy = playBall.vy;
newGameBall.gotoAndStop(5);
addChild(newGameBall);
removeChild(playBall);
_local2 = (balls.length - 1);
while (_local2 >= 0) {
balls.splice(_local2, 1);
_local2--;
};
balls.push(settingsBall);
balls.push(creditsBall);
balls.push(newGameBall);
balls.push(continueBall);
}
public function menuUp():void{
menuDisplayed = true;
}
function frame5(){
stop();
fps = new FPSCounter();
bounceSpot = new BounceSpot();
bounceSpotAdded = false;
keysDown = false;
justKilled = false;
bounceText = new BounceTekst();
bounceTextAdded = false;
bounceTextShown = 0;
tekst1 = new Tekst1();
tekst2 = new Tekst2();
tekst3 = new Tekst3();
tekst4 = new Tekst4();
tekst5 = new Tekst5();
mouseDownBoolean = false;
init();
if (muteMusic == false){
TweenMax.to(musicChannel, 1, {volume:1});
musicChannel = song1.play(0, 9999);
};
TweenMax.to(cam, 0, {colorMatrixFilter:{colorize:0x999999, saturation:0.25}});
TweenMax.to(bg, 0, {colorMatrixFilter:{colorize:0x999999, saturation:0.75}});
}
function frame6(){
if ((((__setPropDict[exitToMain] == undefined)) || (!((int(__setPropDict[exitToMain]) == 6))))){
__setPropDict[exitToMain] = currentFrame;
__setProp_exitToMain_Scene1_objects_6();
};
if ((((__setPropDict[submitScore] == undefined)) || (!((int(__setPropDict[submitScore]) == 6))))){
__setPropDict[submitScore] = currentFrame;
__setProp_submitScore_Scene1_objects_6();
};
stop();
totalScore = ((numResets * 10) + numBounces);
initEnd();
}
function frame1(){
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.addEventListener(Event.COMPLETE, completeListener);
setRightClick();
_mochiads_game_id = "4e3d6176b05471da";
MochiServices.connect("4e3d6176b05471da", root);
}
function frame3(){
qualitySet = 1;
muteSFX = false;
muteMusic = false;
}
public function goToEnd():void{
var _local1:int;
var _local2:int;
removeEventListener(Event.ENTER_FRAME, gameLoop);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeysDown);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, secondKeyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeysUp);
dragBall.removeEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
removeChild(finish);
if (dragBall != null){
dragBall.parent.removeChild(dragBall);
};
_local1 = (checkPointArray.length - 1);
while (_local1 >= 0) {
checkPointArray[_local1].parent.removeChild(checkPointArray[_local1]);
checkPointArray.splice(_local1, 1);
_local1--;
};
_local2 = (enemyArray.length - 1);
while (_local2 >= 0) {
enemyArray[_local2].parent.removeChild(enemyArray[_local2]);
enemyArray.splice(_local2, 1);
_local2--;
};
if (bounceSpotAdded == true){
bounceSpot.parent.removeChild(bounceSpot);
bounceSpotAdded = false;
};
TweenMax.to(cam, 1, {colorMatrixFilter:{colorize:0xFFFFFF, saturation:0}});
TweenMax.to(bg, 1, {colorMatrixFilter:{colorize:0xFFFFFF, saturation:0}});
musicChannel.stop();
dragballData.data.maxLevels = 40;
dragballData.flush();
gotoAndStop("end");
}
public function removeCircle():void{
removeChild(maxCircle);
}
function frame2(){
stop();
introPop = new Pop();
song2 = new Song2();
musicChannel = new SoundChannel();
musicChannel = song2.play(0, 99999);
animatieTimer = new Timer(1000, 1);
animatieTimer.addEventListener(TimerEvent.TIMER_COMPLETE, animatieTimerComplete);
animatieTimer.start();
nextTimer = new Timer(4000, 1);
nextTimer.addEventListener(TimerEvent.TIMER_COMPLETE, nextTimerComplete);
}
public function initMenu():void{
qualitySet = 1;
mainMenu = new MainMenuScreen();
credits = new Credits();
}
public function onKeysUp(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 16:
shiftDown = false;
break;
case 37:
leftRotation = false;
keysDown = false;
break;
case 39:
rightRotation = false;
keysDown = false;
break;
};
}
public function menuLoop(_arg1:Event):void{
checkBallMovements();
}
public function onHitDragBall():void{
soundHandler("deadEffect");
dragBall.hit(qualitySet);
changeTint(finishColour);
removeEventListener(Event.ENTER_FRAME, gameLoop);
dragBall.alpha = 0;
dragBall.removeEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
justKilled = true;
}
public function setVxVy():void{
vx = ((mouseX - oldX) / 6);
vy = ((mouseY - oldY) / 6);
if ((((vx >= 20)) || ((vx <= -20)))){
vy = (vy / 2);
vx = (vx / 2);
};
if ((((vy >= 20)) || ((vy <= -20)))){
vy = (vy / 2);
vx = (vx / 2);
};
}
public function onMouseClickMenu2(_arg1:MouseEvent):void{
if (_arg1.target == newGameBall){
dragballData.data.maxLevels = 1;
continueLevel = 1;
numResets = 0;
numBounces = 0;
removeEventListener(MouseEvent.CLICK, onMouseClickMenu2);
fadeStuff();
};
if (_arg1.target == continueBall){
removeEventListener(MouseEvent.CLICK, onMouseClickMenu2);
currentLevel = continueLevel;
fadeStuff();
};
if (_arg1.target == settingsBall){
initiateMenu();
};
if (_arg1.target == creditsBall){
showCredits();
};
}
public function onDragBallUp(_arg1:MouseEvent):void{
dragBallUpActions();
}
public function createBalls():void{
playBall = new MenuBall(37.5, 0x555555);
playBall.radius = 37.5;
balls.push(playBall);
playBall.x = 350;
playBall.y = 100;
playBall.gotoAndStop(1);
playBall.alpha = 0;
addChild(playBall);
TweenMax.to(playBall, 1, {alpha:1});
settingsBall = new MenuBall(25, 0x222222);
balls.push(settingsBall);
settingsBall.x = 100;
settingsBall.y = 200;
settingsBall.gotoAndStop(2);
settingsBall.alpha = 0;
addChild(settingsBall);
TweenMax.to(settingsBall, 1, {alpha:1});
creditsBall = new MenuBall(25, 5593224);
balls.push(creditsBall);
creditsBall.x = 600;
creditsBall.y = 300;
creditsBall.gotoAndStop(3);
creditsBall.alpha = 0;
addChild(creditsBall);
TweenMax.to(creditsBall, 1, {alpha:1});
}
public function secondKeyDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 77:
if (mouseDownBoolean == false){
showMenu();
};
break;
};
}
public function checkWallsMenu(_arg1:MenuBall):void{
if ((_arg1.x + _arg1.radius) > stage.stageWidth){
_arg1.x = (stage.stageWidth - _arg1.radius);
_arg1.vx = (_arg1.vx * bounceMenu);
} else {
if ((_arg1.x - _arg1.radius) < 0){
_arg1.x = _arg1.radius;
_arg1.vx = (_arg1.vx * bounceMenu);
};
};
if ((_arg1.y + _arg1.radius) > stage.stageHeight){
_arg1.y = (stage.stageHeight - _arg1.radius);
_arg1.vy = (_arg1.vy * bounceMenu);
} else {
if ((_arg1.y - _arg1.radius) < 0){
_arg1.y = _arg1.radius;
_arg1.vy = (_arg1.vy * bounceMenu);
};
};
}
function frame4(){
stop();
currentLevel = 1;
numBounces = 0;
numResets = 0;
balls = new Array();
bounceMenu = -1;
thud = new Thud();
createBalls();
addEventListener(Event.ENTER_FRAME, menuLoop);
mainMenuShown = false;
mainMenuDisplayed = false;
song1 = new Song1();
playBall.addEventListener(MouseEvent.CLICK, onPlayBallClick);
addEventListener(MouseEvent.CLICK, onMouseClickMenu);
initMenu();
dragballData = SharedObject.getLocal("dragBall2");
if ((((dragballData.data.maxLevels == undefined)) || ((dragballData.data.maxLevels == 0)))){
dragballData.data.maxLevels = 1;
} else {
continueLevel = dragballData.data.maxLevels;
};
if (dragballData.data.numberBounces == undefined){
dragballData.data.numberBounces = 0;
} else {
numBounces = dragballData.data.numberBounces;
};
if (dragballData.data.numberResets == undefined){
dragballData.data.numberResets = 0;
} else {
numResets = dragballData.data.numberResets;
};
}
public function changeTint(_arg1:uint):void{
TweenMax.to(cam, 3, {colorMatrixFilter:{colorize:_arg1, saturation:0.25}});
TweenMax.to(bg, 3, {colorMatrixFilter:{colorize:_arg1, saturation:0.75}});
}
public function setRightClick():void{
var _local1:ContextMenu;
_local1 = new ContextMenu();
_local1.hideBuiltInItems();
this.contextMenu = _local1;
}
public function fadeCircle():void{
TweenMax.to(maxCircle, 0.5, {alpha:0, onComplete:removeCircle});
}
public function changeXY():void{
oldX = lowX;
oldY = lowY;
lowY = midY;
lowX = midX;
midY = mouseY;
midX = mouseX;
}
public function showMainMenu():void{
if (mainMenuShown == false){
removeEventListener(Event.ENTER_FRAME, menuLoop);
mainMenu.x = 350;
mainMenu.y = 200;
mainMenu.alpha = 0;
addChild(mainMenu);
mainMenu.checkSelected();
TweenMax.to(mainMenu, 1, {alpha:1, onComplete:mainMenuUp});
mainMenuShown = true;
};
if ((((mainMenuShown == true)) && ((mainMenuDisplayed == true)))){
mainMenu.removeText();
removeMainMenu();
};
}
function __setProp_submitScore_Scene1_objects_6(){
try {
submitScore["componentInspectorSetting"] = true;
} catch(e:Error) {
};
submitScore.emphasized = false;
submitScore.enabled = true;
submitScore.label = "submit highscore";
submitScore.labelPlacement = "right";
submitScore.selected = false;
submitScore.toggle = false;
submitScore.visible = true;
try {
submitScore["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function backToMenuEnd(_arg1:MouseEvent):void{
dragballData.data.maxLevels = 1;
dragballData.flush();
gotoAndStop("menu");
}
public function showCredits():void{
removeEventListener(Event.ENTER_FRAME, menuLoop);
credits.x = 350;
credits.y = 200;
credits.alpha = 0;
addChild(credits);
TweenMax.to(credits, 1, {alpha:1});
}
public function removeLine():void{
if (lineAdded == true){
dragBall.removeChild(line);
dragBall.lineBoolean = false;
lineAdded = false;
};
}
public function fadeStuff():void{
TweenMax.to(newGameBall, 1, {alpha:0});
TweenMax.to(continueBall, 1, {alpha:0});
TweenMax.to(settingsBall, 1, {alpha:0});
TweenMax.to(creditsBall, 1, {alpha:0, onComplete:gotoGame});
TweenMax.to(musicChannel, 1, {volume:0});
}
public function getBlur():void{
TweenMax.to(dragBall, 0, {blurFilter:{blurX:(Math.sqrt((vx * vx)) / 1.5), blurY:(Math.sqrt((vy * vy)) / 1.5)}});
}
public function completeListener(_arg1:Event):void{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.removeEventListener(Event.COMPLETE, completeListener);
gotoAndPlay("xepticdesigns");
}
public function addBounceTekst():void{
if ((((currentLevel >= 6)) && ((bounceTextShown <= 3)))){
if (bouncePoint.x < 140){
bounceText.x = 140;
} else {
if (bouncePoint.x >= 560){
bounceText.x = 560;
} else {
bounceText.x = bouncePoint.x;
};
};
if (bouncePoint.y <= 50){
bounceText.y = (bouncePoint.y + 25);
} else {
bounceText.y = (bouncePoint.y - 25);
};
addChild(bounceText);
bounceTextAdded = true;
bounceTextShown++;
};
}
public function removeKids():void{
removeChild(newGameBall);
removeChild(continueBall);
removeChild(settingsBall);
removeChild(creditsBall);
}
public function setStart():void{
startX = dragBall.x;
startY = dragBall.y;
graphicsContainer.graphics.moveTo(startX, startY);
graphicsContainer.alpha = 0.3;
}
public function dragBallMovement():void{
dragBall.x = (dragBall.x + vx);
dragBall.y = (dragBall.y + vy);
}
public function checkDistance():void{
var _local1:Number;
var _local2:Number;
_local1 = (maxCircle.x - dragBall.x);
_local2 = (maxCircle.y - dragBall.y);
if (Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) >= 150){
dragBallUpActions();
};
}
public function gotoMainMenu():void{
gotoAndPlay("menu");
}
public function init():void{
setValues();
stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeysDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeysUp);
addEventListener(Event.ENTER_FRAME, gameLoop);
dragBall.addEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
checkLevel();
checkJustKilled();
setStart();
}
public function stopMusicMenu():void{
musicChannel.stop();
muteMusic = true;
}
public function submitScoreMochi(_arg1:MouseEvent):void{
var o:Object;
var boardID:String;
var event = _arg1;
o = {n:[13, 13, 3, 12, 7, 4, 6, 5, 4, 5, 7, 3, 0, 11, 12, 4], f:function (_arg1:Number, _arg2:String):String{
if (_arg2.length == 16){
return (_arg2);
};
return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16))));
}};
boardID = o.f(0, "");
MochiScores.showLeaderboard({boardID:boardID, score:totalScore});
}
public function reset():void{
var _local1:int;
var _local2:int;
if (bounceTextAdded == true){
bounceText.parent.removeChild(bounceText);
bounceTextAdded = false;
};
if (bounceSpotAdded == true){
bounceSpot.parent.removeChild(bounceSpot);
bounceSpotAdded = false;
};
removeChild(finish);
if (dragBall != null){
dragBall.parent.removeChild(dragBall);
};
_local1 = (checkPointArray.length - 1);
while (_local1 >= 0) {
checkPointArray[_local1].parent.removeChild(checkPointArray[_local1]);
checkPointArray.splice(_local1, 1);
_local1--;
};
_local2 = (enemyArray.length - 1);
while (_local2 >= 0) {
enemyArray[_local2].parent.removeChild(enemyArray[_local2]);
enemyArray.splice(_local2, 1);
_local2--;
};
}
public function stopMusic():void{
musicChannel.stop();
muteMusic = true;
}
public function rotate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean):Point{
var _local6:Point;
_local6 = new Point();
if (_arg5){
_local6.x = ((_arg1 * _arg4) + (_arg2 * _arg3));
_local6.y = ((_arg2 * _arg4) - (_arg1 * _arg3));
} else {
_local6.x = ((_arg1 * _arg4) - (_arg2 * _arg3));
_local6.y = ((_arg2 * _arg4) + (_arg1 * _arg3));
};
return (_local6);
}
public function soundHandler(_arg1:String):void{
var _local2:Pop;
var _local3:Pop2;
var _local4:Pop3;
_local2 = new Pop();
_local3 = new Pop2();
_local4 = new Pop3();
if (muteSFX == false){
if (_arg1 == "hitEffect"){
_local2.play();
};
if (_arg1 == "finishEffect"){
_local3.play();
};
if (_arg1 == "deadEffect"){
_local4.play();
};
};
}
public function removeMainMenu():void{
addEventListener(Event.ENTER_FRAME, menuLoop);
removeChild(mainMenu);
mainMenuShown = false;
mainMenuDisplayed = false;
stage.focus = stage;
}
public function animatieTimerComplete(_arg1:TimerEvent):void{
introPop.play();
xd.startAnimatie();
nextTimer.start();
}
public function nextTimerComplete(_arg1:TimerEvent):void{
TweenMax.to(xd, 1, {alpha:0, onComplete:gotoMainMenu});
}
public function mainMenuUp():void{
mainMenuDisplayed = true;
}
public function removeCredits():void{
addEventListener(Event.ENTER_FRAME, menuLoop);
removeChild(credits);
stage.focus = stage;
}
public function checkBoundaries():void{
if (dragBall.x <= 15){
dragBall.x = 15;
};
if (dragBall.x >= 685){
dragBall.x = 685;
};
if (dragBall.y <= 15){
dragBall.y = 15;
};
if (dragBall.y >= 385){
dragBall.y = 385;
};
}
public function goToMenu():void{
var _local1:int;
var _local2:int;
removeChild(menu);
dragballData.data.numberBounces = numBounces;
dragballData.data.numberResets = numResets;
dragballData.flush();
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeysDown);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, secondKeyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeysUp);
removeEventListener(Event.ENTER_FRAME, gameLoop);
dragBall.removeEventListener(MouseEvent.MOUSE_DOWN, onDragBallDown);
removeChild(finish);
if (bounceTextAdded == true){
bounceText.parent.removeChild(bounceText);
bounceTextAdded = false;
};
if (bounceSpotAdded == true){
bounceSpot.parent.removeChild(bounceSpot);
bounceSpotAdded = false;
};
if (dragBall != null){
dragBall.parent.removeChild(dragBall);
};
_local1 = (checkPointArray.length - 1);
while (_local1 >= 0) {
checkPointArray[_local1].parent.removeChild(checkPointArray[_local1]);
checkPointArray.splice(_local1, 1);
_local1--;
};
_local2 = (enemyArray.length - 1);
while (_local2 >= 0) {
enemyArray[_local2].parent.removeChild(enemyArray[_local2]);
enemyArray.splice(_local2, 1);
_local2--;
};
musicChannel.stop();
checkTeksten();
if (muteMusic == false){
musicChannel = song2.play(0, 9999);
};
gotoAndStop("menu");
}
public function checkCollisionMenu(_arg1:MenuBall, _arg2:MenuBall):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Point;
var _local10:Point;
var _local11:Point;
var _local12:Point;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Object;
var _local17:Object;
var _local18:Object;
var _local19:Object;
_local3 = (_arg2.x - _arg1.x);
_local4 = (_arg2.y - _arg1.y);
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local5 < (_arg1.radius + _arg2.radius)){
particlesMenu(_arg2.x, _arg2.y, _arg1.x, _arg1.y);
if (muteSFX == false){
thud.play();
};
_local6 = Math.atan2(_local4, _local3);
_local7 = Math.sin(_local6);
_local8 = Math.cos(_local6);
_local9 = new Point(0, 0);
_local10 = rotate(_local3, _local4, _local7, _local8, true);
_local11 = rotate(_arg1.vx, _arg1.vy, _local7, _local8, true);
_local12 = rotate(_arg2.vx, _arg2.vy, _local7, _local8, true);
_local13 = (_local11.x - _local12.x);
_local11.x = ((((_arg1.mass - _arg2.mass) * _local11.x) + ((2 * _arg2.mass) * _local12.x)) / (_arg1.mass + _arg2.mass));
_local12.x = (_local13 + _local11.x);
_local14 = (Math.abs(_local11.x) + Math.abs(_local12.x));
_local15 = ((_arg1.radius + _arg2.radius) - Math.abs((_local9.x - _local10.x)));
_local9.x = (_local9.x + ((_local11.x / _local14) * _local15));
_local10.x = (_local10.x + ((_local12.x / _local14) * _local15));
_local16 = rotate(_local9.x, _local9.y, _local7, _local8, false);
_local17 = rotate(_local10.x, _local10.y, _local7, _local8, false);
_arg2.x = (_arg1.x + _local17.x);
_arg2.y = (_arg1.y + _local17.y);
_arg1.x = (_arg1.x + _local16.x);
_arg1.y = (_arg1.y + _local16.y);
_local18 = rotate(_local11.x, _local11.y, _local7, _local8, false);
_local19 = rotate(_local12.x, _local12.y, _local7, _local8, false);
_arg1.vx = _local18.x;
_arg1.vy = _local18.y;
_arg2.vx = _local19.x;
_arg2.vy = _local19.y;
};
}
public function playMusic():void{
musicChannel = song1.play(0, -1);
muteMusic = false;
}
public function initiateMenu():void{
showMainMenu();
}
public function onMouseClickMenu(_arg1:MouseEvent):void{
if (_arg1.target == settingsBall){
initiateMenu();
};
if (_arg1.target == creditsBall){
showCredits();
};
}
public function checkLevel():void{
switch (currentLevel){
case 1:
dragBall.x = 100;
dragBall.y = 200;
addChild(dragBall);
addChild(tekst1);
tekst1.x = 350;
tekst1.y = 200;
finish = new Finish();
finish.x = 600;
finish.y = 200;
addChild(finish);
break;
case 2:
dragBall.x = 350;
dragBall.y = 50;
addChild(dragBall);
addChild(tekst2);
tekst2.x = 350;
tekst2.y = 200;
finish = new Finish();
finish.x = 350;
finish.y = 350;
addChild(finish);
break;
case 3:
dragBall.x = 100;
dragBall.y = 100;
addChild(dragBall);
addChild(tekst3);
tekst3.x = 350;
tekst3.y = 50;
checkPoint = new CheckPoint();
checkPoint.x = 350;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 600;
finish.y = 300;
addChild(finish);
break;
case 4:
dragBall.x = 100;
dragBall.y = 200;
addChild(dragBall);
checkPoint = new CheckPoint();
checkPoint.x = 400;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 300;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 500;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 600;
finish.y = 200;
addChild(finish);
addChild(tekst4);
tekst4.x = 350;
tekst4.y = 140;
break;
case 5:
addChild(tekst5);
tekst5.x = 350;
tekst5.y = 140;
dragBall.x = 600;
dragBall.y = 200;
addChild(dragBall);
checkPoint = new CheckPoint();
checkPoint.x = 250;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 400;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 100;
finish.y = 200;
addChild(finish);
break;
case 6:
finish = new Finish();
finish.x = 570;
finish.y = 200;
addChild(finish);
dragBall.x = 275;
dragBall.y = 200;
addChild(dragBall);
checkPoint = new CheckPoint();
checkPoint.x = 69;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
break;
case 7:
finish.x = 50;
finish.y = 350;
addChild(finish);
dragBall.x = 650;
dragBall.y = 50;
addChild(dragBall);
checkPoint = new CheckPoint();
checkPoint.x = 250;
checkPoint.y = 250;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 450;
checkPoint.y = 150;
addChild(checkPoint);
checkPointArray.push(checkPoint);
break;
case 8:
dragBall.x = 100;
dragBall.y = 200;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 350;
enemy.y = 200;
addChild(enemy);
enemyArray.push(enemy);
finish = new Finish();
finish.x = 600;
finish.y = 200;
addChild(finish);
break;
case 9:
dragBall.x = 652;
dragBall.y = 47;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 272.5;
enemy.y = 289;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 148.5;
checkPoint.y = 215.8;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 92;
finish.y = 52;
addChild(finish);
break;
case 10:
dragBall.x = 650;
dragBall.y = 50;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 235;
enemy.y = 0x0101;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 357;
checkPoint.y = 197;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 50;
finish.y = 350;
addChild(finish);
break;
case 11:
dragBall.x = 522;
dragBall.y = 347;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 303.5;
enemy.y = 188.4;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 63;
enemy.y = 302;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 357.4;
checkPoint.y = 290.3;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 221.5;
checkPoint.y = 102.2;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 374;
finish.y = 50;
addChild(finish);
break;
case 12:
dragBall.x = 50.2;
dragBall.y = 268;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 254.9;
enemy.y = 172.4;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 364.9;
enemy.y = 243.9;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 616.2;
checkPoint.y = 267.4;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 457.4;
finish.y = 292.1;
addChild(finish);
break;
case 16:
dragBall.x = 38;
dragBall.y = 229;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 457;
enemy.y = 221;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 517;
checkPoint.y = 350;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 431;
checkPoint.y = 284;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 196;
checkPoint.y = 107;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 350;
finish.y = 223;
addChild(finish);
break;
case 14:
dragBall.x = 348.5;
dragBall.y = 34.8;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 387;
enemy.y = 204;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 126;
enemy.y = 326;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 536.5;
checkPoint.y = 114;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 161;
checkPoint.y = 174;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 160;
checkPoint.y = 220;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 531;
checkPoint.y = 280;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 418;
finish.y = 349;
addChild(finish);
break;
case 15:
dragBall.x = 299;
dragBall.y = 238;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 70;
enemy.y = 189;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 564;
enemy.y = 144;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 400;
checkPoint.y = 50;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 510;
checkPoint.y = 263;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 641;
finish.y = 213;
addChild(finish);
break;
case 19:
dragBall.x = 665;
dragBall.y = 200;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 222.5;
enemy.y = 200;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 338;
enemy.y = 200;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 468;
enemy.y = 200;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 163.2;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 279.2;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 402.2;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 528.8;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 40;
finish.y = 200;
addChild(finish);
break;
case 13:
dragBall.x = 322;
dragBall.y = 0xFF;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 488;
enemy.y = 272;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 85;
enemy.y = 339;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 115;
checkPoint.y = 141;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 77;
checkPoint.y = 50;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 612;
checkPoint.y = 275;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 477;
finish.y = 340;
addChild(finish);
break;
case 17:
dragBall.x = 158;
dragBall.y = 368;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 149;
enemy.y = 125;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 377;
enemy.y = 203;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 149;
checkPoint.y = 200;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 603;
finish.y = 108;
addChild(finish);
break;
case 23:
dragBall.x = 350;
dragBall.y = 200;
addChild(dragBall);
enemy = new Enemy();
enemy.x = 76;
enemy.y = 322;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 329;
enemy.y = 33;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 550;
enemy.y = 136;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 516;
checkPoint.y = 55;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 490;
checkPoint.y = 296;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 364;
checkPoint.y = 366;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 132;
checkPoint.y = 163;
addChild(checkPoint);
checkPointArray.push(checkPoint);
finish = new Finish();
finish.x = 185;
finish.y = 115;
addChild(finish);
break;
case 20:
dragBall.x = 236;
dragBall.y = 65;
addChild(dragBall);
finish = new Finish();
finish.x = 66;
finish.y = 95;
addChild(finish);
enemy = new Enemy();
enemy.x = 363;
enemy.y = 222;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 505;
enemy.y = 265;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 190;
enemy.y = 322;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 610;
checkPoint.y = 336;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 353;
checkPoint.y = 303;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 91;
checkPoint.y = 168;
addChild(checkPoint);
checkPointArray.push(checkPoint);
break;
case 36:
dragBall.x = 471;
dragBall.y = 277;
addChild(dragBall);
finish = new Finish();
finish.x = 395;
finish.y = 202;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 339;
checkPoint.y = 148;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 237;
checkPoint.y = 83;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 157;
checkPoint.y = 61;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 85;
checkPoint.y = 131;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 68;
checkPoint.y = 250;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 144;
checkPoint.y = 324;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 270;
checkPoint.y = 324;
addChild(checkPoint);
checkPointArray.push(checkPoint);
break;
case 22:
dragBall.x = 89;
dragBall.y = 51;
addChild(dragBall);
finish = new Finish();
finish.x = 615;
finish.y = 349;
addChild(finish);
enemy = new Enemy();
enemy.x = 354;
enemy.y = 201;
addChild(enemy);
enemyArray.push(enemy);
checkPoint = new CheckPoint();
checkPoint.x = 289;
checkPoint.y = 164;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 449;
checkPoint.y = 305;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 0x0202;
checkPoint.y = 292;
addChild(checkPoint);
checkPointArray.push(checkPoint);
break;
case 18:
dragBall.x = 54;
dragBall.y = 230;
addChild(dragBall);
finish = new Finish();
finish.x = 586;
finish.y = 230;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 427;
checkPoint.y = 230;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 448;
checkPoint.y = 230;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 544;
checkPoint.y = 342;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 262;
enemy.y = 230;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 511;
enemy.y = 230;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 378;
enemy.y = 348;
addChild(enemy);
enemyArray.push(enemy);
break;
case 24:
dragBall.x = 248;
dragBall.y = 107;
addChild(dragBall);
finish = new Finish();
finish.x = 467;
finish.y = 97;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 48;
checkPoint.y = 218;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 170;
checkPoint.y = 370;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 89;
enemy.y = 210;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 70;
enemy.y = 351;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 404;
enemy.y = 330;
addChild(enemy);
enemyArray.push(enemy);
break;
case 25:
dragBall.x = 0xFF;
dragBall.y = 241;
addChild(dragBall);
finish = new Finish();
finish.x = 85;
finish.y = 139;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 390;
checkPoint.y = 104;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 459;
checkPoint.y = 80;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 519;
checkPoint.y = 34;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 609;
checkPoint.y = 71;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 622;
checkPoint.y = 181;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 509;
checkPoint.y = 271;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 431;
enemy.y = 167;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 540;
enemy.y = 96;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 528;
enemy.y = 201;
addChild(enemy);
enemyArray.push(enemy);
break;
case 28:
dragBall.x = 286;
dragBall.y = 224;
addChild(dragBall);
finish = new Finish();
finish.x = 89;
finish.y = 45;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 644;
checkPoint.y = 61;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 346;
enemy.y = 67;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 130;
enemy.y = 105;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 595;
enemy.y = 104;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 459;
enemy.y = 258;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 599;
enemy.y = 348;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 77;
enemy.y = 351;
addChild(enemy);
enemyArray.push(enemy);
break;
case 27:
dragBall.x = 414;
dragBall.y = 103;
addChild(dragBall);
finish = new Finish();
finish.x = 186;
finish.y = 41;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 349;
checkPoint.y = 328;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 122;
enemy.y = 284;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 175;
enemy.y = 134;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 371;
enemy.y = 272;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 345;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 614;
enemy.y = 98;
addChild(enemy);
enemyArray.push(enemy);
break;
case 26:
dragBall.x = 80;
dragBall.y = 54;
addChild(dragBall);
finish = new Finish();
finish.x = 86;
finish.y = 304;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 594;
checkPoint.y = 59;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 164;
enemy.y = 297;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 261;
enemy.y = 349;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 329;
enemy.y = 69;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 475;
enemy.y = 226;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 345;
addChild(enemy);
enemyArray.push(enemy);
break;
case 29:
dragBall.x = 204;
dragBall.y = 258;
addChild(dragBall);
finish = new Finish();
finish.x = 589;
finish.y = 224;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 254;
checkPoint.y = 38;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 293;
checkPoint.y = 38;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 53;
enemy.y = 120;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 267;
enemy.y = 81;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 378;
enemy.y = 188;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 369;
enemy.y = 349;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 567;
enemy.y = 60;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 134;
addChild(enemy);
enemyArray.push(enemy);
break;
case 30:
dragBall.x = 492;
dragBall.y = 315;
addChild(dragBall);
finish = new Finish();
finish.x = 181;
finish.y = 292;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 205;
checkPoint.y = 216;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 97;
checkPoint.y = 296;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 120;
enemy.y = 150;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 217;
enemy.y = 363;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 271;
enemy.y = 226;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 445;
enemy.y = 109;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 52;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 670;
enemy.y = 249;
addChild(enemy);
enemyArray.push(enemy);
break;
case 31:
dragBall.x = 231;
dragBall.y = 189;
addChild(dragBall);
finish = new Finish();
finish.x = 474;
finish.y = 362;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 453;
checkPoint.y = 17;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 553;
checkPoint.y = 91;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 358;
enemy.y = 43;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 383;
enemy.y = 311;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 409;
enemy.y = 96;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 528;
enemy.y = 119;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 579;
enemy.y = 34;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 579;
enemy.y = 231;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 633;
enemy.y = 286;
addChild(enemy);
enemyArray.push(enemy);
break;
case 32:
dragBall.x = 63;
dragBall.y = 346;
addChild(dragBall);
finish = new Finish();
finish.x = 568;
finish.y = 140;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 492;
checkPoint.y = 184;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 142;
enemy.y = 45;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 191;
enemy.y = 195;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 296;
enemy.y = 322;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 340;
enemy.y = 148;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 370;
enemy.y = 216;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 520;
enemy.y = 357;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 487;
enemy.y = 64;
addChild(enemy);
enemyArray.push(enemy);
break;
case 33:
dragBall.x = 171;
dragBall.y = 92;
addChild(dragBall);
finish = new Finish();
finish.x = 541;
finish.y = 309;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 494;
checkPoint.y = 49;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 31;
enemy.y = 380;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 180;
enemy.y = 162;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 337;
enemy.y = 355;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 402;
enemy.y = 224;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 396;
enemy.y = 79;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 327;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 641;
enemy.y = 52;
addChild(enemy);
enemyArray.push(enemy);
break;
case 34:
dragBall.x = 454;
dragBall.y = 243;
addChild(dragBall);
finish = new Finish();
finish.x = 678;
finish.y = 220;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 405;
checkPoint.y = 15;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 31;
enemy.y = 380;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 118;
enemy.y = 98;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 212;
enemy.y = 248;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 410;
enemy.y = 70;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 525;
enemy.y = 35;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 641;
enemy.y = 52;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 630;
enemy.y = 327;
addChild(enemy);
enemyArray.push(enemy);
break;
case 35:
dragBall.x = 66;
dragBall.y = 178;
addChild(dragBall);
finish = new Finish();
finish.x = 596;
finish.y = 180;
addChild(finish);
enemy = new Enemy();
enemy.x = 238;
enemy.y = 204;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 371;
enemy.y = 350;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 342;
enemy.y = 75;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 503;
enemy.y = 148;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 503;
enemy.y = 210;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 511;
enemy.y = 302;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 641;
enemy.y = 52;
addChild(enemy);
enemyArray.push(enemy);
break;
case 21:
dragBall.x = 91;
dragBall.y = 230;
addChild(dragBall);
finish = new Finish();
finish.x = 574;
finish.y = 74;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 343;
checkPoint.y = 104;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 557;
checkPoint.y = 291;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 606;
checkPoint.y = 129;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 142;
enemy.y = 57;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 267;
enemy.y = 140;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 305;
enemy.y = 37;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 377;
enemy.y = 339;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 545;
enemy.y = 160;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 625;
enemy.y = 47;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 380;
enemy.y = 191;
addChild(enemy);
enemyArray.push(enemy);
break;
case 37:
dragBall.x = 224;
dragBall.y = 79;
addChild(dragBall);
finish = new Finish();
finish.x = 38;
finish.y = 87;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 324;
checkPoint.y = 349;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 516;
checkPoint.y = 64;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 467;
checkPoint.y = 306;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 40;
enemy.y = 37;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 138;
enemy.y = 280;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 401;
enemy.y = 75;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 419;
enemy.y = 0xFF;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 584;
enemy.y = 117;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 559;
enemy.y = 337;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 639;
enemy.y = 219;
addChild(enemy);
enemyArray.push(enemy);
break;
case 38:
dragBall.x = 96;
dragBall.y = 209;
addChild(dragBall);
finish = new Finish();
finish.x = 35;
finish.y = 23;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 303;
checkPoint.y = 299;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 415;
checkPoint.y = 134;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 461;
checkPoint.y = 334;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 162;
enemy.y = 41;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 274;
enemy.y = 125;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 254;
enemy.y = 362;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 391;
enemy.y = 55;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 528;
enemy.y = 175;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 584;
enemy.y = 117;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 624;
enemy.y = 283;
addChild(enemy);
enemyArray.push(enemy);
break;
case 39:
dragBall.x = 86;
dragBall.y = 204;
addChild(dragBall);
finish = new Finish();
finish.x = 375;
finish.y = 375;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 214;
checkPoint.y = 91;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 419;
checkPoint.y = 197;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 581;
checkPoint.y = 334;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 602;
checkPoint.y = 344;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 221;
enemy.y = 367;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 252;
enemy.y = 200;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 248;
enemy.y = 52;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 368;
enemy.y = 291;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 451;
enemy.y = 83;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 489;
enemy.y = 291;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 645;
enemy.y = 202;
addChild(enemy);
enemyArray.push(enemy);
break;
case 40:
dragBall.x = 337;
dragBall.y = 89;
addChild(dragBall);
finish = new Finish();
finish.x = 615;
finish.y = 375;
addChild(finish);
checkPoint = new CheckPoint();
checkPoint.x = 59;
checkPoint.y = 71;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 103;
checkPoint.y = 291;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 187;
checkPoint.y = 338;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 346;
checkPoint.y = 335;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 521;
checkPoint.y = 45;
addChild(checkPoint);
checkPointArray.push(checkPoint);
checkPoint = new CheckPoint();
checkPoint.x = 641;
checkPoint.y = 333;
addChild(checkPoint);
checkPointArray.push(checkPoint);
enemy = new Enemy();
enemy.x = 56;
enemy.y = 362;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 108;
enemy.y = 186;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 170;
enemy.y = 45;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 237;
enemy.y = 357;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 300;
enemy.y = 285;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 451;
enemy.y = 357;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 0x0202;
enemy.y = 209;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 573;
enemy.y = 168;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 608;
enemy.y = 36;
addChild(enemy);
enemyArray.push(enemy);
enemy = new Enemy();
enemy.x = 578;
enemy.y = 282;
addChild(enemy);
enemyArray.push(enemy);
break;
};
}
public function checkEnemyCollision():void{
var _local1:Boolean;
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:int;
var _local7:Point;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local1 = true;
_local2 = (enemyArray.length - 1);
while (_local2 >= 0) {
_local3 = (enemyArray[_local2].x - dragBall.x);
_local4 = (enemyArray[_local2].y - dragBall.y);
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local5 <= 27.5){
onHitDragBall();
_local1 = false;
} else {
_local1 = true;
};
_local2--;
};
if (_local1 == true){
_local6 = (enemyArray.length - 1);
while (_local6 >= 0) {
_local7 = new Point();
_local7.x = (dragBall.x - ((dragBall.x - prevX) / 2));
_local7.y = (dragBall.y - ((dragBall.y - prevY) / 2));
_local8 = (enemyArray[_local6].x - _local7.x);
_local9 = (enemyArray[_local6].y - _local7.y);
_local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
if (_local10 <= 27.5){
onHitDragBall();
};
_local6--;
};
};
}
public function particlesMenu(_arg1, _arg2, _arg3, _arg4:Number):void{
var _local5:uint;
var _local6:uint;
var _local7:Number;
var _local8:ImpactParticle;
_local5 = ((20 + Math.round((Math.random() * 10))) * qualitySet);
_local6 = (Math.random() * 0xFFFFFF);
_local7 = _local5;
while (_local7 > 0) {
_local8 = new ImpactParticle((Math.random() * 3), (Math.random() * 3), _local6);
_local8.x = ((_arg1 + _arg3) / 2);
_local8.y = ((_arg2 + _arg4) / 2);
stage.addChild(_local8);
_local7--;
};
}
public function setPrev():void{
prevX = dragBall.x;
prevY = dragBall.y;
}
public function checkFinish():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
if (checkPointArray.length == 0){
_local1 = (finish.x - dragBall.x);
_local2 = (finish.y - dragBall.y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
if (_local3 <= 35){
soundHandler("finishEffect");
finish.hit(finishColour, qualitySet);
justKilled = false;
checkTeksten();
currentLevel++;
dragballData.data.maxLevels = currentLevel;
dragballData.flush();
if (currentLevel == 41){
goToEnd();
} else {
reset();
init();
};
};
};
}
public function checkJustKilled():void{
var _local1:int;
if ((((((justKilled == true)) && ((enemyArray.length > 0)))) && ((currentLevel <= 12)))){
_local1 = (enemyArray.length - 1);
while (_local1 >= 0) {
TweenMax.to(enemyArray[_local1].warning, 2, {alpha:1});
_local1--;
};
};
}
public function checkWalls():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (beingDragged == false){
_local1 = 0;
_local2 = stage.stageWidth;
_local3 = 0;
_local4 = stage.stageHeight;
if ((dragBall.x + 15) >= _local2){
dragBall.x = (_local2 - (dragBall.hitCircle.width / 2));
vx = (vx * bounce);
vy = (vy * -(bounce));
numBounces++;
bounced = true;
if (firstBounce == false){
bouncePoint.x = dragBall.x;
bouncePoint.y = dragBall.y;
firstBounce = true;
};
} else {
if ((dragBall.x - (dragBall.hitCircle.width / 2)) < _local1){
dragBall.x = (_local1 + (dragBall.hitCircle.width / 2));
vx = (vx * bounce);
vy = (vy * -(bounce));
numBounces++;
bounced = true;
if (firstBounce == false){
bouncePoint.x = dragBall.x;
bouncePoint.y = dragBall.y;
firstBounce = true;
};
};
};
if ((dragBall.y + (dragBall.hitCircle.width / 2)) > _local4){
dragBall.y = (_local4 - (dragBall.hitCircle.width / 2));
vx = (vx * -(bounce));
vy = (vy * bounce);
numBounces++;
bounced = true;
if (firstBounce == false){
bouncePoint.x = dragBall.x;
bouncePoint.y = dragBall.y;
firstBounce = true;
};
} else {
if ((dragBall.y - (dragBall.hitCircle.width / 2)) < _local3){
dragBall.y = (_local3 + (dragBall.hitCircle.width / 2));
vx = (vx * -(bounce));
vy = (vy * bounce);
numBounces++;
bounced = true;
if (firstBounce == false){
bouncePoint.x = dragBall.x;
bouncePoint.y = dragBall.y;
firstBounce = true;
};
};
};
};
}
public function checkTeksten():void{
if (currentLevel == 1){
removeChild(tekst1);
};
if (currentLevel == 2){
removeChild(tekst2);
};
if (currentLevel == 3){
removeChild(tekst3);
};
if (currentLevel == 4){
removeChild(tekst4);
};
if (currentLevel == 5){
removeChild(tekst5);
};
}
public function gameLoop(_arg1:Event):void{
if (afterDrag == true){
if (enemyArray.length != 0){
checkEnemyCollision();
};
checkFinish();
checkWalls();
dragBallMovement();
checkCollision();
};
if (beingDragged == true){
checkDistance();
checkBoundaries();
};
changeXY();
rotateLine();
setPrev();
setChildIndex(dragBall, (numChildren - 1));
}
public function dragBallUpActions():void{
mouseDownBoolean = false;
dragBall.stopDrag();
afterDrag = true;
beingDragged = false;
shot = true;
fadeCircle();
setVxVy();
stage.removeEventListener(MouseEvent.MOUSE_UP, onDragBallUp);
}
public function resetGame():void{
removeEventListener(Event.ENTER_FRAME, gameLoop);
numResets++;
reset();
if (bounced == true){
bounceSpot = new BounceSpot();
bounceSpot.x = bouncePoint.x;
bounceSpot.y = bouncePoint.y;
addChild(bounceSpot);
addBounceTekst();
bounceSpotAdded = true;
} else {
if (bounceTextAdded == true){
bounceText.parent.removeChild(bounceText);
bounceTextAdded = false;
};
};
init();
}
public function onKeysDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 16:
shiftDown = true;
break;
case 37:
if (mouseDownBoolean == false){
if (shot == false){
addLine();
keysDown = true;
leftRotation = true;
};
};
break;
case 39:
if (mouseDownBoolean == false){
if (shot == false){
addLine();
keysDown = true;
rightRotation = true;
};
};
break;
case 38:
if (mouseDownBoolean == false){
if (shot == false){
shoot();
};
};
break;
case 32:
if (mouseDownBoolean == false){
resetGame();
};
break;
case 82:
if (mouseDownBoolean == false){
resetGame();
};
break;
case 13:
shot = false;
break;
case 77:
if (mouseDownBoolean == false){
showMenu();
};
break;
};
}
public function initEnd():void{
score_txt.text = (((("You finished the game with a total number of " + numResets) + " resets, and ") + numBounces) + " bounces.");
totalScore_txt.text = ("Total score: " + totalScore);
exitToMain.addEventListener(MouseEvent.CLICK, backToMenuEnd);
submitScore.addEventListener(MouseEvent.CLICK, submitScoreMochi);
}
public function gotoGame():void{
removeKids();
removeEventListener(Event.ENTER_FRAME, menuLoop);
musicChannel.stop();
gotoAndStop("game");
}
public function rotateLine():void{
if ((((leftRotation == true)) || ((rightRotation == true)))){
line.alpha = 1;
lineLeven = 0;
vRotation = 2;
if (shiftDown == true){
vRotation = (vRotation * 0.05);
};
if (leftRotation == true){
vRotation = (vRotation * -1);
};
if (rightRotation == true){
vRotation = (vRotation * 1);
};
dragBall.rotation = (dragBall.rotation + vRotation);
} else {
if ((((keysDown == false)) && ((dragBall.lineBoolean == true)))){
dragBall.rotation = (dragBall.rotation + vRotation);
vRotation = (vRotation * 0.9);
};
};
if ((((((leftRotation == false)) && ((rightRotation == false)))) && ((keysDown == false)))){
lineLeven++;
if ((((lineLeven >= 200)) && ((lineAdded == true)))){
line.alpha = (line.alpha - 0.01);
if (line.alpha <= 0){
removeLine();
};
};
};
}
}
}//package dragBall2_fla
Section 2
//MuziekContainer_3 (dragBall2_fla.MuziekContainer_3)
package dragBall2_fla {
import flash.display.*;
public dynamic class MuziekContainer_3 extends MovieClip {
public function MuziekContainer_3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package dragBall2_fla
Section 3
//VCam_AS3_Interactive_6 (dragBall2_fla.VCam_AS3_Interactive_6)
package dragBall2_fla {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class VCam_AS3_Interactive_6 extends MovieClip {
public var sH:Number;
public var rp:Point;
public var sW:Number;
public var bounds_obj:Object;
public var camH:Number;
public var camW:Number;
public var oldScaleMode:String;
public function VCam_AS3_Interactive_6(){
addFrameScript(0, frame1);
}
public function set scaleX2(_arg1:Number):void{
setProperty2("scaleX", _arg1);
}
function frame1(){
mouseEnabled = false;
visible = false;
oldScaleMode = stage.scaleMode;
stage.scaleMode = "exactFit";
sW = stage.stageWidth;
sH = stage.stageHeight;
stage.scaleMode = oldScaleMode;
bounds_obj = this.getBounds(this);
camH = bounds_obj.height;
camW = bounds_obj.width;
rp = new Point(x, y);
addEventListener(Event.ENTER_FRAME, camControl);
addEventListener(Event.REMOVED_FROM_STAGE, reset);
camControl();
}
public function set x2(_arg1:Number):void{
var _local2:Point;
_local2 = parent.parent.globalToLocal(parent.localToGlobal(rp));
parent.x = (parent.x + (_arg1 - _local2.x));
}
public function get rotation2():Number{
return (parent.rotation);
}
public function camControl(... _args):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
rp.x = x;
rp.y = y;
_local2 = (camH * scaleY);
_local3 = (camW * scaleX);
_local4 = (sH / _local2);
_local5 = (sW / _local3);
x2 = ((_local3 / 2) * _local5);
y2 = ((_local2 / 2) * _local4);
scaleX2 = _local5;
scaleY2 = _local4;
rotation2 = -(rotation);
parent.filters = this.filters;
parent.transform.colorTransform = this.transform.colorTransform;
}
public function set scaleY2(_arg1:Number):void{
setProperty2("scaleY", _arg1);
}
public function get scaleX2():Number{
return (parent.scaleX);
}
public function get x2():Number{
var _local1:Point;
_local1 = parent.parent.globalToLocal(parent.localToGlobal(rp));
return (_local1.x);
}
public function setProperty2(_arg1:String, _arg2:Number):void{
var _local3:Point;
var _local4:Point;
_local3 = parent.parent.globalToLocal(parent.localToGlobal(rp));
parent[_arg1] = _arg2;
_local4 = parent.parent.globalToLocal(parent.localToGlobal(rp));
parent.x = (parent.x - (_local4.x - _local3.x));
parent.y = (parent.y - (_local4.y - _local3.y));
}
public function set y2(_arg1:Number):void{
var _local2:Point;
_local2 = parent.parent.globalToLocal(parent.localToGlobal(rp));
parent.y = (parent.y + (_arg1 - _local2.y));
}
public function reset(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, camControl);
removeEventListener(Event.REMOVED_FROM_STAGE, reset);
parent.scaleX = 1;
parent.scaleY = 1;
parent.x = 0;
parent.y = 0;
parent.rotation = 0;
parent.visible = true;
}
public function get scaleY2():Number{
return (parent.scaleY);
}
public function get y2():Number{
var _local1:Point;
_local1 = parent.parent.globalToLocal(parent.localToGlobal(rp));
return (_local1.y);
}
public function set rotation2(_arg1:Number):void{
setProperty2("rotation", _arg1);
}
}
}//package dragBall2_fla
Section 4
//XepticAnimatie_4 (dragBall2_fla.XepticAnimatie_4)
package dragBall2_fla {
import flash.display.*;
public dynamic class XepticAnimatie_4 extends MovieClip {
public function XepticAnimatie_4(){
addFrameScript(0, frame1);
}
function frame1(){
}
public function startAnimatie():void{
var _local1:uint;
var _local2:Number;
var _local3:ImpactParticle2;
_local1 = (30 + Math.round((Math.random() * 10)));
_local2 = _local1;
while (_local2 > 0) {
_local3 = new ImpactParticle2(0, 0, 12780034);
_local3.x = 515;
_local3.y = 200;
stage.addChild(_local3);
_local2--;
};
}
}
}//package dragBall2_fla
Section 5
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import flash.utils.*;
import fl.events.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 6
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 7
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 8
//CheckBox (fl.controls.CheckBox)
package fl.controls {
import flash.display.*;
public class CheckBox extends LabelButton {
private static var defaultStyles:Object = {icon:null, upIcon:"CheckBox_upIcon", downIcon:"CheckBox_downIcon", overIcon:"CheckBox_overIcon", disabledIcon:"CheckBox_disabledIcon", selectedDisabledIcon:"CheckBox_selectedDisabledIcon", focusRectSkin:null, focusRectPadding:null, selectedUpIcon:"CheckBox_selectedUpIcon", selectedDownIcon:"CheckBox_selectedDownIcon", selectedOverIcon:"CheckBox_selectedOverIcon", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public static var createAccessibilityImplementation:Function;
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = (background.x - _local2);
uiFocusRect.y = (background.y - _local2);
uiFocusRect.width = (background.width + (_local2 << 1));
uiFocusRect.height = (background.height + (_local2 << 1));
};
}
override public function get autoRepeat():Boolean{
return (false);
}
override public function set autoRepeat(_arg1:Boolean):void{
}
override public function set toggle(_arg1:Boolean):void{
throw (new Error("Warning: You cannot change a CheckBox's toggle."));
}
override public function get toggle():Boolean{
return (true);
}
override protected function configUI():void{
var _local1:Shape;
var _local2:Graphics;
super.configUI();
super.toggle = true;
_local1 = new Shape();
_local2 = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
background = (_local1 as DisplayObject);
addChildAt(background, 0);
}
override protected function drawLayout():void{
var _local1:Number;
super.drawLayout();
_local1 = Number(getStyleValue("textPadding"));
switch (_labelPlacement){
case ButtonLabelPlacement.RIGHT:
icon.x = _local1;
textField.x = (icon.x + (icon.width + _local1));
background.width = ((textField.x + textField.width) + _local1);
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.LEFT:
icon.x = ((width - icon.width) - _local1);
textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width);
background.width = ((textField.width + icon.width) + (_local1 * 3));
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.TOP:
case ButtonLabelPlacement.BOTTOM:
background.width = (Math.max(textField.width, icon.width) + (_local1 * 2));
background.height = ((textField.height + icon.height) + (_local1 * 3));
break;
};
background.x = Math.min((icon.x - _local1), (textField.x - _local1));
background.y = Math.min((icon.y - _local1), (textField.y - _local1));
}
override protected function drawBackground():void{
}
override protected function initializeAccessibility():void{
if (CheckBox.createAccessibilityImplementation != null){
CheckBox.createAccessibilityImplementation(this);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 9
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 10
//RadioButton (fl.controls.RadioButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import flash.ui.*;
public class RadioButton extends LabelButton implements IFocusManagerGroup {
protected var _value:Object;
protected var defaultGroupName:String;// = "RadioButtonGroup"
protected var _group:RadioButtonGroup;
private static var defaultStyles:Object = {icon:null, upIcon:"RadioButton_upIcon", downIcon:"RadioButton_downIcon", overIcon:"RadioButton_overIcon", disabledIcon:"RadioButton_disabledIcon", selectedDisabledIcon:"RadioButton_selectedDisabledIcon", selectedUpIcon:"RadioButton_selectedUpIcon", selectedDownIcon:"RadioButton_selectedDownIcon", selectedOverIcon:"RadioButton_selectedOverIcon", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public static var createAccessibilityImplementation:Function;
public function RadioButton(){
defaultGroupName = "RadioButtonGroup";
super();
mode = "border";
groupName = defaultGroupName;
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = (background.x - _local2);
uiFocusRect.y = (background.y - _local2);
uiFocusRect.width = (background.width + (_local2 * 2));
uiFocusRect.height = (background.height + (_local2 * 2));
};
}
private function setThis():void{
var _local1:RadioButtonGroup;
_local1 = _group;
if (_local1 != null){
if (_local1.selection != this){
_local1.selection = this;
};
} else {
super.selected = true;
};
}
override public function get autoRepeat():Boolean{
return (false);
}
override public function set autoRepeat(_arg1:Boolean):void{
}
protected function handleClick(_arg1:MouseEvent):void{
if (_group == null){
return;
};
_group.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.DOWN:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.UP:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.RIGHT:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.SPACE:
setThis();
_toggle = false;
default:
super.keyDownHandler(_arg1);
break;
};
}
private function setNext(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:Number;
var _local6:int;
var _local7:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local2.numRadioButtons;
_local6 = _local4;
if (_local4 != -1){
do {
_local6++;
_local6 = ((_local6)>(_local2.numRadioButtons - 1)) ? 0 : _local6;
_local7 = _local2.getRadioButtonAt(_local6);
if (((_local7) && (_local7.enabled))){
if (_arg1){
_local2.selection = _local7;
};
_local7.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local6) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local6 != _local4);
};
}
public function get group():RadioButtonGroup{
return (_group);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
super.keyUpHandler(_arg1);
if ((((_arg1.keyCode == Keyboard.SPACE)) && (!(_toggle)))){
_toggle = true;
};
}
override public function get selected():Boolean{
return (super.selected);
}
override public function set toggle(_arg1:Boolean):void{
throw (new Error("Warning: You cannot change a RadioButtons toggle."));
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function set group(_arg1:RadioButtonGroup):void{
groupName = _arg1.name;
}
override public function set selected(_arg1:Boolean):void{
if ((((_arg1 == false)) || (selected))){
return;
};
if (_group != null){
_group.selection = this;
} else {
super.selected = _arg1;
};
}
override protected function draw():void{
super.draw();
}
override public function get toggle():Boolean{
return (true);
}
override protected function configUI():void{
var _local1:Shape;
var _local2:Graphics;
super.configUI();
super.toggle = true;
_local1 = new Shape();
_local2 = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
background = (_local1 as DisplayObject);
addChildAt(background, 0);
addEventListener(MouseEvent.CLICK, handleClick, false, 0, true);
}
public function set groupName(_arg1:String):void{
if (_group != null){
_group.removeRadioButton(this);
_group.removeEventListener(Event.CHANGE, handleChange);
};
_group = ((_arg1)==null) ? null : RadioButtonGroup.getGroup(_arg1);
if (_group != null){
_group.addRadioButton(this);
_group.addEventListener(Event.CHANGE, handleChange, false, 0, true);
};
}
public function get value():Object{
return (_value);
}
override protected function drawLayout():void{
var _local1:Number;
super.drawLayout();
_local1 = Number(getStyleValue("textPadding"));
switch (_labelPlacement){
case ButtonLabelPlacement.RIGHT:
icon.x = _local1;
textField.x = (icon.x + (icon.width + _local1));
background.width = ((textField.x + textField.width) + _local1);
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.LEFT:
icon.x = ((width - icon.width) - _local1);
textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width);
background.width = ((textField.width + icon.width) + (_local1 * 3));
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.TOP:
case ButtonLabelPlacement.BOTTOM:
background.width = (Math.max(textField.width, icon.width) + (_local1 * 2));
background.height = ((textField.height + icon.height) + (_local1 * 3));
break;
};
background.x = Math.min((icon.x - _local1), (textField.x - _local1));
background.y = Math.min((icon.y - _local1), (textField.y - _local1));
}
override protected function drawBackground():void{
}
override protected function initializeAccessibility():void{
if (RadioButton.createAccessibilityImplementation != null){
RadioButton.createAccessibilityImplementation(this);
};
}
public function get groupName():String{
return (((_group)==null) ? null : _group.name);
}
private function setPrev(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:int;
var _local6:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local4;
if (_local4 != -1){
do {
--_local5;
_local5 = ((_local5)==-1) ? (_local2.numRadioButtons - 1) : _local5;
_local6 = _local2.getRadioButtonAt(_local5);
if (((_local6) && (_local6.enabled))){
if (_arg1){
_local2.selection = _local6;
};
_local6.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local5) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local5 != _local4);
};
}
protected function handleChange(_arg1:Event):void{
super.selected = (_group.selection == this);
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 11
//RadioButtonGroup (fl.controls.RadioButtonGroup)
package fl.controls {
import flash.events.*;
public class RadioButtonGroup extends EventDispatcher {
protected var _selection:RadioButton;
protected var radioButtons:Array;
protected var _name:String;
private static var groups:Object;
private static var groupCount:uint = 0;
public function RadioButtonGroup(_arg1:String){
_name = _arg1;
radioButtons = [];
registerGroup(this);
}
public function getRadioButtonIndex(_arg1:RadioButton):int{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3 == _arg1){
return (_local2);
};
_local2++;
};
return (-1);
}
public function get numRadioButtons():int{
return (radioButtons.length);
}
public function get name():String{
return (_name);
}
public function get selection():RadioButton{
return (_selection);
}
public function set selection(_arg1:RadioButton):void{
if ((((((_selection == _arg1)) || ((_arg1 == null)))) || ((getRadioButtonIndex(_arg1) == -1)))){
return;
};
_selection = _arg1;
dispatchEvent(new Event(Event.CHANGE, true));
}
public function set selectedData(_arg1:Object):void{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3.value == _arg1){
selection = _local3;
return;
};
_local2++;
};
}
public function removeRadioButton(_arg1:RadioButton):void{
var _local2:int;
_local2 = getRadioButtonIndex(_arg1);
if (_local2 != -1){
radioButtons.splice(_local2, 1);
};
if (_selection == _arg1){
_selection = null;
};
}
public function addRadioButton(_arg1:RadioButton):void{
if (_arg1.groupName != name){
_arg1.groupName = name;
return;
};
radioButtons.push(_arg1);
if (_arg1.selected){
selection = _arg1;
};
}
public function getRadioButtonAt(_arg1:int):RadioButton{
return (RadioButton(radioButtons[_arg1]));
}
public function get selectedData():Object{
var _local1:RadioButton;
_local1 = _selection;
return (((_local1)==null) ? null : _local1.value);
}
public static function getGroup(_arg1:String):RadioButtonGroup{
var _local2:RadioButtonGroup;
if (groups == null){
groups = {};
};
_local2 = (groups[_arg1] as RadioButtonGroup);
if (_local2 == null){
_local2 = new RadioButtonGroup(_arg1);
if ((++groupCount % 20) == 0){
cleanUpGroups();
};
};
return (_local2);
}
private static function registerGroup(_arg1:RadioButtonGroup):void{
if (groups == null){
groups = {};
};
groups[_arg1.name] = _arg1;
}
private static function cleanUpGroups():void{
var _local1:String;
var _local2:RadioButtonGroup;
for (_local1 in groups) {
_local2 = (groups[_local1] as RadioButtonGroup);
if (_local2.radioButtons.length == 0){
delete groups[_local1];
};
};
}
}
}//package fl.controls
Section 12
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 13
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 14
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import flash.utils.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 15
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 16
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import fl.core.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 17
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 18
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 19
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 20
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.utils.*;
import flash.text.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 21
//TweenEvent (gs.events.TweenEvent)
package gs.events {
import flash.events.*;
public class TweenEvent extends Event {
public var info:Object;
public static const UPDATE:String = "update";
public static const START:String = "start";
public static const version:Number = 0.9;
public static const COMPLETE:String = "complete";
public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.info = _arg2;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable));
}
}
}//package gs.events
Section 22
//OverwriteManager (gs.OverwriteManager)
package gs {
import flash.utils.*;
import flash.errors.*;
public class OverwriteManager {
public static const ALL:int = 1;
public static const NONE:int = 0;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const version:Number = 1;
public static var mode:int;
public static var enabled:Boolean;
public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{
var _local6:int;
var _local7:String;
_local6 = (_arg4.length - 1);
while (_local6 > -1) {
if (_arg1[_arg4[_local6].name] != undefined){
_arg4.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg3.length - 1);
while (_local6 > -1) {
if (_arg1[_arg3[_local6][4]] != undefined){
_arg3.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg5.length - 1);
while (_local6 > -1) {
if (_arg1[_arg5[_local6].name] != undefined){
_arg5.splice(_local6, 1);
};
_local6--;
};
for (_local7 in _arg1) {
delete _arg2[_local7];
};
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Array):void{
var _local3:Object;
var _local4:int;
var _local5:Number;
var _local6:Array;
var _local7:int;
var _local8:TweenLite;
var _local9:Object;
var _local10:String;
_local3 = _arg1.vars;
_local4 = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite);
if ((((_local4 < 2)) || ((_arg2 == null)))){
return;
};
_local5 = _arg1.startTime;
_local6 = [];
_local7 = (_arg2.length - 1);
while (_local7 > -1) {
_local8 = _arg2[_local7];
if (((((!((_local8 == _arg1))) && ((_local8.startTime <= _local5)))) && (((_local8.startTime + ((_local8.duration * 1000) / _local8.combinedTimeScale)) > _local5)))){
_local6[_local6.length] = _local8;
};
_local7--;
};
if (_local6.length == 0){
return;
};
if (_local4 == AUTO){
if (_local3.isTV == true){
_local3 = _local3.exposedProps;
};
_local9 = {};
for (_local10 in _local3) {
if ((((((((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))) || ((_local10 == "onCompleteListener")))) || ((_local10 == "onStartListener")))) || ((_local10 == "onUpdateListener")))){
} else {
_local9[_local10] = 1;
if (_local10 == "shortRotate"){
_local9.rotation = 1;
} else {
if (_local10 == "removeTint"){
_local9.tint = 1;
} else {
if (_local10 == "autoAlpha"){
_local9.alpha = 1;
_local9.visible = 1;
};
};
};
};
};
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].killVars(_local9);
_local7--;
};
} else {
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].enabled = false;
_local7--;
};
};
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 9.29){
trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com.");
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
}
}//package gs
Section 23
//TweenFilterLite (gs.TweenFilterLite)
package gs {
import flash.filters.*;
import flash.utils.*;
public class TweenFilterLite extends TweenLite {
protected var _hf:Boolean;// = false
protected var _endMatrix:Array;
protected var _roundProps:Boolean;
protected var _cmf:ColorMatrixFilter;
protected var _filters:Array;
protected var _clrsa:Array;
protected var _matrix:Array;
protected var _timeScale:Number;
public static var removeTween:Function = TweenLite.removeTween;
private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
private static var _lumB:Number = 0.072169;
public static var delayedCall:Function = TweenLite.delayedCall;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 9.3;
private static var _lumG:Number = 0.71516;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _lumR:Number = 0.212671;
protected static var _globalTimeScale:Number = 1;
public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){
_hf = false;
_filters = [];
super(_arg1, _arg2, _arg3);
if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenFilterLite)))){
_timeScale = 1;
this.combinedTimeScale = _globalTimeScale;
} else {
_timeScale = this.combinedTimeScale;
this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale);
};
if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
};
if (TweenLite.version < 9.3){
trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
if (_arg1){
this.combinedTimeScale = (_timeScale * _globalTimeScale);
};
}
override public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:int;
var _local8:Array;
var _local9:int;
_local2 = (((_arg1 - this.startTime) * 0.001) * this.combinedTimeScale);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
if (!_roundProps){
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
} else {
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
if (_local4[5]){
_local6 = (_local4[2] + (_local3 * _local4[3]));
_local7 = ((_local6)<0) ? -1 : 1;
_local4[0][_local4[1]] = ((((_local6 % 1) * _local7))>0.5) ? (int(_local6) + _local7) : int(_local6);
} else {
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
};
_local5--;
};
};
if (_hf){
_local5 = (_clrsa.length - 1);
while (_local5 > -1) {
_local4 = _clrsa[_local5];
_local4.f[_local4.p] = ((((_local4.sr + (_local3 * _local4.cr)) << 16) | ((_local4.sg + (_local3 * _local4.cg)) << 8)) | (_local4.sb + (_local3 * _local4.cb)));
_local5--;
};
if (_cmf != null){
ColorMatrixFilter(_cmf).matrix = _matrix;
};
_local8 = this.target.filters;
_local5 = 0;
while (_local5 < _filters.length) {
_local9 = (_local8.length - 1);
while (_local9 > -1) {
if ((_local8[_local9] is _filters[_local5].type)){
_local8.splice(_local9, 1, _filters[_local5].filter);
break;
};
_local9--;
};
_local5++;
};
this.target.filters = _local8;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
override public function killVars(_arg1:Object):void{
if (TweenLite.overwriteManager.enabled){
TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, ((_filters) || ([])));
};
}
public function get timeScale():Number{
return (_timeScale);
}
public function set timeScale(_arg1:Number):void{
if (_arg1 < 1E-5){
_arg1 = (_timeScale = 1E-5);
} else {
_timeScale = _arg1;
_arg1 = (_arg1 * _globalTimeScale);
};
this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / _arg1))) - (this.delay * (1000 / _arg1)));
if (this.startTime != 999999999999999){
this.startTime = (this.initTime + (this.delay * (1000 / _arg1)));
};
this.combinedTimeScale = _arg1;
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local7:int;
var _local8:String;
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
_clrsa = [];
_filters = [];
_matrix = _idMatrix.slice();
_arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter roundProps timeScale ");
if (((!((this.vars.timeScale == null))) && (this.target.hasOwnProperty("timeScale")))){
this.tweens[this.tweens.length] = [this.target, "timeScale", this.target.timeScale, (this.vars.timeScale - this.target.timeScale), "timeScale"];
};
_roundProps = Boolean((this.vars.roundProps is Array));
if (_isDisplayObject){
if (this.vars.blurFilter != null){
_local4 = this.vars.blurFilter;
addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2))));
};
if (this.vars.glowFilter != null){
_local4 = this.vars.glowFilter;
addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout));
};
if (this.vars.colorMatrixFilter != null){
_local4 = this.vars.colorMatrixFilter;
_local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix));
_cmf = _local5.filter;
_matrix = ColorMatrixFilter(_cmf).matrix;
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_endMatrix = _local4.matrix;
} else {
if (_local4.relative == true){
_endMatrix = _matrix.slice();
} else {
_endMatrix = _idMatrix.slice();
};
_endMatrix = setBrightness(_endMatrix, _local4.brightness);
_endMatrix = setContrast(_endMatrix, _local4.contrast);
_endMatrix = setHue(_endMatrix, _local4.hue);
_endMatrix = setSaturation(_endMatrix, _local4.saturation);
_endMatrix = setThreshold(_endMatrix, _local4.threshold);
if (!isNaN(_local4.colorize)){
_endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount);
} else {
if (!isNaN(_local4.color)){
_endMatrix = colorize(_endMatrix, _local4.color, _local4.amount);
};
};
};
_local3 = 0;
while (_local3 < _endMatrix.length) {
if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){
this.tweens[this.tweens.length] = [_matrix, _local3.toString(), _matrix[_local3], (_endMatrix[_local3] - _matrix[_local3]), "colorMatrixFilter"];
};
_local3++;
};
};
if (this.vars.dropShadowFilter != null){
_local4 = this.vars.dropShadowFilter;
addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject));
};
if (this.vars.bevelFilter != null){
_local4 = this.vars.bevelFilter;
addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2))));
};
if (this.vars.runBackwards == true){
_local3 = (_clrsa.length - 1);
while (_local3 > -1) {
_local6 = _clrsa[_local3];
_clrsa[_local3].sr = (_local6.sr + _local6.cr);
_local6.cr = (_local6.cr * -1);
_local6.sg = (_local6.sg + _local6.cg);
_local6.cg = (_local6.cg * -1);
_local6.sb = (_local6.sb + _local6.cb);
_local6.cb = (_local6.cb * -1);
_local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb);
_local3--;
};
};
super.initTweenVals(true, _arg2);
} else {
super.initTweenVals(_arg1, _arg2);
};
if (_roundProps){
_local3 = (this.vars.roundProps.length - 1);
while (_local3 > -1) {
_local8 = this.vars.roundProps[_local3];
_local7 = (this.tweens.length - 1);
while (_local7 > -1) {
if ((((this.tweens[_local7][1] == _local8)) && ((this.tweens[_local7][0] == this.target)))){
this.tweens[_local7][5] = true;
break;
};
_local7--;
};
_local3--;
};
};
}
private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{
var _local6:Object;
var _local7:Array;
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
_local6 = {type:_arg3, name:_arg1};
_local7 = this.target.filters;
_local8 = 0;
while (_local8 < _local7.length) {
if ((_local7[_local8] is _arg3)){
_local6.filter = _local7[_local8];
break;
};
_local8++;
};
if (_local6.filter == undefined){
_local6.filter = _arg5;
_local7[_local7.length] = _local6.filter;
this.target.filters = _local7;
};
_local8 = 0;
while (_local8 < _arg4.length) {
_local9 = _arg4[_local8];
if (_arg2[_local9] != undefined){
if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){
_local11 = HEXtoRGB(_local6.filter[_local9]);
_local12 = HEXtoRGB(_arg2[_local9]);
_clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)};
} else {
if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){
_local6.filter[_local9] = _arg2[_local9];
} else {
if (typeof(_arg2[_local9]) == "number"){
_local10 = (_arg2[_local9] - _local6.filter[_local9]);
} else {
_local10 = Number(_arg2[_local9]);
};
this.tweens[this.tweens.length] = [_local6.filter, _local9, _local6.filter[_local9], _local10, _arg1];
};
};
};
_local8++;
};
_filters[_filters.length] = _local6;
_hf = true;
return (_local6);
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
_local3 = Math.cos(_arg2);
_local4 = Math.sin(_arg2);
_local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
_local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
_local3 = [];
_local4 = 0;
_local5 = 0;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
_local4 = (((_arg2 >> 16) & 0xFF) / 0xFF);
_local5 = (((_arg2 >> 8) & 0xFF) / 0xFF);
_local6 = ((_arg2 & 0xFF) / 0xFF);
_local7 = (1 - _arg3);
_local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = (1 - _arg2);
_local4 = (_local3 * _lumR);
_local5 = (_local3 * _lumG);
_local6 = (_local3 * _lumB);
_local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setGlobalTimeScale(_arg1:Number):void{
var _local2:Dictionary;
var _local3:int;
var _local4:Array;
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
_local2 = masterList;
_globalTimeScale = _arg1;
for each (_local4 in _local2) {
_local3 = (_local4.length - 1);
while (_local3 > -1) {
if ((_local4[_local3] is TweenFilterLite)){
_local4[_local3].timeScale = (_local4[_local3].timeScale * 1);
};
_local3--;
};
};
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
_arg3.runBackwards = true;
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function HEXtoRGB(_arg1:Number):Object{
return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)});
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 24
//TweenLite (gs.TweenLite)
package gs {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var delay:Number;
protected var _hasUpdate:Boolean;
public var started:Boolean;
protected var _subTweens:Array;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _isDisplayObject:Boolean;
public var gc:Boolean;
public var vars:Object;
public var ease:Function;
public var tweens:Array;
protected var _specialVars:Object;
public var combinedTimeScale:Number;
public var initTime:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 9.3;
public static var masterList:Dictionary = new Dictionary(false);
public static var currentTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:int;
super();
if (_arg1 == null){
return;
};
if (!_classInitted){
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();
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
_isDisplayObject = Boolean((((_arg1 is DisplayObject)) || (_arg1.hasOwnProperty("isTweenProxy"))));
if (!(this.vars.ease is 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;
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = Boolean((this.vars.alpha > 0));
};
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
this.tweens = [];
_subTweens = [];
_hst = (this.initted = false);
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
_local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
masterList[_arg1] = [];
};
masterList[_arg1].push(this);
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = _specialVars.visible;
};
};
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (masterList[this.target] == undefined){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
masterList[this.target].push(this);
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
_local2 = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function clear():void{
this.tweens = [];
_subTweens = [];
this.vars = {};
_hst = (_hasUpdate = false);
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local6:String;
_subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
for (_local6 in _arg4) {
if (typeof(_arg4[_local6]) == "number"){
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1];
} else {
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1];
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Array;
var _local6:ColorTransform;
var _local7:ColorTransform;
var _local8:Object;
if (((!(_arg1)) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
if ((this.target is Array)){
_local5 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local5.length) {
if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()];
};
_local4++;
};
} else {
if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (this.target.hasOwnProperty("transform")))){
_local6 = this.target.transform.colorTransform;
_local7 = new ColorTransform();
if (_specialVars.alpha != undefined){
_local7.alphaMultiplier = _specialVars.alpha;
delete _specialVars.alpha;
} else {
_local7.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){
_local7.color = _specialVars.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7});
};
if (((!((_specialVars.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
if (((!((_specialVars.visible == null))) && (_isDisplayObject))){
addSubTween("visible", visibleProxy, {}, {}, {tween:this});
};
for (_local3 in _specialVars) {
if ((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_specialVars[_local3]) == "number"){
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3];
} else {
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3];
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local8 = this.tweens[_local4];
_local8[2] = (_local8[2] + _local8[3]);
_local8[3] = (_local8[3] * -1);
_local4--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function frameProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function visibleProxy(_arg1:Object, _arg2:Number):void{
var _local3:TweenLite;
_local3 = _arg1.info.tween;
if (_local3.duration == _arg2){
if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){
_local3.target.visible = _local3.vars.visible;
};
} else {
if (_local3.target.visible != true){
_local3.target.visible = true;
};
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
public static function updateAll(_arg1:Event=null):void{
var _local2:uint;
var _local3:Dictionary;
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
_local2 = (currentTime = getTimer());
_local3 = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6 == null){
} else {
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
};
_local5--;
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function tintProxy(_arg1:Object, _arg2:Number=0):void{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
_local3 = _arg1.target.progress;
_local4 = (1 - _local3);
_local5 = _arg1.info.color;
_local6 = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3)));
}
public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.soundTransform = _arg1.target;
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
_local2 = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 25
//TweenMax (gs.TweenMax)
package gs {
import flash.events.*;
import flash.utils.*;
import gs.events.*;
public class TweenMax extends TweenFilterLite implements IEventDispatcher {
protected var _dispatcher:EventDispatcher;
protected var _callbacks:Object;
protected var _repeatCount:Number;
public var pauseTime:Number;
protected static const _RAD2DEG:Number = 57.2957795130823;
public static var removeTween:Function = TweenLite.removeTween;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init();
;
protected static var _pausedTweens:Dictionary = new Dictionary(false);
public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 3.6;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
if ((((_arg2 == 0)) && ((this.delay == 0)))){
onUpdateDispatcher();
onCompleteDispatcher();
};
};
_repeatCount = 0;
if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){
this.vars.persist = true;
};
if (TweenFilterLite.version < 9.3){
trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
};
}
public function restart(_arg1:Boolean=false):void{
if (_arg1){
this.initTime = currentTime;
this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale)));
} else {
this.startTime = currentTime;
this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale)));
};
_repeatCount = 0;
if (this.target != this.vars.onComplete){
render(this.startTime);
};
this.pauseTime = NaN;
_pausedTweens[this] = null;
delete _pausedTweens[this];
this.enabled = true;
}
protected function adjustStartValues():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
_local1 = this.progress;
if (_local1 != 0){
_local2 = (1 / (1 - this.ease((_local1 * this.duration), 0, 1, this.duration)));
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local3 = (_local4[2] + _local4[3]);
_local4[3] = ((_local3 - _local4[0][_local4[1]]) * _local2);
_local4[2] = (_local3 - _local4[3]);
_local5--;
};
};
}
public function resume():void{
this.enabled = true;
if (!isNaN(this.pauseTime)){
this.initTime = (this.initTime + (currentTime - this.pauseTime));
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
this.pauseTime = NaN;
if (((!(this.started)) && ((currentTime >= this.startTime)))){
activate();
} else {
this.active = this.started;
};
_pausedTweens[this] = null;
delete _pausedTweens[this];
};
}
public function get paused():Boolean{
return (isNaN(this.pauseTime));
}
public function killProperties(_arg1:Array):void{
var _local2:Object;
var _local3:int;
_local2 = {};
_local3 = (_arg1.length - 1);
while (_local3 > -1) {
if (this.vars[_arg1[_local3]] != null){
_local2[_arg1[_local3]] = 1;
};
_local3--;
};
killVars(_local2);
}
public function get progress():Number{
var _local1:Number;
var _local2:Number;
_local1 = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime;
_local2 = (((((_local1 - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale);
if (_local2 > 1){
return (1);
};
if (_local2 < 0){
return (0);
};
return (_local2);
}
override public function complete(_arg1:Boolean=false):void{
if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){
_repeatCount++;
if (!isNaN(this.vars.yoyo)){
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
};
this.startTime = (_arg1) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime;
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
} else {
if (this.vars.persist == true){
super.complete(_arg1);
pause();
return;
};
};
super.complete(_arg1);
}
public function invalidate(_arg1:Boolean=true):void{
var _local2:Number;
if (this.initted){
_local2 = this.progress;
if (((!(_arg1)) && (!((_local2 == 0))))){
this.progress = 0;
};
this.tweens = [];
_subTweens = [];
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
initTweenVals();
_timeScale = ((this.vars.timeScale) || (1));
this.combinedTimeScale = (_timeScale * _globalTimeScale);
this.delay = ((this.vars.delay) || (0));
if (isNaN(this.pauseTime)){
this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale));
};
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
if (_dispatcher != null){
this.vars.onStart = _callbacks.onStart;
this.vars.onUpdate = _callbacks.onUpdate;
this.vars.onComplete = _callbacks.onComplete;
_dispatcher = null;
};
initDispatcher();
};
if (_local2 != 0){
if (_arg1){
adjustStartValues();
} else {
this.progress = _local2;
};
};
};
}
public function dispatchEvent(_arg1:Event):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.dispatchEvent(_arg1));
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher != null){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Number;
var _local5:Object;
var _local6:int;
var _local7:Object;
var _local8:Array;
var _local9:Array;
_local4 = this.progress;
if (((!((this.vars[_arg1] == undefined))) && (this.initted))){
if (((!(_arg3)) && (!((_local4 == 0))))){
_local6 = (this.tweens.length - 1);
while (_local6 > -1) {
if (this.tweens[_local6][4] == _arg1){
this.tweens[_local6][0][this.tweens[_local6][1]] = this.tweens[_local6][2];
};
_local6--;
};
};
_local5 = {};
_local5[_arg1] = 1;
killVars(_local5);
};
this.vars[_arg1] = _arg2;
if (this.initted){
_local7 = this.vars;
_local8 = this.tweens;
_local9 = _subTweens;
this.vars = {};
this.tweens = [];
_subTweens = [];
this.vars[_arg1] = _arg2;
initTweenVals();
if (((!((this.ease == reverseEase))) && ((_local7.ease is Function)))){
this.ease = _local7.ease;
};
if (((_arg3) && (!((_local4 == 0))))){
adjustStartValues();
};
this.vars = _local7;
this.tweens = _local8.concat(this.tweens);
_subTweens = _local9.concat(_subTweens);
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Object;
var _local7:Array;
var _local8:Function;
var _local9:Number;
_arg2 = (_arg2 + " hexColors bezier bezierThrough shortRotation orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener ");
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
_local8 = bezierProxy;
if (this.vars.orientToBezier == true){
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
_local8 = bezierProxy2;
} else {
if ((this.vars.orientToBezier is Array)){
_local8 = bezierProxy2;
};
};
if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){
_local6 = {};
_local7 = this.vars.bezier;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){
_local6 = {};
_local7 = this.vars.bezierThrough;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (!isNaN(this.vars.shortRotation)){
_local9 = ((this.vars.shortRotation - this.target.rotation) % 360);
if (((this.vars.shortRotation - this.target.rotation) % 360) != (_local9 % 180)){
_local9 = ((_local9)<0) ? (_local9 + 360) : (_local9 - 360);
};
this.tweens[this.tweens.length] = [this.target, "rotation", this.target.rotation, _local9, "rotation"];
};
if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){
for (_local3 in this.vars.hexColors) {
addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target});
};
};
super.initTweenVals(true, _arg2);
}
public function set progress(_arg1:Number):void{
this.startTime = (currentTime - ((this.duration * _arg1) * 1000));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
if (!this.started){
activate();
};
render(currentTime);
if (!isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.active = false;
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if ((((_arg1 == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
protected function onUpdateDispatcher(... _args):void{
if (_callbacks.onUpdate != null){
_callbacks.onUpdate.apply(null, this.vars.onUpdateParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
pause();
} else {
resume();
};
}
override public function set enabled(_arg1:Boolean):void{
if (!_arg1){
_pausedTweens[this] = null;
delete _pausedTweens[this];
};
super.enabled = _arg1;
}
public function willTrigger(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.willTrigger(_arg1));
}
public function set reversed(_arg1:Boolean):void{
if (this.reversed != _arg1){
reverse();
};
}
public function get reversed():Boolean{
return ((this.ease == reverseEase));
}
protected function onStartDispatcher(... _args):void{
if (_callbacks.onStart != null){
_callbacks.onStart.apply(null, this.vars.onStartParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
}
protected function initDispatcher():void{
var _local1:Object;
var _local2:String;
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
_callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete};
if (this.vars.isTV == true){
this.vars = this.vars.clone();
} else {
_local1 = {};
for (_local2 in this.vars) {
_local1[_local2] = this.vars[_local2];
};
this.vars = _local1;
};
this.vars.onStart = onStartDispatcher;
this.vars.onComplete = onCompleteDispatcher;
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
};
}
public function reverse(_arg1:Boolean=true, _arg2:Boolean=true):void{
var _local3:Number;
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
_local3 = this.progress;
if (((_arg1) && ((_local3 > 0)))){
this.startTime = (currentTime - ((((1 - _local3) * this.duration) * 1000) / this.combinedTimeScale));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
};
if (_arg2 != false){
if (_local3 < 1){
resume();
} else {
restart();
};
};
}
public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.ease((_arg4 - _arg1), _arg2, _arg3, _arg4));
}
public function hasEventListener(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.hasEventListener(_arg1));
}
public function pause():void{
if (isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.enabled = false;
_pausedTweens[this] = this;
};
}
protected function onCompleteDispatcher(... _args):void{
if (_callbacks.onComplete != null){
_callbacks.onComplete.apply(null, this.vars.onCompleteParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
}
public static function sequence(_arg1:Object, _arg2:Array):Array{
var _local3:uint;
_local3 = 0;
while (_local3 < _arg2.length) {
_arg2[_local3].target = _arg1;
_local3++;
};
return (multiSequence(_arg2));
}
public static function bezierProxy(_arg1:Object, _arg2:Number=0):void{
var _local3:Number;
var _local4:Object;
var _local5:Object;
var _local6:int;
var _local7:String;
var _local8:Object;
var _local9:Number;
var _local10:uint;
_local3 = _arg1.target.t;
_local4 = _arg1.info.props;
_local5 = _arg1.info.target;
if (_local3 == 1){
for (_local7 in _local4) {
_local6 = (_local4[_local7].length - 1);
_local5[_local7] = _local4[_local7][_local6][2];
};
} else {
for (_local7 in _local4) {
_local10 = _local4[_local7].length;
if (_local3 < 0){
_local6 = 0;
} else {
if (_local3 >= 1){
_local6 = (_local10 - 1);
} else {
_local6 = int((_local10 * _local3));
};
};
_local9 = ((_local3 - (_local6 * (1 / _local10))) * _local10);
_local8 = _local4[_local7][_local6];
_local5[_local7] = (_local8[0] + (_local9 * (((2 * (1 - _local9)) * (_local8[1] - _local8[0])) + (_local9 * (_local8[2] - _local8[0])))));
};
};
}
public static function hexColorsProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b));
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local7 = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = [_local4[0], (_local4[1] - ((_local4[2] - _local4[0]) / 4)), _local4[1]];
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = [_local4[_local3], (_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)][1])), _local4[(_local3 + 1)]];
_local3++;
};
} else {
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = [_local4[0], _local4[1], ((_local4[1] + _local4[2]) / 2)];
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = [_local5[(_local3 - 2)][2], _local4[_local3], ((_local4[_local3] + _local4[(_local3 + 1)]) / 2)];
_local3++;
};
_local5[_local5.length] = [_local5[(_local5.length - 1)][2], _local4[(_local4.length - 2)], _local4[(_local4.length - 1)]];
} else {
if (_local4.length == 3){
_local5[_local5.length] = [_local4[0], _local4[1], _local4[2]];
} else {
if (_local4.length == 2){
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
};
};
};
return (_local7);
}
public static function bezierProxy2(_arg1:Object, _arg2:Number=0):void{
var _local3:Object;
var _local4:Object;
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Array;
var _local10:Number;
var _local11:uint;
bezierProxy(_arg1, _arg2);
_local3 = {};
_local4 = _arg1.info.target;
_arg1.info.target = _local3;
_arg1.target.t = (_arg1.target.t + 0.01);
bezierProxy(_arg1);
_local5 = _arg1.info.orientToBezier;
_local11 = 0;
while (_local11 < _local5.length) {
_local9 = _local5[_local11];
_local10 = ((_local9[3]) || (0));
_local7 = (_local3[_local9[0]] - _local4[_local9[0]]);
_local8 = (_local3[_local9[1]] - _local4[_local9[1]]);
_local4[_local9[2]] = ((Math.atan2(_local8, _local7) * _RAD2DEG) + _local10);
_local11++;
};
_arg1.info.target = _local4;
_arg1.target.t = (_arg1.target.t - 0.01);
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(true, _arg1, _arg2);
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function killAllDelayedCalls(_arg1:Boolean=false):void{
killAll(_arg1, false, true);
}
public static function multiSequence(_arg1:Array):Array{
var _local2:Dictionary;
var _local3:Array;
var _local4:int;
var _local5:Number;
var _local6:Object;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:uint;
var _local11:Object;
var _local12:String;
trace("WARNING: TweenMax.multiSequence() and TweenMax.sequence() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include sequence() and multiSequence() (to conserve file size).");
_local2 = new Dictionary();
_local3 = [];
_local4 = TweenLite.overwriteManager.mode;
_local5 = 0;
_local10 = 0;
while (_local10 < _arg1.length) {
_local6 = _arg1[_local10];
_local9 = ((_local6.time) || (0));
_local11 = {};
for (_local12 in _local6) {
_local11[_local12] = _local6[_local12];
};
delete _local11.time;
_local8 = ((_local11.delay) || (0));
_local11.delay = (_local5 + _local8);
_local7 = _local11.target;
delete _local11.target;
if (_local4 == 1){
if (_local2[_local7] == undefined){
_local2[_local7] = _local11;
} else {
_local11.overwrite = 2;
};
};
_local3[_local3.length] = new TweenMax(_local7, _local9, _local11);
_local5 = (_local5 + (_local9 + _local8));
_local10++;
};
return (_local3);
}
public static function getTweensOf(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:TweenLite;
var _local5:int;
_local2 = masterList[_arg1];
_local3 = [];
if (_local2 != null){
_local5 = (_local2.length - 1);
while (_local5 > -1) {
if (!_local2[_local5].gc){
_local3[_local3.length] = _local2[_local5];
};
_local5--;
};
};
for each (_local4 in _pausedTweens) {
if (_local4.target == _arg1){
_local3[_local3.length] = _local4;
};
};
return (_local3);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, persist:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array;
var _local3:int;
_local2 = getTweensOf(_arg1);
_local3 = (_local2.length - 1);
while (_local3 > -1) {
if (((_local2[_local3].active) && (!(_local2[_local3].gc)))){
return (true);
};
_local3--;
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local4:Array;
var _local5:Boolean;
var _local6:int;
_local4 = getAllTweens();
_local6 = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
_local4[_local6].clear();
} else {
TweenLite.removeTween(_local4[_local6], true);
};
};
_local6--;
};
}
public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local4:Array;
var _local5:Boolean;
var _local6:int;
_local4 = getAllTweens();
_local6 = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local4[_local6] is TweenMax)) && ((((_local5 == _arg3)) || (!((_local5 == _arg2))))))){
_local4[_local6].paused = _arg1;
};
_local6--;
};
}
public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{
var _local3:uint;
_local3 = 0;
while (_local3 < _arg1.length) {
if (_arg1[_local3] != undefined){
_arg1[_local3].apply(null, _arg2[_local3]);
};
_local3++;
};
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{
_arg3.runBackwards = true;
return (allTo(_arg1, _arg2, _arg3));
}
public static function killAllTweens(_arg1:Boolean=false):void{
killAll(_arg1, true, false);
}
public static function getAllTweens():Array{
var _local1:Dictionary;
var _local2:Array;
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
_local1 = masterList;
_local2 = [];
for each (_local3 in _local1) {
_local4 = (_local3.length - 1);
while (_local4 > -1) {
if (!_local3[_local4].gc){
_local2[_local2.length] = _local3[_local4];
};
_local4--;
};
};
for each (_local5 in _pausedTweens) {
_local2[_local2.length] = _local5;
};
return (_local2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(false, _arg1, _arg2);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{
var _local4:int;
var _local5:Object;
var _local6:String;
var _local7:Number;
var _local8:Object;
var _local9:Array;
var _local10:Number;
trace("WARNING: TweenMax.allTo() and TweenMax.allFrom() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include allTo() and allFrom() (to conserve file size).");
if (_arg1.length == 0){
return ([]);
};
_local9 = [];
_local10 = ((_arg3.delayIncrement) || (0));
delete _arg3.delayIncrement;
if (_arg3.onCompleteAll == undefined){
_local8 = _arg3;
} else {
_local8 = {};
for (_local6 in _arg3) {
_local8[_local6] = _arg3[_local6];
};
_local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]];
_local8.onComplete = TweenMax.callbackProxy;
delete _arg3.onCompleteAll;
};
delete _arg3.onCompleteAllParams;
if (_local10 == 0){
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
} else {
_local7 = ((_arg3.delay) || (0));
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local5.delay = (_local7 + (_local4 * _local10));
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
_local8.delay = (_local7 + ((_arg1.length - 1) * _local10));
};
_local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8);
if ((_arg3.onCompleteAllListener is Function)){
_local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener);
};
return (_local9);
}
}
}//package gs
Section 26
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function reencode():void{
var _local1:uint;
_local1 = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String;
_local1 = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function get value():Number{
return (Number(this.toString()));
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String;
_local3 = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 27
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi.as3
Section 28
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__ms_";
private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
public static var netup:Boolean = true;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local3:Array;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:MovieClip;
var _local8:LocalConnection;
var _local9:String;
var _local10:ByteArray;
var _local11:ByteArray;
var _local12:uint;
var _local13:uint;
var _local14:Loader;
_local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
_local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
_local6 = [0, 64, 0, 0, 0];
_local7 = new MovieClip();
_local8 = new LocalConnection();
_local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
_local10 = new ByteArray();
_local11 = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
_local12 = ((_local3.length + _local11.length) + 4);
_local13 = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var vars:Object;
var avm1Click:DisplayObject;
var s:String;
var i:Number;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
vars = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
i = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
var _local2:Rectangle;
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
_local2 = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.0");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
public static function get id():String{
return (_id);
}
private static function urlOptions(_arg1:Object):Object{
var _local2:Object;
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
_local2 = {};
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
trace("connected!");
_connecting = false;
_connected = true;
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var vars:URLVariables;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servicesURL != undefined){
_servicesURL = urlOptions(clip).servicesURL;
};
MochiServices.allowDomains(_servicesURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999))));
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_servicesURL);
vars = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
if (widget){
vars.widget = true;
};
req.data = vars;
listen();
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 29
//AimLine (AimLine)
package {
import flash.display.*;
import gs.*;
public class AimLine extends MovieClip {
public function AimLine():void{
}
public function fade():void{
TweenMax.to(this, 2, {alpha:0, onComplete:deleteThis});
}
public function deleteThis():void{
this.parent.removeChild(this);
}
}
}//package
Section 30
//BounceSpot (BounceSpot)
package {
import flash.display.*;
public dynamic class BounceSpot extends MovieClip {
}
}//package
Section 31
//BounceTekst (BounceTekst)
package {
import flash.display.*;
public dynamic class BounceTekst extends MovieClip {
}
}//package
Section 32
//Button_disabledSkin (Button_disabledSkin)
package {
import flash.display.*;
public dynamic class Button_disabledSkin extends MovieClip {
}
}//package
Section 33
//Button_downSkin (Button_downSkin)
package {
import flash.display.*;
public dynamic class Button_downSkin extends MovieClip {
}
}//package
Section 34
//Button_emphasizedSkin (Button_emphasizedSkin)
package {
import flash.display.*;
public dynamic class Button_emphasizedSkin extends MovieClip {
}
}//package
Section 35
//Button_overSkin (Button_overSkin)
package {
import flash.display.*;
public dynamic class Button_overSkin extends MovieClip {
}
}//package
Section 36
//Button_selectedDisabledSkin (Button_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class Button_selectedDisabledSkin extends MovieClip {
}
}//package
Section 37
//Button_selectedDownSkin (Button_selectedDownSkin)
package {
import flash.display.*;
public dynamic class Button_selectedDownSkin extends MovieClip {
}
}//package
Section 38
//Button_selectedOverSkin (Button_selectedOverSkin)
package {
import flash.display.*;
public dynamic class Button_selectedOverSkin extends MovieClip {
}
}//package
Section 39
//Button_selectedUpSkin (Button_selectedUpSkin)
package {
import flash.display.*;
public dynamic class Button_selectedUpSkin extends MovieClip {
}
}//package
Section 40
//Button_upSkin (Button_upSkin)
package {
import flash.display.*;
public dynamic class Button_upSkin extends MovieClip {
}
}//package
Section 41
//CheckBox_disabledIcon (CheckBox_disabledIcon)
package {
import flash.display.*;
public dynamic class CheckBox_disabledIcon extends MovieClip {
}
}//package
Section 42
//CheckBox_downIcon (CheckBox_downIcon)
package {
import flash.display.*;
public dynamic class CheckBox_downIcon extends MovieClip {
}
}//package
Section 43
//CheckBox_overIcon (CheckBox_overIcon)
package {
import flash.display.*;
public dynamic class CheckBox_overIcon extends MovieClip {
}
}//package
Section 44
//CheckBox_selectedDisabledIcon (CheckBox_selectedDisabledIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedDisabledIcon extends MovieClip {
}
}//package
Section 45
//CheckBox_selectedDownIcon (CheckBox_selectedDownIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedDownIcon extends MovieClip {
}
}//package
Section 46
//CheckBox_selectedOverIcon (CheckBox_selectedOverIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedOverIcon extends MovieClip {
}
}//package
Section 47
//CheckBox_selectedUpIcon (CheckBox_selectedUpIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedUpIcon extends MovieClip {
}
}//package
Section 48
//CheckBox_upIcon (CheckBox_upIcon)
package {
import flash.display.*;
public dynamic class CheckBox_upIcon extends MovieClip {
}
}//package
Section 49
//CheckPoint (CheckPoint)
package {
import flash.display.*;
public class CheckPoint extends MovieClip {
private var color:uint;// = 0
private var numParticles:uint;
public function CheckPoint():void{
numParticles = (20 + Math.round((Math.random() * 10)));
color = 0;
super();
}
public function hit(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Number;
var _local5:ImpactParticle;
numParticles = (numParticles * _arg3);
color = (Math.random() * 0xFFFFFF);
_local4 = numParticles;
while (_local4 > 0) {
_local5 = new ImpactParticle(_arg1, _arg2, color);
_local5.x = this.x;
_local5.y = this.y;
stage.addChild(_local5);
_local4--;
};
}
public function getColor():uint{
return (color);
}
}
}//package
Section 50
//Credits (Credits)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class Credits extends MovieClip {
public var back_b:Button;
public function Credits(){
addFrameScript(0, frame1);
__setProp_back_b_Credits_Base_1();
}
function __setProp_back_b_Credits_Base_1(){
try {
back_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
back_b.emphasized = false;
back_b.enabled = true;
back_b.label = "back";
back_b.labelPlacement = "right";
back_b.selected = false;
back_b.toggle = false;
back_b.visible = true;
try {
back_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function exitClick(_arg1:MouseEvent):void{
MovieClip(this.parent).removeCredits();
}
function frame1(){
back_b.addEventListener(MouseEvent.CLICK, exitClick);
}
}
}//package
Section 51
//DragBall (DragBall)
package {
import flash.display.*;
public class DragBall extends MovieClip {
public var hitCircle:MovieClip;
public var lineBoolean;// = false
private var numParticles:uint;
public function DragBall():void{
numParticles = (40 + Math.round((Math.random() * 10)));
lineBoolean = false;
super();
}
public function destroy():void{
}
public function showAim():void{
}
public function drag():void{
}
public function hit(_arg1:Number):void{
var _local2:uint;
var _local3:Number;
var _local4:ImpactParticle;
numParticles = (numParticles * _arg1);
_local2 = (Math.random() * 0xFFFFFF);
_local3 = numParticles;
while (_local3 > 0) {
_local4 = new ImpactParticle(0, 0, _local2);
_local4.x = this.x;
_local4.y = this.y;
stage.addChild(_local4);
_local3--;
};
}
}
}//package
Section 52
//Enemy (Enemy)
package {
import flash.display.*;
public dynamic class Enemy extends MovieClip {
public var hitCircle:MovieClip;
public var warning:MovieClip;
}
}//package
Section 53
//Finish (Finish)
package {
import flash.display.*;
public class Finish extends MovieClip {
private var color:uint;
private var numParticles:uint;
public function Finish():void{
numParticles = (40 + Math.round((Math.random() * 20)));
color = (Math.random() * 0xFFFFFF);
super();
}
public function hit(_arg1:uint, _arg2:Number):void{
var _local3:Number;
var _local4:ImpactParticle;
numParticles = (numParticles * _arg2);
_local3 = numParticles;
while (_local3 > 0) {
_local4 = new ImpactParticle(Math.random(), Math.random(), color);
_local4.x = this.x;
_local4.y = this.y;
stage.addChild(_local4);
if ((_local3 % 20) == 0){
color = (Math.random() * 0xFFFFFF);
};
_local3--;
};
}
}
}//package
Section 54
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 55
//FPSCounter (FPSCounter)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class FPSCounter extends Sprite {
private var ticks:uint;// = 0
private var tf:TextField;
private var last:uint;
public function FPSCounter(_arg1:int=0, _arg2:int=0, _arg3:uint=0, _arg4:Boolean=false, _arg5:uint=0){
last = getTimer();
ticks = 0;
super();
x = _arg1;
y = _arg2;
tf = new TextField();
tf.textColor = _arg3;
tf.text = "----- fps";
tf.selectable = false;
tf.background = _arg4;
tf.backgroundColor = _arg5;
tf.autoSize = TextFieldAutoSize.LEFT;
addChild(tf);
width = tf.textWidth;
height = tf.textHeight;
addEventListener(Event.ENTER_FRAME, tick);
}
public function tick(_arg1:Event):void{
var _local2:uint;
var _local3:uint;
var _local4:Number;
ticks++;
_local2 = getTimer();
_local3 = (_local2 - last);
if (_local3 >= 1000){
_local4 = ((ticks / _local3) * 1000);
tf.text = (_local4.toFixed(1) + " fps");
ticks = 0;
last = _local2;
};
}
}
}//package
Section 56
//HoekTest (HoekTest)
package {
import flash.display.*;
public dynamic class HoekTest extends MovieClip {
}
}//package
Section 57
//ImpactParticle (ImpactParticle)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
public class ImpactParticle extends MovieClip {
private var size:Number;
private var count:Number;
private var ay:Number;
private var ax:Number;
private var maxNum:int;
private var grav:Number;
private var radius:Number;
private var vx:Number;
private var vy:Number;
public function ImpactParticle(_arg1:Number, _arg2:Number, _arg3:uint):void{
size = ((Math.random() * 4) + 2);
maxNum = (150 - Math.round((Math.random() * 100)));
super();
graphics.beginFill(_arg3);
graphics.drawCircle(0, 0, size);
graphics.endFill();
ay = ((Math.random() * 3) - (Math.random() * 3));
ax = ((Math.random() * 3) - (Math.random() * 3));
vx = ((_arg1 / 2) * Math.random());
vy = ((_arg2 / 2) * Math.random());
grav = 0.98;
count = 0;
this.alpha = (0.55 - (Math.random() / 2));
radius = (this.width / 2);
addEventListener(Event.ENTER_FRAME, particleLoop);
}
private function particleLoop(_arg1:Event):void{
this.x = (this.x + ax);
this.y = (this.y + ay);
ax = (ax * grav);
ay = (ay * grav);
this.x = (this.x + vx);
this.y = (this.y + vy);
count++;
if ((((((((((count == maxNum)) || (((this.x - radius) > 700)))) || (((this.x + radius) < 0)))) || (((this.y - radius) > 400)))) || (((this.y + radius) < 0)))){
fade();
};
}
private function fade():void{
TweenMax.to(this, 1, {alpha:0, onComplete:remove});
}
private function remove():void{
if (this.parent != null){
removeEventListener(Event.ENTER_FRAME, particleLoop);
this.parent.removeChild(this);
};
}
}
}//package
Section 58
//ImpactParticle2 (ImpactParticle2)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
public class ImpactParticle2 extends MovieClip {
private var size:Number;
private var count:Number;
private var ay:Number;
private var ax:Number;
private var maxNum:int;
private var grav:Number;
private var radius:Number;
private var vx:Number;
private var vy:Number;
public function ImpactParticle2(_arg1:Number, _arg2:Number, _arg3:uint):void{
size = ((Math.random() * 4) + 2);
maxNum = (75 - Math.round((Math.random() * 50)));
super();
graphics.beginFill(_arg3);
graphics.drawCircle(0, 0, size);
graphics.endFill();
ay = ((Math.random() * 3) - (Math.random() * 3));
ax = ((Math.random() * 3) - (Math.random() * 3));
vx = ((_arg1 / 2) * Math.random());
vy = ((_arg2 / 2) * Math.random());
grav = 0.98;
count = 0;
this.alpha = (0.55 - (Math.random() / 2));
radius = (this.width / 2);
addEventListener(Event.ENTER_FRAME, particleLoop);
}
private function particleLoop(_arg1:Event):void{
this.x = (this.x + ax);
this.y = (this.y + ay);
ax = (ax * grav);
ay = (ay * grav);
this.x = (this.x + vx);
this.y = (this.y + vy);
count++;
if ((((((((((count == maxNum)) || (((this.x - radius) > 700)))) || (((this.x + radius) < 0)))) || (((this.y - radius) > 400)))) || (((this.y + radius) < 0)))){
fade();
};
}
private function fade():void{
TweenMax.to(this, 1, {alpha:0, onComplete:remove});
}
private function remove():void{
if (this.parent != null){
removeEventListener(Event.ENTER_FRAME, particleLoop);
this.parent.removeChild(this);
};
}
}
}//package
Section 59
//MainMenuScreen (MainMenuScreen)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainMenuScreen extends MovieClip {
public var menu_Lower:RadioButton;
public var SFX_b:CheckBox;
public var back_b:Button;
public var sound_b:CheckBox;
public var menu_Low:RadioButton;
public var menuStatus_txt:TextField;
public var menu_High:RadioButton;
public var menu_Normal:RadioButton;
public function MainMenuScreen(){
addFrameScript(0, frame1);
__setProp_sound_b_MainMenuScreen_Base_1();
__setProp_SFX_b_MainMenuScreen_Base_1();
__setProp_menu_Lower_MainMenuScreen_Base_1();
__setProp_menu_High_MainMenuScreen_Base_1();
__setProp_menu_Normal_MainMenuScreen_Base_1();
__setProp_menu_Low_MainMenuScreen_Base_1();
__setProp_back_b_MainMenuScreen_Base_1();
}
public function highClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 2;
}
public function lowerClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 0.5;
}
function __setProp_back_b_MainMenuScreen_Base_1(){
try {
back_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
back_b.emphasized = false;
back_b.enabled = true;
back_b.label = "back";
back_b.labelPlacement = "right";
back_b.selected = false;
back_b.toggle = false;
back_b.visible = true;
try {
back_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function soundInGameMenu(_arg1:MouseEvent):void{
if (sound_b.selected == true){
MovieClip(this.parent).playMusicMenu();
} else {
MovieClip(this.parent).stopMusicMenu();
};
}
public function exitClick(_arg1:MouseEvent):void{
MovieClip(this.parent).removeMainMenu();
}
public function onMouseOutInGameMenu(_arg1:MouseEvent):void{
menuStatus_txt.text = "";
}
public function onMouseOverInGameMenu(_arg1:MouseEvent):void{
if (_arg1.target == menu_Low){
menuStatus_txt.text = "No particles (recommended for older computers)";
};
if (_arg1.target == menu_Lower){
menuStatus_txt.text = "Small amount of particles (recommended for older computers)";
};
if (_arg1.target == menu_Normal){
menuStatus_txt.text = "Normal amount of particles";
};
if (_arg1.target == menu_High){
menuStatus_txt.text = "Large amount of particles (cpu intensive)";
};
if (_arg1.target == SFX_b){
menuStatus_txt.text = "Toggles soundeffects";
};
if (_arg1.target == sound_b){
menuStatus_txt.text = "Toggles music";
};
}
function __setProp_SFX_b_MainMenuScreen_Base_1(){
try {
SFX_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
SFX_b.enabled = true;
SFX_b.label = "soundeffects";
SFX_b.labelPlacement = "right";
SFX_b.selected = true;
SFX_b.visible = true;
try {
SFX_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_menu_Low_MainMenuScreen_Base_1(){
try {
menu_Low["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Low.enabled = true;
menu_Low.groupName = "Kwaliteit";
menu_Low.label = "lowest";
menu_Low.labelPlacement = "right";
menu_Low.selected = false;
menu_Low.value = "";
menu_Low.visible = true;
try {
menu_Low["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_menu_High_MainMenuScreen_Base_1(){
try {
menu_High["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_High.enabled = true;
menu_High.groupName = "Kwaliteit";
menu_High.label = "high";
menu_High.labelPlacement = "right";
menu_High.selected = false;
menu_High.value = "";
menu_High.visible = true;
try {
menu_High["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame1(){
menu_Low.addEventListener(MouseEvent.CLICK, lowClick);
menu_Lower.addEventListener(MouseEvent.CLICK, lowerClick);
menu_Normal.addEventListener(MouseEvent.CLICK, normalClick);
menu_High.addEventListener(MouseEvent.CLICK, highClick);
back_b.addEventListener(MouseEvent.CLICK, exitClick);
addEventListener(MouseEvent.MOUSE_OVER, onMouseOverInGameMenu);
addEventListener(MouseEvent.MOUSE_OUT, onMouseOutInGameMenu);
SFX_b.addEventListener(MouseEvent.CLICK, muteInGameMenu);
sound_b.addEventListener(MouseEvent.CLICK, soundInGameMenu);
}
function __setProp_sound_b_MainMenuScreen_Base_1(){
try {
sound_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sound_b.enabled = true;
sound_b.label = "music";
sound_b.labelPlacement = "right";
sound_b.selected = true;
sound_b.visible = true;
try {
sound_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function lowClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 0;
}
public function muteInGameMenu(_arg1:MouseEvent):void{
if (SFX_b.selected == true){
MovieClip(this.parent).muteSFX = false;
} else {
MovieClip(this.parent).muteSFX = true;
};
}
function __setProp_menu_Normal_MainMenuScreen_Base_1(){
try {
menu_Normal["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Normal.enabled = true;
menu_Normal.groupName = "Kwaliteit";
menu_Normal.label = "normal";
menu_Normal.labelPlacement = "right";
menu_Normal.selected = false;
menu_Normal.value = "";
menu_Normal.visible = true;
try {
menu_Normal["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function checkSelected():void{
if (MovieClip(this.parent).qualitySet == 0){
menu_Low.selected = true;
} else {
if (MovieClip(this.parent).qualitySet == 1){
menu_Normal.selected = true;
} else {
if (MovieClip(this.parent).qualitySet == 0.5){
menu_Lower.selected = true;
} else {
menu_High.selected = true;
};
};
};
if (MovieClip(this.parent).muteSFX == true){
SFX_b.selected = false;
} else {
SFX_b.selected = true;
};
if (MovieClip(this.parent).muteMusic == true){
sound_b.selected = false;
} else {
sound_b.selected = true;
};
}
public function removeText():void{
menuStatus_txt.text = "";
}
function __setProp_menu_Lower_MainMenuScreen_Base_1(){
try {
menu_Lower["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Lower.enabled = true;
menu_Lower.groupName = "Kwaliteit";
menu_Lower.label = "lower";
menu_Lower.labelPlacement = "right";
menu_Lower.selected = false;
menu_Lower.value = "";
menu_Lower.visible = true;
try {
menu_Lower["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function normalClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 1;
}
}
}//package
Section 60
//MaxCircle (MaxCircle)
package {
import flash.display.*;
public class MaxCircle extends MovieClip {
public function MaxCircle():void{
}
}
}//package
Section 61
//MenuBall (MenuBall)
package {
import flash.display.*;
public class MenuBall extends MovieClip {
public var mass:Number;// = 1
private var color:uint;
public var radius:Number;
public var vx:Number;
public var vy:Number;
public function MenuBall(_arg1:Number=25, _arg2:uint=0xFF0000){
mass = 1;
super();
this.radius = _arg1;
if ((((this.currentFrame == 4)) || ((this.currentFrame == 5)))){
this.radius = 25;
};
this.color = _arg2;
if (this.color == 0xFF0000){
};
vx = ((Math.random() * 2) - (Math.random() * 2));
vy = ((Math.random() * 2) - (Math.random() * 2));
init();
this.buttonMode = true;
this.useHandCursor = true;
}
public function init():void{
}
}
}//package
Section 62
//MenuScreen (MenuScreen)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MenuScreen extends MovieClip {
public var menu_Lower:RadioButton;
public var SFX_b:CheckBox;
public var exitGame_b:Button;
public var back_b:Button;
public var sound_b:CheckBox;
public var menu_Low:RadioButton;
public var menuStatus_txt:TextField;
public var resetsbounces_txt:TextField;
public var menu_High:RadioButton;
public var menu_Normal:RadioButton;
public function MenuScreen(){
addFrameScript(0, frame1);
__setProp_sound_b_MenuScreen_Base_1();
__setProp_SFX_b_MenuScreen_Base_1();
__setProp_menu_Lower_MenuScreen_Base_1();
__setProp_menu_Low_MenuScreen_Base_1();
__setProp_menu_High_MenuScreen_Base_1();
__setProp_menu_Normal_MenuScreen_Base_1();
__setProp_back_b_MenuScreen_Base_1();
__setProp_exitGame_b_MenuScreen_Base_1();
}
public function highClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 2;
}
public function lowerClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 0.5;
}
public function soundInGameMenu(_arg1:MouseEvent):void{
if (sound_b.selected == true){
MovieClip(this.parent).playMusic();
} else {
MovieClip(this.parent).stopMusic();
};
}
public function exitClick(_arg1:MouseEvent):void{
MovieClip(this.parent).goToMenu();
}
public function onMouseOutInGameMenu(_arg1:MouseEvent):void{
menuStatus_txt.text = "";
}
function __setProp_menu_Normal_MenuScreen_Base_1(){
try {
menu_Normal["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Normal.enabled = true;
menu_Normal.groupName = "Kwaliteit";
menu_Normal.label = "normal";
menu_Normal.labelPlacement = "right";
menu_Normal.selected = false;
menu_Normal.value = "";
menu_Normal.visible = true;
try {
menu_Normal["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function onMouseOverInGameMenu(_arg1:MouseEvent):void{
if (_arg1.target == menu_Low){
menuStatus_txt.text = "no particles (recommended for older computers)";
};
if (_arg1.target == menu_Lower){
menuStatus_txt.text = "Small amount of particles (recommended for older computers)";
};
if (_arg1.target == menu_Normal){
menuStatus_txt.text = "normal amount of particles";
};
if (_arg1.target == menu_High){
menuStatus_txt.text = "large amount of particles (cpu intensive)";
};
if (_arg1.target == SFX_b){
menuStatus_txt.text = "toggles soundeffects";
};
if (_arg1.target == sound_b){
menuStatus_txt.text = "toggles music";
};
}
function __setProp_back_b_MenuScreen_Base_1(){
try {
back_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
back_b.emphasized = false;
back_b.enabled = true;
back_b.label = "back to game";
back_b.labelPlacement = "right";
back_b.selected = false;
back_b.toggle = false;
back_b.visible = true;
try {
back_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame1(){
menu_Low.addEventListener(MouseEvent.CLICK, lowClick);
menu_Lower.addEventListener(MouseEvent.CLICK, lowerClick);
menu_Normal.addEventListener(MouseEvent.CLICK, normalClick);
menu_High.addEventListener(MouseEvent.CLICK, highClick);
exitGame_b.addEventListener(MouseEvent.CLICK, exitClick);
addEventListener(MouseEvent.MOUSE_OVER, onMouseOverInGameMenu);
addEventListener(MouseEvent.MOUSE_OUT, onMouseOutInGameMenu);
back_b.addEventListener(MouseEvent.CLICK, onBackInGameMenu);
SFX_b.addEventListener(MouseEvent.CLICK, muteInGameMenu);
sound_b.addEventListener(MouseEvent.CLICK, soundInGameMenu);
}
function __setProp_menu_Lower_MenuScreen_Base_1(){
try {
menu_Lower["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Lower.enabled = true;
menu_Lower.groupName = "Kwaliteit";
menu_Lower.label = "lower";
menu_Lower.labelPlacement = "right";
menu_Lower.selected = false;
menu_Lower.value = "";
menu_Lower.visible = true;
try {
menu_Lower["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_SFX_b_MenuScreen_Base_1(){
try {
SFX_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
SFX_b.enabled = true;
SFX_b.label = "soundeffects";
SFX_b.labelPlacement = "right";
SFX_b.selected = true;
SFX_b.visible = true;
try {
SFX_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function lowClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 0;
}
function __setProp_menu_Low_MenuScreen_Base_1(){
try {
menu_Low["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_Low.enabled = true;
menu_Low.groupName = "Kwaliteit";
menu_Low.label = "lowest";
menu_Low.labelPlacement = "right";
menu_Low.selected = false;
menu_Low.value = "";
menu_Low.visible = true;
try {
menu_Low["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function muteInGameMenu(_arg1:MouseEvent):void{
if (SFX_b.selected == true){
MovieClip(this.parent).muteSFX = false;
} else {
MovieClip(this.parent).muteSFX = true;
};
}
public function showStats():void{
resetsbounces_txt.text = ((((((("total bounces: " + MovieClip(this.parent).numBounces) + ", total resets: ") + MovieClip(this.parent).numResets) + ", total score: ") + ((MovieClip(this.parent).numResets * 10) + MovieClip(this.parent).numBounces)) + ", level: ") + MovieClip(this.parent).currentLevel);
}
function __setProp_exitGame_b_MenuScreen_Base_1(){
try {
exitGame_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
exitGame_b.emphasized = false;
exitGame_b.enabled = true;
exitGame_b.label = "exit to main menu";
exitGame_b.labelPlacement = "right";
exitGame_b.selected = false;
exitGame_b.toggle = false;
exitGame_b.visible = true;
try {
exitGame_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function checkSelected():void{
if (MovieClip(this.parent).qualitySet == 0){
menu_Low.selected = true;
} else {
if (MovieClip(this.parent).qualitySet == 1){
menu_Normal.selected = true;
} else {
if (MovieClip(this.parent).qualitySet == 0.5){
menu_Lower.selected = true;
} else {
menu_High.selected = true;
};
};
};
if (MovieClip(this.parent).muteSFX == true){
SFX_b.selected = false;
} else {
SFX_b.selected = true;
};
if (MovieClip(this.parent).muteMusic == true){
sound_b.selected = false;
} else {
sound_b.selected = true;
};
}
function __setProp_menu_High_MenuScreen_Base_1(){
try {
menu_High["componentInspectorSetting"] = true;
} catch(e:Error) {
};
menu_High.enabled = true;
menu_High.groupName = "Kwaliteit";
menu_High.label = "high";
menu_High.labelPlacement = "right";
menu_High.selected = false;
menu_High.value = "";
menu_High.visible = true;
try {
menu_High["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_sound_b_MenuScreen_Base_1(){
try {
sound_b["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sound_b.enabled = true;
sound_b.label = "music";
sound_b.labelPlacement = "right";
sound_b.selected = true;
sound_b.visible = true;
try {
sound_b["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function removeText():void{
menuStatus_txt.text = "";
resetsbounces_txt.text = "";
}
public function onBackInGameMenu(_arg1:MouseEvent):void{
if ((((MovieClip(this.parent).menuShown == true)) && ((MovieClip(this.parent).menuDisplayed == true)))){
removeText();
MovieClip(this.parent).removeMenu();
};
}
public function normalClick(_arg1:MouseEvent):void{
MovieClip(this.parent).qualitySet = 1;
}
}
}//package
Section 63
//PlayBall (PlayBall)
package {
import flash.display.*;
public dynamic class PlayBall extends MovieClip {
}
}//package
Section 64
//Pop (Pop)
package {
import flash.media.*;
public dynamic class Pop extends Sound {
}
}//package
Section 65
//Pop2 (Pop2)
package {
import flash.media.*;
public dynamic class Pop2 extends Sound {
}
}//package
Section 66
//Pop3 (Pop3)
package {
import flash.media.*;
public dynamic class Pop3 extends Sound {
}
}//package
Section 67
//RadioButton_disabledIcon (RadioButton_disabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_disabledIcon extends MovieClip {
}
}//package
Section 68
//RadioButton_downIcon (RadioButton_downIcon)
package {
import flash.display.*;
public dynamic class RadioButton_downIcon extends MovieClip {
}
}//package
Section 69
//RadioButton_overIcon (RadioButton_overIcon)
package {
import flash.display.*;
public dynamic class RadioButton_overIcon extends MovieClip {
}
}//package
Section 70
//RadioButton_selectedDisabledIcon (RadioButton_selectedDisabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDisabledIcon extends MovieClip {
}
}//package
Section 71
//RadioButton_selectedDownIcon (RadioButton_selectedDownIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDownIcon extends MovieClip {
}
}//package
Section 72
//RadioButton_selectedOverIcon (RadioButton_selectedOverIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedOverIcon extends MovieClip {
}
}//package
Section 73
//RadioButton_selectedUpIcon (RadioButton_selectedUpIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedUpIcon extends MovieClip {
}
}//package
Section 74
//RadioButton_upIcon (RadioButton_upIcon)
package {
import flash.display.*;
public dynamic class RadioButton_upIcon extends MovieClip {
}
}//package
Section 75
//Song1 (Song1)
package {
import flash.media.*;
public dynamic class Song1 extends Sound {
}
}//package
Section 76
//Song2 (Song2)
package {
import flash.media.*;
public dynamic class Song2 extends Sound {
}
}//package
Section 77
//Tekst1 (Tekst1)
package {
import flash.display.*;
public dynamic class Tekst1 extends MovieClip {
}
}//package
Section 78
//Tekst2 (Tekst2)
package {
import flash.display.*;
public dynamic class Tekst2 extends MovieClip {
}
}//package
Section 79
//Tekst3 (Tekst3)
package {
import flash.display.*;
public dynamic class Tekst3 extends MovieClip {
}
}//package
Section 80
//Tekst4 (Tekst4)
package {
import flash.display.*;
public dynamic class Tekst4 extends MovieClip {
}
}//package
Section 81
//Tekst5 (Tekst5)
package {
import flash.display.*;
public dynamic class Tekst5 extends MovieClip {
}
}//package
Section 82
//Thud (Thud)
package {
import flash.media.*;
public dynamic class Thud extends Sound {
}
}//package