Section 1
//AssetManager (bluetrack.AssetManager)
package bluetrack {
import flash.events.*;
import flash.display.*;
import tamba.events.*;
import tamba.utils.*;
import tamba.net.*;
public class AssetManager extends MovieClip {
private static var assets:Object = {level_duvet:{obstacle_breakfasttray:{offsets:{x:0, y:0}}, obstacle_hotwaterbottle:{offsets:{x:0, y:0}}, floor_duvet:{offsets:{x:0, y:0}}}, level_shower:{obstacle_showergel:{offsets:{x:0, y:0}}, obstacle_foot:{offsets:{x:0, y:0}}, obstacle_sponge:{offsets:{x:0, y:0}}, floor_shower:{offsets:{x:0, y:0}}}, level_garage_1:{obstacle_spiritlevel:{offsets:{x:0, y:0}}, obstacle_spanner:{offsets:{x:0, y:0}}, obstacle_spannerstep:{offsets:{x:0, y:0}}, floor_garage:{offsets:{x:0, y:0}}}, level_lounge:{obstacle_desk:{offsets:{x:0, y:0}}, obstacle_jotter:{offsets:{x:0, y:0}}, obstacle_paperball:{offsets:{x:0, y:0}}, obstacle_slipper:{offsets:{x:0, y:0}}, floor_carpet:{offsets:{x:0, y:0}}}, level_desk:{obstacle_pencil:{offsets:{x:0, y:0}}, obstacle_paw:{offsets:{x:0, y:-148}}, obstacle_deskphone:{offsets:{x:0, y:0}}, obstacle_postit:{offsets:{x:0, y:0}}, obstacle_calculator:{offsets:{x:0, y:0}}, floor_desk:{offsets:{x:0, y:0}}}, level_garage_2:{obstacle_paw:{offsets:{x:0, y:-148}}, obstacle_drill:{offsets:{x:0, y:0}}, obstacle_clamp:{offsets:{x:0, y:0}}, obstacle_spannerstep2:{offsets:{x:0, y:0}}, floor_garage:{offsets:{x:0, y:0}}}, level_table:{obstacle_paw:{offsets:{x:0, y:-148}}, obstacle_roll:{offsets:{x:0, y:0}}, obstacle_breadboard:{offsets:{x:0, y:0}}, obstacle_orangejuice:{offsets:{x:0, y:0}}, obstacle_fork:{offsets:{x:-46, y:-81}}, obstacle_knife:{offsets:{x:0, y:0}}, floor_tablecloth:{offsets:{x:0, y:0}}}, level_gardenpath:{obstacle_paw:{offsets:{x:0, y:-148}}, obstacle_broomhandle:{offsets:{x:0, y:0}}, obstacle_treestump:{offsets:{x:0, y:0}}, floor_gardenpath:{offsets:{x:0, y:0}}}, level_garage_3:{obstacle_paw:{offsets:{x:0, y:-148}}, obstacle_saw:{offsets:{x:0, y:0}}, obstacle_step:{offsets:{x:0, y:0}}, obstacle_hammer:{offsets:{x:0, y:0}}, obstacle_clamp:{offsets:{x:0, y:0}}, floor_garage:{offsets:{x:0, y:0}}}, level_workshop:{obstacle_paw_2:{offsets:{x:0, y:-148}}, obstacle_paw_1:{offsets:{x:0, y:-148}}, obstacle_pencil:{offsets:{x:0, y:0}}, obstacle_oilcan:{offsets:{x:0, y:0}}, obstacle_ruler:{offsets:{x:0, y:0}}, obstacle_saw2:{offsets:{x:0, y:0}}, floor_wooden:{offsets:{x:0, y:0}}}, level_jeans:{obstacle_jeansrip:{offsets:{x:-56, y:-50}}, obstacle_phone:{offsets:{x:0, y:0}}, obstacle_headphones:{offsets:{x:0, y:0}}, obstacle_wallet:{offsets:{x:0, y:0}}, obstacle_keys:{offsets:{x:0, y:0}}, floor_jeans:{offsets:{x:0, y:0}}}, level_garage_4:{obstacle_step5:{offsets:{x:0, y:0}}, obstacle_step4:{offsets:{x:0, y:0}}, obstacle_step3:{offsets:{x:0, y:0}}, floor_garage:{offsets:{x:0, y:0}}}, level_metal:{obstacle_hand:{offsets:{x:-251, y:-229}}, obstacle_croissant:{offsets:{x:0, y:0}}, obstacle_coffeecup:{offsets:{x:0, y:0}}, obstacle_ticket:{offsets:{x:0, y:0}}, floor_metal:{offsets:{x:0, y:0}}}, level_beach:{obstacle_swatter:{offsets:{x:-100, y:-365}}, obstacle_suncream:{offsets:{x:-60, y:-87}}, obstacle_suncreambottle:{offsets:{x:0, y:0}}, obstacle_stone:{offsets:{x:0, y:0}}, obstacle_starfish:{offsets:{x:-29.95, y:-32}}, obstacle_spade:{offsets:{x:0, y:0}}, floor_towel:{offsets:{x:0, y:0}}}, level_garage_5:{obstacle_paw_2:{offsets:{x:0, y:-148}}, obstacle_paw_1:{offsets:{x:0, y:-148}}, obstacle_redscrewdriver:{offsets:{x:0, y:0}}, obstacle_tapemeasure:{offsets:{x:0, y:0}}, obstacle_pliers:{offsets:{x:0, y:0}}, obstacle_step6:{offsets:{x:0, y:0}}, obstacle_lstep:{offsets:{x:0, y:0}}, floor_garage:{offsets:{x:0, y:0}}}};
private static var totalProgress:Number = 0;
private static var completeAssets:int = 0;
private static var downloadLocation:String = (GlobalObject.get("rootURL") + "swf-img/");
private static var downloaders:Array = [];
private static var dispatcher:EventDispatcher;
private static var totalAssets:int = 0;
public static var assetCache:Object = {};
private static var lastLevelLoaded:int = -1;
private static function onDownloadError(_arg1:EventWithParams):void{
trace("error");
}
private static function checkCompletion():void{
if (completeAssets >= totalAssets){
dispatcher.dispatchEvent(new Event("onComplete"));
};
}
public static function loadAssets(_arg1:int){
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:FileDownloader;
if (_arg1 == lastLevelLoaded){
return;
};
if (_arg1 >= LevelInfo.totalLevels){
return;
};
lastLevelLoaded = _arg1;
_local2 = LevelInfo.levels[_arg1];
_local3 = assets[_local2];
totalAssets = 0;
completeAssets = 0;
totalProgress = 0;
downloaders = [];
for (_local4 in _local3) {
_local5 = getFilename(_local4);
if (assetCache[_local5] != null){
completeAssets++;
} else {
if (_local3[_local4].offsets != null){
_local6 = ((downloadLocation + _local5) + ".png");
_local7 = new FileDownloader();
_local7.addEventListener("onDownloadProgress", onDownloadProgress, false, 0, true);
_local7.addEventListener("onDownloadComplete", onDownloadComplete, false, 0, true);
_local7.addEventListener("onDownloadError", onDownloadError, false, 0, true);
_local7.download(_local6, _local5);
downloaders.push(_local7);
};
};
totalAssets++;
};
checkCompletion();
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (dispatcher == null){
dispatcher = new EventDispatcher();
};
dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
dispatcher.removeEventListener(_arg1, _arg2);
}
private static function onDownloadProgress(_arg1:EventWithParams):void{
var _local2:Number;
var _local3:int;
_local2 = 0;
_local3 = 0;
while (_local3 < totalAssets) {
if (downloaders[_local3] == null){
_local2 = (_local2 + 1);
} else {
_local2 = (_local2 + downloaders[_local3].progress);
};
_local3++;
};
totalProgress = (_local2 / totalAssets);
dispatcher.dispatchEvent(new EventWithParams("onProgress", {progress:totalProgress}));
}
private static function onDownloadComplete(_arg1:EventWithParams):void{
assetCache[_arg1.currentTarget.id] = _arg1.params.content;
completeAssets++;
checkCompletion();
}
public static function getBitmap(_arg1:String, _arg2:int):Bitmap{
var _local3:String;
var _local4:String;
var _local5:Bitmap;
var _local6:Bitmap;
var _local7:Object;
_local3 = LevelInfo.levels[_arg2];
_local4 = getFilename(_arg1);
_local5 = assetCache[_local4];
if (_local5 == null){
return (null);
};
_local6 = new Bitmap(_local5.bitmapData.clone(), "auto", true);
if (assets[_local3][_arg1] == null){
return (null);
};
_local7 = assets[_local3][_arg1].offsets;
_local6.x = _local7.x;
_local6.y = _local7.y;
return (_local6);
}
public static function checkLoaded(_arg1:int):Boolean{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:String;
_local2 = LevelInfo.levels[_arg1];
_local3 = assets[_local2];
for (_local4 in _local3) {
_local5 = getFilename(_local4);
if (assetCache[_local5] == null){
return (false);
};
};
return (true);
}
public static function getFilename(_arg1:String):String{
var _local2:Array;
_local2 = _arg1.split("_");
return (((_local2[0] + "_") + _local2[1]));
}
}
}//package bluetrack
Section 2
//Game (bluetrack.Game)
package bluetrack {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.*;
import tamba.events.*;
import tamba.utils.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;
import com.coreyoneil.collision.*;
import tamba.display.*;
import tamba.media.*;
import flash.text.*;
import flash.ui.*;
public class Game extends MovieClip {
private var outro:MovieClip;
private var startArea:MovieClip;
private var mouseActive:Boolean;// = false
private var collectTimer:Timer;
private var overlay:MovieClip;
private var bonusHUD:MovieClip;
private var levelNo:int;// = 0
private var f:int;// = 0
private var levelConverted:Boolean;// = false
private var gameTimer:Timer;
private var bonusLevelSecs:Number;// = 15
private var collectBonusInc:int;// = 0
private var score:Number;// = 0
private var powerUpTimer:Timer;
private var torchLight:MovieClip;
private var collectToDo:int;// = 0
private var bonusToolTip:MovieClip;
private var levelType:int;
private var powerUpSecs:Number;// = 15
private var collisionList:CollisionList;
private var levelClip:MovieClip;
private var levelObjects:Array;
private var collectBonus:int;// = 0
private var cupMoved:Boolean;// = false
private var countdownClip:MovieClip;
private var collectTimerActive:Boolean;
private var gameSecs:Number;// = 0
private var collectables:Array;
private var mouseShown:Boolean;// = false
private var bonusTitle:MovieClip;
private var floorClip:MovieClip;
private var _mouseDelay:Number;// = 0.3
private var mouseChar:MouseChar;
private var levelEnded:Boolean;// = false
private var gameHUD:GameHUD;
private var stageGlow:MovieClip;
private var finishArea:MovieClip;
private var underlay:MovieClip;
private var audio:Audio;
private var collectDone:int;// = 0
private var levelSuccess:Boolean;// = false
private var toolTip:MovieClip;
private var obstacles:Array;
private var keys:Array;
private var gameEnded:Boolean;// = false
public function Game(_arg1:int=0):void{
var _local2:StageMask;
levelNo = 0;
levelEnded = false;
levelSuccess = false;
levelConverted = false;
gameEnded = false;
keys = [];
score = 0;
gameSecs = 0;
bonusLevelSecs = 15;
powerUpSecs = 15;
mouseShown = false;
mouseActive = false;
_mouseDelay = 0.3;
collectBonus = 0;
collectBonusInc = 0;
collectDone = 0;
collectToDo = 0;
cupMoved = false;
f = 0;
super();
audio = new Audio();
levelNo = _arg1;
AssetManager.loadAssets((levelNo + 1));
PlayerStats.lastLevel = levelNo;
_local2 = new StageMask(607, 406);
this.mask = _local2;
addChild(_local2);
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
TweenPlugin.activate([EndArrayPlugin, ColorMatrixFilterPlugin]);
}
private function removeCountdown():void{
if (countdownClip != null){
countdownClip.parent.removeChild(countdownClip);
countdownClip = null;
};
}
private function onPowerUpTimerUpdate(_arg1:Event):void{
powerUpSecs--;
updateCountdown(powerUpSecs);
if (powerUpSecs <= 0){
stopPowerUpTimer();
endStageGlow();
TweenLite.delayedCall(1, hideCountdown);
} else {
if (powerUpSecs <= 5){
warnStageGlow();
};
};
}
private function showToolTipOld():void{
var _local1:int;
toolTip = new game_tooltip();
toolTip.x = 200;
toolTip.y = 277;
toolTip.mc_bulb.ex = toolTip.mc_bulb.x;
toolTip.mc_bulb.ey = toolTip.mc_bulb.y;
toolTip.mc_top.ex = toolTip.mc_top.x;
toolTip.mc_top.ey = toolTip.mc_top.y;
toolTip.mc_bottom.ex = toolTip.mc_bottom.x;
toolTip.mc_bottom.ey = toolTip.mc_bottom.y;
_local1 = 130;
toolTip.mc_bulb.x = (toolTip.mc_bulb.x + _local1);
toolTip.mc_bulb.y = (toolTip.mc_bulb.y + _local1);
toolTip.mc_top.x = (toolTip.mc_top.x + _local1);
toolTip.mc_top.y = (toolTip.mc_top.y + _local1);
toolTip.mc_bottom.x = (toolTip.mc_bottom.x + _local1);
toolTip.mc_bottom.y = (toolTip.mc_bottom.y + _local1);
toolTip.mc_top.text_tip.width = 344;
toolTip.mc_top.text_tip.autoSize = TextFieldAutoSize.LEFT;
toolTip.mc_bottom.text_tip.width = 368;
toolTip.mc_bottom.text_tip.autoSize = TextFieldAutoSize.LEFT;
toolTip.mc_top.text_tip.htmlText = "click on the <font color=\"#BA2222\">start</font> button and get<br />running".toLowerCase();
toolTip.mc_bottom.text_tip.htmlText = LevelInfo.getHint(levelNo).toLowerCase();
toolTip.mc_top.text_tip.y = ((toolTip.mc_top.height - toolTip.mc_top.text_tip.height) * 0.5);
toolTip.mc_bottom.text_tip.y = ((toolTip.mc_bottom.height - toolTip.mc_bottom.text_tip.height) * 0.5);
levelClip.addChild(toolTip);
TweenLite.to(toolTip.mc_bulb, 0.5, {delay:0.7, x:toolTip.mc_bulb.ex, y:toolTip.mc_bulb.ey, ease:Back.easeOut});
TweenLite.to(toolTip.mc_top, 0.5, {delay:0.6, x:toolTip.mc_top.ex, y:toolTip.mc_top.ey, ease:Back.easeOut});
TweenLite.to(toolTip.mc_bottom, 0.5, {delay:0.5, x:toolTip.mc_bottom.ex, y:toolTip.mc_bottom.ey, ease:Back.easeOut});
showBonusTitle();
}
private function switchShowsSwitch():void{
TweenLite.to(levelClip.switch_3, 0.5, {alpha:1, overwrite:0});
}
private function showToolTip():void{
toolTip = new tooltip_bmps();
toolTip.x = (floorClip.width * 0.5);
toolTip.y = (floorClip.height * 0.5);
toolTip.gotoAndStop(LevelInfo.levels[levelNo]);
toolTip.alpha = 0;
toolTip.scaleX = (toolTip.scaleY = 0);
TweenLite.to(toolTip, 0.4, {ease:Back.easeOut, delay:0.4, scaleX:1, scaleY:1, alpha:1});
addChild(toolTip);
showBonusTitle();
}
private function startPowerUpTimer():void{
if (powerUpTimer != null){
stopPowerUpTimer();
};
powerUpTimer = new Timer(1000);
powerUpTimer.addEventListener("timer", onPowerUpTimerUpdate, false, 0, true);
powerUpTimer.start();
}
private function startGameTimer():void{
gameTimer = new Timer(90);
gameTimer.addEventListener("timer", onGameTimerUpdate, false, 0, true);
gameTimer.start();
}
private function hideToolTip():void{
if (toolTip != null){
hideBonusTitle();
TweenLite.to(toolTip, 0.5, {alpha:0, onComplete:removeToolTip});
};
}
private function onStageKeyUp(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = false;
}
private function initLevel():void{
var _local1:String;
_local1 = LevelInfo.levels[levelNo];
levelClip = new (getDefinitionByName(_local1));
levelType = LevelInfo.getType(levelNo);
analyseLevel();
initMouseChar();
initCollisions();
initHUD();
if (((isBonusLevel()) && (!((levelNo == 14))))){
gameSecs = (bonusLevelSecs + 1);
onGameTimerUpdate();
};
addChild(levelClip);
levelClip.addChild(mouseChar);
if (overlay != null){
levelClip.swapChildren(mouseChar, overlay);
};
showToolTip();
}
private function showBonusTitle():void{
if (((!(isBonusLevel())) || ((levelNo == 14)))){
return;
};
bonusTitle = new bonus_title();
bonusTitle.x = (floorClip.width * 0.5);
bonusTitle.y = 160;
bonusTitle.scaleX = (bonusTitle.scaleY = 0);
bonusTitle.alpha = 0;
addChild(bonusTitle);
TweenLite.to(bonusTitle, 0.6, {alpha:1, scaleX:1, scaleY:1, rotation:0, ease:Back.easeOut});
}
private function onMouseLeave(_arg1:Event):void{
mouseActive = false;
}
private function showBonusToolTip():void{
var _local1:int;
bonusToolTip = new game_tooltip_powerbeam();
_local1 = 130;
bonusToolTip.x = (bonusToolTip.ex = 325);
bonusToolTip.y = (bonusToolTip.ey = -10);
bonusToolTip.x = (bonusToolTip.x + _local1);
bonusToolTip.y = (bonusToolTip.y - _local1);
addChild(bonusToolTip);
TweenLite.to(bonusToolTip, 0.5, {x:bonusToolTip.ex, y:bonusToolTip.ey, ease:Back.easeOut});
TweenLite.delayedCall(2, hideBonusToolTip);
}
private function hideBonusTitle():void{
if (bonusTitle != null){
TweenLite.to(bonusTitle, 0.3, {alpha:0, scaleX:0, scaleY:0, rotation:0, ease:Back.easeIn, onComplete:removeBonusTitle});
};
}
private function awardCompletionPoints():void{
var _local1:int;
if (!levelSuccess){
return;
};
_local1 = 15000;
if (((isBonusLevel()) && (!((levelNo == 14))))){
_local1 = (15000 - gameTimestamp());
} else {
if (levelNo > 8){
_local1 = 25000;
};
_local1 = (_local1 - gameTimestamp());
if (_local1 < 0){
_local1 = 0;
};
};
score = (score + _local1);
updateHUDScore();
}
private function switchHidesSwitch():void{
TweenLite.to(levelClip.switch_3, 0.5, {alpha:0, overwrite:0});
}
private function initMouseChar():void{
mouseChar = new MouseChar();
}
private function moveSelectScore(_arg1:MovieClip):void{
TweenLite.to(_arg1, 0.25, {delay:0.5, scaleX:0, scaleY:0, onComplete:removeSelectScore, onCompleteParams:[_arg1]});
}
private function showBonusHUD():void{
TweenLite.to(bonusHUD, 0.5, {alpha:1});
TweenLite.to(gameHUD, 0.5, {alpha:0});
}
private function onStageMouseMove(_arg1:Event):void{
mouseActive = true;
}
private function startLevel():void{
mouseChar.x = mouseX;
mouseChar.y = (mouseY + 50);
mouseChar.active = true;
Mouse.hide();
revealLevel();
hideToolTip();
audio.musicVolume = (audio.effectsVolume = GlobalObject.get("volume"));
dispatchEvent(new Event("onStart"));
startGameTimer();
}
private function stopGameTimer():void{
if (gameTimer != null){
gameTimer.removeEventListener("timer", onGameTimerUpdate);
gameTimer.stop();
gameTimer = null;
};
}
private function onStageKeyDown(_arg1:KeyboardEvent):void{
stage.focus = stage;
keys[_arg1.keyCode] = true;
}
private function switchSpringsSwatter():void{
var _local1:MovieClip;
_local1 = levelClip.obstacle_swatter;
_local1.startPos = [_local1.x, _local1.y];
if (_local1.activated){
return;
};
_local1.activated = true;
_local1.scaleX = (_local1.scaleY = 1.2);
TweenLite.to(_local1, 0.5, {ease:Linear.easeNone, x:(_local1.x + 70), y:(_local1.y + 150), onComplete:switchSwatter2, onCompleteParams:[_local1]});
}
private function checkCollisions():void{
var _local1:Array;
var _local2:Object;
var _local3:MovieClip;
_local1 = collisionList.checkCollisions();
if (_local1.length){
_local2 = _local1[0];
if (_local2.object1 == mouseChar.hitSpot){
_local3 = _local2.object2;
} else {
if (_local2.object2 == mouseChar.hitSpot){
_local3 = _local2.object1;
};
};
if (_local3.type == "obstacle"){
killMouseChar();
return;
};
if (_local3.type == "item"){
collisionList.removeItem(_local3);
collectItem(_local3);
} else {
if (_local3.type == "switch"){
if (_local3.flipSwitch()){
audio.playEffect("sound_switch");
};
};
};
};
if (((!((finishArea == null))) && ((finishArea.baseClip.alpha > 0)))){
if (finishArea.hitClip.hitTestObject(mouseChar)){
endLevel(true);
};
};
}
private function switchNoAction():void{
trace("No action");
}
private function initCollisions():void{
var _local1:*;
var _local2:int;
collisionList = new CollisionList(mouseChar.hitSpot);
collisionList.returnAngle = false;
_local1 = collectables.concat(obstacles);
_local2 = _local1.length;
while (_local2--) {
if (_local1[_local2].hitClip.type == "switch"){
_local1[_local2].mouseChar = mouseChar;
};
collisionList.addItem(_local1[_local2].hitClip);
};
}
private function removeToolTip():void{
toolTip.parent.removeChild(toolTip);
}
private function switchHand2(_arg1:MovieClip):void{
TweenLite.to(_arg1, 0.25, {scaleX:1, scaleY:1, x:(_arg1.x - 70), y:(_arg1.y + 50), ease:Bounce.easeOut, overwrite:0, onComplete:switchHand3, onCompleteParams:[_arg1]});
}
private function switchHand3(_arg1:MovieClip):void{
var _local2:MovieClip;
var _local3:MovieClip;
_local2 = levelClip.obstacle_ticket;
_local3 = levelClip.obstacle_coffeecup;
audio.playEffect("sound_swipe");
TweenLite.to(_arg1, 0.5, {x:(_arg1.x + 200), ease:Strong.easeOut, overwrite:0, onComplete:switchHand4, onCompleteParams:[_arg1]});
TweenLite.to(_local2, 0.5, {x:(_local2.x + 400), ease:Strong.easeOut, overwrite:0});
TweenLite.to(_local3, 0.5, {x:(_local3.x + 50), rotation:(_local3.rotation + 5), overwrite:0});
audio.playEffect("sound_cup");
}
private function analyseLevel():void{
var _local1:int;
var _local2:*;
var _local3:Array;
var _local4:LevelObject;
var _local5:Bitmap;
var _local6:LevelObject;
var _local7:Switch;
var _local8:Array;
var _local9:Bitmap;
levelObjects = (obstacles = (collectables = []));
_local1 = levelClip.numChildren;
while (_local1--) {
_local2 = levelClip.getChildAt(_local1);
if ((_local2 is MovieClip)){
_local3 = _local2.name.split("_");
trace(_local3[0]);
if (_local3[0] == "obstacle"){
_local4 = new LevelObject(_local2, _local3[0]);
_local4.behaviour = LevelInfo.getBehaviour(levelNo, _local2.name);
obstacles.push(_local4);
_local5 = AssetManager.getBitmap(_local2.name, levelNo);
if (_local5 != null){
_local4.baseClip.addChild(_local5);
};
} else {
if (_local3[0] == "item"){
_local6 = new LevelObject(_local2, _local3[0]);
collectables.push(_local6);
if (_local3[1] != "torch"){
collectToDo++;
};
} else {
if (_local3[0] == "switch"){
_local7 = new Switch(_local2, _local3[0]);
_local8 = LevelInfo.getSwitchAction(levelNo, _local2.name);
_local7.actions = [this[_local8[0]], this[_local8[1]]];
collectables.push(_local7);
} else {
if ((((_local3[0] == "goal")) && ((_local3[1] == "start")))){
startArea = new Goal(_local2);
startArea.addEventListener("onClick", onStartAreaClicked, false, 0, true);
} else {
if ((((_local3[0] == "goal")) && ((_local3[1] == "finish")))){
finishArea = new Goal(_local2);
finishArea.behaviour = LevelInfo.getBehaviour(levelNo, _local2.name);
finishArea.baseClip.alpha = 0;
} else {
if (_local3[0] == "floor"){
_local9 = AssetManager.getBitmap(_local2.name, levelNo);
if (_local9 != null){
_local2.addChild(_local9);
};
floorClip = _local2;
} else {
if (_local3[0] == "glow"){
trace("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
stageGlow = _local2;
stageGlow.mouseChildren = (stageGlow.mouseEnabled = false);
};
};
};
};
};
};
};
};
};
if (isBonusLevel()){
overlay = new bonus_overlay();
underlay = new bonus_underlay();
levelClip.addChildAt(underlay, 1);
levelClip.addChild(overlay);
overlay.cacheAsBitmap = true;
overlay.mouseEnabled = (overlay.mouseChildren = false);
underlay.mouseEnabled = (underlay.mouseChildren = false);
torchLight = overlay.mc_torch;
};
}
private function switchHand4(_arg1:MovieClip):void{
}
private function onRemovedFromStage(_arg1:Event):void{
trace("Destroying game listeners");
Mouse.show();
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onStageKeyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, onStageKeyUp);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove);
stage.removeEventListener(Event.MOUSE_LEAVE, onMouseLeave);
stage.removeEventListener(Event.ENTER_FRAME, onStageEnterFrame);
}
private function testSwitchOn():void{
trace("Switch is on");
}
private function stopBehaviours():void{
var _local1:int;
_local1 = levelObjects.length;
while (_local1--) {
levelObjects[_local1].stopBehaviour();
};
}
private function switchDisable():void{
levelClip.switch_1.disabled = true;
}
private function onStartAreaClicked(_arg1:Event):void{
startArea.removeEventListener("onClick", onStartAreaClicked);
startLevel();
}
private function onOutroClicked(_arg1:MouseEvent):void{
endGame(levelSuccess);
}
private function hideCountdown():void{
if (countdownClip != null){
TweenLite.to(countdownClip, 0.5, {alpha:0, onComplete:removeCountdown});
};
}
private function onCollectTimerUpdate(_arg1:Event):void{
collectBonusInc = 0;
stopCollectTimer();
}
private function showCollectScore(_arg1:MovieClip, _arg2:String):void{
var _local3:MovieClip;
var _local4:StyledText;
var _local5:MovieClip;
_local3 = new score_collect();
_local3.text_value.text = _arg2.toLowerCase();
_local3.text_value.autoSize = TextFieldAutoSize.CENTER;
addChild(_local3);
_local4 = new StyledText(_local3);
new StyledText(_local3).x = -((_local4.textClip.width * 0.5));
_local4.y = (-(_local4.textClip.height) * 0.5);
_local5 = new MovieClip();
_local5.x = _arg1.x;
_local5.y = _arg1.y;
_local5.scaleX = (_local5.scaleY = 0);
_local5.addChild(_local4);
addChild(_local5);
TweenLite.to(_local5, 0.25, {rotation:0, scaleX:1, scaleY:1, onComplete:moveSelectScore, ease:Back.easeOut, onCompleteParams:[_local5]});
}
private function hideBonusToolTip():void{
if (bonusToolTip != null){
TweenLite.to(bonusToolTip, 0.5, {alpha:0, onComplete:removeBonusToolTip});
};
}
private function testSwitchOff():void{
trace("Switch is off");
}
private function showStageGlow():void{
var _local1:Object;
var _local2:int;
trace("sg", stageGlow);
stageGlow.visible = true;
showBonusHUD();
TweenMax.to(stageGlow, 0.5, {alpha:0.5});
_local1 = {colorMatrixFilter:{contrast:1.25, saturation:0, overwrite:0}};
TweenMax.to(floorClip, 1, _local1);
_local2 = levelObjects.length;
while (_local2--) {
if (levelObjects[_local2].hitClip.type == "obstacle"){
TweenMax.to(levelObjects[_local2].baseClip, 1, _local1);
};
};
}
private function endStageGlow():void{
var _local1:Object;
var _local2:int;
if (stageGlow == null){
return;
};
adjustObstacleSpeed(1);
hideBonusHUD();
TweenMax.killTweensOf(stageGlow);
stageGlow.alpha = 0;
if (!levelEnded){
dispatchEvent(new Event("onTorchComplete"));
};
_local1 = {colorMatrixFilter:{contrast:1, saturation:1}};
TweenMax.to(floorClip, 1, _local1);
_local2 = levelObjects.length;
while (_local2--) {
if (levelObjects[_local2].hitClip.type == "obstacle"){
TweenMax.to(levelObjects[_local2].baseClip, 0, _local1);
};
};
}
private function removeBonusTitle():void{
bonusTitle.parent.removeChild(bonusTitle);
bonusTitle = null;
}
private function onStageEnterFrame(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (((((!(mouseActive)) || (mouseChar.dead))) || (!(mouseChar.active)))){
return;
};
if (_mouseDelay > 1){
_mouseDelay = 1;
} else {
if (_mouseDelay < 0.01){
_mouseDelay = 0.01;
};
};
if ((f % 3) == 0){
checkCollisions();
};
f++;
_local2 = (mouseChar.x + ((this.mouseX - mouseChar.x) * _mouseDelay));
_local3 = (mouseChar.y + ((this.mouseY - mouseChar.y) * _mouseDelay));
if (_local2 < 20){
_local2 = 20;
} else {
if (_local2 > 616){
_local2 = 616;
};
};
if (_local3 < 20){
_local3 = 20;
} else {
if (_local3 > 405){
_local3 = 405;
};
};
mouseChar.x = _local2;
mouseChar.y = _local3;
if (torchLight != null){
torchLight.x = mouseChar.x;
torchLight.y = mouseChar.y;
torchLight.rotation = mouseChar.rotation;
};
}
private function onGameTimerUpdate(_arg1:Event=null):void{
var _local2:int;
var _local3:int;
var _local4:String;
if (gameSecs < 0){
gameSecs = 0;
if (isBonusLevel()){
endLevel(false);
};
};
_local2 = Math.floor((gameSecs / 60));
_local3 = (gameSecs % 60);
_local4 = ((Util.zeroPad(_local2, 2) + ":") + Util.zeroPad(_local3, 2));
gameHUD.time = _local4;
if (((isBonusLevel()) && (!((levelNo == 14))))){
gameSecs = (gameSecs - 0.09);
updateCountdown(_local3);
} else {
gameSecs = (gameSecs + 0.09);
};
}
private function gameTimestamp():int{
return ((gameTimer.currentCount * gameTimer.delay));
}
private function switchSquirtsFoam():void{
var _local1:MovieClip;
audio.playEffect("sound_squirt");
_local1 = levelClip.obstacle_suncream;
TweenLite.to(_local1, 0.5, {scaleX:1, scaleY:1, ease:Strong.easeOut, overwrite:0});
}
private function collectItem(_arg1:MovieClip):void{
var _local2:int;
if (!_arg1.collected){
trace("collected", _arg1.name);
if (_arg1.name != "item_torch"){
collectDone++;
};
_arg1.collected = true;
_local2 = (500 + collectBonusInc);
if ((((_arg1.name == "item_cracker")) || ((_arg1.name == "item_crackers")))){
audio.playEffect("sound_eat1");
} else {
if (_arg1.name == "item_cheese"){
audio.playEffect("sound_eat1");
} else {
if (_arg1.name == "item_bigcheese"){
audio.playEffect("sound_eat1");
_local2 = (_local2 * 10);
} else {
if (_arg1.name == "item_torch"){
_local2 = 0;
if (isBonusLevel()){
expandTorch();
showBonusToolTip();
audio.playEffect("sound_torchlight");
} else {
audio.playEffect("sound_bluetrack");
adjustObstacleSpeed(0.5);
showCountdown();
powerUpSecs = 10;
updateCountdown(powerUpSecs);
countdownClip.alpha = 0.5;
startPowerUpTimer();
};
};
};
};
};
score = (score + _local2);
updateHUDScore();
if (collectTimerActive){
collectBonusInc = (collectBonusInc + 100);
};
if (_local2 > 0){
startCollectTimer();
showCollectScore(_arg1, _local2.toString());
} else {
showCollectScore(_arg1, "power up");
};
TweenLite.to(_arg1, 0.25, {scaleX:0, scaleY:0, alpha:0, ease:Back.easeIn, onComplete:removeItem, onCompleteParams:[_arg1]});
if (((((isBonusLevel()) && (!((levelNo == 14))))) && ((collectDone >= collectToDo)))){
TweenLite.delayedCall(0.5, endLevel, [true]);
};
};
}
private function stopCollectTimer():void{
if (collectTimer != null){
collectTimerActive = false;
collectTimer.removeEventListener("timer", onCollectTimerUpdate);
collectTimer.stop();
collectTimer = null;
};
}
private function endLevel(_arg1:Boolean=false):void{
var _local2:int;
if (levelEnded){
return;
};
Mouse.show();
levelEnded = true;
levelSuccess = _arg1;
mouseChar.active = false;
removeDarkness();
endStageGlow();
stopBehaviours();
awardCompletionPoints();
_local2 = gameTimestamp();
stopGameTimer();
stopPowerUpTimer();
outro = new level_outro();
audio.stopEffects();
if (_arg1){
if (((isBonusLevel()) && (!((levelNo == 14))))){
outro.mc_message.gotoAndStop("bonuscomplete");
} else {
outro.mc_message.gotoAndStop("complete");
};
TweenLite.delayedCall(0.25, audio.playEffect, ["sound_finish"]);
} else {
trace(_local2, (bonusLevelSecs * 1000));
if (((((isBonusLevel()) && (!((levelNo == 14))))) && ((_local2 >= (bonusLevelSecs * 1000))))){
outro.mc_message.gotoAndStop("outoftime");
} else {
outro.mc_message.gotoAndStop("oops");
};
audio.playEffect("sound_die");
};
if (isBonusLevel()){
if (PlayerStats.reactions < 0){
PlayerStats.reactions = 0;
};
PlayerStats.reactions = (PlayerStats.reactions + collectDone);
};
outro.x = 303;
outro.y = 202;
outro.alpha = 0;
outro.mc_message.scaleX = (outro.mc_message.scaleY = 0);
outro.scaleX = (outro.scaleY = 0);
outro.addEventListener(MouseEvent.CLICK, onOutroClicked, false, 0, true);
addChild(outro);
outro.buttonMode = true;
TweenLite.to(outro, 0.4, {alpha:1, scaleX:1, scaleY:1, rotation:0, ease:Back.easeOut});
TweenLite.to(outro.mc_message, 0.6, {scaleX:1, scaleY:1, rotation:0, ease:Back.easeOut});
if (isBonusLevel()){
if (levelNo != 14){
levelSuccess = true;
};
if (PlayerStats.speed < 0){
PlayerStats.speed = 0;
};
PlayerStats.speed = (PlayerStats.speed + _local2);
};
dispatchEvent(new Event("onLevelComplete"));
TweenLite.delayedCall(2, endGame, [levelSuccess]);
}
private function endGame(_arg1:Boolean):void{
if (gameEnded){
return;
};
gameEnded = true;
mouseChar.parent.removeChild(mouseChar);
audio.stopEffects();
dispatchEvent(new EventWithParams("onComplete", {success:_arg1}));
}
private function switchConvertsLevel():void{
if (levelConverted){
return;
};
levelConverted = true;
gameSecs = Math.round((gameTimestamp() / 1000));
TweenLite.to(overlay, 0.5, {alpha:0, onComplete:removeDarkness});
TweenLite.to(underlay, 0.5, {alpha:0});
TweenLite.to(finishArea.baseClip, 0.5, {alpha:1});
dispatchEvent(new Event("onConverted"));
}
private function removeDarkness():void{
if (overlay != null){
overlay.parent.removeChild(overlay);
underlay.parent.removeChild(underlay);
overlay = null;
underlay = null;
};
}
private function isBonusLevel():Boolean{
if (levelConverted){
return (false);
};
return ((levelType == LevelInfo.LEVEL_BONUS));
}
private function expandTorch():void{
var _local1:Number;
if (torchLight != null){
_local1 = (torchLight.scaleX * 1.8);
TweenLite.to(torchLight, 0.5, {scaleX:_local1, scaleY:_local1, ease:Back.easeInOut});
};
}
private function switchMovesHand():void{
var _local1:MovieClip;
if (cupMoved){
return;
};
cupMoved = true;
_local1 = levelClip.obstacle_hand;
_local1.startPos = [_local1.x, _local1.y];
TweenLite.to(_local1, 0.5, {delay:0.5, scaleX:1.1, scaleY:1.1, x:(_local1.x + 50), y:(_local1.y - 50), ease:Strong.easeOut, overwrite:0, onComplete:switchHand2, onCompleteParams:[_local1]});
}
private function removeBonusToolTip():void{
bonusToolTip.parent.removeChild(bonusToolTip);
}
private function updateCountdown(_arg1:int):void{
var _local2:TextFormat;
if (countdownClip != null){
countdownClip.text_count.text = _arg1.toString();
_local2 = new TextFormat();
_local2.letterSpacing = 10;
countdownClip.text_count.setTextFormat(_local2);
};
}
private function switchSwatter2(_arg1:MovieClip):void{
levelClip.obstacle_fly_2.stopBehaviour();
levelClip.obstacle_fly_2.mc_inner.gotoAndStop(1);
levelClip.obstacle_fly_2.mc_inner.filters = [];
audio.playEffect("sound_swatter");
TweenLite.to(_arg1, 0.3, {scaleX:1, scaleY:1, x:(_arg1.x + 50), y:(_arg1.y + 80), ease:Bounce.easeOut, onComplete:switchSwatter3, onCompleteParams:[_arg1]});
}
private function onAddedToStage(_arg1:Event):void{
initLevel();
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onStageKeyDown, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, onStageKeyUp, false, 0, true);
stage.addEventListener(Event.ENTER_FRAME, onStageEnterFrame, false, 0, true);
stage.addEventListener(Event.MOUSE_LEAVE, onMouseLeave, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove, false, 0, true);
}
private function switchSwatter3(_arg1:MovieClip):void{
TweenLite.to(_arg1, 0.5, {delay:0.5, x:_arg1.startPos[0], y:_arg1.startPos[1]});
}
private function adjustObstacleSpeed(_arg1:Number):void{
var _local2:int;
if (((!(levelEnded)) && (!(isBonusLevel())))){
dispatchEvent(new Event("onTorchStart"));
};
_local2 = levelObjects.length;
while (_local2--) {
if (levelObjects[_local2].hitClip.type == "obstacle"){
levelObjects[_local2].speedDecay = _arg1;
};
};
if (finishArea != null){
finishArea.speedDecay = _arg1;
};
if (_arg1 < 1){
showStageGlow();
};
}
private function showCountdown():void{
countdownClip = new countdown();
countdownClip.x = (floorClip.width * 0.5);
countdownClip.y = (floorClip.height * 0.5);
trace(countdownClip.y);
addChild(countdownClip);
}
private function revealLevel():void{
var _local1:int;
var _local2:MovieClip;
audio.playEffect("sound_start");
if ((((levelNo == 12)) || ((levelNo == 13)))){
TweenLite.delayedCall(0.5, audio.playEffect, ["sound_fly", 9999]);
};
_local1 = levelObjects.length;
while (_local1--) {
_local2 = levelObjects[_local1];
_local2.startBehaviour();
_local2.reveal();
};
if (finishArea != null){
finishArea.startBehaviour();
if (levelNo != 14){
TweenLite.to(finishArea.baseClip, 0.5, {alpha:1});
};
};
if (((isBonusLevel()) && (!((levelNo == 14))))){
showCountdown();
countdownClip.alpha = 0.11;
updateCountdown(bonusLevelSecs);
};
}
private function hideBonusHUD():void{
TweenLite.to(bonusHUD, 0.5, {alpha:0});
TweenLite.to(gameHUD, 0.5, {alpha:1});
}
private function startCollectTimer():void{
if (collectTimer != null){
stopCollectTimer();
};
collectTimerActive = true;
collectTimer = new Timer(1000);
collectTimer.addEventListener("timer", onCollectTimerUpdate, false, 0, true);
collectTimer.start();
}
private function warnStageGlow():void{
var _local1:Object;
var _local2:int;
stageGlow.alpha = 0.5;
TweenMax.to(stageGlow, 0.5, {alpha:0, repeat:10, yoyo:1});
_local1 = {repeat:10, yoyo:1, colorMatrixFilter:{contrast:1, saturation:1}};
TweenMax.to(floorClip, 1, _local1);
_local2 = levelObjects.length;
while (_local2--) {
if (levelObjects[_local2].hitClip.type == "obstacle"){
TweenMax.to(levelObjects[_local2].baseClip, 0.5, _local1);
};
};
}
private function initHUD():void{
gameHUD = new GameHUD(isBonusLevel());
gameHUD.levelName = LevelInfo.getTitle(levelNo).toLowerCase();
gameHUD.levelNo = (levelNo + 1);
gameHUD.levelMax = LevelInfo.totalLevels;
gameHUD.targetScore = (score = PlayerStats.score);
gameHUD.hiscore = PlayerStats.hiscore;
bonusHUD = new game_hud_bluetrack();
bonusHUD.alpha = 0;
this.parent.parent.parent.addChild(gameHUD);
this.parent.parent.parent.addChild(bonusHUD);
}
private function removeItem(_arg1:MovieClip):void{
var clip = _arg1;
TweenLite.delayedCall(0.5, function (){
clip.parent.removeChild(clip);
});
}
private function removeSelectScore(_arg1:MovieClip):void{
_arg1.parent.removeChild(_arg1);
}
private function killMouseChar():void{
if (!mouseChar.dead){
Mouse.show();
mouseChar.dead = true;
endLevel(false);
};
}
private function stopPowerUpTimer():void{
if (powerUpTimer != null){
powerUpTimer.removeEventListener("timer", onPowerUpTimerUpdate);
powerUpTimer.stop();
powerUpTimer = null;
};
}
private function updateHUDScore():void{
gameHUD.score = (PlayerStats.score = score);
gameHUD.hiscore = PlayerStats.hiscore;
}
}
}//package bluetrack
Section 3
//GameHUD (bluetrack.GameHUD)
package bluetrack {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class GameHUD extends MovieClip {
private var scoreClip:StyledText;
private var levelNameClip:StyledText;
private var hiscoreClip:StyledText;
private var _levelNo:int;// = 0
private var _score:int;// = 0
private var _levelMax:int;// = 0
private var _time:String;// = ""
private var _levelName:String;// = ""
private var timeClip:StyledText;
private var baseClip:MovieClip;
private var _targetScore:int;// = 0
private var scoreTimer:Timer;
private var levelCountClip:StyledText;
private var _hiscore:int;// = 0
public function GameHUD(_arg1:Boolean=false):void{
_score = 0;
_targetScore = 0;
_time = "";
_hiscore = 0;
_levelNo = 0;
_levelMax = 0;
_levelName = "";
super();
if (_arg1){
baseClip = new game_hud_bonus();
} else {
baseClip = new game_hud();
};
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage, false, 0, true);
addChild(baseClip);
}
private function onRemovedFromStage(_arg1:Event):void{
stopScoreTimer();
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
public function set targetScore(_arg1:int):void{
_targetScore = (_score = _arg1);
baseClip.text_score.text = Util.zeroPad(_score, 6);
}
public function set score(_arg1:int):void{
_targetScore = _arg1;
if (_score < _targetScore){
startScoreTimer();
};
}
public function set hiscore(_arg1:int):void{
_hiscore = _arg1;
baseClip.text_hiscore.text = Util.zeroPad(_hiscore, 6);
}
public function set levelName(_arg1:String):void{
_levelName = _arg1;
baseClip.text_levelname.htmlText = _levelName;
}
private function stopScoreTimer():void{
if (scoreTimer != null){
scoreTimer.removeEventListener("timer", onScoreTimerUpdate);
scoreTimer.stop();
scoreTimer = null;
};
}
public function set levelMax(_arg1:int):void{
_levelMax = _arg1;
baseClip.text_levelnumber.text = ((_levelNo + " / ") + _levelMax);
}
private function onScoreTimerUpdate(_arg1:Event):void{
if (_score < _targetScore){
_score = (_score + 153);
} else {
_score = _targetScore;
stopScoreTimer();
};
baseClip.text_score.text = Util.zeroPad(_score, 6);
}
public function set time(_arg1:String):void{
_time = _arg1;
baseClip.text_time.text = _time;
}
public function set levelNo(_arg1:int):void{
_levelNo = _arg1;
baseClip.text_levelnumber.text = ((_levelNo + " / ") + _levelMax);
}
private function startScoreTimer():void{
scoreTimer = new Timer(40);
scoreTimer.addEventListener("timer", onScoreTimerUpdate, false, 0, true);
scoreTimer.start();
}
}
}//package bluetrack
Section 4
//Goal (bluetrack.Goal)
package bluetrack {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import com.greensock.easing.*;
public class Goal extends MovieClip {
private var _baseClip:MovieClip;
private var _behaviour:String;
private var _speedDecay:Number;// = 1
private var tween:TweenMax;
public function Goal(_arg1:MovieClip):void{
var _local2:DisplayObjectContainer;
_speedDecay = 1;
super();
this.x = _arg1.x;
this.y = _arg1.y;
_local2 = _arg1.parent;
_baseClip = _arg1;
_local2.addChildAt(_baseClip, _local2.getChildIndex(_baseClip));
onAddedToStage();
}
private function onRemovedFromStage(_arg1:Event):void{
if (_baseClip.name == "goal_start"){
deactivateStartGoal();
};
}
public function set speedDecay(_arg1:Number):void{
_speedDecay = _arg1;
if (tween != null){
tween.timeScale = _arg1;
};
}
private function onStartGoalOver(_arg1:MouseEvent):void{
Util.highlightClip(_baseClip, true);
}
public function startBehaviour():void{
if (_behaviour != null){
var _local1 = this;
_local1[_behaviour]();
};
}
public function get hitClip():MovieClip{
return (_baseClip.mc_hit);
}
private function deactivateStartGoal():void{
_baseClip.buttonMode = false;
_baseClip.removeEventListener(MouseEvent.CLICK, onStartGoalClicked);
_baseClip.removeEventListener(MouseEvent.MOUSE_OVER, onStartGoalOver);
_baseClip.removeEventListener(MouseEvent.MOUSE_OUT, onStartGoalOut);
}
private function jeansExit():void{
tween = TweenMax.to(_baseClip, 0.5, {repeat:-1, yoyo:true, x:(_baseClip.x + 130), ease:Strong.easeInOut});
tween.timeScale = _speedDecay;
}
public function set behaviour(_arg1:String):void{
_behaviour = _arg1;
}
private function onAddedToStage(_arg1:Event=null):void{
if (_baseClip.name == "goal_start"){
activateStartGoal();
};
}
public function get baseClip():MovieClip{
return (_baseClip);
}
private function onStartGoalClicked(_arg1:MouseEvent):void{
dispatchEvent(new Event("onClick"));
deactivateStartGoal();
}
public function stopBehaviour():void{
TweenMax.killTweensOf(_baseClip);
}
private function activateStartGoal():void{
_baseClip.buttonMode = true;
_baseClip.addEventListener(MouseEvent.CLICK, onStartGoalClicked, false, 0, true);
_baseClip.addEventListener(MouseEvent.MOUSE_OVER, onStartGoalOver, false, 0, true);
_baseClip.addEventListener(MouseEvent.MOUSE_OUT, onStartGoalOut, false, 0, true);
}
private function onStartGoalOut(_arg1:MouseEvent):void{
Util.highlightClip(_baseClip, false);
}
}
}//package bluetrack
Section 5
//LevelInfo (bluetrack.LevelInfo)
package bluetrack {
public class LevelInfo {
public static const LEVEL_NORMAL:int = 0;
public static const LEVEL_BONUS:int = 1;
public static const LEVEL_SWITCH:int = 2;
public static var levels:Array = ["level_duvet", "level_shower", "level_garage_1", "level_lounge", "level_desk", "level_garage_2", "level_table", "level_gardenpath", "level_garage_3", "level_workshop", "level_jeans", "level_garage_4", "level_metal", "level_beach", "level_garage_5"];
public static var metaData:Object = {level_duvet:{title:"Easy Does It!", hint:"Easy peasy<font face=\"Myriad pro\">,</font> but watch out for <font color=\"#BA2222\">obstacles</font>.", uid:"d782292429d6a10eaa8dc942f577812aq", loaded:false, type:LEVEL_NORMAL, behaviours:{}}, level_shower:{title:"Bathtime!", hint:"Grab bonus <font color=\"#ab9b12\">cheese</font> for extra points.", uid:"5976b2f71ffada03e19e508e7c2296cdw", loaded:false, type:LEVEL_NORMAL, behaviours:{}}, level_garage_1:{title:"Midnight Snacking", hint:"Bonus level! 15 seconds to grab the <font color=\"#ab9b12\">grub</font>", uid:"b7ab4fc601ee53201493ffe49dd1ca8w2", loaded:false, type:LEVEL_BONUS, behaviours:{}}, level_lounge:{title:"Mind How You Go", hint:"Grab the <font color=\"#ab9b12\">cheese</font> for bonus points", uid:"bd8835f30579da861cf73871d616464ae", loaded:false, type:LEVEL_NORMAL, behaviours:{}}, level_desk:{title:"Working 9 <font face=\"Myriad Pro\">'</font>til 5", hint:"Beware of the <font color=\"#BA2222\">cat</font>!", uid:"9b1dc13a621ed9f4635f219cd40169c7y", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_paw:"deskCatPaw"}}, level_garage_2:{title:"Afraid Of The Dark", hint:"Bonus level! 15 seconds to grab the <font color=\"#ab9b12\">grub</font>", uid:"fba4d6ea81d81014046f246a0c58f946l", loaded:false, type:LEVEL_BONUS, behaviours:{obstacle_paw:"tableCatPaw"}}, level_table:{title:"Work For Your Lunch", hint:"Grab the <font color=\"#338093\">BlueTrack torch</font> for improved performance.", uid:"f1e97c912b43ddc1a5d4b143f99ea727r", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_fork:"tableForkRotate", obstacle_paw:"tableCatPaw"}}, level_gardenpath:{title:"Up The Garden Path", hint:"Danger <font face=\"Myriad pro\">-</font> moving <font color=\"#BA2222\">hazards</font>.", uid:"98b3c563797f10915f7f887aa390802fd", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_ladybird:"timeline", obstacle_paw:"gardenCatPaw", obstacle_broom:"gardenBroom"}}, level_garage_3:{title:"Night Terrors", hint:"Bonus level! 15 seconds to grab the <font color=\"#ab9b12\">grub</font>", uid:"653bf2342ec26f6860a6e9c7b90ff14bw", loaded:false, type:LEVEL_BONUS, behaviours:{obstacle_paw:"tableCatPaw"}}, level_workshop:{title:"A Spot Of Bother", hint:"Quick! Beat the <font color=\"#BA2222\">oil spill</font>!", uid:"8d2b17c9a37a572b3f5be2e77d515c07d", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_oil_1:"timeline", obstacle_oil_2:"timeline", obstacle_paw_1:"workshopCatPaw", obstacle_paw_2:"workshopCatPawLeft"}}, level_jeans:{title:"Legs Eleven", hint:"It<font face=\"Myriad Pro\">'</font>s a tight squeeze!", uid:"318ccb44802e89d0a99089544bd2a7a0s", loaded:false, type:LEVEL_NORMAL, behaviours:{goal_finish:"jeansExit"}}, level_garage_4:{title:"Help Yourself", hint:"Bonus level! 15 seconds to grab the <font color=\"#ab9b12\">grub</font>", uid:"d5771b0a2f55073b18c53437f96eddf7k", loaded:false, type:LEVEL_BONUS, behaviours:{}}, level_metal:{title:"Unlucky For Some", hint:"Flip the <font color=\"#BA2222\">switch</font> to get some space!", uid:"dfd625966c37b2d5ec7f6b124925b5afa", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_fly:"timeline"}, switches:{switch_1:["switchNoAction", "switchMovesHand"]}}, level_beach:{title:"Life<font face=\"Myriad Pro\">'</font>s A Beach", hint:"Which <font color=\"#BA2222\">switch</font> swats the <font color=\"#BA2222\">fly</font><font face=\"Myriad pro\">?</font>", uid:"500846e2b078989ea4c9ade1b1525c6dq", loaded:false, type:LEVEL_NORMAL, behaviours:{obstacle_fly_1:"timeline", obstacle_fly_2:"timeline"}, switches:{switch_1:["switchNoAction", "switchSquirtsFoam"], switch_2:["switchShowsSwitch", "switchHidesSwitch"], switch_3:["switchNoAction", "switchSpringsSwatter"]}}, level_garage_5:{title:"Escape To Victory", hint:"Nearly there - keep your wits about you!", uid:"71960bbe49d191e53a97eebd656dfa69a", loaded:false, type:LEVEL_BONUS, behaviours:{obstacle_paw_2:"garage5CatPaw", obstacle_paw_1:"tableCatPaw"}, switches:{switch_1:["switchNoAction", "switchConvertsLevel"]}}};
public static function getSwitchAction(_arg1:int, _arg2:String):Array{
return (metaData[levels[_arg1]].switches[_arg2]);
}
public static function setLoaded(_arg1:int, _arg2:Boolean):void{
metaData[levels[_arg1]].loaded = true;
}
public static function getType(_arg1:int):int{
return (metaData[levels[_arg1]].type);
}
public static function getTitle(_arg1:int):String{
return (metaData[levels[_arg1]].title);
}
public static function get totalLevels():int{
return (levels.length);
}
public static function getUID(_arg1:int):String{
return (metaData[levels[_arg1]].uid);
}
public static function getLoaded(_arg1:int):int{
return (metaData[levels[_arg1]].loaded);
}
public static function getHint(_arg1:int):String{
return (metaData[levels[_arg1]].hint);
}
public static function getBehaviour(_arg1:int, _arg2:String):String{
return (metaData[levels[_arg1]].behaviours[_arg2]);
}
}
}//package bluetrack
Section 6
//LevelObject (bluetrack.LevelObject)
package bluetrack {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.*;
import com.greensock.easing.*;
public class LevelObject extends MovieClip {
private var animFrame:int;// = 1
private var _baseClip:MovieClip;
private var _behaviour:String;
private var _hitClip:MovieClip;
private var _speedDecay:Number;// = 1
private var tween:TweenMax;
private var startPos:Object;
private var animTimeFrame:int;// = 30
private var animTimeFrameDefault:int;// = 30
private var animTimer:Timer;
private var animFrameMax:int;// = 1
public function LevelObject(_arg1:MovieClip, _arg2:String):void{
var _local3:DisplayObjectContainer;
animTimeFrameDefault = 30;
animTimeFrame = 30;
animFrame = 1;
animFrameMax = 1;
startPos = {x:0, y:0};
_speedDecay = 1;
super();
this.x = (startPos.x = _arg1.x);
this.y = (startPos.y = _arg1.y);
_local3 = _arg1.parent;
_baseClip = _arg1;
_baseClip.alpha = 0;
_hitClip = _baseClip;
if (_baseClip["mc_hit"] != null){
_hitClip = _baseClip["mc_hit"];
};
_hitClip.type = _arg2;
_hitClip.stopBehaviour = stopBehaviour;
_local3.addChildAt(_baseClip, _local3.getChildIndex(_baseClip));
}
private function workshopCatPawLeft3():void{
tween = TweenMax.to(_baseClip, 0.3, {delay:0.25, y:(_baseClip.y + 80), ease:Strong.easeIn, yoyo:true, onComplete:workshopCatPawLeft3a});
tween.timeScale = _speedDecay;
}
private function gardenLadybird():void{
tween = TweenMax.to(_baseClip, 4, {rotation:359, repeat:-1, ease:Linear.easeInOut});
tween.timeScale = _speedDecay;
}
private function workshopCatPaw2a():void{
tween = TweenMax.to(_baseClip, 0.3, {ease:Bounce.easeOut, scaleX:1, scaleY:1, onComplete:workshopCatPaw3});
tween.timeScale = _speedDecay;
}
private function gardenBroom():void{
_baseClip.scaleX = (_baseClip.scaleY = 1.1);
_baseClip.x = startPos.x;
_baseClip.y = (startPos.y - 190);
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1, scaleY:1, ease:Back.easeOut, x:(startPos.x - 150), y:startPos.y, onComplete:gardenBroom2});
tween.timeScale = _speedDecay;
}
private function workshopCatPawLeft():void{
tween = TweenMax.to(_baseClip, 3, {ease:Strong.easeOut, delay:1, y:(startPos.y - 110), onComplete:workshopCatPawLeft2});
tween.timeScale = _speedDecay;
}
private function metalFly():void{
var _local1:Number;
var _local2:Array;
_local1 = 80;
_local2 = [{y:(startPos.y - _local1), x:(startPos.x + _local1)}, {y:startPos.y, x:(startPos.x + (_local1 * 2))}, {y:(startPos.y + _local1), x:startPos.x}, {y:startPos.y, x:startPos.x}];
tween = TweenMax.to(_baseClip, 3, {repeat:-1, bezierThrough:_local2, orientToBezier:true, ease:Linear.easeInOut});
tween.timeScale = _speedDecay;
}
private function workshopCatPawLeft3a():void{
tween = TweenMax.to(_baseClip, 0.3, {ease:Bounce.easeOut, scaleX:1, scaleY:1, onComplete:workshopCatPawLeft});
tween.timeScale = _speedDecay;
}
private function beachFlyRight():void{
var _local1:Number;
var _local2:Array;
_local1 = 40;
_local2 = [{y:(startPos.y - _local1), x:(startPos.x + _local1)}, {y:startPos.y, x:(startPos.x + (_local1 * 2))}, {y:(startPos.y + _local1), x:startPos.x}, {y:startPos.y, x:startPos.x}];
tween = TweenMax.to(_baseClip, 2, {repeat:-1, bezierThrough:_local2, orientToBezier:true, ease:Linear.easeInOut});
tween.timeScale = _speedDecay;
}
private function workshopCatPawLeft2():void{
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1.2, scaleY:1.2, y:(startPos.y - 30), onComplete:workshopCatPawLeft3});
tween.timeScale = _speedDecay;
}
private function deskCatPaw2a():void{
tween = TweenMax.to(_baseClip, 0.3, {ease:Bounce.easeOut, scaleX:1, scaleY:1, onComplete:deskCatPaw3});
tween.timeScale = _speedDecay;
}
private function gardenBroom2():void{
tween = TweenMax.to(_baseClip, 1, {ease:Strong.easeOut, x:startPos.x, y:(startPos.y + 20), onComplete:gardenBroom});
tween.timeScale = _speedDecay;
}
private function tableForkRotate():void{
tween = TweenMax.to(_baseClip, 1.5, {rotation:-35, repeat:-1, yoyo:true, ease:Back.easeInOut});
}
private function randNum(_arg1:int, _arg2:int):int{
return (Math.floor((_arg1 + (Math.random() * ((_arg2 - _arg1) + 1)))));
}
private function timeline():void{
animFrameMax = _baseClip.totalFrames;
animFrame = 1;
startAnimTimer();
}
private function workshopCatPaw():void{
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1.2, scaleY:1.2, y:(startPos.y - 30), onComplete:workshopCatPaw2});
tween.timeScale = _speedDecay;
}
private function gardenCatPaw3():void{
tween = TweenMax.to(_baseClip, 3, {ease:Strong.easeOut, delay:1, x:startPos.x, y:(_baseClip.y - 90), onComplete:gardenCatPaw});
tween.timeScale = _speedDecay;
}
public function set speedDecay(_arg1:Number):void{
_speedDecay = _arg1;
if (_arg1 < 1){
animTimeFrame = (animTimeFrameDefault * 2);
if (_baseClip.name.indexOf("_oil_") > -1){
animTimeFrame = (animTimeFrame * 3);
};
} else {
animTimeFrame = animTimeFrameDefault;
};
restartAnimTimer();
if (tween != null){
tween.timeScale = _arg1;
};
}
private function deskCatPaw2():void{
tween = TweenMax.to(_baseClip, 0.3, {delay:0.25, y:(_baseClip.y + 110), ease:Strong.easeIn, yoyo:true, onComplete:deskCatPaw2a});
tween.timeScale = _speedDecay;
}
private function beachFlyLeft():void{
var _local1:Number;
var _local2:Array;
_local1 = 40;
_local2 = [{y:(startPos.y - _local1), x:(startPos.x + (_local1 * 3))}, {y:(startPos.y + (_local1 * 2)), x:(startPos.x + _local1)}, {y:(startPos.y - _local1), x:(startPos.x + (_local1 * 2))}, {y:startPos.y, x:startPos.x}];
tween = TweenMax.to(_baseClip, 3, {onComplete:beachFlyLeft, bezier:_local2, orientToBezier:true, ease:Linear.easeInOut});
tween.timeScale = _speedDecay;
}
private function deskCatPaw3():void{
tween = TweenMax.to(_baseClip, 3, {ease:Strong.easeOut, delay:1, y:startPos.y, onComplete:deskCatPaw});
tween.timeScale = _speedDecay;
}
private function tableCatPaw():void{
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1.2, scaleY:1.2, x:(startPos.x - 60), y:(startPos.y - 80), onComplete:tableCatPaw2});
tween.timeScale = _speedDecay;
}
public function startBehaviour():void{
if (_behaviour != null){
var _local1 = this;
_local1[_behaviour]();
};
}
private function restartAnimTimer():void{
stopAnimTimer();
startAnimTimer();
}
public function get hitClip():MovieClip{
return (_hitClip);
}
private function tableCatPaw3():void{
tween = TweenMax.to(_baseClip, 3, {ease:Strong.easeOut, delay:1, x:startPos.x, y:(_baseClip.y - 90), onComplete:tableCatPaw});
tween.timeScale = _speedDecay;
}
private function gardenCatPaw():void{
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1.2, scaleY:1.2, x:(startPos.x + 60), y:(startPos.y - 80), onComplete:gardenCatPaw2});
tween.timeScale = _speedDecay;
}
private function startAnimTimer():void{
animTimer = new Timer(animTimeFrame);
animTimer.addEventListener("timer", onAnimTimerUpdate, false, 0, true);
animTimer.start();
}
private function tableCatPaw2a():void{
tween = TweenMax.to(_baseClip, 0.3, {ease:Bounce.easeOut, scaleX:1, scaleY:1, onComplete:tableCatPaw3});
tween.timeScale = _speedDecay;
}
private function tableCatPaw2():void{
tween = TweenMax.to(_baseClip, 0.3, {delay:0.25, y:(_baseClip.y + 90), x:(_baseClip.x - 140), ease:Strong.easeIn, yoyo:true, onComplete:tableCatPaw2a});
tween.timeScale = _speedDecay;
}
private function gardenCatPaw2():void{
tween = TweenMax.to(_baseClip, 0.3, {delay:0.25, y:(_baseClip.y + 90), x:(_baseClip.x + 140), ease:Strong.easeIn, yoyo:true, onComplete:gardenCatPaw2a});
tween.timeScale = _speedDecay;
}
private function garage5CatPaw():void{
TweenLite.delayedCall(1, workshopCatPaw);
}
private function onAnimTimerUpdate(_arg1:Event):void{
animFrame++;
if (animFrame > animFrameMax){
if (_baseClip.name.indexOf("obstacle_oil_") == 0){
animFrame = animFrameMax;
} else {
animFrame = 1;
};
};
_baseClip.gotoAndStop(animFrame);
}
public function get baseClip():MovieClip{
return (_baseClip);
}
private function workshopCatPaw2():void{
tween = TweenMax.to(_baseClip, 0.3, {delay:0.25, y:(_baseClip.y + 150), ease:Strong.easeIn, yoyo:true, onComplete:workshopCatPaw2a});
tween.timeScale = _speedDecay;
}
private function gardenCatPaw2a():void{
tween = TweenMax.to(_baseClip, 0.3, {ease:Bounce.easeOut, scaleX:1, scaleY:1, onComplete:gardenCatPaw3});
tween.timeScale = _speedDecay;
}
public function reveal():void{
TweenLite.to(_baseClip, 0.5, {alpha:1, overwrite:0});
}
public function set behaviour(_arg1:String):void{
_behaviour = _arg1;
}
private function stopAnimTimer():void{
if (animTimer != null){
animTimer.removeEventListener("timer", onAnimTimerUpdate);
animTimer.stop();
animTimer = null;
};
}
private function workshopCatPaw3():void{
tween = TweenMax.to(_baseClip, 3, {ease:Strong.easeOut, delay:1, y:startPos.y, onComplete:workshopCatPaw});
tween.timeScale = _speedDecay;
}
private function workshopOil():void{
tween = TweenMax.to(_baseClip, 15, {ease:Strong.easeInOut, delay:1, scaleX:1, scaleY:1});
tween.timeScale = _speedDecay;
}
public function stopBehaviour():void{
TweenMax.killTweensOf(_baseClip);
stopAnimTimer();
}
private function deskCatPaw():void{
tween = TweenMax.to(_baseClip, 1, {delay:0.25, scaleX:1.2, scaleY:1.2, y:(startPos.y - 30), onComplete:deskCatPaw2});
tween.timeScale = _speedDecay;
}
}
}//package bluetrack
Section 7
//LoadProgressViewer (bluetrack.LoadProgressViewer)
package bluetrack {
import flash.display.*;
import com.greensock.*;
import com.greensock.easing.*;
import flash.text.*;
public class LoadProgressViewer extends MovieClip {
private var _progress:Number;
private var baseClip:MovieClip;
public function LoadProgressViewer(_arg1:String=""):void{
var _local2:MovieClip;
super();
baseClip = new screen_preloader();
if ((((_arg1 == "level")) || ((_arg1 == "bonus")))){
if (_arg1 == "bonus"){
_local2 = new preloader_bonuslevel();
_local2.y = 149;
} else {
_local2 = new preloader_level();
_local2.text_level.text = ((("level " + (PlayerStats.lastLevel + 1)) + " / ") + LevelInfo.totalLevels);
_local2.text_name.autoSize = TextFieldAutoSize.LEFT;
_local2.y = 205;
};
_local2.text_name.htmlText = LevelInfo.getTitle(PlayerStats.lastLevel).toLowerCase();
_local2.x = ((640 - _local2.width) * 0.5);
baseClip.addChild(_local2);
};
addChild(baseClip);
}
public function set progress(_arg1:Number):void{
var _local2:Number;
_progress = _arg1;
if (_progress > 1){
_progress = 1;
};
_local2 = (405 * _progress);
_local2 = (_local2 + 485);
TweenLite.to(baseClip.mc_inner.mc_mask.mc_inner, 0.5, {ease:Linear.easeInOut, y:_local2});
TweenLite.to(baseClip.mc_inner.mc_mask_2.mc_inner, 0.5, {ease:Linear.easeInOut, y:_local2});
}
}
}//package bluetrack
Section 8
//Main (bluetrack.Main)
package bluetrack {
import flash.events.*;
import flash.display.*;
import tamba.events.*;
import tamba.utils.*;
import com.memecounter.*;
import tamba.display.*;
import flash.system.*;
public class Main extends MovieClip {
private var preloader:Preloader;
private var params:Object;
private var progressViewer:LoadProgressViewer;
private var holder:MovieClip;
public static var textDebug:MovieClip;
public function Main():void{
params = stage.root.loaderInfo.parameters;
super();
addFrameScript(0, frame1);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.showDefaultContextMenu = false;
holder = new MovieClip();
holder.mask = new StageMask(640, 480);
try {
Tracker.init(937, root);
} catch(e:Error) {
};
GlobalObject.set("rootURL", "http://bluetrack.tamba.co.uk/");
startPreloader();
addChild(holder);
GlobalObject.set("volume", 1);
}
private function startPreloader():void{
progressViewer = new LoadProgressViewer();
holder.addChild(progressViewer);
preloader = new Preloader(this);
preloader.addEventListener("onPreloaderProgress", onPreloaderProgress);
preloader.addEventListener("onPreloaderComplete", onPreloaderComplete);
preloader.start();
}
function frame1(){
stop();
}
private function onPreloaderComplete(_arg1:EventWithParams=null):void{
preloader.removeEventListener("onPreloaderProgress", onPreloaderProgress);
preloader.removeEventListener("onPreloaderComplete", onPreloaderComplete);
preloader = null;
SettingsManager.addEventListener("onComplete", onSettingsLoaded, false, 0, true);
SettingsManager.loadSettings();
}
private function onPreloaderProgress(_arg1:EventWithParams):void{
progressViewer.progress = _arg1.params.progress;
}
private function onAssetsFrameEntered(_arg1:Event=null):void{
if (params["facebook"] == 1){
GlobalObject.set("facebook", 1);
} else {
GlobalObject.set("facebook", 0);
};
PlayerStats.getCookieStats();
stage.removeEventListener(Event.ENTER_FRAME, onAssetsFrameEntered);
holder.addChild(new ScreenManager(progressViewer));
}
private function onSettingsLoaded(_arg1:Event):void{
SettingsManager.removeEventListener("onComplete", onSettingsLoaded);
stage.addEventListener(Event.ENTER_FRAME, onAssetsFrameEntered);
gotoAndStop(3);
}
}
}//package bluetrack
Section 9
//MouseChar (bluetrack.MouseChar)
package bluetrack {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import flash.filters.*;
import com.greensock.easing.*;
public class MouseChar extends MovieClip {
private var _animation:String;// = "walk"
private var _active:Boolean;// = false
private var averageSpeed:Number;// = 0
private var lastPosM:Point;
private var _dead:Boolean;// = false
private var lastRot:Number;// = 0
private var scale:Number;// = 0.37
private var baseClip:MovieClip;
private var speedSample:Array;
private var lastPos:Point;
public function MouseChar():void{
var _local1:DropShadowFilter;
baseClip = new mouse_char();
lastPos = new Point(0, 0);
lastPosM = new Point(0, 0);
lastRot = 0;
scale = 0.37;
speedSample = [];
averageSpeed = 0;
_dead = false;
_active = false;
_animation = "walk";
super();
baseClip.mc_inner.gotoAndStop(1);
baseClip.scaleX = (baseClip.scaleY = scale);
_local1 = new DropShadowFilter();
_local1.color = 0;
_local1.alpha = 0.5;
_local1.blurX = 20;
_local1.blurY = 20;
_local1.angle = 45;
_local1.distance = 2;
baseClip.filters = [_local1];
baseClip.gotoAndStop("walk");
addChild(baseClip);
this.visible = false;
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage, false, 0, true);
}
public function get active():Boolean{
return (_active);
}
public function set animation(_arg1:String):void{
if (_animation != _arg1){
_animation = _arg1;
baseClip.gotoAndStop(_animation);
};
}
private function stopChildClips():void{
var _local1:int;
var _local2:*;
if (baseClip.mc_inner != null){
_local1 = baseClip.mc_inner.numChildren;
while (_local1--) {
_local2 = baseClip.mc_inner.getChildAt(_local1);
if ((_local2 is MovieClip)){
_local2.gotoAndStop(1);
};
};
};
}
public function activate():void{
this.visible = true;
stage.addEventListener(Event.ENTER_FRAME, onStageEnterFrame, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove, false, 0, true);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
activate();
} else {
deactivate();
};
}
private function onRemovedFromStage(_arg1:Event):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove);
deactivate();
}
public function get hitSpot():MovieClip{
return (baseClip.mc_hit);
}
public function get velocities():Object{
return ({x:(lastPos.x - stage.mouseX), y:(stage.mouseY - lastPos.y)});
}
private function onStageEnterFrame(_arg1:Event):void{
if (!_dead){
if (baseClip.mc_inner != null){
if ((((lastPosM.x == stage.mouseX)) && ((lastPosM.y == stage.mouseY)))){
baseClip.mc_inner.stop();
stopChildClips();
} else {
baseClip.mc_inner.play();
};
};
};
lastPosM.x = stage.mouseX;
lastPosM.y = stage.mouseY;
}
public function get currentSpeed():Number{
var _local1:*;
var _local2:*;
_local1 = (lastPos.x - stage.mouseX);
_local2 = (stage.mouseY - lastPos.y);
return ((Math.abs(_local1) + Math.abs(_local2)));
}
public function get dead():Boolean{
return (_dead);
}
public function deactivate():void{
this.visible = false;
stage.removeEventListener(Event.ENTER_FRAME, onStageEnterFrame);
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
override public function get rotation():Number{
return (baseClip.rotation);
}
private function onStageMouseMove(_arg1:MouseEvent):void{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (((((!(_dead)) && (_active))) && (!((baseClip == null))))){
averageSpeed = getAverageSpeed();
if (averageSpeed > 10){
animation = "run";
} else {
animation = "walk";
};
_local2 = velocities;
_local3 = _local2.x;
_local4 = _local2.y;
_local5 = ((Math.atan2(_local3, _local4) * 180) / Math.PI);
_local5 = (_local5 + 180);
if ((_local5 - baseClip.rotation) > 180){
_local5 = (_local5 - 360);
} else {
if ((baseClip.rotation - _local5) > 180){
_local5 = (_local5 + 360);
};
};
_local6 = Math.round(((baseClip.rotation - _local5) / 7));
_local7 = (baseClip.rotation - _local6);
_local8 = Math.abs((_local7 - lastRot));
if (currentSpeed < 3){
_local6 = (_local6 * 0.25);
};
baseClip.rotation = (baseClip.rotation - _local6);
lastPos.x = stage.mouseX;
lastPos.y = stage.mouseY;
lastRot = baseClip.rotation;
};
}
private function getAverageSpeed():Number{
var _local1:int;
var _local2:Number;
var _local3:int;
speedSample.push(currentSpeed);
if (speedSample.length > 10){
speedSample.shift();
};
_local1 = speedSample.length;
_local2 = 0;
_local3 = 0;
while (_local3 < _local1) {
_local2 = (_local2 + speedSample[_local3]);
_local3++;
};
return ((_local2 / _local1));
}
private function onAddedToStage(_arg1:Event):void{
lastPos.x = stage.mouseX;
lastPos.y = stage.mouseY;
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function set dead(_arg1:Boolean):void{
_dead = _arg1;
if (_dead){
animation = "dead";
};
}
private function mouseDeath():void{
TweenLite.to(baseClip, 0.4, {scaleX:scale, scaleY:scale, ease:Bounce.easeOut});
}
private function onRender(_arg1:Event):void{
stage.addEventListener(Event.ENTER_FRAME, onStageEnterFrame, false, 0, true);
}
}
}//package bluetrack
Section 10
//PlayerStats (bluetrack.PlayerStats)
package bluetrack {
import flash.net.*;
public class PlayerStats {
private static var _bestLevel:int = 0;
private static var sharedObject:SharedObject;
private static var _speed:int = -1;
private static var _score:int = 0;
private static var _lastLevel:int = 0;
private static var _reactions:int = -1;
private static var _hiscore:int = 0;
private static var _returningPlayer:Boolean = false;
public static function get bestLevel():int{
return (_bestLevel);
}
public static function set bestLevel(_arg1:int):void{
if (_arg1 >= LevelInfo.totalLevels){
_arg1 = (LevelInfo.totalLevels - 1);
};
_bestLevel = _arg1;
}
public static function get lastLevel():int{
return (_lastLevel);
}
public static function get score():int{
return (_score);
}
public static function set reactions(_arg1:int):void{
_reactions = _arg1;
}
public static function set speed(_arg1:int):void{
_speed = _arg1;
}
public static function setCookieStats():void{
sharedObject = SharedObject.getLocal("bluetrack");
sharedObject.data.progressID = LevelInfo.getUID(_bestLevel);
sharedObject.data.achieve = _hiscore;
trace("Setting: ", LevelInfo.getUID(_bestLevel), _hiscore);
sharedObject.flush();
}
public static function set lastLevel(_arg1:int):void{
_lastLevel = _arg1;
if (_lastLevel > bestLevel){
bestLevel = _lastLevel;
};
}
public static function get speed():int{
return (_speed);
}
public static function getCookieStats():void{
var _local1:String;
var _local2:int;
sharedObject = SharedObject.getLocal("bluetrack");
_local1 = sharedObject.data.progressID;
_local2 = sharedObject.data.achieve;
trace(_local1, _local2);
if (_local1 != null){
if (_local1.length > 0){
_bestLevel = cookieLevelNumber(_local1);
_returningPlayer = true;
trace("Best level:", _bestLevel);
};
};
if (_local2 > 0){
_returningPlayer = true;
_hiscore = _local2;
};
}
public static function set hiscore(_arg1:int):void{
_hiscore = _arg1;
}
public static function get reactions():int{
return (_reactions);
}
public static function clearCookieStats():void{
sharedObject.clear();
}
public static function get hiscore():int{
return (_hiscore);
}
public static function set score(_arg1:int):void{
_score = _arg1;
if (_score > _hiscore){
_hiscore = _score;
};
}
private static function cookieLevelNumber(_arg1:String):int{
var _local2:int;
var _local3:int;
var _local4:int;
_local2 = 0;
_local3 = LevelInfo.totalLevels;
_local4 = 0;
while (_local4 < _local3) {
if (LevelInfo.metaData[LevelInfo.levels[_local4]].uid == _arg1){
_local2 = _local4;
break;
};
_local4++;
};
return (_local2);
}
public static function get returningPlayer():Boolean{
return (_returningPlayer);
}
public static function resetGameStats():void{
_score = 0;
_speed = -1;
_reactions = -1;
}
}
}//package bluetrack
Section 11
//ScreenManager (bluetrack.ScreenManager)
package bluetrack {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.*;
import tamba.events.*;
import tamba.utils.*;
import com.greensock.easing.*;
import com.adobe.crypto.*;
import tamba.media.*;
import tamba.net.*;
import flash.external.*;
public class ScreenManager extends MovieClip {
private var verifyCode:String;// = "j8NmM83Bvvf9"
private var standAlone:Boolean;// = true
private var lastScreenName:String;
private var tween:TweenMax;
private var screen:MovieClip;
private var progressViewer:LoadProgressViewer;
private var lastScreen:MovieClip;
private var titleMusicPlaying:Boolean;// = false
private var introMusicPlaying:Boolean;// = false
private var screenName:String;
private var screenInfo:Object;
private var gameComplete:Boolean;// = false
private var voucherCode:String;
private var audio:Audio;
private var game:Game;
public function ScreenManager(_arg1:MovieClip=null):void{
standAlone = true;
voucherCode = SettingsManager.getText("offer_code");
verifyCode = "j8NmM83Bvvf9";
introMusicPlaying = false;
titleMusicPlaying = false;
gameComplete = false;
screenInfo = {screen_titlescreen:{init:"initTitleScreen"}, screen_titlescreen_standalone:{init:"initTitleScreen"}, screen_titlescreen_return:{init:"initTitleScreenReturning"}, screen_titlescreen_standalone_return:{init:"initTitleScreenReturning"}, screen_levelloader:{init:"initLevelLoader"}, screen_game:{init:"initGame"}, screen_gameover:{init:"initGameOver"}, screen_gameover_social:{init:"initGameOverSocial"}, screen_complete:{init:"initComplete"}, screen_complete_social:{init:"initCompleteSocial"}, screen_levelselect:{init:"initLevelSelect"}};
super();
registerCallbacks();
if (GlobalObject.get("facebook") == 1){
standAlone = false;
};
screen = _arg1;
audio = new Audio();
switchScreen("screen_titlescreen");
}
private function removeScreen():void{
try {
if (lastScreen != null){
if (lastScreen.parent != null){
lastScreen.parent.removeChild(lastScreen);
};
};
} catch(e:Error) {
trace(e);
};
}
private function onStartGameClicked(_arg1:MouseEvent=null):void{
PlayerStats.lastLevel = 0;
PlayerStats.resetGameStats();
switchScreen("screen_game");
}
private function onGameConverted(_arg1:Event):void{
audio.stopMusic();
audio.playMusic("music_game");
}
private function initGameOverSocial():void{
initGameOver();
Util.addButtonListener(screen.btn_updateleaderboard, onUpdateLeaderboardClicked);
}
private function onBuyBluetrackOut(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(1);
}
private function onLevelLoaderUpdate():void{
progressViewer.progress = tween.currentProgress;
}
private function externalClearCookie():void{
PlayerStats.clearCookieStats();
}
private function onRedditClicked(_arg1:MouseEvent):void{
GetURL.goto("http://www.reddit.com/submit?url=http%3A%2F%2Fwww.blueysmouserun.com", "_blank");
}
private function externalResetGame():void{
switchScreen("screen_titlescreen");
}
private function onAssetManagerProgress(_arg1:EventWithParams):void{
progressViewer.progress = _arg1.params.progress;
}
private function addScreen():void{
var _local1:MovieClip;
if (screen != null){
lastScreen = screen;
lastScreenName = lastScreen.name;
};
screen = new (getDefinitionByName(screenName));
_local1 = new expand_mask();
_local1.x = (656 * 0.5);
_local1.y = (495 * 0.5);
screen.mask = _local1;
screen.name = screenName;
addChild(_local1);
TweenLite.to(_local1, 0.5, {width:900, height:900, onComplete:removeScreen});
var _local2 = this;
_local2[screenInfo[screenName].init]();
addChild(screen);
}
private function initLevelSelect():void{
var _local1:Array;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:MovieClip;
_local1 = LevelInfo.levels;
_local2 = LevelInfo.totalLevels;
_local3 = 45;
_local4 = 100;
_local5 = _local3;
_local6 = _local4;
_local7 = 0;
_local8 = 0;
while (_local8 < _local2) {
_local9 = new levelselect_level();
_local9.x = _local5;
_local9.y = _local6;
_local9.i = _local8;
if (_local8 <= PlayerStats.bestLevel){
_local9.text_levelnumber.text = ("level " + (_local8 + 1));
_local9.text_levelname.htmlText = LevelInfo.getTitle(_local8);
_local9.mc_image.gotoAndStop(_local1[_local8]);
_local9.mc_image.visible = true;
_local9.mc_lock.visible = false;
Util.addButtonListener(_local9, onLevelBoxClicked, onLevelBoxOver, onLevelBoxOut);
} else {
_local9.text_levelnumber.text = "";
_local9.text_levelname.text = "";
_local9.mc_image.visible = false;
_local9.mc_lock.visible = true;
};
_local7++;
if (_local7 == 5){
_local5 = _local3;
_local6 = (_local6 + 110);
_local7 = 0;
} else {
_local5 = (_local5 + 110);
};
screen.addChild(_local9);
_local8++;
};
Util.addButtonListener(screen.btn_back, onTitleScreenClicked);
Util.addButtonListener(screen.btn_restart, onRestartGameClicked);
}
private function onGameStart(_arg1:Event):void{
screen.btn_sound.visible = false;
}
private function onGameTorchComplete(_arg1:Event):void{
audio.stopMusic();
audio.playMusic("music_game");
}
private function setSoundButtonState():void{
if (audio.musicVolume > 0){
screen.btn_sound.gotoAndStop("on");
} else {
screen.btn_sound.gotoAndStop("off");
};
}
private function onRestartGameClicked(_arg1:MouseEvent):void{
PlayerStats.lastLevel = 0;
PlayerStats.resetGameStats();
switchScreen("screen_titlescreen");
}
private function onLevelBoxClicked(_arg1:MouseEvent):void{
PlayerStats.lastLevel = _arg1.currentTarget.i;
switchScreen("screen_game");
}
private function initComplete():void{
resetVolume();
audio.stopMusic();
audio.cancelFadeMusic();
gameComplete = true;
if (!titleMusicPlaying){
audio.playMusic("music_title");
};
titleMusicPlaying = true;
screen.text_score.text = Util.zeroPad(PlayerStats.score, 6);
screen.text_hiscore.text = Util.zeroPad(PlayerStats.hiscore, 6);
Util.addButtonListener(screen.btn_chooselevel, onChooseLevelClicked);
Util.addButtonListener(screen.btn_restartgame, onRestartGameClicked);
PlayerStats.setCookieStats();
initCTA();
}
private function onFacebookClicked(_arg1:MouseEvent):void{
GetURL.goto("http://www.facebook.com/sharer.php?u=http://www.blueysmouserun.com", "_blank");
}
private function onLevelLoaderComplete():void{
TweenLite.delayedCall(1, switchScreen, ["screen_game"]);
}
private function onBuyBluetrackOver(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(2);
}
private function switchScreen(_arg1:String):void{
if (_arg1 == "screen_game"){
if (!introMusicPlaying){
audio.cancelFadeMusic();
audio.stopMusic();
resetVolume();
if (LevelInfo.getType(PlayerStats.lastLevel) != LevelInfo.LEVEL_BONUS){
audio.playMusic("music_game");
} else {
audio.playMusic("music_bonus");
};
introMusicPlaying = true;
};
} else {
if (_arg1 == "screen_titlescreen"){
PlayerStats.getCookieStats();
if (standAlone){
if (PlayerStats.returningPlayer){
_arg1 = "screen_titlescreen_standalone_return";
} else {
_arg1 = "screen_titlescreen_standalone";
};
} else {
if (PlayerStats.returningPlayer){
_arg1 = "screen_titlescreen_return";
} else {
_arg1 = "screen_titlescreen";
};
};
};
};
if ((((_arg1 == "screen_game")) && (!(AssetManager.checkLoaded(PlayerStats.lastLevel))))){
_arg1 = "screen_levelloader";
};
Util.clearButtonListeners();
screenName = _arg1;
addScreen();
}
private function onGameComplete(_arg1:EventWithParams):void{
var _local2:String;
var _local3:String;
var _local4:Boolean;
_local2 = "";
_local3 = "gameover";
_local4 = _arg1.params.success;
if (_local4){
PlayerStats.lastLevel++;
_local3 = "game";
if (PlayerStats.lastLevel >= LevelInfo.totalLevels){
PlayerStats.lastLevel = LevelInfo.totalLevels;
_local3 = "complete";
};
};
if (((!(standAlone)) && (!((_local3 == "game"))))){
_local2 = "_social";
};
switchScreen((("screen_" + _local3) + _local2));
}
private function initBookmarks():void{
var _local1:MovieClip;
if (screen.mc_bookmarks == null){
return;
};
_local1 = screen.mc_bookmarks;
Util.addButtonListener(_local1.btn_facebook, onFacebookClicked);
Util.addButtonListener(_local1.btn_twitter, onTwitterClicked);
Util.addButtonListener(_local1.btn_digg, onDiggClicked);
Util.addButtonListener(_local1.btn_reddit, onRedditClicked);
Util.addButtonListener(_local1.btn_stumbleupon, onStumbleUponClicked);
}
private function onLevelBoxOut(_arg1:MouseEvent):void{
var _local2:*;
_local2 = _arg1.currentTarget;
_local2.text_levelnumber.textColor = 39128;
TweenLite.to(_local2.mc_bg, 0.25, {alpha:0});
}
private function onLevelBoxOver(_arg1:MouseEvent):void{
var _local2:*;
_local2 = _arg1.currentTarget;
_local2.text_levelnumber.textColor = 0xF80000;
TweenLite.to(_local2.mc_bg, 0.25, {alpha:1});
}
private function initCTA():void{
var _local1:MovieClip;
_local1 = screen.mc_cta;
_local1.text_voucher.text = voucherCode;
Util.addButtonListener(_local1.btn_buybluetrack, onBuyBluetrackClicked, onBuyBluetrackOver, onBuyBluetrackOut);
}
private function onDiggClicked(_arg1:MouseEvent):void{
GetURL.goto("http://digg.com/submit?url=http://www.blueysmouserun.com/", "_blank");
}
private function onTitleScreenClicked(_arg1:MouseEvent):void{
switchScreen("screen_titlescreen");
}
private function onGameTorchStart(_arg1:Event):void{
audio.stopMusic();
audio.playMusic("music_bluetrack");
}
private function initGame():void{
var _local1:*;
titleMusicPlaying = false;
_local1 = new ui_frame();
_local1.mc_shadow.mouseEnabled = (_local1.mc_shadow.mouseChildren = false);
_local1.mc_glow.mouseEnabled = (_local1.mc_glow.mouseChildren = false);
_local1.mc_glow.visible = false;
game = new Game(PlayerStats.lastLevel);
game.addEventListener("onStart", onGameStart, false, 0, true);
game.addEventListener("onComplete", onGameComplete, false, 0, true);
game.addEventListener("onLevelComplete", onGameLevelComplete, false, 0, true);
game.addEventListener("onTorchStart", onGameTorchStart, false, 0, true);
game.addEventListener("onTorchComplete", onGameTorchComplete, false, 0, true);
game.addEventListener("onConverted", onGameConverted, false, 0, true);
_local1.mc_holder.addChild(game);
setSoundButtonState();
Util.addButtonListener(screen.btn_sound, onSoundClicked);
screen.addChildAt(_local1, 0);
}
private function initGameOver():void{
trace(((("Speed: " + PlayerStats.speed) + " Reactions: ") + PlayerStats.reactions));
resetVolume();
audio.stopMusic();
audio.cancelFadeMusic();
gameComplete = false;
if (!titleMusicPlaying){
audio.playMusic("music_title");
};
titleMusicPlaying = true;
screen.text_score.text = Util.zeroPad(PlayerStats.score, 6);
screen.text_hiscore.text = Util.zeroPad(PlayerStats.hiscore, 6);
Util.addButtonListener(screen.btn_replaylevel, onReplayLevelClicked);
Util.addButtonListener(screen.btn_restartgame, onRestartGameClicked);
PlayerStats.setCookieStats();
initCTA();
}
private function initCompleteSocial():void{
initComplete();
Util.addButtonListener(screen.btn_updateleaderboard, onUpdateLeaderboardClicked);
}
private function resetVolume():void{
audio.musicVolume = (audio.effectsVolume = GlobalObject.get("volume"));
}
private function externalSetAchievements(_arg1:int, _arg2:int, _arg3:String):void{
var _local4:String;
var _local5:String;
_local4 = ((((("salt=" + verifyCode) + "&score=") + _arg1) + "&level=") + _arg2);
_local5 = MD5.hash(_local4);
Main.textDebug.text_debug.text = ((("Your checksum: " + _arg3) + ", my checksum: ") + _local5);
if (_arg3 == _local5){
PlayerStats.hiscore = _arg1;
PlayerStats.bestLevel = _arg2;
PlayerStats.setCookieStats();
Main.textDebug.text_debug.text = (Main.textDebug.text_debug.text + " SUCCESS");
} else {
Main.textDebug.text_debug.text = (Main.textDebug.text_debug.text + " FAILURE");
};
}
private function initTitleScreenReturning():void{
initTitleScreen();
if (!standAlone){
screen.text_hiscore.text = Util.zeroPad(PlayerStats.hiscore, 6);
};
Util.addButtonListener(screen.btn_chooselevel, onChooseLevelClicked);
}
private function registerCallbacks():void{
try {
ExternalInterface.call("passFlashVars");
if (ExternalInterface.available){
ExternalInterface.addCallback("resetGame", externalResetGame);
ExternalInterface.addCallback("clearCookie", externalClearCookie);
ExternalInterface.addCallback("setAchievements", externalSetAchievements);
};
} catch(e:Error) {
};
}
private function onAssetManagerComplete(_arg1:Event):void{
onLevelLoaderComplete();
AssetManager.removeEventListener("onProgress", onAssetManagerProgress);
AssetManager.removeEventListener("onComplete", onAssetManagerComplete);
}
private function initLevelLoader():void{
var _local1:String;
_local1 = "level";
if (LevelInfo.getType(PlayerStats.lastLevel) == LevelInfo.LEVEL_BONUS){
_local1 = "bonus";
};
progressViewer = new LoadProgressViewer(_local1);
screen.addChild(progressViewer);
AssetManager.addEventListener("onProgress", onAssetManagerProgress, false, 0, true);
AssetManager.addEventListener("onComplete", onAssetManagerComplete, false, 0, true);
AssetManager.loadAssets(PlayerStats.lastLevel);
}
private function onUpdateLeaderboardClicked(_arg1:MouseEvent):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:String;
var _local7:String;
_local2 = PlayerStats.score;
_local3 = PlayerStats.bestLevel;
_local4 = PlayerStats.speed;
_local5 = PlayerStats.reactions;
_local6 = ((((((((("salt=" + verifyCode) + "&score=") + _local2) + "&level=") + _local3) + "&speed=") + _local4) + "&bonus=") + _local5);
_local7 = MD5.hash(_local6);
trace("complete:", gameComplete);
ExternalInterface.call("facebookLogin", "leaderBoard", _local7, _local2, _local3, _local4, _local5, gameComplete);
}
private function onSoundClicked(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = GlobalObject.get("volume");
if (_local2 > 0){
_local2 = 0;
GlobalObject.set("volume", _local2);
audio.effectsVolume = (audio.musicVolume = _local2);
screen.btn_sound.gotoAndStop("off");
} else {
_local2 = 1;
GlobalObject.set("volume", _local2);
audio.effectsVolume = (audio.musicVolume = _local2);
screen.btn_sound.gotoAndStop("on");
};
}
private function initTitleScreen():void{
setSoundButtonState();
resetVolume();
if (!titleMusicPlaying){
audio.playMusic("music_title");
};
titleMusicPlaying = true;
Util.addButtonListener(screen.btn_start, onStartGameClicked);
Util.addButtonListener(screen.btn_sound, onSoundClicked);
initBookmarks();
}
private function onReplayLevelClicked(_arg1:MouseEvent):void{
PlayerStats.resetGameStats();
switchScreen("screen_game");
}
private function onGameLevelComplete(_arg1:Event):void{
introMusicPlaying = false;
audio.fadeMusic(GlobalObject.get("volume"), 0);
}
private function onStumbleUponClicked(_arg1:MouseEvent):void{
GetURL.goto("http://www.stumbleupon.com/submit?url=http://www.blueysmouserun.com/&title=Blueys%20Mouse%20Run", "_blank");
}
private function onTwitterClicked(_arg1:MouseEvent):void{
GetURL.goto("http://twitter.com/home?status=Try%20your%20hand%20at%20a%20game%20of%20cat%20and%20mouse+http://www.blueysmouserun.com/", "_blank");
}
private function onChooseLevelClicked(_arg1:MouseEvent):void{
PlayerStats.resetGameStats();
switchScreen("screen_levelselect");
}
private function onBuyBluetrackClicked(_arg1:MouseEvent):void{
GetURL.goto("http://www.microsoftstore.co.uk/blueysmouserun", "_blank");
}
}
}//package bluetrack
Section 12
//SettingsManager (bluetrack.SettingsManager)
package bluetrack {
import flash.events.*;
import tamba.utils.*;
import flash.net.*;
import flash.xml.*;
public class SettingsManager {
private static var dispatcher:EventDispatcher;
private static var urlLoader:URLLoader;
private static var xmlFile:String = (GlobalObject.get("rootURL") + "settings.xml?334");
public static var textCache:Object = {};
public static function getText(_arg1:String):String{
var _local2:String;
_local2 = textCache[_arg1];
if (_local2 == null){
_local2 = "???????";
};
return (_local2);
}
public static function loadSettings():void{
var _local1:URLRequest;
_local1 = new URLRequest(xmlFile);
urlLoader = new URLLoader(_local1);
urlLoader.addEventListener("complete", onXmlLoaded, false, 0, true);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (dispatcher == null){
dispatcher = new EventDispatcher();
};
dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
private static function onXmlLoaded(_arg1:Event):void{
var _local2:XMLDocument;
var _local3:XML;
var _local4:int;
var _local5:int;
var _local6:String;
var _local7:String;
_local2 = new XMLDocument();
_local2.ignoreWhite = true;
_local3 = new XML(urlLoader.data);
_local2.parseXML(_local3.toXMLString());
_local4 = _local3.text.length();
_local5 = 0;
while (_local5 < _local4) {
_local6 = _local3.text[_local5].@field;
_local7 = _local3.text[_local5].@value;
textCache[_local6] = _local7;
trace(_local6, _local7);
_local5++;
};
dispatcher.dispatchEvent(new Event("onComplete"));
}
}
}//package bluetrack
Section 13
//StyledText (bluetrack.StyledText)
package bluetrack {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class StyledText extends MovieClip {
public var textClip:MovieClip;
private var bitmap:Bitmap;
public var ex:Number;// = 0
public var ey:Number;// = 0
private var baseClip:MovieClip;
public function StyledText(_arg1:MovieClip):void{
var _local2:GlowFilter;
var _local3:DropShadowFilter;
ex = 0;
ey = 0;
super();
this.x = _arg1.x;
this.y = _arg1.y;
_arg1.x = (_arg1.y = 0);
textClip = _arg1;
baseClip = new granite_base();
_local2 = new GlowFilter(0xFFFFFF, 1, 1.5, 1.5, 3.5, 3);
_local3 = new DropShadowFilter(2, 90, 0, 1, 7, 7, 0.65);
this.filters = [_local2, _local3];
_arg1.parent.addChild(this);
baseClip.addChild(_arg1);
updateBitmap();
addChild(baseClip);
}
private function updateBitmap():void{
var _local1:Matrix;
var _local2:BitmapData;
if (bitmap != null){
bitmap.bitmapData.dispose();
baseClip.removeChild(bitmap);
bitmap = null;
};
baseClip.mc_texture.mask = null;
_local1 = new Matrix();
_local1.scale(textClip.scaleX, textClip.scaleY);
_local2 = new BitmapData(textClip.width, textClip.height, true, 0xFF0000);
_local2.draw(textClip, _local1);
bitmap = new Bitmap(_local2, "never", true);
baseClip.addChildAt(bitmap, 0);
baseClip.mc_texture.mask = textClip;
}
public function updateText(_arg1:String, _arg2:String):void{
var _local3:*;
_local3 = textClip[_arg1];
if (_local3 != null){
_local3.htmlText = _arg2;
updateBitmap();
};
}
}
}//package bluetrack
Section 14
//Switch (bluetrack.Switch)
package bluetrack {
import flash.events.*;
import flash.display.*;
public class Switch extends LevelObject {
private var _mouseChar:MovieClip;
private var _baseClip:MovieClip;
private var _active:Boolean;// = true
private var _state:int;// = 0
private var _actions:Array;
private var _disabled:Boolean;// = false
public function Switch(_arg1:MovieClip, _arg2:String):void{
_disabled = false;
_state = 0;
_active = true;
_actions = [];
_baseClip = _arg1;
_baseClip.flipSwitch = flipSwitch;
super(_arg1, _arg2);
}
public function set actions(_arg1:Array):void{
_actions = _arg1;
}
public function flipSwitch():Boolean{
var _local1:Function;
if (((!(_active)) || (_disabled))){
return (false);
};
if (_state == 0){
_state = 1;
} else {
_state = 0;
};
_active = false;
_baseClip.gotoAndStop((_state + 1));
_local1 = _actions[_state];
if (_local1 != null){
var _local2 = _actions;
_local2[_state]();
};
this.addEventListener(Event.ENTER_FRAME, onSwitchEnterFrame, false, 0, true);
return (true);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
}
public function set mouseChar(_arg1:MovieClip):void{
_mouseChar = _arg1;
}
private function onSwitchEnterFrame(_arg1:Event):void{
if (!_baseClip.hitTestObject(_mouseChar)){
_active = true;
this.removeEventListener(Event.ENTER_FRAME, onSwitchEnterFrame);
};
}
public function set disabled(_arg1:Boolean):void{
_disabled = _arg1;
}
}
}//package bluetrack
Section 15
//Util (bluetrack.Util)
package bluetrack {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Util {
public static var buttonListeners:Array = [];
public static function clearButtonListeners():void{
var _local1:String;
for (_local1 in buttonListeners) {
buttonListeners[_local1][0].removeEventListener(MouseEvent[buttonListeners[_local1][1]], buttonListeners[_local1][2]);
buttonListeners[_local1][0].buttonMode = false;
};
buttonListeners = [];
}
public static function highlightClip(_arg1:MovieClip, _arg2:Boolean):void{
var _local3:ColorTransform;
var _local4:int;
_local3 = new ColorTransform();
_local4 = 20;
if (!_arg2){
_local4 = 0;
};
_local3.redOffset = _local4;
_local3.greenOffset = _local4;
_local3.blueOffset = _local4;
_arg1.transform.colorTransform = _local3;
}
public static function validateEmail(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
return (_local2.test(_arg1));
}
public static function addButtonListener(_arg1:Object, _arg2:Function=null, _arg3:Function=null, _arg4:Function=null, _arg5:Boolean=false):void{
if (_arg2 == null){
_arg2 = onDefaultClick;
};
if (_arg3 == null){
_arg3 = onDefaultMouseOver;
};
if (_arg4 == null){
_arg4 = onDefaultMouseOut;
};
_arg1.addEventListener(MouseEvent.CLICK, _arg2, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OVER, _arg3, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OUT, _arg4, false, 0, true);
if ((_arg1 is MovieClip)){
_arg1.mouseChildren = false;
_arg1.buttonMode = true;
_arg1.useHandCursor = true;
};
if (!_arg5){
buttonListeners.push([_arg1, "CLICK", _arg2]);
buttonListeners.push([_arg1, "MOUSE_OVER", _arg3]);
buttonListeners.push([_arg1, "MOUSE_OUT", _arg4]);
};
}
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
private static function onDefaultMouseOut(_arg1:MouseEvent){
highlightClip(MovieClip(_arg1.currentTarget), false);
}
public static function validateString(_arg1:String):Boolean{
return ((_arg1.length > 0));
}
public static function zeroPad(_arg1:int, _arg2:int):String{
var _local3:String;
_local3 = ("" + _arg1);
while (_local3.length < _arg2) {
_local3 = ("0" + _local3);
};
return (_local3);
}
private static function onDefaultClick(_arg1:MouseEvent):void{
}
private static function onDefaultMouseOver(_arg1:MouseEvent){
highlightClip(MovieClip(_arg1.currentTarget), true);
}
}
}//package bluetrack
Section 16
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
private static function createBlocks(_arg1:ByteArray):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
public static function hashBinary(_arg1:ByteArray):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
digest = new ByteArray();
digest.writeInt(_local2);
digest.writeInt(_local3);
digest.writeInt(_local4);
digest.writeInt(_local5);
digest.position = 0;
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
}
}//package com.adobe.crypto
Section 17
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 18
//CDK (com.coreyoneil.collision.CDK)
package com.coreyoneil.collision {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.errors.*;
public class CDK {
private var colorTransform1:ColorTransform;
private var colorTransform2:ColorTransform;
private var _returnAngleType:String;
private var pixels1:ByteArray;
private var pixels2:ByteArray;
private var bmdResample:BitmapData;
private var _returnAngle:Boolean;
private var transMatrix2:Matrix;
private var rect1:Rectangle;
private var rect2:Rectangle;
private var transMatrix1:Matrix;
protected var objectCheckArray:Array;
private var _alphaThreshold:Number;
private var item1Registration:Point;
private var bmd1:BitmapData;
private var bmd2:BitmapData;
protected var objectArray:Array;
private var item2Registration:Point;
protected var objectCollisionArray:Array;
private var _numChildren:uint;
private var colorExclusionArray:Array;
public function CDK():void{
if (getQualifiedClassName(this) == "com.coreyoneil.collision::CDK"){
throw (new Error("CDK is an abstract class and is not meant for instantiation - use CollisionGroup or CollisionList"));
};
init();
}
public function get returnAngle():Boolean{
return (_returnAngle);
}
public function set returnAngle(_arg1:Boolean):void{
_returnAngle = _arg1;
}
private function init():void{
objectCheckArray = [];
objectCollisionArray = [];
objectArray = [];
colorExclusionArray = [];
_alphaThreshold = 0;
_returnAngle = true;
_returnAngleType = "RADIANS";
}
protected function findCollisions(_arg1, _arg2):void{
var item1_isText:Boolean;
var item2_isText:Boolean;
var item1xDiff:Number;
var item1yDiff:Number;
var currentObj:*;
var k:uint;
var value1:uint;
var value2:uint;
var collisionPoint:Number;
var overlap:Boolean;
var overlapping:Array;
var locY:Number;
var locX:Number;
var locStage:Point;
var hasColors:int;
var pixelLength:int;
var alpha1:uint;
var alpha2:uint;
var colorFlag:Boolean;
var red1:uint;
var red2:uint;
var green1:uint;
var green2:uint;
var blue1:uint;
var blue2:uint;
var colorObj:Object;
var aPlus:uint;
var aMinus:uint;
var rPlus:uint;
var rMinus:uint;
var gPlus:uint;
var gMinus:uint;
var bPlus:uint;
var bMinus:uint;
var item1Flags:uint;
var item2Flags:uint;
var n:uint;
var angle:Number;
var recordedCollision:Object;
var item1 = _arg1;
var item2 = _arg2;
item1_isText = false;
item2_isText = false;
if ((item1 is TextField)){
item1_isText = ((item1.antiAliasType)=="advanced") ? true : false;
item1.antiAliasType = ((item1.antiAliasType)=="advanced") ? "normal" : item1.antiAliasType;
};
if ((item2 is TextField)){
item2_isText = ((item2.antiAliasType)=="advanced") ? true : false;
item2.antiAliasType = ((item2.antiAliasType)=="advanced") ? "normal" : item2.antiAliasType;
};
colorTransform1 = item1.transform.colorTransform;
colorTransform2 = item2.transform.colorTransform;
item1Registration = new Point();
item2Registration = new Point();
item1Registration = item1.localToGlobal(item1Registration);
item2Registration = item2.localToGlobal(item2Registration);
if ((((item1.width <= 0)) || ((item1.height <= 0)))){
return;
};
bmd1 = new BitmapData(item1.width, item1.height, true, 0xFFFFFF);
bmd2 = new BitmapData(item1.width, item1.height, true, 0xFFFFFF);
transMatrix1 = item1.transform.matrix;
currentObj = item1;
while (currentObj.parent != null) {
transMatrix1.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
rect1 = item1.getBounds(currentObj);
if (item1 != currentObj){
rect1.x = (rect1.x + currentObj.x);
rect1.y = (rect1.y + currentObj.y);
};
var _local4 = (item1Registration.x - rect1.left);
item1xDiff = _local4;
transMatrix1.tx = _local4;
_local4 = (item1Registration.y - rect1.top);
item1yDiff = _local4;
transMatrix1.ty = _local4;
transMatrix2 = item2.transform.matrix;
currentObj = item2;
while (currentObj.parent != null) {
transMatrix2.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
transMatrix2.tx = (item2Registration.x - rect1.left);
transMatrix2.ty = (item2Registration.y - rect1.top);
bmd1.draw(item1, transMatrix1, colorTransform1, null, null, true);
bmd2.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels1 = bmd1.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
pixels2 = bmd2.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
k = 0;
value1 = 0;
value2 = 0;
collisionPoint = -1;
overlap = false;
overlapping = [];
hasColors = colorExclusionArray.length;
pixels1.position = 0;
pixels2.position = 0;
pixelLength = pixels1.length;
while (k < pixelLength) {
k = pixels1.position;
try {
value1 = pixels1.readUnsignedInt();
value2 = pixels2.readUnsignedInt();
} catch(e:EOFError) {
break;
};
alpha1 = ((value1 >> 24) & 0xFF);
alpha2 = ((value2 >> 24) & 0xFF);
if ((((alpha1 > _alphaThreshold)) && ((alpha2 > _alphaThreshold)))){
colorFlag = false;
if (hasColors){
red1 = ((value1 >> 16) & 0xFF);
red2 = ((value2 >> 16) & 0xFF);
green1 = ((value1 >> 8) & 0xFF);
green2 = ((value2 >> 8) & 0xFF);
blue1 = (value1 & 0xFF);
blue2 = (value2 & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
item2Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((blue2 >= colorObj.bMinus)) && ((blue2 <= colorObj.bPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green2 >= colorObj.gMinus)) && ((green2 <= colorObj.gPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red2 >= colorObj.rMinus)) && ((red2 <= colorObj.rPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((alpha1 >= colorObj.aMinus)) && ((alpha1 <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((alpha2 >= colorObj.aMinus)) && ((alpha2 <= colorObj.aPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((item1Flags == 4)) || ((item2Flags == 4)))){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
overlap = true;
collisionPoint = (k >> 2);
locY = (collisionPoint / bmd1.width);
locX = (collisionPoint % bmd1.width);
locY = (locY - item1yDiff);
locX = (locX - item1xDiff);
};
};
};
if (overlap){
angle = (_returnAngle) ? findAngle(item1, item2) : 0;
recordedCollision = {object1:item1, object2:item2, angle:angle, overlapping:overlapping};
objectCollisionArray.push(recordedCollision);
};
if (item1_isText){
item1.antiAliasType = "advanced";
};
if (item2_isText){
item2.antiAliasType = "advanced";
};
_local4 = false;
item2_isText = _local4;
item1_isText = _local4;
}
public function dispose():void{
objectArray = [];
}
public function excludeColor(_arg1:uint, _arg2:uint=0xFF, _arg3:uint=20, _arg4:uint=20, _arg5:uint=20):void{
var _local6:int;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:Object;
_local6 = colorExclusionArray.length;
_local7 = 0;
while (_local7 < _local6) {
if (colorExclusionArray[_local7].color == _arg1){
throw (new Error((("Color could not be added - color already in the exclusion list [" + _arg1) + "]")));
};
_local7++;
};
_local8 = (((_arg1 >> 24) & 0xFF) + _arg2);
_local9 = (_local8 - (_arg2 << 1));
_local10 = (((_arg1 >> 16) & 0xFF) + _arg3);
_local11 = (_local10 - (_arg3 << 1));
_local12 = (((_arg1 >> 8) & 0xFF) + _arg4);
_local13 = (_local12 - (_arg4 << 1));
_local14 = ((_arg1 & 0xFF) + _arg5);
_local15 = (_local14 - (_arg5 << 1));
_local16 = {color:_arg1, aPlus:_local8, aMinus:_local9, rPlus:_local10, rMinus:_local11, gPlus:_local12, gMinus:_local13, bPlus:_local14, bMinus:_local15};
colorExclusionArray.push(_local16);
}
public function get numChildren():uint{
return (objectArray.length);
}
public function get alphaThreshold():Number{
return (_alphaThreshold);
}
public function removeItem(_arg1):void{
var _local2:int;
_local2 = objectArray.indexOf(_arg1);
if (_local2 > -1){
objectArray.splice(_local2, 1);
} else {
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
public function set returnAngleType(_arg1:String):void{
_arg1 = _arg1.toUpperCase();
switch (_arg1){
case "DEGREES":
case "DEGREE":
case "DEG":
case "DEGS":
_returnAngleType = "DEGREES";
break;
case "RADIANS":
case "RADIAN":
case "RAD":
case "RADS":
_returnAngleType = "RADIANS";
break;
default:
throw (new Error("returnAngleType expects 'DEGREES' or 'RADIANS'"));
};
}
private function findAngle(_arg1:DisplayObject, _arg2:DisplayObject):Number{
var center:Point;
var pixels:ByteArray;
var columnHeight:uint;
var rowWidth:uint;
var pixel:uint;
var thisAlpha:uint;
var lastAlpha:int;
var edgeArray:Array;
var hasColors:int;
var j:uint;
var edgePoint:int;
var numEdges:int;
var slopeYAvg:Number;
var slopeXAvg:Number;
var average:Number;
var k:uint;
var upperLimit:int;
var colorFlag:Boolean;
var red1:uint;
var green1:uint;
var blue1:uint;
var colorObj:Object;
var a:uint;
var r:uint;
var g:uint;
var b:uint;
var item1Flags:uint;
var n:uint;
var item1 = _arg1;
var item2 = _arg2;
center = new Point((item1.width >> 1), (item1.height >> 1));
pixels = pixels2;
transMatrix2.tx = (transMatrix2.tx + center.x);
transMatrix2.ty = (transMatrix2.ty + center.y);
bmdResample = new BitmapData((item1.width << 1), (item1.height << 1), true, 0xFFFFFF);
bmdResample.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels = bmdResample.getPixels(new Rectangle(0, 0, bmdResample.width, bmdResample.height));
center.x = (bmdResample.width >> 1);
center.y = (bmdResample.height >> 1);
columnHeight = Math.round(bmdResample.height);
rowWidth = Math.round(bmdResample.width);
edgeArray = [];
hasColors = colorExclusionArray.length;
j = 0;
while (j < columnHeight) {
k = ((j * rowWidth) << 2);
pixels.position = k;
lastAlpha = -1;
upperLimit = (((j + 1) * rowWidth) << 2);
while (k < upperLimit) {
k = pixels.position;
try {
pixel = pixels.readUnsignedInt();
} catch(e:EOFError) {
break;
};
thisAlpha = ((pixel >> 24) & 0xFF);
if (lastAlpha == -1){
lastAlpha = thisAlpha;
} else {
if (thisAlpha > _alphaThreshold){
colorFlag = false;
if (hasColors){
red1 = ((pixel >> 16) & 0xFF);
green1 = ((pixel >> 8) & 0xFF);
blue1 = (pixel & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((thisAlpha >= colorObj.aMinus)) && ((thisAlpha <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if (item1Flags == 4){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
edgeArray.push((k >> 2));
};
};
};
};
j = (j + 1);
};
numEdges = edgeArray.length;
slopeYAvg = 0;
slopeXAvg = 0;
j = 0;
while (j < numEdges) {
edgePoint = int(edgeArray[j]);
slopeYAvg = (slopeYAvg + (center.y - (edgePoint / rowWidth)));
slopeXAvg = (slopeXAvg + ((edgePoint % rowWidth) - center.x));
j = (j + 1);
};
average = -(Math.atan2(slopeYAvg, slopeXAvg));
average = ((_returnAngleType == "RADIANS")) ? average : (average * 57.2957795);
return (average);
}
public function addItem(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray.push(_arg1);
} else {
throw (new Error((("Cannot add item: " + _arg1) + " - item must be a Display Object.")));
};
}
public function get returnAngleType():String{
return (_returnAngleType);
}
public function set alphaThreshold(_arg1:Number):void{
if ((((_arg1 <= 1)) && ((_arg1 >= 0)))){
_alphaThreshold = (_arg1 * 0xFF);
} else {
throw (new Error("alphaThreshold expects a value from 0 to 1"));
};
}
public function removeExcludeColor(_arg1:uint):void{
var _local2:Boolean;
var _local3:int;
var _local4:uint;
_local2 = false;
_local3 = colorExclusionArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (colorExclusionArray[_local4].color == _arg1){
colorExclusionArray.splice(_local4, 1);
_local2 = true;
break;
};
_local4++;
};
if (!_local2){
throw (new Error((("Color could not be removed - color not found in exclusion list [" + _arg1) + "]")));
};
}
protected function clearArrays():void{
objectCheckArray = [];
objectCollisionArray = [];
}
}
}//package com.coreyoneil.collision
Section 19
//CollisionList (com.coreyoneil.collision.CollisionList)
package com.coreyoneil.collision {
import flash.display.*;
public class CollisionList extends CDK {
public function CollisionList(_arg1, ... _args):void{
var _local3:uint;
super();
addItem(_arg1);
_local3 = 0;
while (_local3 < _args.length) {
addItem(_args[_local3]);
_local3++;
};
}
public function swapTarget(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray[0] = _arg1;
} else {
throw (new Error((("Cannot swap target: " + _arg1) + " - item must be a Display Object.")));
};
}
public function checkCollisions():Array{
var _local1:uint;
var _local2:*;
var _local3:DisplayObject;
var _local4:uint;
clearArrays();
_local1 = objectArray.length;
_local2 = DisplayObject(objectArray[0]);
_local4 = 1;
while (_local4 < _local1) {
_local3 = DisplayObject(objectArray[_local4]);
if (_local2.hitTestObject(_local3)){
if ((_local3.width * _local3.height) > (_local2.width * _local2.height)){
objectCheckArray.push([_local2, _local3]);
} else {
objectCheckArray.push([_local3, _local2]);
};
};
_local4++;
};
_local1 = objectCheckArray.length;
_local4 = 0;
while (_local4 < _local1) {
findCollisions(DisplayObject(objectCheckArray[_local4][0]), DisplayObject(objectCheckArray[_local4][1]));
_local4++;
};
return (objectCollisionArray);
}
override public function removeItem(_arg1):void{
var _local2:int;
_local2 = objectArray.indexOf(_arg1);
if (_local2 > 0){
objectArray.splice(_local2, 1);
} else {
if (_local2 == 0){
throw (new Error("You cannot remove the target from CollisionList. Use swapTarget to change the target."));
};
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
}
}//package com.coreyoneil.collision
Section 20
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var start:Number;
public var name:String;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var priority:int;
public var property:String;
public var nextNode:PropTween;
public var isPlugin:Boolean;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 21
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
public var autoRemoveChildren:Boolean;
protected var _lastChild:TweenCore;
protected var _firstChild:TweenCore;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:TweenCore;
var _local5:Number;
var _local6:TweenCore;
_local4 = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function addChild(_arg1:TweenCore):void{
if (((!(_arg1.gc)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_firstChild){
_firstChild.prevNode = _arg1;
};
_arg1.nextNode = _firstChild;
_firstChild = _arg1;
_arg1.prevNode = null;
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (((!(_arg1.gc)) && (!(_arg2)))){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
}
}
}//package com.greensock.core
Section 22
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
public var initted:Boolean;
protected var _hasUpdate:Boolean;
public var active:Boolean;
protected var _delay:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var cachedTime:Number;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var data;
public var timeline:SimpleTimeline;
public var cachedStartTime:Number;
public var prevNode:TweenCore;
public var cachedDuration:Number;
public var gc:Boolean;
protected var _pauseTime:Number;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var cachedTimeScale:Number;
public var cachedTotalDuration:Number;
public static const version:Number = 1.13;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
var _local3:SimpleTimeline;
_rawPrevTime = -1;
super();
this.vars = ((_arg2) || ({}));
this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0)));
_delay = ((this.vars.delay) || (0));
this.cachedTimeScale = ((this.vars.timeScale) || (1));
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
_local3 = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
this.cachedStartTime = (_local3.cachedTotalTime + _delay);
_local3.addChild(this);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function get delay():Number{
return (_delay);
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function set startTime(_arg1:Number):void{
var _local2:Boolean;
_local2 = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc)))));
this.cachedStartTime = _arg1;
if (_local2){
this.timeline.addChild(this);
};
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function resume():void{
this.paused = false;
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function set duration(_arg1:Number):void{
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(false);
}
public function invalidate():void{
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.cachedTotalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore;
_local2 = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
_pauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime));
_pauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
this.setEnabled(true, false);
};
}
public function kill():void{
setEnabled(false, false);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get currentTime():Number{
return (this.cachedTime);
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function pause():void{
this.paused = true;
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.gc))){
this.timeline.addChild(this);
};
} else {
this.active = false;
if (!_arg2){
this.timeline.remove(this, true);
};
};
this.gc = !(_arg1);
return (false);
}
}
}//package com.greensock.core
Section 23
//Back (com.greensock.easing.Back)
package com.greensock.easing {
public class Back {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 * 0.5) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 24
//Bounce (com.greensock.easing.Bounce)
package com.greensock.easing {
public class Bounce {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 * 0.5)){
return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
}
}//package com.greensock.easing
Section 25
//Linear (com.greensock.easing.Linear)
package com.greensock.easing {
public class Linear {
public static const power:uint = 0;
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package com.greensock.easing
Section 26
//Strong (com.greensock.easing.Strong)
package com.greensock.easing {
public class Strong {
public static const power:uint = 4;
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
return ((((((((_arg3 * 0.5) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 * 0.5) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 27
//TweenEvent (com.greensock.events.TweenEvent)
package com.greensock.events {
import flash.events.*;
public class TweenEvent extends Event {
public static const COMPLETE:String = "complete";
public static const START:String = "init";
public static const UPDATE:String = "change";
public static const REVERSE_COMPLETE:String = "reverseComplete";
public static const VERSION:Number = 1;
public static const REPEAT:String = "repeat";
public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TweenEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package com.greensock.events
Section 28
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _ignoreVisible:Boolean;
protected var _target:Object;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 29
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BevelFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "highlightColor", "highlightAlpha", "shadowColor", "shadowAlpha", "blurX", "blurY", "strength", "quality"];
public function BevelFilterPlugin(){
this.propName = "bevelFilter";
this.overwriteProps = ["bevelFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BevelFilter;
initFilter(_arg2, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 30
//BezierPlugin (com.greensock.plugins.BezierPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class BezierPlugin extends TweenPlugin {
protected var _future:Object;
protected var _orientData:Array;
protected var _orient:Boolean;
protected var _beziers:Object;
protected var _target:Object;
public static const API:Number = 1;
protected static const _RAD2DEG:Number = 57.2957795130823;
public function BezierPlugin(){
_future = {};
super();
this.propName = "bezier";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local4:Object;
var _local5:Object;
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
_local4 = ((_arg1.vars.isTV)==true) ? _arg1.vars.exposedVars : _arg1.vars;
if (_local4.orientToBezier == true){
_orientData = [["x", "y", "rotation", 0, 0.01]];
_orient = true;
} else {
if ((_local4.orientToBezier is Array)){
_orientData = _local4.orientToBezier;
_orient = true;
};
};
_local5 = {};
_local6 = 0;
while (_local6 < _arg2.length) {
for (_local7 in _arg2[_local6]) {
if (_local5[_local7] == undefined){
_local5[_local7] = [_arg1.target[_local7]];
};
if (typeof(_arg2[_local6][_local7]) == "number"){
_local5[_local7].push(_arg2[_local6][_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_arg2[_local6][_local7])));
};
};
_local6++;
};
for (_local7 in _local5) {
this.overwriteProps[this.overwriteProps.length] = _local7;
if (_local4[_local7] != undefined){
if (typeof(_local4[_local7]) == "number"){
_local5[_local7].push(_local4[_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_local4[_local7])));
};
_local8 = {};
_local8[_local7] = true;
_arg1.killVars(_local8, false);
delete _local4[_local7];
};
};
_beziers = parseBeziers(_local5, _arg3);
}
override public function killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:Number;
var _local6:uint;
var _local7:Number;
var _local8:Object;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Boolean;
if (_arg1 == 1){
for (_local3 in _beziers) {
_local2 = (_beziers[_local3].length - 1);
_target[_local3] = _beziers[_local3][_local2][2];
};
} else {
for (_local3 in _beziers) {
_local6 = _beziers[_local3].length;
if (_arg1 < 0){
_local2 = 0;
} else {
if (_arg1 >= 1){
_local2 = (_local6 - 1);
} else {
_local2 = int((_local6 * _arg1));
};
};
_local5 = ((_arg1 - (_local2 * (1 / _local6))) * _local6);
_local4 = _beziers[_local3][_local2];
if (this.round){
_local7 = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
_target[_local3] = ((_local7)>0) ? int((_local7 + 0.5)) : int((_local7 - 0.5));
} else {
_target[_local3] = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
};
};
};
if (_orient){
_local2 = _orientData.length;
_local8 = {};
while (_local2--) {
_local11 = _orientData[_local2];
_local8[_local11[0]] = _target[_local11[0]];
_local8[_local11[1]] = _target[_local11[1]];
};
_local13 = _target;
_local14 = this.round;
_target = _future;
this.round = false;
_orient = false;
_local2 = _orientData.length;
while (_local2--) {
_local11 = _orientData[_local2];
this.changeFactor = (_arg1 + ((_local11[4]) || (0.01)));
_local12 = ((_local11[3]) || (0));
_local9 = (_future[_local11[0]] - _local8[_local11[0]]);
_local10 = (_future[_local11[1]] - _local8[_local11[1]]);
_local13[_local11[2]] = ((Math.atan2(_local10, _local9) * _RAD2DEG) + _local12);
};
_target = _local13;
this.round = _local14;
_orient = true;
};
}
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);
}
}
}//package com.greensock.plugins
Section 31
//BezierThroughPlugin (com.greensock.plugins.BezierThroughPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierThroughPlugin extends BezierPlugin {
public static const API:Number = 1;
public function BezierThroughPlugin(){
this.propName = "bezierThrough";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), true);
return (true);
}
}
}//package com.greensock.plugins
Section 32
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BlurFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["blurX", "blurY", "quality"];
public function BlurFilterPlugin(){
this.propName = "blurFilter";
this.overwriteProps = ["blurFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BlurFilter;
initFilter(_arg2, new BlurFilter(0, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 33
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class ColorMatrixFilterPlugin extends FilterPlugin {
protected var _matrix:Array;
protected var _matrixTween:EndArrayPlugin;
public static const API:Number = 1;
private static var _propNames:Array = [];
protected static var _lumG:Number = 0.71516;
protected static var _lumR:Number = 0.212671;
protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
protected static var _lumB:Number = 0.072169;
public function ColorMatrixFilterPlugin(){
this.propName = "colorMatrixFilter";
this.overwriteProps = ["colorMatrixFilter"];
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:Object;
var _local5:Array;
_target = _arg1;
_type = ColorMatrixFilter;
_local4 = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
_local5 = [];
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_local5 = _local4.matrix;
} else {
if (_local4.relative == true){
_local5 = _matrix.slice();
} else {
_local5 = _idMatrix.slice();
};
_local5 = setBrightness(_local5, _local4.brightness);
_local5 = setContrast(_local5, _local4.contrast);
_local5 = setHue(_local5, _local4.hue);
_local5 = setSaturation(_local5, _local4.saturation);
_local5 = setThreshold(_local5, _local4.threshold);
if (!isNaN(_local4.colorize)){
_local5 = colorize(_local5, _local4.colorize, _local4.amount);
};
};
_matrixTween = new EndArrayPlugin();
_matrixTween.init(_matrix, _local5);
return (true);
}
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 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 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 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));
}
}
}//package com.greensock.plugins
Section 34
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
public class ColorTransformPlugin extends TintPlugin {
public static const API:Number = 1;
public function ColorTransformPlugin(){
this.propName = "colorTransform";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:ColorTransform;
var _local5:String;
var _local6:Number;
if (!(_arg1 is DisplayObject)){
return (false);
};
_local4 = _arg1.transform.colorTransform;
for (_local5 in _arg2) {
if ((((_local5 == "tint")) || ((_local5 == "color")))){
if (_arg2[_local5] != null){
_local4.color = int(_arg2[_local5]);
};
} else {
if ((((((_local5 == "tintAmount")) || ((_local5 == "exposure")))) || ((_local5 == "brightness")))){
} else {
_local4[_local5] = _arg2[_local5];
};
};
};
if (!isNaN(_arg2.tintAmount)){
_local6 = (_arg2.tintAmount / (1 - (((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3)));
_local4.redOffset = (_local4.redOffset * _local6);
_local4.greenOffset = (_local4.greenOffset * _local6);
_local4.blueOffset = (_local4.blueOffset * _local6);
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - _arg2.tintAmount)));
} else {
if (!isNaN(_arg2.exposure)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = (0xFF * (_arg2.exposure - 1))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = 1));
} else {
if (!isNaN(_arg2.brightness)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = Math.max(0, ((_arg2.brightness - 1) * 0xFF))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - Math.abs((_arg2.brightness - 1)))));
};
};
};
_ignoreAlpha = Boolean(((!((_arg3.vars.alpha == undefined))) && ((_arg2.alphaMultiplier == undefined))));
init((_arg1 as DisplayObject), _local4);
return (true);
}
}
}//package com.greensock.plugins
Section 35
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class DropShadowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout", "hideObject"];
public function DropShadowFilterPlugin(){
this.propName = "dropShadowFilter";
this.overwriteProps = ["dropShadowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = DropShadowFilter;
initFilter(_arg2, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout, _arg2.hideObject), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 36
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _info:Array;
protected var _a:Array;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
public function init(_arg1:Array, _arg2:Array):void{
var _local3:int;
_a = _arg1;
_local3 = _arg2.length;
while (_local3--) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:ArrayTweenInfo;
var _local4:Number;
_local2 = _info.length;
if (this.round){
while (_local2--) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_a[_local3.index] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
};
};
}
}
}//package com.greensock.plugins
class ArrayTweenInfo {
public var change:Number;
public var index:uint;
public var start:Number;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 37
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _index:int;
protected var _filter:BitmapFilter;
protected var _type:Class;
protected var _remove:Boolean;
protected var _target:Object;
public static const VERSION:Number = 2.03;
public static const API:Number = 1;
public function onCompleteTween():void{
var _local1:Array;
var _local2:int;
if (_remove){
_local1 = _target.filters;
if (!(_local1[_index] is _type)){
_local2 = _local1.length;
while (_local2--) {
if ((_local1[_local2] is _type)){
_local1.splice(_local2, 1);
break;
};
};
} else {
_local1.splice(_index, 1);
};
_target.filters = _local1;
};
}
protected function initFilter(_arg1:Object, _arg2:BitmapFilter, _arg3:Array):void{
var _local4:Array;
var _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local8:Object;
_local4 = _target.filters;
_local8 = ((_arg1 is BitmapFilter)) ? {} : _arg1;
_index = -1;
if (_local8.index != null){
_index = _local8.index;
} else {
_local6 = _local4.length;
while (_local6--) {
if ((_local4[_local6] is _type)){
_index = _local6;
break;
};
};
};
if ((((((_index == -1)) || ((_local4[_index] == null)))) || ((_local8.addFilter == true)))){
_index = ((_local8.index)!=null) ? _local8.index : _local4.length;
_local4[_index] = _arg2;
_target.filters = _local4;
};
_filter = _local4[_index];
if (_local8.remove == true){
_remove = true;
this.onComplete = onCompleteTween;
};
_local6 = _arg3.length;
while (_local6--) {
_local5 = _arg3[_local6];
if ((((_local5 in _arg1)) && (!((_filter[_local5] == _arg1[_local5]))))){
if ((((((_local5 == "color")) || ((_local5 == "highlightColor")))) || ((_local5 == "shadowColor")))){
_local7 = new HexColorsPlugin();
_local7.initColor(_filter, _local5, _filter[_local5], _arg1[_local5]);
_tweens[_tweens.length] = new PropTween(_local7, "changeFactor", 0, 1, _local5, false);
} else {
if ((((((((_local5 == "quality")) || ((_local5 == "inner")))) || ((_local5 == "knockout")))) || ((_local5 == "hideObject")))){
_filter[_local5] = _arg1[_local5];
} else {
addTween(_filter, _local5, _filter[_local5], _arg1[_local5], _local5);
};
};
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:PropTween;
var _local4:Array;
_local2 = _tweens.length;
_local4 = _target.filters;
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
if (!(_local4[_index] is _type)){
_local2 = (_index = _local4.length);
while (_local2--) {
if ((_local4[_local2] is _type)){
_index = _local2;
break;
};
};
};
_local4[_index] = _filter;
_target.filters = _local4;
}
}
}//package com.greensock.plugins
Section 38
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FrameLabelPlugin extends FramePlugin {
public static const API:Number = 1;
public function FrameLabelPlugin(){
this.propName = "frameLabel";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:Array;
var _local5:String;
var _local6:int;
var _local7:int;
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
_local4 = _target.currentLabels;
_local5 = _arg2;
_local6 = _target.currentFrame;
_local7 = _local4.length;
while (_local7--) {
if (_local4[_local7].name == _local5){
_local6 = _local4[_local7].frame;
break;
};
};
if (this.frame != _local6){
addTween(this, "frame", this.frame, _local6, "frame");
};
return (true);
}
}
}//package com.greensock.plugins
Section 39
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FramePlugin extends TweenPlugin {
public var frame:int;
protected var _target:MovieClip;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame", "frameLabel"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package com.greensock.plugins
Section 40
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class GlowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout"];
public function GlowFilterPlugin(){
this.propName = "glowFilter";
this.overwriteProps = ["glowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = GlowFilter;
initFilter(_arg2, new GlowFilter(0xFFFFFF, 0, 0, 0, ((_arg2.strength) || (1)), ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 41
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class HexColorsPlugin extends TweenPlugin {
protected var _colors:Array;
public static const API:Number = 1;
public function HexColorsPlugin(){
this.propName = "hexColors";
this.overwriteProps = [];
_colors = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
for (_local4 in _arg2) {
initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4]));
};
return (true);
}
override public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
if (_arg1[_colors[_local2][1]] != undefined){
_colors.splice(_local2, 1);
};
_local2--;
};
super.killProps(_arg1);
}
public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg3 != _arg4){
_local5 = (_arg3 >> 16);
_local6 = ((_arg3 >> 8) & 0xFF);
_local7 = (_arg3 & 0xFF);
_colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)];
this.overwriteProps[this.overwriteProps.length] = _arg2;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:Array;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
_local3 = _colors[_local2];
_local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7])));
_local2--;
};
}
}
}//package com.greensock.plugins
Section 42
//RemoveTintPlugin (com.greensock.plugins.RemoveTintPlugin)
package com.greensock.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package com.greensock.plugins
Section 43
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
public class RoundPropsPlugin extends TweenPlugin {
public static const API:Number = 1;
public function RoundPropsPlugin(){
this.propName = "roundProps";
this.overwriteProps = [];
this.round = true;
}
public function add(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
addTween(_arg1, _arg2, _arg3, (_arg3 + _arg4), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 44
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class ShortRotationPlugin extends TweenPlugin {
public static const API:Number = 1;
public function ShortRotationPlugin(){
this.propName = "shortRotation";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
if (typeof(_arg2) == "number"){
return (false);
};
for (_local4 in _arg2) {
initRotation(_arg1, _local4, _arg1[_local4], ((typeof(_arg2[_local4]))=="number") ? Number(_arg2[_local4]) : (_arg1[_local4] + Number(_arg2[_local4])));
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
var _local5:Number;
_local5 = ((_arg4 - _arg3) % 360);
if (((_arg4 - _arg3) % 360) != (_local5 % 180)){
_local5 = ((_local5)<0) ? (_local5 + 360) : (_local5 - 360);
};
addTween(_arg1, _arg2, _arg3, (_arg3 + _local5), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 45
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.geom.*;
public class TintPlugin extends TweenPlugin {
protected var _ct:ColorTransform;
protected var _transform:Transform;
protected var _ignoreAlpha:Boolean;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:ColorTransform;
if (!(_arg1 is DisplayObject)){
return (false);
};
_local4 = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local3:int;
var _local4:String;
_transform = _arg1.transform;
_ct = _transform.colorTransform;
_local3 = _props.length;
while (_local3--) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_transform.colorTransform = _ct;
}
}
}//package com.greensock.plugins
Section 46
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class TweenPlugin {
public var activeDisable:Boolean;
public var onEnable:Function;
public var round:Boolean;
public var onDisable:Function;
public var propName:String;
protected var _tweens:Array;
public var priority:int;// = 0
public var overwriteProps:Array;
public var onComplete:Function;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
priority = 0;
_tweens = [];
_changeFactor = 0;
super();
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local2:int;
var _local3:PropTween;
var _local4:Number;
_local2 = _tweens.length;
if (this.round){
while (_local2--) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = this.overwriteProps.length;
while (_local2--) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (_local2--) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
public static function activate(_arg1:Array):Boolean{
var _local2:int;
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
_local2 = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local3:PropTween;
var _local4:Boolean;
var _local5:Array;
var _local6:int;
_local3 = _arg2.cachedPT1;
if (_arg1 == "onInit"){
_local5 = [];
while (_local3) {
_local5[_local5.length] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
_local6 = _local5.length;
while (_local6--) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_arg2.cachedPT1 = _local5[0];
} else {
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
var _local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
};
return (_local4);
}
}
}//package com.greensock.plugins
Section 47
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class VisiblePlugin extends TweenPlugin {
protected var _tween:TweenLite;
protected var _visible:Boolean;
protected var _target:Object;
protected var _initVal:Boolean;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_initVal = _target.visible;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if ((((_arg1 == 1)) && ((((_tween.cachedDuration == _tween.cachedTime)) || ((_tween.cachedTime == 0)))))){
_target.visible = _visible;
} else {
_target.visible = _initVal;
};
}
}
}//package com.greensock.plugins
Section 48
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _st:SoundTransform;
protected var _target:Object;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package com.greensock.plugins
Section 49
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
public class OverwriteManager {
public static const ALL_ONSTART:int = 4;
public static const CONCURRENT:int = 3;
public static const ALL_IMMEDIATE:int = 1;
public static const PREEXISTING:int = 5;
public static const AUTO:int = 2;
public static const version:Number = 6;
public static const NONE:int = 0;
public static var enabled:Boolean;
public static var mode:int;
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
while (_arg1) {
if (_arg1.cachedPaused){
return (true);
};
_arg1 = _arg1.timeline;
};
return (false);
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.099994){
throw (new Error("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);
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:uint):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local8:Number;
var _local9:Array;
var _local10:Array;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:Number;
var _local15:Number;
var _local16:TweenCore;
var _local17:Number;
var _local18:SimpleTimeline;
if (_arg4 >= 4){
_local13 = _arg3.length;
_local5 = 0;
while (_local5 < _local13) {
_local7 = _arg3[_local5];
if (_local7 != _arg1){
if (_local7.setEnabled(false, false)){
_local6 = true;
};
} else {
if (_arg4 == 5){
break;
};
};
_local5++;
};
return (_local6);
};
_local8 = _arg1.startTime;
_local9 = [];
_local10 = [];
_local11 = 0;
_local12 = 0;
_local5 = _arg3.length;
while (_local5--) {
_local7 = _arg3[_local5];
if ((((_local7 == _arg1)) || (_local7.gc))){
} else {
if (_local7.timeline != _arg1.timeline){
if (!getGlobalPaused(_local7)){
var _temp1 = _local11;
_local11 = (_local11 + 1);
var _local19 = _temp1;
_local10[_local19] = _local7;
};
} else {
if ((((((_local7.startTime <= _local8)) && (((_local7.startTime + _local7.totalDuration) > _local8)))) && (!(getGlobalPaused(_local7))))){
var _temp2 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp2;
_local9[_local19] = _local7;
};
};
};
};
if (_local11 != 0){
_local14 = _arg1.cachedTimeScale;
_local15 = _local8;
_local18 = _arg1.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.startTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (_local5--) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.startTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.startTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && (((((_local17 + (_local16.totalDuration * _local14)) > _local8)) || ((_local16.cachedDuration == 0)))))){
var _temp3 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp3;
_local9[_local19] = _local16;
};
};
};
if (_local12 == 0){
return (_local6);
};
_local5 = _local12;
if (_arg4 == 2){
while (_local5--) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (_local5--) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
}
}//package com.greensock
Section 50
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.core.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
public var target:Object;
protected var _overwrite:uint;
public var ratio:Number;// = 0
protected var _notifyPluginsOfEnabled:Boolean;
protected var _hasPlugins:Boolean;
public var cachedPT1:PropTween;
protected var _overwrittenProps:Object;
public var propTweenLookup:Object;
protected var _ease:Function;
public static const version:Number = 11.131;
public static var rootTimeline:SimpleTimeline;
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var rootFramesTimeline:SimpleTimeline;
public static var defaultEase:Function = TweenLite.easeOut;
public static var plugins:Object = {};
public static var masterList:Dictionary = new Dictionary(false);
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:Array;
var _local5:TweenLite;
ratio = 0;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
_local4 = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number;
var _local6:PropTween;
_local5 = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local4 = true;
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
_local6 = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local4){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (_local2--) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInit", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
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)));
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (_arg2){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
if ((_arg1 in masterList)){
_local3 = masterList[_arg1];
_local4 = _local3.length;
while (_local4--) {
if (!TweenLite(_local3[_local4]).gc){
if (_arg2){
TweenLite(_local3[_local4]).complete(false, false);
} else {
TweenLite(_local3[_local4]).setEnabled(false, false);
};
};
};
delete masterList[_arg1];
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame++;
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (_local5--) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package com.greensock
Section 51
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.core.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _easePower:uint;
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _easeType:uint;
public var yoyo:Boolean;
protected var _repeat:int;// = 0
protected var _cyclesComplete:uint;// = 0
protected var _repeatDelay:Number;// = 0
public static const version:Number = 11.131;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
_repeat = 0;
_repeatDelay = 0;
_cyclesComplete = 0;
super(_arg1, _arg2, _arg3);
if (TweenLite.version < 11.1){
throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."));
};
this.yoyo = Boolean(this.vars.yoyo);
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
this.cacheIsDirty = true;
if (((((((((this.vars.onCompleteListener) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){
initDispatcher();
if ((((_arg2 == 0)) && ((_delay == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
if (((("timeScale" in this.vars)) && (!((this.target is TweenCore))))){
this.cachedTimeScale = this.vars.timeScale;
};
}
override protected function init():void{
var _local1:TweenMax;
var _local2:int;
var _local3:String;
var _local4:String;
var _local5:Array;
var _local6:Object;
var _local7:PropTween;
var _local8:PropTween;
var _local9:int;
if (this.vars.startAt){
this.vars.startAt.overwrite = 0;
this.vars.startAt.immediateRender = true;
_local1 = new TweenMax(this.target, 0, this.vars.startAt);
};
super.init();
if ((_ease in fastEaseLookup)){
_easeType = fastEaseLookup[_ease][0];
_easePower = fastEaseLookup[_ease][1];
};
if (((!((this.vars.roundProps == null))) && (("roundProps" in TweenLite.plugins)))){
_local5 = this.vars.roundProps;
_local9 = _local5.length;
while (_local9--) {
_local3 = _local5[_local9];
_local8 = this.cachedPT1;
while (_local8) {
if (_local8.name == _local3){
if (_local8.isPlugin){
_local8.target.round = true;
} else {
if (_local6 == null){
_local6 = new TweenLite.plugins.roundProps();
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
_hasPlugins = true;
_local7 = insertPropTween(_local6, "changeFactor", 0, 1, "_MULTIPLE_", true, this.cachedPT1);
this.cachedPT1 = _local7;
} else {
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
};
this.removePropTween(_local8);
this.propTweenLookup[_local3] = _local7;
};
} else {
if (((((_local8.isPlugin) && ((_local8.name == "_MULTIPLE_")))) && (!(_local8.target.round)))){
_local4 = ((" " + _local8.target.overwriteProps.join(" ")) + " ");
if (_local4.indexOf(((" " + _local3) + " ")) != -1){
_local8.target.round = true;
};
};
};
_local8 = _local8.nextNode;
};
};
};
}
protected function adjustStartValues():void{
var _local1:Number;
var _local2:PropTween;
var _local3:Number;
if (this.cachedTime != 0){
_local1 = (1 / (1 - this.ratio));
_local2 = this.cachedPT1;
while (_local2) {
if (!_local2.isPlugin){
_local3 = (_local2.start + _local2.change);
_local2.change = ((_local3 - _local2.target[_local2.property]) * _local1);
_local2.start = (_local3 - _local2.change);
_local2 = _local2.nextNode;
};
};
};
}
protected function updateTo(_arg1:Object, _arg2:Boolean=true):void{
var _local3:PropTween;
var _local4:Number;
var _local5:String;
var _local6:Object;
var _local7:Boolean;
var _local8:Object;
var _local9:int;
_local3 = this.cachedPT1;
_local4 = this.cachedTotalTime;
if (this.initted){
if (!_arg2){
this.totalTime = 0;
};
killVars(_arg1, false);
for (_local5 in _arg1) {
if ((_local5 in _reservedProps)){
} else {
if ((((_local5 in plugins)) && (new ((plugins[_local5] as Class)).onInitTween(this.target, _arg1[_local5], this)))){
_local8 = {};
_local9 = _local6.overwriteProps.length;
while (_local9--) {
_local8[_local6.overwriteProps[_local9]] = true;
};
killVars(_local8, false);
this.cachedPT1 = insertPropTween(_local6, "changeFactor", 0, 1, ((_local6.overwriteProps.length)==1) ? _local6.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
_hasPlugins = true;
if (_local6.priority){
this.cachedPT1.priority = _local6.priority;
_local7 = true;
};
} else {
this.cachedPT1 = insertPropTween(this.target, _local5, this.target[_local5], _arg1[_local5], _local5, false, this.cachedPT1);
};
};
this.vars[_local5] = _arg1[_local5];
};
if (_local7){
onPluginEvent("onInit", this);
};
if (((_arg2) && (this.cachedTotalTime))){
adjustStartValues();
};
} else {
for (_local5 in _arg1) {
this.vars[_local5] = _arg1[_local5];
};
};
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((!(_arg2)) && (_dispatcher))){
if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
} else {
if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
};
};
};
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
override public function invalidate():void{
this.yoyo = Boolean((this.vars.yoyo == true));
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
_hasUpdateListener = false;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function killProperties(_arg1:Array):void{
var _local2:Object;
var _local3:int;
_local2 = {};
_local3 = _arg1.length;
while (_local3--) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{
var _local8:PropTween;
var _local9:Array;
var _local10:int;
_local8 = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7);
if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){
_local9 = _arg1.overwriteProps;
_local10 = _local9.length;
while (_local10--) {
this.propTweenLookup[_local9[_local10]] = _local8;
};
} else {
this.propTweenLookup[_arg5] = _local8;
};
return (_local8);
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Object;
_local4 = {};
_local4[_arg1] = _arg2;
updateTo(_local4, _arg3);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
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){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Number;
var _local5:Number;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local9:PropTween;
var _local10:Number;
var _local11:uint;
var _local12:Number;
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
_local5 = this.cachedTime;
if (_arg1 >= _local4){
this.cachedTotalTime = _local4;
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local6 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local6 = true;
};
_rawPrevTime = _arg1;
};
};
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local6 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
_local8 = true;
};
};
if (_repeat != 0){
_local10 = (this.cachedDuration + _repeatDelay);
if (_local6){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = (this.ratio = 0);
};
} else {
if (_arg1 > 0){
if (_cyclesComplete != (_cyclesComplete = int((this.cachedTotalTime / _local10)))){
_local7 = true;
};
this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local8 = false;
};
};
if (this.cachedTime <= 0){
this.cachedTime = (this.ratio = 0);
_local8 = false;
};
};
};
};
if ((((_local5 == this.cachedTime)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if (_local8){
if (_easeType){
_local11 = _easePower;
_local12 = (this.cachedTime / this.cachedDuration);
if (_easeType == 2){
_local12 = (1 - _local12);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - this.ratio);
} else {
if (_easeType == 1){
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
} else {
if (_local12 < 0.5){
_local12 = (_local12 * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (this.ratio * 0.5);
} else {
_local12 = ((1 - _local12) * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - (0.5 * this.ratio));
};
};
};
} else {
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if ((((((_local5 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
_local9 = this.cachedPT1;
while (_local9) {
_local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change));
_local9 = _local9.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (_local6){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
} else {
if (((_local7) && (!(_arg2)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
};
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
protected function removePropTween(_arg1:PropTween):Boolean{
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (this.cachedPT1 == _arg1){
this.cachedPT1 = _arg1.nextNode;
};
};
if (((_arg1.isPlugin) && (_arg1.target.onDisable))){
_arg1.target.onDisable();
if (_arg1.target.activeDisable){
return (true);
};
};
return (false);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function get repeat():int{
return (_repeat);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
_arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay)));
} else {
_arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay)));
};
};
setTotalTime(_arg1, false);
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
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);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
override public function get totalDuration():Number{
if (this.cacheIsDirty){
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
public function set timeScale(_arg1:Number):void{
var _local2:Number;
if (_arg1 == 0){
_arg1 = 0.0001;
};
_local2 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public static function set globalTimeScale(_arg1:Number):void{
var _local2:SimpleTimeline;
var _local3:Number;
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
_local2 = TweenLite.rootTimeline;
_local3 = (getTimer() * 0.001);
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
_local2 = TweenLite.rootFramesTimeline;
_local3 = TweenLite.rootFrame;
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1);
}
public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg4));
}
public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7));
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(true, _arg1, _arg2);
}
public static function getTweensOf(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:int;
var _local5:uint;
_local2 = masterList[_arg1];
_local3 = [];
if (_local2){
_local4 = _local2.length;
_local5 = 0;
while (_local4--) {
if (!_local2[_local4].gc){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_local3[_local6] = _local2[_local4];
};
};
};
return (_local3);
}
public static function get globalTimeScale():Number{
return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale);
}
public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:Object;
var _local5:DisplayObjectContainer;
var _local6:int;
_local3 = getAllTweens();
_local6 = _local3.length;
while (_local6--) {
_local4 = _local3[_local6].target;
if ((_local4 is DisplayObject)){
_local5 = _local4.parent;
while (_local5) {
if (_local5 == _arg1){
if (_arg2){
_local3[_local6].complete(false);
} else {
_local3[_local6].setEnabled(false, false);
};
};
_local5 = _local5.parent;
};
};
};
}
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, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array;
var _local3:int;
var _local4:TweenLite;
_local2 = getTweensOf(_arg1);
_local3 = _local2.length;
while (_local3--) {
_local4 = _local2[_local3];
if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){
return (true);
};
};
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;
while (_local6--) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
} else {
_local4[_local6].setEnabled(false, false);
};
};
};
}
private 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;
while (_local6--) {
_local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
TweenCore(_local4[_local6]).paused = _arg1;
};
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public static function getAllTweens():Array{
var _local1:Dictionary;
var _local2:uint;
var _local3:Array;
var _local4:Array;
var _local5:int;
_local1 = masterList;
_local2 = 0;
_local3 = [];
for each (_local4 in _local1) {
_local5 = _local4.length;
while (_local5--) {
if (!TweenLite(_local4[_local5]).gc){
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local8 = _temp1;
_local3[_local8] = _local4[_local5];
};
};
};
return (_local3);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(false, _arg1, _arg2);
}
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, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
var i:int;
var varsDup:Object;
var p:String;
var l:uint;
var a:Array;
var curDelay:Number;
var onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var lastIndex:int;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
l = targets.length;
a = [];
curDelay = ((vars.delay) || (0));
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
lastIndex = ((stagger)<=0) ? 0 : (l - 1);
i = 0;
while (i < l) {
varsDup = {};
for (p in vars) {
varsDup[p] = vars[p];
};
varsDup.delay = curDelay;
if ((((i == lastIndex)) && (!((onCompleteAll == null))))){
varsDup.onComplete = function ():void{
if (onCompleteProxy != null){
onCompleteProxy.apply(null, onCompleteParamsProxy);
};
onCompleteAll.apply(null, onCompleteAllParams);
};
};
a[a.length] = new TweenMax(targets[i], duration, varsDup);
curDelay = (curDelay + stagger);
i = (i + 1);
};
return (a);
}
TweenPlugin.activate([AutoAlphaPlugin, EndArrayPlugin, FramePlugin, RemoveTintPlugin, TintPlugin, VisiblePlugin, VolumePlugin, BevelFilterPlugin, BezierPlugin, BezierThroughPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, ColorTransformPlugin, DropShadowFilterPlugin, FrameLabelPlugin, GlowFilterPlugin, HexColorsPlugin, RoundPropsPlugin, ShortRotationPlugin, {}]);
}
}//package com.greensock
Section 52
//Tracker (com.memecounter.Tracker)
package com.memecounter {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class Tracker {
public static const ORI_DOM:String = "ori_dom";
public static const LOCALHOST:String = "localhost";
private static const MAX_ATTEMPTS:int = 3;
public static const LOCAL:String = "Local";
private static const ERROR_URL:String = "http://error.distralytics.com/comms/";
public static const TRACKER_PATH:String = "/node/tracking/trackerAS3.swf";
private static var ori_dom:String;
private static var lurl:String;
private static var _isReady:Boolean = false;
private static var _isInited:Boolean = false;
public static var c:uint;
public static var d:String = "";
public static var a:uint = 0;
public static var root:DisplayObject;
public static var mcEvent:Function;
public static var fpv:String = "";
private static var l:Loader;
public static var da:Array = ["distralytics.com", "distralytics.co.uk"];
private static var tracker:MovieClip;
private static function loadComplete(_arg1:Event):void{
var e = _arg1;
try {
tracker = e.target.content;
tracker.init(Tracker, root);
_isReady = true;
} catch(e:Error) {
trace("Memecounter error: unable to access tracker object due to security sandbox.");
};
}
public static function init(_arg1:uint, _arg2:DisplayObject):void{
var _local3:uint;
if (!_isInited){
_isInited = true;
c = _arg1;
root = _arg2;
_local3 = 0;
while (_local3 < da.length) {
Security.allowDomain(("*" + da[_local3]));
Security.allowDomain(da[_local3]);
Security.allowDomain(((c + ".c.") + da[_local3]));
Security.allowDomain(("*." + da[_local3]));
_local3++;
};
ori_dom = (root.loaderInfo.parameters.hasOwnProperty(ORI_DOM)) ? root.loaderInfo.parameters[ORI_DOM] : "";
d = ((ori_dom)!="") ? ori_dom : ((new LocalConnection().domain.indexOf(LOCALHOST))==-1) ? new LocalConnection().domain : LOCAL;
fpv = Capabilities.version.split(" ")[1].split(",")[0];
lurl = (((((((((TRACKER_PATH + "?c=") + c) + "&r=") + Math.floor((Math.random() * 10000000000))) + "&d=") + d) + "&p=") + fpv) + "&as=3");
l = new Loader();
l.contentLoaderInfo.addEventListener(Event.INIT, loadComplete);
l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
lc();
mcEvent = kvEvent;
};
}
private static function loadError(_arg1:Event):void{
var _local2:URLLoader;
var _local3:URLRequest;
var _local4:URLVariables;
a++;
if (a < MAX_ATTEMPTS){
lc();
} else {
_local2 = new URLLoader();
_local3 = new URLRequest(ERROR_URL);
_local4 = new URLVariables();
_local3.method = URLRequestMethod.GET;
_local3.data = _local4;
_local4.error = "Unable to load SWF";
_local4.c = c;
_local4.fd = root.loaderInfo.loaderURL;
_local4.p = fpv;
_local4.mv = "3.3.x";
_local4.r = Math.random();
_local2.load(_local3);
};
}
public static function get isReady():Boolean{
return (_isReady);
}
public static function mcClick(_arg1:String, _arg2:String=null):void{
if (_isReady){
tracker.mcClick(_arg1, _arg2);
};
}
public static function kvEvent(_arg1):void{
if (_isReady){
tracker.kvEvent(_arg1);
};
}
public static function kvCountry():String{
if (_isReady){
return (tracker.kvCountry());
};
return ("");
}
public static function kvClick(_arg1:uint):void{
if (_isReady){
tracker.kvClick(_arg1);
};
}
private static function lc():void{
var _local1:String;
var _local2:String;
_local2 = da[(a % da.length)];
if (_local2.charAt(0) === "."){
_local1 = (("http://" + _local2.substr(1, (_local2.length - 1))) + lurl);
} else {
_local1 = (((("http://" + c) + ".c.") + _local2) + lurl);
};
Security.allowDomain(_local1);
l.load(new URLRequest(_local1));
}
}
}//package com.memecounter
Section 53
//_assets_1 (running_fla._assets_1)
package running_fla {
import flash.display.*;
public dynamic class _assets_1 extends MovieClip {
public function _assets_1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package running_fla
Section 54
//Birds_24 (running_fla.Birds_24)
package running_fla {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.xml.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
public dynamic class Birds_24 extends MovieClip {
public var bird_1:MovieClip;
public var bird_2:MovieClip;
public var bird_3:MovieClip;
public var bird_4:MovieClip;
public var bird_0:MovieClip;
public var bird_5:MovieClip;
public var f:int;
public var i:int;
public function Birds_24(){
addFrameScript(0, frame1);
}
function frame1(){
f = 0;
i = 0;
while (i < 5) {
this[("bird_" + i)].gotoAndPlay(f);
f = (f + 10);
i++;
};
}
}
}//package running_fla
Section 55
//btn_cta_large_174 (running_fla.btn_cta_large_174)
package running_fla {
import flash.display.*;
public dynamic class btn_cta_large_174 extends MovieClip {
public function btn_cta_large_174(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package running_fla
Section 56
//calltoaction_184 (running_fla.calltoaction_184)
package running_fla {
import flash.display.*;
import flash.text.*;
public dynamic class calltoaction_184 extends MovieClip {
public var btn_buybluetrack:MovieClip;
public var text_voucher:TextField;
}
}//package running_fla
Section 57
//cta_large_173 (running_fla.cta_large_173)
package running_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cta_large_173 extends MovieClip {
public var btn_buybluetrack:MovieClip;
public var text_voucher:TextField;
}
}//package running_fla
Section 58
//fly_49 (running_fla.fly_49)
package running_fla {
import flash.display.*;
public dynamic class fly_49 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 59
//goal_finish_42 (running_fla.goal_finish_42)
package running_fla {
import flash.display.*;
public dynamic class goal_finish_42 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 60
//item_switch_45 (running_fla.item_switch_45)
package running_fla {
import flash.display.*;
public dynamic class item_switch_45 extends MovieClip {
public function item_switch_45(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package running_fla
Section 61
//maskedanim2_228 (running_fla.maskedanim2_228)
package running_fla {
import flash.display.*;
public dynamic class maskedanim2_228 extends MovieClip {
public var mc_mask:MovieClip;
public var mc_mask_2:MovieClip;
}
}//package running_fla
Section 62
//obstacle_breakfasttray_67 (running_fla.obstacle_breakfasttray_67)
package running_fla {
import flash.display.*;
public dynamic class obstacle_breakfasttray_67 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 63
//obstacle_calculator_55 (running_fla.obstacle_calculator_55)
package running_fla {
import flash.display.*;
public dynamic class obstacle_calculator_55 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 64
//obstacle_clamp_78 (running_fla.obstacle_clamp_78)
package running_fla {
import flash.display.*;
public dynamic class obstacle_clamp_78 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 65
//obstacle_coffeecup_137 (running_fla.obstacle_coffeecup_137)
package running_fla {
import flash.display.*;
public dynamic class obstacle_coffeecup_137 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 66
//obstacle_croissant_139 (running_fla.obstacle_croissant_139)
package running_fla {
import flash.display.*;
public dynamic class obstacle_croissant_139 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 67
//obstacle_desk_131 (running_fla.obstacle_desk_131)
package running_fla {
import flash.display.*;
public dynamic class obstacle_desk_131 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 68
//obstacle_deskphone_59 (running_fla.obstacle_deskphone_59)
package running_fla {
import flash.display.*;
public dynamic class obstacle_deskphone_59 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 69
//obstacle_drill_80 (running_fla.obstacle_drill_80)
package running_fla {
import flash.display.*;
public dynamic class obstacle_drill_80 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 70
//obstacle_fly_beach_2_51 (running_fla.obstacle_fly_beach_2_51)
package running_fla {
import flash.display.*;
public dynamic class obstacle_fly_beach_2_51 extends MovieClip {
public var mc_inner:MovieClip;
}
}//package running_fla
Section 71
//obstacle_foot_148 (running_fla.obstacle_foot_148)
package running_fla {
import flash.display.*;
public dynamic class obstacle_foot_148 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 72
//obstacle_hammer_83 (running_fla.obstacle_hammer_83)
package running_fla {
import flash.display.*;
public dynamic class obstacle_hammer_83 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 73
//obstacle_hand_141 (running_fla.obstacle_hand_141)
package running_fla {
import flash.display.*;
public dynamic class obstacle_hand_141 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 74
//obstacle_headphones_117 (running_fla.obstacle_headphones_117)
package running_fla {
import flash.display.*;
public dynamic class obstacle_headphones_117 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 75
//obstacle_hotwaterbottle_65 (running_fla.obstacle_hotwaterbottle_65)
package running_fla {
import flash.display.*;
public dynamic class obstacle_hotwaterbottle_65 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 76
//obstacle_jeansrip_121 (running_fla.obstacle_jeansrip_121)
package running_fla {
import flash.display.*;
public dynamic class obstacle_jeansrip_121 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 77
//obstacle_jotter_129 (running_fla.obstacle_jotter_129)
package running_fla {
import flash.display.*;
public dynamic class obstacle_jotter_129 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 78
//obstacle_keys_113 (running_fla.obstacle_keys_113)
package running_fla {
import flash.display.*;
public dynamic class obstacle_keys_113 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 79
//obstacle_lstep_94 (running_fla.obstacle_lstep_94)
package running_fla {
import flash.display.*;
public dynamic class obstacle_lstep_94 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 80
//obstacle_orangejuice_156 (running_fla.obstacle_orangejuice_156)
package running_fla {
import flash.display.*;
public dynamic class obstacle_orangejuice_156 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 81
//obstacle_paperball_127 (running_fla.obstacle_paperball_127)
package running_fla {
import flash.display.*;
public dynamic class obstacle_paperball_127 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 82
//obstacle_phone_119 (running_fla.obstacle_phone_119)
package running_fla {
import flash.display.*;
public dynamic class obstacle_phone_119 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 83
//obstacle_pliers_97 (running_fla.obstacle_pliers_97)
package running_fla {
import flash.display.*;
public dynamic class obstacle_pliers_97 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 84
//obstacle_postit_57 (running_fla.obstacle_postit_57)
package running_fla {
import flash.display.*;
public dynamic class obstacle_postit_57 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 85
//obstacle_redscrewdriver_100 (running_fla.obstacle_redscrewdriver_100)
package running_fla {
import flash.display.*;
public dynamic class obstacle_redscrewdriver_100 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 86
//obstacle_showergel_150 (running_fla.obstacle_showergel_150)
package running_fla {
import flash.display.*;
public dynamic class obstacle_showergel_150 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 87
//obstacle_slipper_125 (running_fla.obstacle_slipper_125)
package running_fla {
import flash.display.*;
public dynamic class obstacle_slipper_125 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 88
//obstacle_spannerstep2_76 (running_fla.obstacle_spannerstep2_76)
package running_fla {
import flash.display.*;
public dynamic class obstacle_spannerstep2_76 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 89
//obstacle_sponge_146 (running_fla.obstacle_sponge_146)
package running_fla {
import flash.display.*;
public dynamic class obstacle_sponge_146 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 90
//obstacle_starfish_37 (running_fla.obstacle_starfish_37)
package running_fla {
import flash.display.*;
public dynamic class obstacle_starfish_37 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 91
//obstacle_step_85 (running_fla.obstacle_step_85)
package running_fla {
import flash.display.*;
public dynamic class obstacle_step_85 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 92
//obstacle_ticket_135 (running_fla.obstacle_ticket_135)
package running_fla {
import flash.display.*;
public dynamic class obstacle_ticket_135 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 93
//obstacle_wallet_115 (running_fla.obstacle_wallet_115)
package running_fla {
import flash.display.*;
public dynamic class obstacle_wallet_115 extends MovieClip {
public var mc_hit:MovieClip;
}
}//package running_fla
Section 94
//preloader_mask_2_233 (running_fla.preloader_mask_2_233)
package running_fla {
import flash.display.*;
public dynamic class preloader_mask_2_233 extends MovieClip {
public var mc_inner:MovieClip;
}
}//package running_fla
Section 95
//preloader_mask_229 (running_fla.preloader_mask_229)
package running_fla {
import flash.display.*;
public dynamic class preloader_mask_229 extends MovieClip {
public var mc_inner:MovieClip;
}
}//package running_fla
Section 96
//social_bookmarks_211 (running_fla.social_bookmarks_211)
package running_fla {
import flash.display.*;
public dynamic class social_bookmarks_211 extends MovieClip {
public var btn_facebook:MovieClip;
public var btn_stumbleupon:MovieClip;
public var btn_digg:MovieClip;
public var btn_twitter:MovieClip;
public var btn_reddit:MovieClip;
}
}//package running_fla
Section 97
//tooltip_bottom_200 (running_fla.tooltip_bottom_200)
package running_fla {
import flash.display.*;
import flash.text.*;
public dynamic class tooltip_bottom_200 extends MovieClip {
public var text_tip:TextField;
}
}//package running_fla
Section 98
//tooltip_top_201 (running_fla.tooltip_top_201)
package running_fla {
import flash.display.*;
import flash.text.*;
public dynamic class tooltip_top_201 extends MovieClip {
public var text_tip:TextField;
}
}//package running_fla
Section 99
//StageMask (tamba.display.StageMask)
package tamba.display {
import flash.display.*;
public class StageMask extends Sprite {
public function StageMask(_arg1:uint, _arg2:uint):void{
this.graphics.beginFill(0xFF0000);
this.graphics.drawRect(0, 0, _arg1, _arg2);
this.graphics.endFill();
}
}
}//package tamba.display
Section 100
//EventWithParams (tamba.events.EventWithParams)
package tamba.events {
import flash.events.*;
public class EventWithParams extends Event {
private var _eventParams:Object;
private var _eventType:String;// = "onCustomEvent"
public function EventWithParams(_arg1:String, _arg2:Object=null){
_eventType = "onCustomEvent";
_eventParams = {};
super(_arg1, true, true);
_eventType = _arg1;
_eventParams = _arg2;
}
public function get params():Object{
return (_eventParams);
}
override public function get type():String{
return (_eventType);
}
}
}//package tamba.events
Section 101
//Preloader (tamba.events.Preloader)
package tamba.events {
import flash.events.*;
import flash.display.*;
public class Preloader extends Sprite {
private var preloaderParent;
public static const COMPLETE:String = "onPreloaderComplete";
public static const PROGRESS:String = "onPreloaderProgress";
public function Preloader(_arg1):void{
preloaderParent = _arg1;
}
public function start():void{
if (preloaderParent.loaderInfo.bytesLoaded >= preloaderParent.loaderInfo.bytesTotal){
onPreloaderComplete();
} else {
preloaderParent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onPreloaderProgress, false, 0, true);
preloaderParent.loaderInfo.addEventListener(Event.COMPLETE, onPreloaderComplete, false, 0, true);
};
}
private function onPreloaderProgress(_arg1:ProgressEvent):void{
dispatchEvent(new EventWithParams(PROGRESS, {progress:(_arg1.bytesLoaded / _arg1.bytesTotal)}));
}
private function onPreloaderComplete(_arg1:Event=null):void{
dispatchEvent(new EventWithParams(COMPLETE));
}
}
}//package tamba.events
Section 102
//Audio (tamba.media.Audio)
package tamba.media {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.media.*;
public class Audio extends Sprite {
private var fadeStartVolume:Number;// = 0
public var isFading:Boolean;// = false
private var musicChannel:SoundChannel;
private var fadeTimer:Timer;
private var fadeRate:Number;// = 0.05
private var effectsChannel:SoundChannel;
private var fadeTimerMs:int;// = 50
private var fadeEndVolume:Number;// = 0
private var effectsList:Array;
private var introChannel:SoundChannel;
private static var _musicVolume:Number = 1;
private static var _effectsVolume:Number = 1;
public function Audio(){
effectsList = [];
fadeTimerMs = 50;
fadeStartVolume = 0;
fadeEndVolume = 0;
fadeRate = 0.05;
isFading = false;
super();
}
public function fadeMusic(_arg1:Number=0, _arg2:Number=1, _arg3:Number=1):void{
_musicVolume = (fadeStartVolume = _arg1);
fadeEndVolume = _arg2;
isFading = true;
fadeRate = (Math.abs((fadeEndVolume - fadeStartVolume)) / ((_arg3 / fadeTimerMs) * 1000));
fadeTimer = new Timer(fadeTimerMs);
fadeTimer.addEventListener("timer", onFadeTimer, false, 0, true);
fadeTimer.start();
}
private function onFadeTimer(_arg1:Event):void{
if (fadeEndVolume > fadeStartVolume){
_musicVolume = (_musicVolume + fadeRate);
} else {
_musicVolume = (_musicVolume - fadeRate);
};
if ((((((fadeEndVolume > fadeStartVolume)) && ((_musicVolume > fadeEndVolume)))) || ((((fadeEndVolume <= fadeStartVolume)) && ((_musicVolume < fadeEndVolume)))))){
_musicVolume = fadeEndVolume;
fadeTimer.stop();
isFading = false;
};
applyMusicVolume();
}
private function onIntroComplete(_arg1:Event):void{
playMusic("music_main");
introChannel.removeEventListener(Event.SOUND_COMPLETE, onIntroComplete);
dispatchEvent(new Event("onIntroComplete"));
}
public function set musicVolume(_arg1:Number):void{
_musicVolume = _arg1;
if (_musicVolume >= 1){
_musicVolume = 0.75;
};
applyMusicVolume();
}
public function stopMusic():void{
if (musicChannel != null){
musicChannel.stop();
};
if (introChannel != null){
introChannel.stop();
};
}
public function playMusic(_arg1:String):void{
var linkage = _arg1;
try {
musicChannel = new (getDefinitionByName(linkage)).play(0, 999);
applyMusicVolume();
} catch(error:Error) {
trace("playMusic: Invalid linkage >", linkage);
};
}
public function set effectsVolume(_arg1:Number):void{
_effectsVolume = _arg1;
applyEffectsVolume();
}
private function applyMusicVolume():void{
var _local1:SoundTransform;
var _local2:SoundTransform;
if (musicChannel != null){
_local1 = musicChannel.soundTransform;
_local1.volume = _musicVolume;
musicChannel.soundTransform = _local1;
};
if (introChannel != null){
_local2 = introChannel.soundTransform;
_local2.volume = _musicVolume;
introChannel.soundTransform = _local2;
};
}
public function playIntro(_arg1:String):void{
var introMusic:Sound;
var linkage = _arg1;
try {
introMusic = new (getDefinitionByName(linkage));
introChannel = introMusic.play();
introChannel.addEventListener(Event.SOUND_COMPLETE, onIntroComplete);
applyMusicVolume();
} catch(error:Error) {
trace("playIntro: Invalid linkage >", linkage);
};
}
public function get musicVolume():Number{
return (_musicVolume);
}
public function stopEffects():void{
var _local1:uint;
_local1 = effectsList.length;
while (_local1--) {
if (effectsList[_local1] != null){
effectsList[_local1].stop();
};
};
effectsList = [];
}
public function cancelFadeMusic():void{
if (fadeTimer != null){
fadeTimer.stop();
isFading = false;
};
}
public function get effectsVolume():Number{
return (_effectsVolume);
}
public function playEffect(_arg1:String, _arg2:int=1):void{
var linkage = _arg1;
var repeat = _arg2;
try {
effectsChannel = new (getDefinitionByName(linkage)).play(0, repeat);
effectsList.push(effectsChannel);
applyEffectsVolume();
} catch(error:Error) {
trace("playEffect: Invalid linkage >", linkage);
};
}
private function applyEffectsVolume():void{
var _local1:uint;
var _local2:SoundTransform;
_local1 = effectsList.length;
while (_local1--) {
if (effectsList[_local1] != null){
_local2 = effectsChannel.soundTransform;
_local2.volume = _effectsVolume;
effectsList[_local1].soundTransform = _local2;
};
};
}
}
}//package tamba.media
Section 103
//FileDownloader (tamba.net.FileDownloader)
package tamba.net {
import flash.events.*;
import flash.display.*;
import tamba.events.*;
import flash.net.*;
import flash.system.*;
public class FileDownloader extends Loader {
private var _progress:Number;// = 0
private var _id:String;// = ""
public function FileDownloader():void{
_progress = 0;
_id = "";
super();
contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onDownloadProgress, false, 0, true);
contentLoaderInfo.addEventListener(Event.COMPLETE, onDownloadComplete, false, 0, true);
contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onDownloadIOError, false, 0, true);
contentLoaderInfo.addEventListener(ErrorEvent.ERROR, onDownloadGeneralError, false, 0, true);
contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onDownloadSecurityError, false, 0, true);
}
public function get id():String{
return (_id);
}
private function onDownloadIOError(_arg1:IOErrorEvent):void{
dispatchError(new Error(_arg1.text));
}
public function get progress():Number{
return (_progress);
}
private function onDownloadGeneralError(_arg1:IOErrorEvent):void{
dispatchError(new Error(_arg1.text));
}
private function normalise(_arg1:Number):Number{
var _local2:Number;
_local2 = _arg1;
if (_local2 > 1){
_local2 = 1;
};
if (_local2 < 0){
_local2 = 0;
};
_local2 = Number(_local2.toFixed(3));
return (_local2);
}
private function onDownloadSecurityError(_arg1:SecurityErrorEvent):void{
dispatchError(new Error(_arg1.text));
}
public function download(_arg1:String, _arg2:String=""):void{
var _local3:LoaderContext;
unload();
_id = _arg2;
_local3 = new LoaderContext();
_local3.checkPolicyFile = true;
super.load(new URLRequest(_arg1), _local3);
}
private function dispatchError(_arg1):void{
dispatchEvent(new EventWithParams("onDownloadError", {name:_arg1.name, message:_arg1.message}));
}
private function onDownloadProgress(_arg1:ProgressEvent):void{
_progress = normalise((_arg1.bytesLoaded / _arg1.bytesTotal));
dispatchEvent(new EventWithParams("onDownloadProgress", {progress:_progress}));
}
private function onDownloadComplete(_arg1:Event):void{
dispatchEvent(new EventWithParams("onDownloadComplete", {content:content}));
}
}
}//package tamba.net
Section 104
//GetURL (tamba.net.GetURL)
package tamba.net {
import flash.display.*;
import flash.net.*;
public class GetURL extends Sprite {
public static function goto(_arg1:String, _arg2:String=null):void{
var req:URLRequest;
var url = _arg1;
var window = _arg2;
req = new URLRequest(url);
try {
navigateToURL(req, window);
} catch(e:Error) {
trace("GetURL failed", e.message);
};
}
}
}//package tamba.net
Section 105
//GlobalObject (tamba.utils.GlobalObject)
package tamba.utils {
public class GlobalObject {
private static var _vars:Object = {};
public static function set(_arg1:String, _arg2):void{
_vars[_arg1] = _arg2;
}
public static function get(_arg1:String){
if (_vars[_arg1] == null){
};
return (_vars[_arg1]);
}
}
}//package tamba.utils
Section 106
//bonus_overlay (bonus_overlay)
package {
import flash.display.*;
public dynamic class bonus_overlay extends MovieClip {
public var mc_torch:MovieClip;
}
}//package
Section 107
//bonus_title (bonus_title)
package {
import flash.display.*;
public dynamic class bonus_title extends MovieClip {
}
}//package
Section 108
//bonus_underlay (bonus_underlay)
package {
import flash.display.*;
public dynamic class bonus_underlay extends MovieClip {
}
}//package
Section 109
//countdown (countdown)
package {
import flash.display.*;
import flash.text.*;
public dynamic class countdown extends MovieClip {
public var text_count:TextField;
}
}//package
Section 110
//debug_mc (debug_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class debug_mc extends MovieClip {
public var text_debug:TextField;
}
}//package
Section 111
//expand_mask (expand_mask)
package {
import flash.display.*;
public dynamic class expand_mask extends MovieClip {
}
}//package
Section 112
//game_hud (game_hud)
package {
import flash.display.*;
import flash.text.*;
public dynamic class game_hud extends MovieClip {
public var text_score:TextField;
public var mc_clock:MovieClip;
public var text_hiscore:TextField;
public var text_levelname:TextField;
public var text_time:TextField;
public var text_levelnumber:TextField;
}
}//package
Section 113
//game_hud_bluetrack (game_hud_bluetrack)
package {
import flash.display.*;
public dynamic class game_hud_bluetrack extends MovieClip {
}
}//package
Section 114
//game_hud_bonus (game_hud_bonus)
package {
import flash.display.*;
import flash.text.*;
public dynamic class game_hud_bonus extends MovieClip {
public var text_score:TextField;
public var mc_clock:MovieClip;
public var text_hiscore:TextField;
public var text_levelname:TextField;
public var text_time:TextField;
public var text_levelnumber:TextField;
}
}//package
Section 115
//game_tooltip (game_tooltip)
package {
import flash.display.*;
public dynamic class game_tooltip extends MovieClip {
public var mc_bulb:MovieClip;
public var mc_top:MovieClip;
public var mc_bottom:MovieClip;
}
}//package
Section 116
//game_tooltip_powerbeam (game_tooltip_powerbeam)
package {
import flash.display.*;
public dynamic class game_tooltip_powerbeam extends MovieClip {
}
}//package
Section 117
//granite_base (granite_base)
package {
import flash.display.*;
public dynamic class granite_base extends MovieClip {
public var mc_texture:MovieClip;
}
}//package
Section 118
//level_beach (level_beach)
package {
import flash.display.*;
public dynamic class level_beach extends MovieClip {
public var floor_towel:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_suncream:MovieClip;
public var obstacle_starfish:MovieClip;
public var obstacle_spade:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_swatter:MovieClip;
public var obstacle_suncreambottle:MovieClip;
public var obstacle_fly_1:MovieClip;
public var item_bigcheese:MovieClip;
public var obstacle_fly_2:MovieClip;
public var obstacle_stone:MovieClip;
public var switch_1:MovieClip;
public var switch_3:MovieClip;
public var switch_2:MovieClip;
}
}//package
Section 119
//level_desk (level_desk)
package {
import flash.display.*;
public dynamic class level_desk extends MovieClip {
public var floor_desk:MovieClip;
public var obstacle_paw:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_postit:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_calculator:MovieClip;
public var item_bigcheese:MovieClip;
public var obstacle_pencil:MovieClip;
public var obstacle_deskphone:MovieClip;
}
}//package
Section 120
//level_duvet (level_duvet)
package {
import flash.display.*;
public dynamic class level_duvet extends MovieClip {
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var floor_duvet:MovieClip;
public var obstacle_hotwaterbottle:MovieClip;
public var obstacle_breakfasttray:MovieClip;
}
}//package
Section 121
//level_garage_1 (level_garage_1)
package {
import flash.display.*;
public dynamic class level_garage_1 extends MovieClip {
public var goal_start:MovieClip;
public var obstacle_spanner:MovieClip;
public var obstacle_spiritlevel:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_spannerstep:MovieClip;
public var floor_garage:MovieClip;
public var item_torch:MovieClip;
}
}//package
Section 122
//level_garage_2 (level_garage_2)
package {
import flash.display.*;
public dynamic class level_garage_2 extends MovieClip {
public var obstacle_clamp:MovieClip;
public var obstacle_spannerstep2:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var item_cheese:MovieClip;
public var floor_garage:MovieClip;
public var obstacle_drill:MovieClip;
public var item_torch:MovieClip;
public var obstacle_paw:MovieClip;
}
}//package
Section 123
//level_garage_3 (level_garage_3)
package {
import flash.display.*;
public dynamic class level_garage_3 extends MovieClip {
public var obstacle_clamp:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var obstacle_saw:MovieClip;
public var obstacle_hammer:MovieClip;
public var obstacle_step:MovieClip;
public var item_cheese:MovieClip;
public var floor_garage:MovieClip;
public var item_bigcheese:MovieClip;
public var item_torch:MovieClip;
public var obstacle_paw:MovieClip;
}
}//package
Section 124
//level_garage_4 (level_garage_4)
package {
import flash.display.*;
public dynamic class level_garage_4 extends MovieClip {
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var obstacle_step4:MovieClip;
public var obstacle_step3:MovieClip;
public var obstacle_step5:MovieClip;
public var item_cheese:MovieClip;
public var floor_garage:MovieClip;
public var item_bigcheese:MovieClip;
public var item_torch:MovieClip;
}
}//package
Section 125
//level_garage_5 (level_garage_5)
package {
import flash.display.*;
public dynamic class level_garage_5 extends MovieClip {
public var obstacle_pliers:MovieClip;
public var obstacle_paw_2:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var obstacle_tapemeasure:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_paw_1:MovieClip;
public var obstacle_redscrewdriver:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_lstep:MovieClip;
public var obstacle_step6:MovieClip;
public var floor_garage:MovieClip;
public var glow_clip:MovieClip;
public var item_bigcheese:MovieClip;
public var item_torch:MovieClip;
public var switch_1:MovieClip;
}
}//package
Section 126
//level_gardenpath (level_gardenpath)
package {
import flash.display.*;
public dynamic class level_gardenpath extends MovieClip {
public var obstacle_broomhandle:MovieClip;
public var obstacle_ladybird:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_treestump:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_broom:MovieClip;
public var item_bigcheese:MovieClip;
public var item_cracker:MovieClip;
public var glow_clip:MovieClip;
public var item_torch:MovieClip;
public var floor_gardenpath:MovieClip;
public var obstacle_paw:MovieClip;
}
}//package
Section 127
//level_jeans (level_jeans)
package {
import flash.display.*;
public dynamic class level_jeans extends MovieClip {
public var floor_jeans:MovieClip;
public var obstacle_jeansrip:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_headphones:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_wallet:MovieClip;
public var obstacle_keys:MovieClip;
public var item_bigcheese:MovieClip;
public var obstacle_phone:MovieClip;
public var glow_clip:MovieClip;
public var item_torch:MovieClip;
}
}//package
Section 128
//level_lounge (level_lounge)
package {
import flash.display.*;
public dynamic class level_lounge extends MovieClip {
public var obstacle_slipper:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var obstacle_desk:MovieClip;
public var goal_finish:MovieClip;
public var floor_carpet:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_jotter:MovieClip;
public var item_bigcheese:MovieClip;
public var obstacle_paperball:MovieClip;
}
}//package
Section 129
//level_metal (level_metal)
package {
import flash.display.*;
public dynamic class level_metal extends MovieClip {
public var floor_metal:MovieClip;
public var obstacle_hand:MovieClip;
public var item_crackers:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_coffeecup:MovieClip;
public var item_bigcheese:MovieClip;
public var glow_clip:MovieClip;
public var obstacle_fly:MovieClip;
public var item_torch:MovieClip;
public var obstacle_ticket:MovieClip;
public var switch_1:MovieClip;
public var obstacle_croissant:MovieClip;
}
}//package
Section 130
//level_outro (level_outro)
package {
import flash.display.*;
public dynamic class level_outro extends MovieClip {
public var mc_message:MovieClip;
}
}//package
Section 131
//level_shower (level_shower)
package {
import flash.display.*;
public dynamic class level_shower extends MovieClip {
public var obstacle_foot:MovieClip;
public var obstacle_showergel:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_sponge:MovieClip;
public var floor_shower:MovieClip;
}
}//package
Section 132
//level_table (level_table)
package {
import flash.display.*;
public dynamic class level_table extends MovieClip {
public var obstacle_knife:MovieClip;
public var obstacle_roll:MovieClip;
public var floor_tablecloth:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var item_cheese:MovieClip;
public var obstacle_fork:MovieClip;
public var obstacle_breadboard:MovieClip;
public var obstacle_orangejuice:MovieClip;
public var item_bigcheese:MovieClip;
public var item_cracker:MovieClip;
public var glow_clip:MovieClip;
public var item_torch:MovieClip;
public var obstacle_paw:MovieClip;
}
}//package
Section 133
//level_workshop (level_workshop)
package {
import flash.display.*;
public dynamic class level_workshop extends MovieClip {
public var obstacle_paw_2:MovieClip;
public var item_crackers:MovieClip;
public var obstacle_saw2:MovieClip;
public var goal_start:MovieClip;
public var goal_finish:MovieClip;
public var obstacle_oil_1:MovieClip;
public var obstacle_oil_2:MovieClip;
public var obstacle_oilcan:MovieClip;
public var obstacle_paw_1:MovieClip;
public var obstacle_ruler:MovieClip;
public var item_cheese:MovieClip;
public var floor_wooden:MovieClip;
public var item_bigcheese:MovieClip;
public var obstacle_pencil:MovieClip;
public var glow_clip:MovieClip;
public var item_torch:MovieClip;
}
}//package
Section 134
//levelselect_level (levelselect_level)
package {
import flash.display.*;
import flash.text.*;
public dynamic class levelselect_level extends MovieClip {
public var mc_lock:MovieClip;
public var text_levelname:TextField;
public var mc_image:MovieClip;
public var mc_bg:MovieClip;
public var text_levelnumber:TextField;
}
}//package
Section 135
//mouse_char (mouse_char)
package {
import flash.display.*;
public dynamic class mouse_char extends MovieClip {
public var mc_hit:MovieClip;
public var mc_inner:MovieClip;
}
}//package
Section 136
//music_bluetrack (music_bluetrack)
package {
import flash.media.*;
public dynamic class music_bluetrack extends Sound {
}
}//package
Section 137
//music_bonus (music_bonus)
package {
import flash.media.*;
public dynamic class music_bonus extends Sound {
}
}//package
Section 138
//music_game (music_game)
package {
import flash.media.*;
public dynamic class music_game extends Sound {
}
}//package
Section 139
//music_title (music_title)
package {
import flash.media.*;
public dynamic class music_title extends Sound {
}
}//package
Section 140
//preloader_bonuslevel (preloader_bonuslevel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class preloader_bonuslevel extends MovieClip {
public var text_name:TextField;
}
}//package
Section 141
//preloader_level (preloader_level)
package {
import flash.display.*;
import flash.text.*;
public dynamic class preloader_level extends MovieClip {
public var text_name:TextField;
public var text_level:TextField;
}
}//package
Section 142
//score_collect (score_collect)
package {
import flash.display.*;
import flash.text.*;
public dynamic class score_collect extends MovieClip {
public var text_value:TextField;
}
}//package
Section 143
//screen_complete (screen_complete)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_complete extends MovieClip {
public var text_score:TextField;
public var btn_restartgame:MovieClip;
public var text_hiscore:TextField;
public var btn_chooselevel:MovieClip;
public var mc_shadow:MovieClip;
public var mc_cta:MovieClip;
}
}//package
Section 144
//screen_complete_social (screen_complete_social)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_complete_social extends MovieClip {
public var text_score:TextField;
public var btn_restartgame:MovieClip;
public var text_hiscore:TextField;
public var btn_chooselevel:MovieClip;
public var mc_shadow:MovieClip;
public var mc_cta:MovieClip;
public var btn_updateleaderboard:MovieClip;
}
}//package
Section 145
//screen_game (screen_game)
package {
import flash.display.*;
public dynamic class screen_game extends MovieClip {
public var btn_sound:MovieClip;
}
}//package
Section 146
//screen_gameover (screen_gameover)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_gameover extends MovieClip {
public var text_score:TextField;
public var btn_restartgame:MovieClip;
public var text_hiscore:TextField;
public var btn_replaylevel:MovieClip;
public var mc_shadow:MovieClip;
public var mc_cta:MovieClip;
}
}//package
Section 147
//screen_gameover_social (screen_gameover_social)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_gameover_social extends MovieClip {
public var text_score:TextField;
public var btn_restartgame:MovieClip;
public var text_hiscore:TextField;
public var btn_replaylevel:MovieClip;
public var mc_shadow:MovieClip;
public var mc_cta:MovieClip;
public var btn_updateleaderboard:MovieClip;
}
}//package
Section 148
//screen_levelloader (screen_levelloader)
package {
import flash.display.*;
public dynamic class screen_levelloader extends MovieClip {
}
}//package
Section 149
//screen_levelselect (screen_levelselect)
package {
import flash.display.*;
public dynamic class screen_levelselect extends MovieClip {
public var btn_restart:MovieClip;
public var mc_shadow:MovieClip;
public var btn_back:MovieClip;
}
}//package
Section 150
//screen_preloader (screen_preloader)
package {
import flash.display.*;
public dynamic class screen_preloader extends MovieClip {
public var mc_inner:MovieClip;
public var mc_shadow:MovieClip;
}
}//package
Section 151
//screen_titlescreen (screen_titlescreen)
package {
import flash.display.*;
public dynamic class screen_titlescreen extends MovieClip {
public var btn_sound:MovieClip;
public var btn_start:MovieClip;
public var mc_shadow:MovieClip;
}
}//package
Section 152
//screen_titlescreen_return (screen_titlescreen_return)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_titlescreen_return extends MovieClip {
public var text_hiscore:TextField;
public var btn_chooselevel:MovieClip;
public var btn_sound:MovieClip;
public var btn_start:MovieClip;
public var mc_shadow:MovieClip;
}
}//package
Section 153
//screen_titlescreen_standalone (screen_titlescreen_standalone)
package {
import flash.display.*;
public dynamic class screen_titlescreen_standalone extends MovieClip {
public var btn_sound:MovieClip;
public var mc_bookmarks:MovieClip;
public var btn_start:MovieClip;
public var mc_shadow:MovieClip;
}
}//package
Section 154
//screen_titlescreen_standalone_return (screen_titlescreen_standalone_return)
package {
import flash.display.*;
public dynamic class screen_titlescreen_standalone_return extends MovieClip {
public var btn_chooselevel:MovieClip;
public var btn_sound:MovieClip;
public var mc_bookmarks:MovieClip;
public var btn_start:MovieClip;
public var mc_shadow:MovieClip;
}
}//package
Section 155
//sound_bluetrack (sound_bluetrack)
package {
import flash.media.*;
public dynamic class sound_bluetrack extends Sound {
}
}//package
Section 156
//sound_cup (sound_cup)
package {
import flash.media.*;
public dynamic class sound_cup extends Sound {
}
}//package
Section 157
//sound_die (sound_die)
package {
import flash.media.*;
public dynamic class sound_die extends Sound {
}
}//package
Section 158
//sound_eat1 (sound_eat1)
package {
import flash.media.*;
public dynamic class sound_eat1 extends Sound {
}
}//package
Section 159
//sound_eat2 (sound_eat2)
package {
import flash.media.*;
public dynamic class sound_eat2 extends Sound {
}
}//package
Section 160
//sound_finish (sound_finish)
package {
import flash.media.*;
public dynamic class sound_finish extends Sound {
}
}//package
Section 161
//sound_fly (sound_fly)
package {
import flash.media.*;
public dynamic class sound_fly extends Sound {
}
}//package
Section 162
//sound_squirt (sound_squirt)
package {
import flash.media.*;
public dynamic class sound_squirt extends Sound {
}
}//package
Section 163
//sound_start (sound_start)
package {
import flash.media.*;
public dynamic class sound_start extends Sound {
}
}//package
Section 164
//sound_swatter (sound_swatter)
package {
import flash.media.*;
public dynamic class sound_swatter extends Sound {
}
}//package
Section 165
//sound_swipe (sound_swipe)
package {
import flash.media.*;
public dynamic class sound_swipe extends Sound {
}
}//package
Section 166
//sound_switch (sound_switch)
package {
import flash.media.*;
public dynamic class sound_switch extends Sound {
}
}//package
Section 167
//sound_torchlight (sound_torchlight)
package {
import flash.media.*;
public dynamic class sound_torchlight extends Sound {
}
}//package
Section 168
//tooltip_bmps (tooltip_bmps)
package {
import flash.display.*;
public dynamic class tooltip_bmps extends MovieClip {
}
}//package
Section 169
//tooltip_new (tooltip_new)
package {
import flash.display.*;
import flash.text.*;
public dynamic class tooltip_new extends MovieClip {
public var mc_bulb:MovieClip;
public var text_top:TextField;
public var text_bottom:TextField;
}
}//package
Section 170
//ui_frame (ui_frame)
package {
import flash.display.*;
public dynamic class ui_frame extends MovieClip {
public var mc_holder:MovieClip;
public var mc_glow:MovieClip;
public var mc_shadow:MovieClip;
}
}//package