Section 1
//AimingLine (Bonuses.AimingLine)
package Bonuses {
import flash.geom.*;
import flash.display.*;
public class AimingLine extends Sprite {
private var _traectory:Array;
public function AimingLine(){
_traectory = [];
super();
}
private function draw():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
var _local4:int;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Boolean;
while (numChildren > 0) {
removeChildAt(0);
};
if (_traectory.length > 0){
_local2 = Point(_traectory[0]).x;
_local3 = Point(_traectory[0]).y;
_local4 = 1;
while (_local4 < _traectory.length) {
_local5 = Point(_traectory[_local4]).x;
_local6 = Point(_traectory[_local4]).y;
_local7 = Math.atan2((_local6 - _local3), (_local5 - _local2));
_local8 = (Math.cos(_local7) * Bubble.RADIUS);
_local9 = (Math.sin(_local7) * Bubble.RADIUS);
_local10 = false;
while (!(_local10)) {
_local1 = new AimingLineDot();
_local1.x = _local2;
_local1.y = _local3;
addChild(_local1);
_local2 = (_local2 + _local8);
_local3 = (_local3 + _local9);
if (_local9 < 0){
if (_local3 < _local6){
_local10 = true;
};
} else {
if (_local3 > _local6){
_local10 = true;
};
};
if (_local8 < 0){
if (_local2 < _local5){
_local10 = true;
};
} else {
if (_local2 > _local5){
_local10 = true;
};
};
};
_local2 = _local5;
_local3 = _local6;
_local4++;
};
_local1 = Sprite(getChildAt((numChildren - 1)));
_local1.x = Point(_traectory[(_traectory.length - 1)]).x;
_local1.y = Point(_traectory[(_traectory.length - 1)]).y;
_local1.scaleX = 2;
_local1.scaleY = 2;
};
}
public function set traectory(_arg1:Array):void{
_traectory = _arg1;
draw();
}
public function remove():void{
parent.removeChild(this);
}
}
}//package Bonuses
Section 2
//BaseBonus (Bonuses.BaseBonus)
package Bonuses {
import flash.display.*;
public class BaseBonus extends Sprite {
protected var _probability:int;
public function activate(_arg1:Game):void{
complete();
}
public function get probability():int{
return (_probability);
}
protected function complete():void{
dispatchEvent(new BonusEvent(BonusEvent.BONUS_COMPLETE));
}
public static function getBonus(_arg1:int):BaseBonus{
var _local2:BaseBonus;
switch (_arg1){
case 0:
_local2 = null;
case 1:
_local2 = new Bonus2x();
break;
case 2:
_local2 = new Bonus3x();
break;
case 3:
_local2 = new BonusAimingLine();
break;
case 4:
_local2 = new BonusBack();
break;
case 5:
_local2 = new BonusBomb();
break;
case 6:
_local2 = new BonusLightning();
break;
};
return (_local2);
}
}
}//package Bonuses
Section 3
//Bonus2x (Bonuses.Bonus2x)
package Bonuses {
public class Bonus2x extends BaseBonus {
public function Bonus2x(){
_probability = 30;
}
override public function activate(_arg1:Game):void{
SoundManager.playSound(SoundManager.SOUND_BONUS_MULTIPLIER);
_arg1.scoreMultiplier = 2;
super.activate(_arg1);
}
}
}//package Bonuses
Section 4
//Bonus3x (Bonuses.Bonus3x)
package Bonuses {
public class Bonus3x extends BaseBonus {
public function Bonus3x(){
_probability = 25;
}
override public function activate(_arg1:Game):void{
SoundManager.playSound(SoundManager.SOUND_BONUS_MULTIPLIER);
_arg1.scoreMultiplier = 3;
super.activate(_arg1);
}
}
}//package Bonuses
Section 5
//BonusAimingLine (Bonuses.BonusAimingLine)
package Bonuses {
public class BonusAimingLine extends BaseBonus {
public function BonusAimingLine(){
_probability = 15;
}
override public function activate(_arg1:Game):void{
SoundManager.playSound(SoundManager.SOUND_BONUS_AIMINGLINE);
_arg1.aimingLineTimer.reset();
_arg1.aimingLineTimer.start();
super.activate(_arg1);
}
}
}//package Bonuses
Section 6
//BonusBack (Bonuses.BonusBack)
package Bonuses {
import flash.geom.*;
import com.greensock.*;
public class BonusBack extends BaseBonus {
public function BonusBack(){
_probability = 15;
}
override public function activate(_arg1:Game):void{
var _local6:Bubble;
var _local7:Point;
SoundManager.playSound(SoundManager.SOUND_BONUS_BACK);
var _local2:TimelineLite = new TimelineLite({onComplete:movingComplete});
var _local3:Array = [];
_arg1.bubbles.invertRowsShift();
var _local4:int;
while (_local4 < _arg1.bubbles.width) {
_local6 = _arg1.bubbles.getBubbleAt(_local4, 0);
if (_local6 != null){
if (_local6.bonus != null){
_arg1.bonuses[_local6.color] = false;
};
_arg1.bubbles.removeBubble(_local6);
_local6.fall();
};
_local4++;
};
var _local5 = 1;
while (_local5 < _arg1.bubbles.height) {
_local4 = 0;
while (_local4 < _arg1.bubbles.width) {
_local6 = _arg1.bubbles.getBubbleAt(_local4, _local5);
if (_local6 != null){
_local7 = _arg1.bubbles.arrayToLocal(_local4, (_local5 - 1));
_arg1.bubbles.setBubbleAt(_local4, (_local5 - 1), _local6);
_arg1.bubbles.setBubbleAt(_local4, _local5, null);
_local3.push(new TweenLite(_local6, 0.5, {x:_local7.x, y:_local7.y}));
} else {
_arg1.bubbles.setBubbleAt(_local4, (_local5 - 1), null);
};
_local4++;
};
_local5++;
};
_local2.appendMultiple(_local3);
}
private function movingComplete():void{
complete();
}
}
}//package Bonuses
Section 7
//BonusBomb (Bonuses.BonusBomb)
package Bonuses {
import flash.geom.*;
public class BonusBomb extends BaseBonus {
public function BonusBomb(){
_probability = 10;
}
override public function activate(_arg1:Game):void{
var _local4:Bubble;
SoundManager.playSound(SoundManager.SOUND_BONUS_BOMB);
var _local2:Point = _arg1.bubbles.localToArray(this.parent.x, this.parent.y);
var _local3:Array = _arg1.bubbles.findBubblesToExplode(_local2.x, _local2.y);
for each (_local4 in _local3) {
if (_local4.bonus != null){
_arg1.bonuses[_local4.color] = false;
};
_arg1.bubbles.removeBubble(_local4);
_local4.Explode();
};
_arg1.bubblesRemovedOther = (_arg1.bubblesRemovedOther + _local3.length);
super.activate(_arg1);
}
}
}//package Bonuses
Section 8
//BonusEvent (Bonuses.BonusEvent)
package Bonuses {
import flash.events.*;
public class BonusEvent extends Event {
public static const BONUS_COMPLETE:String = "BonusComplete";
public function BonusEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("BonusEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new BonusEvent(type, bubbles, cancelable));
}
}
}//package Bonuses
Section 9
//BonusLightning (Bonuses.BonusLightning)
package Bonuses {
import flash.geom.*;
import com.greensock.*;
import com.greensock.easing.*;
public class BonusLightning extends BaseBonus {
private var _game:Game;
private var _exploded:Array;
public function BonusLightning(){
_probability = 5;
}
private function explode(){
var _local1:Bubble;
SoundManager.playSound(SoundManager.SOUND_BUBBLES_EXPLODES);
for each (_local1 in _exploded) {
if (_local1.bonus != null){
_game.bonuses[_local1.color] = false;
};
_game.bubbles.removeBubble(_local1);
_local1.Explode();
};
_game.bubblesRemovedOther = (_game.bubblesRemovedOther + _exploded.length);
complete();
}
override public function activate(_arg1:Game):void{
var _local3:Array;
var _local5:Bubble;
var _local6:Point;
var _local7:Point;
var _local8:Number;
var _local9:Lightning;
_game = _arg1;
var _local2:TimelineLite = new TimelineLite();
_local3 = [];
_exploded = _game.bubbles.findBubblesWithColor(Bubble(this.parent).color);
var _local4:Point = new Point(this.parent.x, this.parent.y);
for each (_local5 in _exploded) {
_local6 = new Point(_local5.x, _local5.y);
_local7 = _local6.subtract(_local4);
_local8 = ((Math.atan2(_local7.y, _local7.x) / Math.PI) * 180);
_local9 = new Lightning();
_local9.scaleX = (_local7.length / 100);
_local9.rotation = _local8;
_local9.x = _local4.x;
_local9.y = _local4.y;
_game.level.addChild(_local9);
_local3.push(new TweenLite(_local9, 0.8, {alpha:0, onComplete:_local9.remove, ease:Linear.easeNone}));
};
_local2.appendMultiple(_local3);
SoundManager.playSound(SoundManager.SOUND_BONUS_LIGHTNING);
explode();
}
}
}//package Bonuses
Section 10
//Lightning (Bonuses.Lightning)
package Bonuses {
import flash.display.*;
public class Lightning extends Sprite {
public function Lightning(){
blendMode = BlendMode.HARDLIGHT;
cacheAsBitmap = true;
}
public function remove():void{
parent.removeChild(this);
}
}
}//package Bonuses
Section 11
//Continue_57 (bubblesfullsrc_fla.Continue_57)
package bubblesfullsrc_fla {
import flash.display.*;
public dynamic class Continue_57 extends MovieClip {
public var Con:MovieClip;
public function Continue_57(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bubblesfullsrc_fla
Section 12
//Continue_59 (bubblesfullsrc_fla.Continue_59)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Continue_59 extends MovieClip {
public var Con:SimpleButton;
public function Continue_59(){
addFrameScript(0, frame1);
}
public function run(_arg1){
var _local2:* = root;
gotoAndStop(_local2.GoTo);
}
function frame1(){
stop();
stage.addEventListener(Event.ENTER_FRAME, run);
}
}
}//package bubblesfullsrc_fla
Section 13
//GamesBookas33_196 (bubblesfullsrc_fla.GamesBookas33_196)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GamesBookas33_196 extends MovieClip {
public function GamesBookas33_196(){
addFrameScript(0, frame1);
}
public function run(){
var _local1:* = root;
this.gotoAndStop(_local1.GoTo);
}
function frame1(){
run();
}
}
}//package bubblesfullsrc_fla
Section 14
//Intro_1 (bubblesfullsrc_fla.Intro_1)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Intro_1 extends MovieClip {
public var On:SimpleButton;
public var H:MovieClip;
public var Sod1:MovieClip;
public var f2:MovieClip;
public var f3:MovieClip;
public var scf2:SoundTransform;
public var Con:MovieClip;
public var Loading:MovieClip;
public var a1:MovieClip;
public var a2:MovieClip;
public function Intro_1(){
addFrameScript(0, frame1, 9, frame10, 11, frame12, 34, frame35);
}
function frame12(){
On.addEventListener(MouseEvent.CLICK, introOK);
}
public function introOK(_arg1){
MovieClip(root).intro(true);
}
function frame10(){
stop();
if (MovieClip(root).continueButton == 2){
Con.scaleX = 1.4;
Con.scaleY = 1.4;
};
Con.buttonMode = true;
Con.addEventListener(MouseEvent.CLICK, Click);
Con.addEventListener(MouseEvent.ROLL_OVER, Over);
Con.addEventListener(MouseEvent.ROLL_OUT, Out);
scf2 = new SoundTransform();
}
function frame35(){
stop();
NewTime();
H.mouseEnabled = false;
H.mouseChildren = false;
}
public function OnOK(_arg1){
MovieClip(root).preloader(true);
}
function frame1(){
stop();
On.addEventListener(MouseEvent.CLICK, OnOK);
}
public function Click(_arg1){
Con.removeEventListener(MouseEvent.ROLL_OUT, Out);
NewSod();
play();
}
public function NewTime(){
var _local1:* = root;
var _local2:* = _local1.TimeNum;
var _local3:* = setInterval(Star, _local2);
}
public function Out(_arg1){
Con.gotoAndStop(1);
}
public function NewSod(){
scf2.volume = 0;
Sod1.soundTransform = scf2;
}
public function Star(){
MovieClip(root).JSod();
H.play();
}
public function Over(_arg1){
Con.gotoAndStop(2);
}
}
}//package bubblesfullsrc_fla
Section 15
//loaded100_56 (bubblesfullsrc_fla.loaded100_56)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class loaded100_56 extends MovieClip {
public function loaded100_56(){
addFrameScript(0, frame1);
}
public function run(_arg1){
var _local2:* = root;
gotoAndStop(_local2.GoTo);
}
function frame1(){
stop();
stage.addEventListener(Event.ENTER_FRAME, run);
}
}
}//package bubblesfullsrc_fla
Section 16
//Loading_54 (bubblesfullsrc_fla.Loading_54)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Loading_54 extends MovieClip {
public var txt:TextField;
public function Loading_54(){
addFrameScript(0, frame1);
}
public function run(_arg1){
var _local2:* = root;
gotoAndStop(_local2.GoTo);
}
function frame1(){
stop();
stage.addEventListener(Event.ENTER_FRAME, run);
}
}
}//package bubblesfullsrc_fla
Section 17
//Timeline_32 (bubblesfullsrc_fla.Timeline_32)
package bubblesfullsrc_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Timeline_32 extends MovieClip {
public var yz:MovieClip;
public function Timeline_32(){
addFrameScript(0, frame1, 99, frame100);
}
function frame100(){
gotoAndPlay(1);
}
public function Click(_arg1){
yz.play();
}
function frame1(){
yz.addEventListener(MouseEvent.MOUSE_MOVE, Click);
yz.buttonMode = true;
}
}
}//package bubblesfullsrc_fla
Section 18
//Timeline_45 (bubblesfullsrc_fla.Timeline_45)
package bubblesfullsrc_fla {
import flash.display.*;
public dynamic class Timeline_45 extends MovieClip {
public function Timeline_45(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package bubblesfullsrc_fla
Section 19
//Timeline_48 (bubblesfullsrc_fla.Timeline_48)
package bubblesfullsrc_fla {
import flash.display.*;
public dynamic class Timeline_48 extends MovieClip {
public var a:MovieClip;
public function Timeline_48(){
addFrameScript(57, frame58, 79, frame80);
}
function frame58(){
gotoAndPlay(1);
}
function frame80(){
stop();
}
}
}//package bubblesfullsrc_fla
Section 20
//Timeline_5 (bubblesfullsrc_fla.Timeline_5)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Timeline_5 extends MovieClip {
public var a:MovieClip;
public var c:MovieClip;
public var b:MovieClip;
public var d:MovieClip;
public function Timeline_5(){
addFrameScript(0, frame1);
}
public function Yun(_arg1){
var _local2:MovieClip;
_local2 = _arg1.target;
if (_local2.x < -100){
_local2.x = ((Math.random() * 500) + 800);
_local2.Speed = ((Math.random() * 2) + 1);
};
if (!_local2.Speed){
_local2.Speed = ((Math.random() * 2) + 1);
};
_local2.x = (_local2.x - _local2.Speed);
}
function frame1(){
a.addEventListener(Event.ENTER_FRAME, Yun);
b.addEventListener(Event.ENTER_FRAME, Yun);
c.addEventListener(Event.ENTER_FRAME, Yun);
d.addEventListener(Event.ENTER_FRAME, Yun);
}
}
}//package bubblesfullsrc_fla
Section 21
//Timeline_50 (bubblesfullsrc_fla.Timeline_50)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Timeline_50 extends MovieClip {
public var a:MovieClip;
public var b:MovieClip;
public function Timeline_50(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
run();
}
public function run(){
var _local1:* = root;
a.gotoAndStop(_local1.GoTo);
b.gotoAndStop(_local1.GoTo);
}
}
}//package bubblesfullsrc_fla
Section 22
//Timeline_6 (bubblesfullsrc_fla.Timeline_6)
package bubblesfullsrc_fla {
import flash.display.*;
public dynamic class Timeline_6 extends MovieClip {
public function Timeline_6(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bubblesfullsrc_fla
Section 23
//Timeline_62 (bubblesfullsrc_fla.Timeline_62)
package bubblesfullsrc_fla {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Timeline_62 extends MovieClip {
public function Timeline_62(){
addFrameScript(0, frame1, 45, frame46);
}
function frame1(){
stop();
}
function frame46(){
stop();
MovieClip(root).LoadGamePlay();
}
}
}//package bubblesfullsrc_fla
Section 24
//Timeline_9 (bubblesfullsrc_fla.Timeline_9)
package bubblesfullsrc_fla {
import flash.display.*;
public dynamic class Timeline_9 extends MovieClip {
public function Timeline_9(){
addFrameScript(1, frame2);
}
function frame2(){
x = ((Math.random() * 700) - 350);
gotoAndPlay(int(((Math.random() * 100) + 3)));
}
}
}//package bubblesfullsrc_fla
Section 25
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var priority:int;
public var start:Number;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var name:String;
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 26
//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 _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _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 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;
};
};
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
}
}//package com.greensock.core
Section 27
//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 cachedTime:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var timeline:SimpleTimeline;
public var data;
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.11;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
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;
};
};
var _local3:SimpleTimeline = ((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 restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
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 = 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 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 invalidate():void{
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
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 = (_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.gc){
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (!_arg2){
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 28
//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 29
//Elastic (com.greensock.easing.Elastic)
package com.greensock.easing {
public class Elastic {
private static const _2PI:Number = 6.28318530717959;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((((!(_arg5)) || ((((_arg3 > 0)) && ((_arg5 < _arg3)))))) || ((((_arg3 < 0)) && ((_arg5 < -(_arg3))))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((((!(_arg5)) || ((((_arg3 > 0)) && ((_arg5 < _arg3)))))) || ((((_arg3 < 0)) && ((_arg5 < -(_arg3))))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((((!(_arg5)) || ((((_arg3 > 0)) && ((_arg5 < _arg3)))))) || ((((_arg3 < 0)) && ((_arg5 < -(_arg3))))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) + _arg3) + _arg2));
}
}
}//package com.greensock.easing
Section 30
//FastEase (com.greensock.easing.FastEase)
package com.greensock.easing {
import com.greensock.*;
public class FastEase {
public static function activateEase(_arg1:Function, _arg2:int, _arg3:uint):void{
TweenLite.fastEaseLookup[_arg1] = [_arg2, _arg3];
}
public static function activate(_arg1:Array):void{
var _local3:Object;
var _local2:int = _arg1.length;
while (_local2--) {
_local3 = _arg1[_local2];
if (_local3.hasOwnProperty("power")){
activateEase(_local3.easeIn, 1, _local3.power);
activateEase(_local3.easeOut, 2, _local3.power);
activateEase(_local3.easeInOut, 3, _local3.power);
if (_local3.hasOwnProperty("easeNone")){
activateEase(_local3.easeNone, 1, 0);
};
};
};
}
}
}//package com.greensock.easing
Section 31
//Linear (com.greensock.easing.Linear)
package com.greensock.easing {
public class Linear extends FastEase {
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 32
//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 33
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _target:Object;
protected var _ignoreVisible:Boolean;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 34
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 35
//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 _orient:Boolean;
protected var _orientData:Array;
protected var _target:Object;
protected var _beziers: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 killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
var _local4:Object = ((_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;
};
};
var _local5:Object = {};
_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 onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
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 = {};
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 36
//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 37
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 38
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = ColorMatrixFilter;
var _local4:Object = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
var _local5:Array = [];
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);
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_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{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_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{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_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 _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_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{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_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{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_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 39
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.geom.*;
import com.greensock.*;
import flash.display.*;
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 _local5:String;
var _local6:Number;
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = _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 40
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 41
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info: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{
_a = _arg1;
var _local3:int = _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 _local3:ArrayTweenInfo;
var _local4:Number;
var _local2:int = _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 start:Number;
public var index:uint;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 42
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
import flash.display.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _remove:Boolean;
protected var _target:Object;
protected var _index:int;
protected var _filter:BitmapFilter;
protected var _type:Class;
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 _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local4:Array = _target.filters;
var _local8:Object = ((_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 _local3:PropTween;
var _local2:int = _tweens.length;
var _local4:Array = _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 43
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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{
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
var _local4:Array = _target.currentLabels;
var _local5:String = _arg2;
var _local6:int = _target.currentFrame;
var _local7:int = _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 44
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
public class FramePlugin extends TweenPlugin {
protected var _target:MovieClip;
public var frame:int;
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 45
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 46
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 killProps(_arg1:Object):void{
var _local2:int = (_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--;
};
}
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);
}
}
}//package com.greensock.plugins
Section 47
//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 48
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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 49
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
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"){
trace("WARNING: You appear to be using the old shortRotation syntax. Instead of passing a number, please pass an object with properties that correspond to the rotations values For example, TweenMax.to(mc, 2, {shortRotation:{rotationX:-170, rotationY:25}})");
return (false);
};
for (_local4 in _arg2) {
initRotation(_arg1, _local4, _arg1[_local4], _arg2[_local4]);
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
var _local5:Number = ((_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 50
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.geom.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.display.*;
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{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
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;
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local4:String;
_transform = _arg1.transform;
_ct = _transform.colorTransform;
var _local3:int = _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);
};
};
}
}
}//package com.greensock.plugins
Section 51
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class TweenPlugin {
public var activeDisable:Boolean;
protected var _changeFactor:Number;// = 0
protected var _tweens:Array;
public var onDisable:Function;
public var propName:String;
public var round:Boolean;
public var onEnable:Function;
public var priority:int;// = 0
public var overwriteProps:Array;
public var onComplete:Function;
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
protected function updateTweens(_arg1:Number):void{
var _local3:PropTween;
var _local4:Number;
var _local2:int = _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));
};
};
}
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);
};
};
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
public function killProps(_arg1:Object):void{
var _local2:int = 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 function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public static function activate(_arg1:Array):Boolean{
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
var _local2:int = _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 _local4:Boolean;
var _local5:Array;
var _local6:int;
var _local3:PropTween = _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 52
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _initVal:Boolean;
protected var _visible:Boolean;
protected var _tween:TweenLite;
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 53
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import flash.media.*;
import com.greensock.*;
import flash.display.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
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 54
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
import flash.utils.*;
import flash.errors.*;
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 _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);
};
var _local8:Number = _arg1.startTime;
var _local9:Array = [];
var _local10:Array = [];
var _local11:uint;
var _local12:uint;
_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 55
//TimelineLite (com.greensock.TimelineLite)
package com.greensock {
import com.greensock.core.*;
import flash.utils.*;
public class TimelineLite extends SimpleTimeline {
protected var _endCaps:Array;
protected var _labels:Object;
public static const version:Number = 1.12;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public function TimelineLite(_arg1:Object=null){
super(_arg1);
_endCaps = [];
_labels = {};
this.autoRemoveChildren = Boolean((this.vars.autoRemoveChildren == true));
_hasUpdate = Boolean((typeof(this.vars.onUpdate) == "function"));
if ((this.vars.tweens is Array)){
this.insertMultiple(this.vars.tweens, 0, ((this.vars.align) || ("normal")), ((this.vars.stagger) || (0)));
};
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function stop():void{
this.paused = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local7:TweenCore;
var _local8:Boolean;
var _local9:Boolean;
var _local10:TweenCore;
var _local11:Number;
if (this.gc){
this.setEnabled(true, false);
} else {
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
};
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
var _local6:Number = this.cachedStartTime;
if (_arg1 >= _local4){
if ((((_rawPrevTime <= _local4)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = (this.cachedTime = _local4);
forceChildrenToEnd(_local4, _arg2);
_local8 = !(this.hasPausedChild());
_local9 = true;
if ((((((this.cachedDuration == 0)) && (_local8))) && ((((_arg1 == 0)) || ((_rawPrevTime < 0)))))){
_arg3 = true;
};
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if ((((this.cachedDuration == 0)) && ((_rawPrevTime > 0)))){
_arg3 = true;
_local8 = true;
};
};
if ((((_rawPrevTime >= 0)) && (!((_rawPrevTime == _arg1))))){
forceChildrenToBeginning(0, _arg2);
this.cachedTotalTime = 0;
this.cachedTime = 0;
_local9 = true;
if (this.cachedReversed){
_local8 = true;
};
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
};
};
_rawPrevTime = _arg1;
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
this.initted = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_local9){
} else {
if ((this.cachedTime - _local5) > 0){
_local7 = _firstChild;
while (_local7) {
_local10 = _local7.nextNode;
if (((_local7.active) || (((((!(_local7.cachedPaused)) && ((_local7.cachedStartTime <= this.cachedTime)))) && (!(_local7.gc)))))){
if (!_local7.cachedReversed){
_local7.renderTime(((this.cachedTime - _local7.cachedStartTime) * _local7.cachedTimeScale), _arg2, false);
} else {
_local11 = (_local7.cacheIsDirty) ? _local7.totalDuration : _local7.cachedTotalDuration;
_local7.renderTime((_local11 - ((this.cachedTime - _local7.cachedStartTime) * _local7.cachedTimeScale)), _arg2, false);
};
};
_local7 = _local10;
};
} else {
_local7 = _lastChild;
while (_local7) {
_local10 = _local7.prevNode;
if (((_local7.active) || (((((!(_local7.cachedPaused)) && ((_local7.cachedStartTime <= _local5)))) && (!(_local7.gc)))))){
if (!_local7.cachedReversed){
_local7.renderTime(((this.cachedTime - _local7.cachedStartTime) * _local7.cachedTimeScale), _arg2, false);
} else {
_local11 = (_local7.cacheIsDirty) ? _local7.totalDuration : _local7.cachedTotalDuration;
_local7.renderTime((_local11 - ((this.cachedTime - _local7.cachedStartTime) * _local7.cachedTimeScale)), _arg2, false);
};
};
_local7 = _local10;
};
};
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_local8) && ((_local6 == this.cachedStartTime)))){
complete(true, _arg2);
};
}
override public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (((!(_arg1.gc)) && (!(_arg2)))){
_arg1.setEnabled(false, true);
};
var _local3:TweenCore = ((_firstChild) || (_endCaps[0]));
var _local4:TweenCore = ((_lastChild) || (_endCaps[1]));
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_local4 == _arg1){
_local4 = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_local3 == _arg1){
_local3 = _arg1.nextNode;
};
};
if (this.gc){
_endCaps[0] = _local3;
_endCaps[1] = _local4;
} else {
_firstChild = _local3;
_lastChild = _local4;
};
setDirtyCache(true);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
override public function get totalDuration():Number{
var _local1:Number;
var _local2:Number;
var _local3:TweenCore;
var _local4:Number;
var _local5:TweenCore;
if (this.cacheIsDirty){
_local1 = 0;
_local3 = ((_firstChild) || (_endCaps[0]));
_local4 = -(Infinity);
while (_local3) {
_local5 = _local3.nextNode;
if (_local3.cachedStartTime < _local4){
this.addChild(_local3);
_local4 = _local3.prevNode.cachedStartTime;
} else {
_local4 = _local3.cachedStartTime;
};
if (_local3.cachedStartTime < 0){
_local1 = (_local1 - _local3.cachedStartTime);
this.shiftChildren(-(_local3.cachedStartTime), false, -9999999999);
};
_local2 = (_local3.cachedStartTime + (_local3.totalDuration / _local3.cachedTimeScale));
if (_local2 > _local1){
_local1 = _local2;
};
_local3 = _local5;
};
this.cachedDuration = (this.cachedTotalDuration = _local1);
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
public function gotoAndPlay(_arg1, _arg2:Boolean=true):void{
goto(_arg1, _arg2);
play();
}
public function appendMultiple(_arg1:Array, _arg2:Number=0, _arg3:String="normal", _arg4:Number=0):void{
insertMultiple(_arg1, (this.duration + _arg2), _arg3, _arg4);
}
public function set currentProgress(_arg1:Number):void{
setTotalTime((this.duration * _arg1), false);
}
public function clear(_arg1:Array=null):void{
if (_arg1 == null){
_arg1 = getChildren(false, true, true);
};
var _local2:int = _arg1.length;
while (_local2--) {
TweenCore(_arg1[_local2]).setEnabled(false, false);
};
}
public function prepend(_arg1:TweenCore, _arg2:Boolean=false):void{
shiftChildren(((_arg1.totalDuration / _arg1.cachedTimeScale) + _arg1.delay), _arg2, 0);
insert(_arg1, 0);
}
public function addLabel(_arg1:String, _arg2:Number):void{
_labels[_arg1] = _arg2;
}
public function hasPausedChild():Boolean{
var _local1:TweenCore = ((_firstChild) || (_endCaps[0]));
while (_local1) {
if (((_local1.cachedPaused) || ((((_local1 is TimelineLite)) && ((_local1 as TimelineLite).hasPausedChild()))))){
return (true);
};
_local1 = _local1.nextNode;
};
return (false);
}
public function getTweensOf(_arg1:Object, _arg2:Boolean=true):Array{
var _local5:int;
var _local3:Array = getChildren(_arg2, true, false);
var _local4:Array = [];
var _local6:uint = _local3.length;
_local5 = 0;
while (_local5 < _local6) {
if (TweenLite(_local3[_local5]).target == _arg1){
_local4[_local4.length] = _local3[_local5];
};
_local5++;
};
return (_local4);
}
public function gotoAndStop(_arg1, _arg2:Boolean=true):void{
goto(_arg1, _arg2);
this.paused = true;
}
public function append(_arg1:TweenCore, _arg2:Number=0):void{
insert(_arg1, (this.duration + _arg2));
}
override public function get duration():Number{
var _local1:Number;
if (this.cacheIsDirty){
_local1 = this.totalDuration;
};
return (this.cachedDuration);
}
public function get useFrames():Boolean{
var _local1:SimpleTimeline = this.timeline;
while (_local1.timeline) {
_local1 = _local1.timeline;
};
return (Boolean((_local1 == TweenLite.rootFramesTimeline)));
}
public function shiftChildren(_arg1:Number, _arg2:Boolean=false, _arg3:Number=0):void{
var _local5:String;
var _local4:TweenCore = ((_firstChild) || (_endCaps[0]));
while (_local4) {
if (_local4.cachedStartTime >= _arg3){
_local4.cachedStartTime = (_local4.cachedStartTime + _arg1);
};
_local4 = _local4.nextNode;
};
if (_arg2){
for (_local5 in _labels) {
if (_labels[_local5] >= _arg3){
_labels[_local5] = (_labels[_local5] + _arg1);
};
};
};
this.setDirtyCache(true);
}
public function goto(_arg1, _arg2:Boolean=true):void{
if (typeof(_arg1) == "string"){
if ((_arg1 in _labels)){
setTotalTime(Number(_labels[_arg1]), _arg2);
};
} else {
setTotalTime(Number(_arg1), _arg2);
};
}
public function killTweensOf(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:Array = getTweensOf(_arg1, _arg2);
var _local4:int = _local3.length;
while (_local4--) {
TweenLite(_local3[_local4]).setEnabled(false, false);
};
return (Boolean((_local3.length > 0)));
}
override public function invalidate():void{
var _local1:TweenCore = ((_firstChild) || (_endCaps[0]));
while (_local1) {
_local1.invalidate();
_local1 = _local1.nextNode;
};
}
public function insertMultiple(_arg1:Array, _arg2=0, _arg3:String="normal", _arg4:Number=0):void{
var _local5:int;
var _local6:TweenCore;
var _local7:Number = ((Number(_arg2)) || (0));
var _local8:uint = _arg1.length;
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_local7 = _labels[_arg2];
};
_local5 = 0;
while (_local5 < _local8) {
_local6 = (_arg1[_local5] as TweenCore);
insert(_local6, _local7);
if (_arg3 == "sequence"){
_local7 = (_local6.cachedStartTime + (_local6.totalDuration / _local6.cachedTimeScale));
} else {
if (_arg3 == "start"){
_local6.cachedStartTime = (_local6.cachedStartTime - _local6.delay);
};
};
_local7 = (_local7 + _arg4);
_local5++;
};
}
public function getLabelTime(_arg1:String):Number{
return (((_arg1 in _labels)) ? Number(_labels[_arg1]) : -1);
}
override public function get rawTime():Number{
if (((!((this.cachedTotalTime == 0))) && (!((this.cachedTotalTime == this.cachedTotalDuration))))){
return (this.cachedTotalTime);
};
return (((this.timeline.rawTime - this.cachedStartTime) * this.cachedTimeScale));
}
override public function set duration(_arg1:Number):void{
if (((!((this.duration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.duration / _arg1);
};
}
override public function set totalDuration(_arg1:Number):void{
if (((!((this.totalDuration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.totalDuration / _arg1);
};
}
public function getChildren(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true, _arg4:Number=-9999999999):Array{
var _local5:Array = [];
var _local6:TweenCore = ((_firstChild) || (_endCaps[0]));
var _local7:uint;
while (_local6) {
if (_local6.cachedStartTime < _arg4){
} else {
if ((_local6 is TweenLite)){
if (_arg2){
var _temp1 = _local7;
_local7 = (_local7 + 1);
var _local8 = _temp1;
_local5[_local8] = _local6;
};
} else {
if (_arg3){
var _temp2 = _local7;
_local7 = (_local7 + 1);
_local8 = _temp2;
_local5[_local8] = _local6;
};
if (_arg1){
_local5 = _local5.concat(TimelineLite(_local6).getChildren(true, _arg2, _arg3));
};
};
};
_local6 = _local6.nextNode;
};
return (_local5);
}
protected function forceChildrenToEnd(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _firstChild;
while (_local3) {
_local4 = _local3.nextNode;
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == _local3.cachedTotalDuration))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == this.cachedDuration)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == this.cachedDuration)))))){
_local3.renderTime((_local3.cachedReversed) ? 0 : _local3.cachedTotalDuration, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
_local3 = _local4;
};
return (_arg1);
}
protected function forceChildrenToBeginning(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _lastChild;
while (_local3) {
_local4 = _local3.prevNode;
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == 0))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == 0)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == 0)))))){
_local3.renderTime((_local3.cachedReversed) ? _local3.cachedTotalDuration : 0, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
_local3 = _local4;
};
return (_arg1);
}
public function insert(_arg1:TweenCore, _arg2=0):void{
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_arg2 = Number(_labels[_arg2]);
};
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
addChild(_arg1);
}
override public function addChild(_arg1:TweenCore):void{
var _local4:TweenCore;
var _local5:Number;
if (((!(_arg1.gc)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
setDirtyCache(true);
var _local2:TweenCore = ((_firstChild) || (_endCaps[0]));
var _local3:TweenCore = ((_lastChild) || (_endCaps[1]));
if (_local3 == null){
_local3 = _arg1;
_local2 = _local3;
_arg1.nextNode = (_arg1.prevNode = null);
} else {
_local4 = _local3;
_local5 = _arg1.cachedStartTime;
while (((!((_local4 == null))) && ((_local5 <= _local4.cachedStartTime)))) {
_local4 = _local4.prevNode;
};
if (_local4 == null){
_local2.prevNode = _arg1;
_arg1.nextNode = _local2;
_arg1.prevNode = null;
_local2 = _arg1;
} else {
if (_local4.nextNode){
_local4.nextNode.prevNode = _arg1;
} else {
if (_local4 == _local3){
_local3 = _arg1;
};
};
_arg1.prevNode = _local4;
_arg1.nextNode = _local4.nextNode;
_local4.nextNode = _arg1;
};
};
if (this.gc){
_endCaps[0] = _local2;
_endCaps[1] = _local3;
} else {
_firstChild = _local2;
_lastChild = _local3;
};
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public function prependMultiple(_arg1:Array, _arg2:String="normal", _arg3:Number=0, _arg4:Boolean=false):void{
var _local5:TimelineLite = new TimelineLite({tweens:_arg1, align:_arg2, stagger:_arg3});
shiftChildren(_local5.duration, _arg4, 0);
insertMultiple(_arg1, 0, _arg2, _arg3);
_local5.kill();
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:TweenCore;
var _local4:TweenCore;
if (_arg1 == this.gc){
if (_arg1){
_local3 = _endCaps[0];
_firstChild = _local3;
_lastChild = _endCaps[1];
} else {
_local3 = _firstChild;
_endCaps = [_firstChild, _lastChild];
_firstChild = (_lastChild = null);
};
while (_local3) {
_local3.setEnabled(_arg1, true);
_local3 = _local3.nextNode;
};
return (super.setEnabled(_arg1, _arg2));
};
return (false);
}
}
}//package com.greensock
Section 56
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.events.*;
import com.greensock.core.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
protected var _hasPlugins:Boolean;
public var propTweenLookup:Object;
public var cachedPT1:PropTween;
protected var _overwrite:uint;
protected var _ease:Function;
public var target:Object;
public var ratio:Number;// = 0
protected var _overwrittenProps:Object;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.12;
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 _local5:TweenLite;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!(("overwrite" in _arg3))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = 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);
};
}
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 renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
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 ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
var _local6:PropTween = 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);
};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1 == this.gc){
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);
}
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;
}
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 invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
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 57
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.events.*;
import com.greensock.core.*;
import flash.display.*;
import flash.utils.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _easeType:uint;
public var yoyo:Boolean;
protected var _easePower:uint;
protected var _repeat:int;// = 0
protected var _cyclesComplete:uint;// = 0
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _repeatDelay:Number;// = 0
public static const version:Number = 11.12;
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){
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 public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local10:Number;
var _local11:uint;
var _local12:Number;
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = 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 (_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));
};
};
var _local9:PropTween = 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));
}
protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{
var _local9:Array;
var _local10:int;
var _local8:PropTween = 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);
}
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;
};
};
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
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;
};
};
};
}
public function get repeat():int{
return (_repeat);
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
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);
}
protected function updateTo(_arg1:Object, _arg2:Boolean=true):void{
var _local5:String;
var _local6:Object;
var _local7:Boolean;
var _local8:Object;
var _local9:int;
var _local3:PropTween = this.cachedPT1;
var _local4:Number = 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 killProperties(_arg1:Array):void{
var _local2:Object = {};
var _local3:int = _arg1.length;
while (_local3--) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
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));
};
};
};
}
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 dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
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[_arg1] = _arg2;
updateTo(_local4, _arg3);
}
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 set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
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);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
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);
};
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
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{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public static function set globalTimeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
var _local2:SimpleTimeline = TweenLite.rootTimeline;
var _local3:Number = (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 _local4:int;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2){
_local4 = _local2.length;
while (_local4--) {
if (!_local2[_local4].gc){
_local3[_local3.length] = _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 _local4:Object;
var _local5:DisplayObjectContainer;
var _local3:Array = getAllTweens();
var _local6:int = _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 _local4:TweenLite;
var _local2:Array = getTweensOf(_arg1);
var _local3:int = _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 _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _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 _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _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 _local4:Array;
var _local5:int;
var _local1:Dictionary = masterList;
var _local2:uint;
var _local3:Array = [];
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 onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
var l:uint = targets.length;
var a:Array = [];
var curDelay:Number = ((vars.delay) || (0));
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
var lastIndex:int = ((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 58
//BaseRecord (HighScores.BaseRecord)
package HighScores {
public class BaseRecord {
private var _score:uint;
public static const LESS:int = -1;
public static const GREATER:int = 1;
public static const EQUALS:int = 0;
public function BaseRecord(){
_score = 0;
}
public function get score():uint{
return (_score);
}
public function set score(_arg1:uint):void{
_score = _arg1;
}
public static function compare(_arg1:BaseRecord, _arg2:BaseRecord):int{
var _local3:int = BaseRecord.EQUALS;
if (_arg1.score > _arg2.score){
_local3 = BaseRecord.GREATER;
} else {
if (_arg1.score < _arg2.score){
_local3 = BaseRecord.LESS;
};
};
return (_local3);
}
}
}//package HighScores
Section 59
//HighScoresRecord (HighScores.HighScoresRecord)
package HighScores {
public class HighScoresRecord extends BaseRecord {
private var _name:String;
public function HighScoresRecord(){
_name = "Player";
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
_name = _arg1;
}
}
}//package HighScores
Section 60
//HighScoresTable (HighScores.HighScoresTable)
package HighScores {
public class HighScoresTable {
private var _loader:IHighScoresTableLoader;
private var _data:Array;
public function HighScoresTable(_arg1:IHighScoresTableLoader){
_loader = _arg1;
load();
}
public function putRecord(_arg1:BaseRecord):int{
if (!recordInTable(_arg1)){
return (-1);
};
_data[(_data.length - 1)] = _arg1;
_data.sort(BaseRecord.compare, Array.DESCENDING);
return (_data.indexOf(_arg1));
}
public function load():void{
_loader.load(this);
}
public function recordInTable(_arg1:BaseRecord):Boolean{
return ((BaseRecord.compare(_arg1, _data[(_data.length - 1)]) == BaseRecord.GREATER));
}
public function get data():Array{
return (_data);
}
public function set data(_arg1:Array):void{
_data = _arg1;
}
public function save():void{
_loader.save(this);
}
}
}//package HighScores
Section 61
//IHighScoresTableLoader (HighScores.IHighScoresTableLoader)
package HighScores {
public interface IHighScoresTableLoader {
function save(_arg1:HighScoresTable):void;
function load(_arg1:HighScoresTable):void;
}
}//package HighScores
Section 62
//LocalLoader (HighScores.LocalLoader)
package HighScores {
import flash.net.*;
public class LocalLoader implements IHighScoresTableLoader {
private var _sharedObjectName:String;
public static const CLASSIC_TABLE:String = "BubblesClassicTable";
public static const ENDLESS_TABLE:String = "BubblesEndlessTable";
public function LocalLoader(_arg1:String){
_sharedObjectName = _arg1;
}
public function save(_arg1:HighScoresTable):void{
var _local2:Array = new Array();
var _local3:Array = new Array();
var _local4:int;
while (_local4 < _arg1.data.length) {
_local2.push(HighScoresRecord(_arg1.data[_local4]).name);
_local3.push(HighScoresRecord(_arg1.data[_local4]).score);
_local4++;
};
var _local5:SharedObject = SharedObject.getLocal(_sharedObjectName);
_local5.data.names = _local2;
_local5.data.scores = _local3;
_local5.flush();
}
private function loadDefault(_arg1:HighScoresTable){
var _local3:HighScoresRecord;
_arg1.data = [];
var _local2:int;
while (_local2 < 10) {
_local3 = new HighScoresRecord();
_local3.score = ((_local2 + 1) * 5000);
_arg1.data.push(_local3);
_local2++;
};
_arg1.data.sort(BaseRecord.compare, Array.DESCENDING);
}
public function load(_arg1:HighScoresTable):void{
var _local5:int;
var _local6:HighScoresRecord;
var _local2:SharedObject = SharedObject.getLocal(_sharedObjectName);
var _local3:Array = _local2.data.names;
var _local4:Array = _local2.data.scores;
if ((((_local3 == null)) || ((_local4 == null)))){
loadDefault(_arg1);
} else {
_arg1.data = [];
_local5 = 0;
while (_local5 < _local3.length) {
_local6 = new HighScoresRecord();
_local6.name = _local3[_local5];
_local6.score = _local4[_local5];
_arg1.data.push(_local6);
_local5++;
};
_arg1.data.sort(BaseRecord.compare, Array.DESCENDING);
};
}
}
}//package HighScores
Section 63
//AbortGameDialog (AbortGameDialog)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
public class AbortGameDialog extends Sprite {
private var _noButton:BaseButton;
private var _dialogWindow:Sprite;
private var _yesButton:BaseButton;
private static const WIDTH:int = 600;
private static const HEIGHT:int = 500;
public function AbortGameDialog(){
this.graphics.clear();
this.graphics.beginFill(0, 0.5);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
_dialogWindow = new AbortGameWindow();
_dialogWindow.x = (width / 2);
_dialogWindow.y = (height / 2);
_dialogWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
_dialogWindow.cacheAsBitmap = true;
addChild(_dialogWindow);
_yesButton = new YesButton();
_yesButton.x = (((width / 2) + (_yesButton.width / 2)) + 10);
_yesButton.y = (((height / 2) + (_yesButton.height / 2)) + 10);
_yesButton.addEventListener(MouseEvent.CLICK, onClick);
addChild(_yesButton);
_noButton = new NoButton();
_noButton.x = (((width / 2) - (_noButton.width / 2)) - 10);
_noButton.y = (((height / 2) + (_noButton.height / 2)) + 10);
_noButton.addEventListener(MouseEvent.CLICK, onClick);
addChild(_noButton);
}
private function onClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
if (_arg1.currentTarget == _yesButton){
dispatchEvent(new DialogEvent(DialogEvent.YES));
} else {
dispatchEvent(new DialogEvent(DialogEvent.NO));
};
}
public function remove():void{
_yesButton.removeEventListener(MouseEvent.CLICK, onClick);
_noButton.removeEventListener(MouseEvent.CLICK, onClick);
_yesButton.remove();
_noButton.remove();
parent.removeChild(this);
}
}
}//package
Section 64
//AbortGameWindow (AbortGameWindow)
package {
import flash.display.*;
public dynamic class AbortGameWindow extends Sprite {
}
}//package
Section 65
//AimingLineDot (AimingLineDot)
package {
import flash.display.*;
public dynamic class AimingLineDot extends Sprite {
}
}//package
Section 66
//BackGround (BackGround)
package {
import flash.display.*;
public dynamic class BackGround extends MovieClip {
}
}//package
Section 67
//BackToMenuButton (BackToMenuButton)
package {
public dynamic class BackToMenuButton extends BaseButton {
}
}//package
Section 68
//BaseButton (BaseButton)
package {
import flash.events.*;
import com.greensock.*;
import flash.display.*;
import com.greensock.easing.*;
public class BaseButton extends MovieClip {
private var _zooming:Boolean;// = true
public function BaseButton(){
normalState();
addEventListener(MouseEvent.ROLL_OVER, onRollOver);
addEventListener(MouseEvent.ROLL_OUT, onRollOut);
addEventListener(MouseEvent.CLICK, onMouseClick);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onMouseClick(_arg1:MouseEvent):void{
click();
selectedState();
}
public function remove():void{
removeEventListener(MouseEvent.MOUSE_OUT, onRollOut);
removeEventListener(MouseEvent.MOUSE_OVER, onRollOver);
removeEventListener(MouseEvent.CLICK, onMouseClick);
removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
parent.removeChild(this);
}
public function set zooming(_arg1:Boolean):void{
_zooming = _arg1;
}
private function onMouseDown(_arg1:MouseEvent):void{
SoundManager.playSound(SoundManager.SOUND_BUTTON_CLICK);
}
protected function normalState():void{
gotoAndStop(1);
if (_zooming){
new TweenLite(this, 0.2, {scaleX:1, scaleY:1, ease:Linear.easeNone});
};
}
protected function click():void{
}
private function onRollOut(_arg1:MouseEvent):void{
normalState();
}
protected function selectedState():void{
gotoAndStop(2);
if (_zooming){
new TweenLite(this, 0.2, {scaleX:1.05, scaleY:1.05, ease:Linear.easeNone});
};
}
private function onRollOver(_arg1:MouseEvent):void{
selectedState();
SoundManager.playSound(SoundManager.SOUND_BUTTON_SELECT);
}
public function get zooming():Boolean{
return (_zooming);
}
}
}//package
Section 69
//BaseCheckButton (BaseCheckButton)
package {
public class BaseCheckButton extends BaseButton {
private var _checked:Boolean;
public function BaseCheckButton(){
_checked = false;
}
override protected function selectedState():void{
if (_checked){
gotoAndStop(4);
} else {
gotoAndStop(2);
};
}
public function get checked():Boolean{
return (_checked);
}
override protected function normalState():void{
if (_checked){
gotoAndStop(3);
} else {
gotoAndStop(1);
};
}
public function set checked(_arg1:Boolean):void{
_checked = _arg1;
normalState();
}
override protected function click():void{
_checked = !(_checked);
}
}
}//package
Section 70
//BaseIndicator (BaseIndicator)
package {
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class BaseIndicator extends Sprite {
private var _value:String;// = " "
public var _textField:TextField;
public function BaseIndicator(){
var _local1:TextFormat = new TextFormat();
_local1.font = "039-CAI978";
_local1.color = 0xFFFFFF;
_local1.letterSpacing = 2;
_local1.size = 30;
_local1.underline = false;
_local1.align = TextFormatAlign.CENTER;
_textField = new TextField();
_textField.defaultTextFormat = _local1;
_textField.selectable = false;
_textField.autoSize = TextFieldAutoSize.CENTER;
_textField.background = false;
_textField.border = false;
_textField.embedFonts = true;
_textField.filters = [new DropShadowFilter(0, 0, 0, 1, 4, 4, 5)];
addChild(_textField);
_textField.x = 0;
_textField.text = _value;
_textField.y = ((-(_textField.height) / 2) + 10);
filters = [new DropShadowFilter(4, 45, 0, 1, 3, 3, 0.3)];
cacheAsBitmap = true;
}
public function get value():String{
return (_value);
}
public function set value(_arg1:String):void{
_value = _arg1;
_textField.text = _value;
}
}
}//package
Section 71
//Blink (Blink)
package {
import flash.display.*;
public class Blink extends Sprite {
public function Blink(){
scaleX = 0;
scaleY = 0;
}
public function remove():void{
parent.removeChild(this);
}
}
}//package
Section 72
//BlueBubble (BlueBubble)
package {
public dynamic class BlueBubble extends Bubble {
public function BlueBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 73
//BlueSparcle (BlueSparcle)
package {
public dynamic class BlueSparcle extends Sparcle {
}
}//package
Section 74
//Bubble (Bubble)
package {
import com.greensock.*;
import flash.display.*;
import flash.filters.*;
import Bonuses.*;
import com.greensock.easing.*;
public class Bubble extends MovieClip {
private var _color:int;
private var _bonus:BaseBonus;
public static const RADIUS:int = 20;
private static const SPARCLES:int = 5;
public function Bubble(){
cacheAsBitmap = true;
_bonus = null;
filters = [new DropShadowFilter(3, 45, 0, 0.5, 3, 3, 0.5)];
addBlink();
}
public function Explode(){
filters = [new BlurFilter(10, 10)];
new TweenLite(this, 0.5, {alpha:0, onComplete:remove, ease:Linear.easeNone});
addSparcles();
}
private function addBlink():void{
var _local1:Blink = new Blink();
var _local2:Number = ((Math.PI * 2) * Math.random());
_local1.x = (Math.cos(_local2) * (((Math.random() * Bubble.RADIUS) * 0.1) + (Bubble.RADIUS * 0.8)));
_local1.y = (Math.sin(_local2) * (((Math.random() * Bubble.RADIUS) * 0.1) + (Bubble.RADIUS * 0.8)));
addChild(_local1);
var _local3:TimelineLite = new TimelineLite({delay:(30 * Math.random()), onComplete:addBlink});
_local3.append(new TweenLite(_local1, 2, {scaleX:1.4, scaleY:1.4, rotation:90, ease:Linear.easeNone}));
_local3.append(new TweenLite(_local1, 2, {scaleX:0.4, scaleY:0.4, rotation:180, onComplete:_local1.remove, ease:Linear.easeNone}));
}
public function get color():int{
return (_color);
}
private function addSparcles():void{
var _local4:Sparcle;
var _local1:Number = ((Math.PI * 2) / SPARCLES);
var _local2:Number = 0;
var _local3:int;
while (_local3 < SPARCLES) {
_local4 = createSparcle();
_local4.x = (this.x + ((RADIUS * Math.cos(_local2)) * Math.random()));
_local4.y = (this.y + ((RADIUS * Math.sin(_local2)) * Math.random()));
parent.addChild(_local4);
new TweenMax(_local4, 1, {bezier:[{x:(_local4.x + (50 * Math.cos(_local2))), y:(_local4.y - 50)}, {x:(_local4.x + (150 * Math.cos(_local2))), y:(_local4.y + 500)}], alpha:0.2, onComplete:_local4.remove, ease:Linear.easeNone});
_local2 = (_local2 + _local1);
_local3++;
};
}
public function remove():void{
filters = [];
parent.removeChild(this);
}
public function set color(_arg1:int):void{
_color = _arg1;
}
private function createSparcle():Sparcle{
var _local1:Sparcle;
switch (_color){
case 0:
_local1 = new RedSparcle();
break;
case 1:
_local1 = new GreenSparcle();
break;
case 2:
_local1 = new BlueSparcle();
break;
case 3:
_local1 = new YellowSparcle();
break;
case 4:
_local1 = new MagentaSparcle();
break;
case 5:
_local1 = new OrangeSparcle();
break;
case 6:
_local1 = new NavySparcle();
break;
};
return (_local1);
}
public function attachBonus(_arg1:BaseBonus):void{
_bonus = _arg1;
addChild(_arg1);
}
public function fall(){
new TweenLite(this, 1, {alpha:0, y:"500", onComplete:remove, ease:Back.easeIn});
}
public function set bonus(_arg1:BaseBonus):void{
_bonus = _arg1;
}
public function get bonus():BaseBonus{
return (_bonus);
}
public static function getBubble(_arg1:int):Bubble{
var _local2:Bubble;
switch (_arg1){
case 0:
_local2 = new RedBubble();
break;
case 1:
_local2 = new GreenBubble();
break;
case 2:
_local2 = new BlueBubble();
break;
case 3:
_local2 = new YellowBubble();
break;
case 4:
_local2 = new MagentaBubble();
break;
case 5:
_local2 = new OrangeBubble();
break;
case 6:
_local2 = new NavyBubble();
break;
};
_local2._color = _arg1;
return (_local2);
}
}
}//package
Section 75
//Bubbles (Bubbles)
package {
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.net.*;
public class Bubbles extends MovieClip {
public var branding:String;
public var domain:String;
public var ServerFps;
public var Url:String;
public var TypeS;
public var Intro:MovieClip;
public var scf:SoundTransform;
public var TimeNum:Number;
public var MochiBotKey:String;
public var GoTo:String;
public var url:String;
public var portal:String;
public var sender:LocalConnection;
public var utm_content:String;
public var continueButton:Number;
public var Volume:Number;
public var GameName:String;
public function Bubbles(){
addFrameScript(0, frame1);
}
public function MoreGameURL(_arg1){
var _local2:String = ((((((("/#utm_campaign=" + escape(GameName)) + "&utm_content=") + escape(utm_content)) + "&utm_medium=") + escape(branding)) + "&utm_source=") + escape(url));
var _local3:String = (Url + _local2);
var _local4:URLRequest = new URLRequest(_local3);
navigateToURL(_local4);
}
public function preloader(_arg1){
utm_content = "preloader";
MoreGameURL(true);
}
public function ingameOK(_arg1){
utm_content = "ingame";
MoreGameURL(true);
}
public function gameover(_arg1){
utm_content = "gameover";
MoreGameURL(true);
}
public function intro(_arg1){
utm_content = "intro";
MoreGameURL(true);
}
public function youwin(_arg1){
utm_content = "youwin";
MoreGameURL(true);
}
public function menu(_arg1){
utm_content = "menu";
MoreGameURL(true);
}
function frame1(){
GameName = "Pool Bubbles";
MochiBotKey = "3a2588fc";
branding = "original";
continueButton = 1;
TimeNum = 5000;
stop();
stage.addEventListener(Event.ENTER_FRAME, onEnterFramee);
Volume = 1;
scf = new SoundTransform();
ServerFps = stage.frameRate;
stage.frameRate = 30;
MochiBot.track(this, MochiBotKey);
sender = new LocalConnection();
url = root.loaderInfo.url;
domain = sender.domain;
utm_content = "intro";
Url = "http://www.gamesbook.com";
TypeS = 1;
GoTo = "gamesbook";
stop();
}
public function JSod(){
stage.addEventListener(Event.ENTER_FRAME, NewSod);
}
public function NewSod(_arg1){
Volume = (Volume - 0.02);
scf.volume = Volume;
soundTransform = scf;
if (Volume < 0){
stage.removeEventListener(Event.ENTER_FRAME, NewSod);
};
}
public function LoadGamePlay(){
stage.frameRate = ServerFps;
SoundMixer.stopAll();
gotoAndStop(2);
}
public function com(_arg1){
var _local2:String;
_local2 = _arg1.target.data.toLowerCase();
if (_local2 == "gamesbook.com"){
Url = "http://www.gamesbook.com";
GoTo = "gamesbook";
} else {
if (_local2 == "wyspagier.pl"){
Url = "http://www.wyspagier.pl";
GoTo = "wyspagier";
} else {
if (_local2 == "oyunlaradasi.com"){
Url = "http://www.oyunlaradasi.com";
GoTo = "oyunlaradasi";
} else {
if (_local2 == "joacajocuri.ro"){
Url = "http://www.joacajocuri.ro";
GoTo = "joacajocuri";
} else {
if (_local2 == "gladespil.dk"){
Url = "http://www.gladespil.dk";
GoTo = "gladespil";
} else {
if (_local2 == "jogarlegal.com.br"){
Url = "http://www.jogarlegal.com.br";
GoTo = "jogarlegal";
} else {
if (_local2 == "jeuxdroles.fr"){
Url = "http://www.jeuxdroles.fr";
GoTo = "jeuxdroles";
} else {
if (_local2 == "universodelgioco.it"){
Url = "http://www.universodelgioco.it";
GoTo = "universodelgioco";
} else {
if (_local2 == "jocjogos.com"){
Url = "http://www.jocjogos.com";
GoTo = "jocjogos";
} else {
if (_local2 == "juegoswapos.es"){
Url = "http://www.juegoswapos.es";
GoTo = "juegoswapos";
} else {
if (_local2 == "speeleiland.nl"){
Url = "http://www.speeleiland.nl";
GoTo = "speeleiland";
} else {
if (_local2 == "brincar.pt"){
Url = "http://www.brincar.pt";
GoTo = "brincar";
} else {
if (_local2 == "gratisspill.no"){
Url = "http://www.gratisspill.no";
GoTo = "gratisspill";
} else {
if (_local2 == "spielkarussell.de"){
Url = "http://www.spielkarussell.de";
GoTo = "spielkarussell";
} else {
Url = "http://www.gamesbook.com";
GoTo = "gamesbook";
};
};
};
};
};
};
};
};
};
};
};
};
};
};
Intro.a2.a.a.gotoAndStop(GoTo);
}
public function onEnterFramee(_arg1:Event){
var _local2:*;
var _local3:String;
var _local4:URLLoader;
var _local5:Number;
var _local6:Number;
if (framesLoaded == totalFrames){
stage.removeEventListener(Event.ENTER_FRAME, onEnterFramee);
_local2 = sender.domain;
if (_local2 != "localhost"){
_local4 = new URLLoader(new URLRequest("http://api.jaludo.com/geoip/index.php?return=domain&type=gameshell&portal=gamesbook"));
_local4.addEventListener(Event.COMPLETE, com);
};
Intro.gotoAndStop(10);
} else {
_local5 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
_local6 = Math.round((_local5 * 100));
Intro.Loading.LoadingTxt.txt.text = (_local6 + "%");
};
}
}
}//package
Section 76
//BubblesArray (BubblesArray)
package {
import flash.geom.*;
public class BubblesArray {
private var _height:int;
private var _width:int;
private var _top:int;
private var _left:int;
private var _bubbles:Array;
private var _firstRowShifted:Boolean;
public static const DX:int = (2 * Bubble.RADIUS);
public static const DY:int = Math.round((1.732 * Bubble.RADIUS));
public function BubblesArray(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
_width = _arg1;
_height = _arg2;
_left = _arg3;
_top = _arg4;
_bubbles = [];
_firstRowShifted = false;
var _local5:int;
while (_local5 < (_height * _width)) {
_bubbles.push(null);
_local5++;
};
}
public function getBubbleCoords(_arg1:Bubble):Point{
var _local2:Point = new Point(-1, -1);
var _local3:int = _bubbles.indexOf(_arg1);
if (_local3 > -1){
_local2.x = (_local3 % _width);
_local2.y = Math.floor((_local3 / _width));
};
return (_local2);
}
public function localToArray(_arg1:int, _arg2:int):Point{
var _local3:Point = new Point();
_local3.y = Math.round((((_arg2 - _top) - Bubble.RADIUS) / DY));
if (isRowShifted(_local3.y)){
_local3.x = Math.round(((((_arg1 - _left) - Bubble.RADIUS) - Bubble.RADIUS) / DX));
} else {
_local3.x = Math.round((((_arg1 - _left) - Bubble.RADIUS) / DX));
};
return (_local3);
}
public function getTraectory(_arg1:int, _arg2:int, _arg3:int):Array{
var _local9:Point;
var _local10:Number;
var _local11:Number;
var _local18:Number;
var _local4:Array = [];
var _local5:Number = _arg1;
var _local6:Number = _arg2;
var _local7:Number = ((Math.cos(((-(_arg3) / 180) * Math.PI)) * Bubble.RADIUS) / 10);
var _local8:Number = ((-(Math.sin(((-(_arg3) / 180) * Math.PI))) * Bubble.RADIUS) / 10);
var _local12 = -1;
var _local13 = -1;
var _local14:Boolean;
var _local15:int = (_top + Bubble.RADIUS);
var _local16:int = (_left + Bubble.RADIUS);
var _local17:int = ((_left + Math.round(((_width + 0.5) * DX))) - Bubble.RADIUS);
while (!(_local14)) {
_local9 = localToArray(Math.round(_local5), Math.round(_local6));
if ((((((((_local9.x > -1)) && ((_local9.x < _width)))) && ((_local9.y > -1)))) && ((_local9.y < _height)))){
if (getBubbleAt(_local9.x, _local9.y) != null){
if (_local4.length < 1){
_local4.push(new Point(Math.round(_local10), Math.round(_local11)));
};
_local9 = localToArray(Math.round(_local10), Math.round(_local11));
_local4.push(arrayToLocal(_local9.x, _local9.y));
_local14 = true;
} else {
if (((!((_local9.x == _local12))) || (!((_local9.y == _local13))))){
_local10 = _local5;
_local11 = _local6;
_local12 = _local9.x;
_local13 = _local9.y;
};
};
};
if (!_local14){
_local5 = (_local5 + _local7);
_local6 = (_local6 + _local8);
if (_local5 < _local16){
_local18 = (_local16 - _local5);
_local5 = _local16;
_local6 = (_local6 + Math.abs(((_local8 * _local18) / _local7)));
_local7 = -(_local7);
_local4.push(new Point(Math.round(_local5), Math.round(_local6)));
};
if (_local5 > _local17){
_local18 = (_local5 - _local17);
_local5 = _local17;
_local6 = (_local6 + Math.abs(((_local8 * _local18) / _local7)));
_local7 = -(_local7);
_local4.push(new Point(Math.round(_local5), Math.round(_local6)));
};
if (_local6 < _local15){
_local18 = (_local15 - _local6);
_local6 = _local15;
_local5 = (_local5 - (_local7 * Math.abs((_local18 / _local8))));
_local9 = localToArray(Math.round(_local5), Math.round(_local6));
if (_local9.x < 0){
_local9.x = 0;
};
if (_local9.x > (_width - 1)){
_local9.x = (_width - 1);
};
if (getBubbleAt(_local9.x, _local9.y) != null){
if (_local4.length < 1){
_local4.push(new Point(Math.round(_local10), Math.round(_local11)));
};
_local9 = localToArray(Math.round(_local10), Math.round(_local11));
_local4.push(arrayToLocal(_local9.x, _local9.y));
} else {
if (_local4.length < 1){
_local4.push(new Point(Math.round(_local5), Math.round(_local6)));
};
_local4.push(arrayToLocal(_local9.x, _local9.y));
};
_local14 = true;
};
};
};
return (_local4);
}
public function getBubbleAt(_arg1:int, _arg2:int):Bubble{
if ((((((((_arg1 > -1)) && ((_arg1 < _width)))) && ((_arg2 > -1)))) && ((_arg2 < _height)))){
return ((_bubbles[((_arg2 * _width) + _arg1)] as Bubble));
};
return (null);
}
public function arrayToLocal(_arg1:int, _arg2:int):Point{
var _local3:Point = new Point();
_local3.y = ((_top + Bubble.RADIUS) + (_arg2 * DY));
if (isRowShifted(_arg2)){
_local3.x = (((_left + Bubble.RADIUS) + Bubble.RADIUS) + (_arg1 * DX));
} else {
_local3.x = ((_left + Bubble.RADIUS) + (_arg1 * DX));
};
return (_local3);
}
public function findBubblesToExplode(_arg1:int, _arg2:int):Array{
var _local6:Bubble;
var _local8:Point;
var _local3:Array = [];
var _local4:Array = [new Point(0, -1), new Point(1, 0), new Point(0, 1), new Point(-1, 0), new Point(1, -1), new Point(1, 1), new Point(0, -2), new Point(2, 0), new Point(0, 2), new Point(-2, 0), new Point(-1, -1), new Point(-1, 1), new Point(-1, -2), new Point(-1, 2), new Point(1, -2), new Point(1, 2), new Point(2, -1), new Point(2, 1)];
var _local5:Point = new Point(_arg1, _arg2);
var _local7:int;
while (_local7 < 18) {
if (isRowShifted(_local5.y)){
_local8 = new Point((_local5.x + Point(_local4[_local7]).x), (_local5.y + Point(_local4[_local7]).y));
} else {
_local8 = new Point((_local5.x - Point(_local4[_local7]).x), (_local5.y + Point(_local4[_local7]).y));
};
if ((((((((_local8.x > -1)) && ((_local8.x < _width)))) && ((_local8.y > -1)))) && ((_local8.y < _height)))){
_local6 = getBubbleAt(_local8.x, _local8.y);
if (_local6 != null){
_local3.push(_local6);
};
};
_local7++;
};
return (_local3);
}
public function get width():int{
return (_width);
}
public function findAllBubbles():Array{
var _local2:Bubble;
var _local1:Array = [];
for each (_local2 in _bubbles) {
if (_local2 != null){
_local1.push(_local2);
};
};
return (_local1);
}
public function setBubbleAt(_arg1:int, _arg2:int, _arg3:Bubble):void{
if ((((((((_arg1 > -1)) && ((_arg1 < _width)))) && ((_arg2 > -1)))) && ((_arg2 < _height)))){
_bubbles[((_arg2 * _width) + _arg1)] = _arg3;
};
}
public function findBubblesToFall():Array{
var _local3:Array;
var _local4:Array;
var _local7:Point;
var _local8:Bubble;
var _local10:int;
var _local11:int;
var _local12:Point;
var _local1:Array = [];
var _local2:Array = [];
var _local5:Array = _bubbles.slice();
var _local6:Array = [new Point(0, -1), new Point(1, 0), new Point(0, 1), new Point(-1, 0), new Point(1, -1), new Point(1, 1)];
var _local9:int = (_local5.length - 1);
while (_local9 >= 0) {
if (((!((_local5[_local9] == null))) && ((_local2.indexOf(_local5[_local9]) == -1)))){
_local7 = new Point((_local9 % _width), Math.floor((_local9 / _width)));
_local2.push(_local5[_local9]);
_local10 = _local7.y;
_local3 = [_local7];
_local4 = [_local5[_local9]];
while ((((_local3.length > 0)) && ((_local10 > 0)))) {
_local7 = _local3.pop();
_local11 = 0;
while (_local11 < 6) {
if (isRowShifted(_local7.y)){
_local12 = new Point((_local7.x + Point(_local6[_local11]).x), (_local7.y + Point(_local6[_local11]).y));
} else {
_local12 = new Point((_local7.x - Point(_local6[_local11]).x), (_local7.y + Point(_local6[_local11]).y));
};
if ((((((((_local12.x > -1)) && ((_local12.x < _width)))) && ((_local12.y > -1)))) && ((_local12.y < _height)))){
_local8 = _local5[(_local12.x + (_local12.y * _width))];
if (((!((_local8 == null))) && ((_local4.indexOf(_local8) < 0)))){
if (_local12.y < _local10){
_local10 = _local12.y;
};
_local3.push(_local12);
_local4.push(_local8);
_local2.push(_local8);
};
};
_local11++;
};
};
if (_local10 > 0){
for each (_local8 in _local4) {
_local1.push(_local8);
};
};
};
_local9--;
};
return (_local1);
}
public function get height():int{
return (_height);
}
public function findBubblesToRemove(_arg1:int, _arg2:int):Array{
var _local6:Point;
var _local7:int;
var _local8:Bubble;
var _local9:int;
var _local10:Point;
var _local3:Array = [];
var _local4:Array = [];
var _local5:Array = [new Point(0, -1), new Point(1, 0), new Point(0, 1), new Point(-1, 0), new Point(1, -1), new Point(1, 1)];
_local3.push(getBubbleAt(_arg1, _arg2));
_local4.push(new Point(_arg1, _arg2));
while (_local4.length > 0) {
_local6 = _local4.pop();
_local7 = getBubbleAt(_local6.x, _local6.y).color;
_local9 = 0;
while (_local9 < 6) {
if (isRowShifted(_local6.y)){
_local10 = new Point((_local6.x + Point(_local5[_local9]).x), (_local6.y + Point(_local5[_local9]).y));
} else {
_local10 = new Point((_local6.x - Point(_local5[_local9]).x), (_local6.y + Point(_local5[_local9]).y));
};
if ((((((((_local10.x > -1)) && ((_local10.x < _width)))) && ((_local10.y > -1)))) && ((_local10.y < _height)))){
_local8 = getBubbleAt(_local10.x, _local10.y);
if (((((!((_local8 == null))) && ((_local3.indexOf(_local8) < 0)))) && ((_local8.color == _local7)))){
_local4.push(_local10);
_local3.push(_local8);
};
};
_local9++;
};
};
return (_local3);
}
public function findBubblesWithColor(_arg1:int):Array{
var _local3:Bubble;
var _local2:Array = [];
for each (_local3 in _bubbles) {
if (((!((_local3 == null))) && ((_local3.color == _arg1)))){
_local2.push(_local3);
};
};
return (_local2);
}
private function isRowShifted(_arg1:int):Boolean{
var _local2:Boolean;
if (_firstRowShifted){
_local2 = ((_arg1 % 2) == 0);
} else {
_local2 = !(((_arg1 % 2) == 0));
};
return (_local2);
}
public function invertRowsShift():void{
_firstRowShifted = !(_firstRowShifted);
}
public function removeBubble(_arg1:Bubble):void{
var _local2:int = _bubbles.indexOf(_arg1);
if (_local2 > -1){
_bubbles[_local2] = null;
};
}
}
}//package
Section 77
//Cannon (Cannon)
package {
import flash.events.*;
import flash.display.*;
public dynamic class Cannon extends MovieClip {
public var OK:Boolean;
public function Cannon(){
addFrameScript(0, frame1);
}
public function run(_arg1){
if ((((rotation == 90)) || ((rotation == -270)))){
rotation = -90;
};
}
function frame1(){
stop();
if (!OK){
addEventListener(Event.ENTER_FRAME, run);
OK = true;
};
}
}
}//package
Section 78
//ClassicMode (ClassicMode)
package {
import flash.display.*;
public dynamic class ClassicMode extends Sprite {
}
}//package
Section 79
//DialogEvent (DialogEvent)
package {
import flash.events.*;
public class DialogEvent extends Event {
public static const NO:String = "No";
public static const YES:String = "Yes";
public static const OK:String = "Ok";
public function DialogEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("DialogEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new DialogEvent(type, bubbles, cancelable));
}
}
}//package
Section 80
//ENDLESS (ENDLESS)
package {
import flash.display.*;
public dynamic class ENDLESS extends MovieClip {
}
}//package
Section 81
//EndlessData (EndlessData)
package {
public class EndlessData {
private var _addLineAfter:int;
private var _bonusNumber:int;
private var _bubblesColors:int;
public static const INITIAL_BONUSES:int = 0;
public static const INITIAL_ADDLINEAFTER:int = 5;
public static const INITIAL_COLORS:int = 4;
public function EndlessData(){
_bubblesColors = INITIAL_COLORS;
_bonusNumber = INITIAL_BONUSES;
_addLineAfter = INITIAL_ADDLINEAFTER;
}
public function get addLineAfter():int{
return (_addLineAfter);
}
public function get bonusNumber():int{
return (_bonusNumber);
}
public function set bubblesColors(_arg1:int):void{
if (_arg1 > 7){
_arg1 = 7;
};
_bubblesColors = _arg1;
}
public function set addLineAfter(_arg1:int):void{
if (_arg1 < 2){
_arg1 = 2;
};
_addLineAfter = _arg1;
}
public function get bubblesColors():int{
return (_bubblesColors);
}
public function set bonusNumber(_arg1:int):void{
if (_arg1 > 6){
_arg1 = 6;
};
_bonusNumber = _arg1;
}
}
}//package
Section 82
//EndlessMode (EndlessMode)
package {
import flash.display.*;
public dynamic class EndlessMode extends Sprite {
}
}//package
Section 83
//EnterNameDialog (EnterNameDialog)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class EnterNameDialog extends Sprite {
private var _okButton:BaseButton;
private var _dialogWindow:Sprite;
private var _textInput:TextField;
private static const INPUT_TOP:int = -10;
private static const WIDTH:int = 600;
private static const HEIGHT:int = 500;
public function EnterNameDialog(){
this.graphics.clear();
this.graphics.beginFill(0, 0.5);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
_dialogWindow = new EnterNameWindow();
_dialogWindow.x = (width / 2);
_dialogWindow.y = (height / 2);
_dialogWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
_dialogWindow.cacheAsBitmap = true;
addChild(_dialogWindow);
_textInput = getInputText();
_textInput.maxChars = 10;
_textInput.text = "PLAYER";
_textInput.y = (INPUT_TOP - (_textInput.height / 2));
_dialogWindow.addChild(_textInput);
_okButton = new OkButton();
_okButton.x = 0;
_okButton.y = (((_dialogWindow.height / 2) - (_okButton.height / 2)) - 20);
_okButton.addEventListener(MouseEvent.CLICK, onClick);
_dialogWindow.addChild(_okButton);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function getInputText():TextField{
var _local1:TextFormat = new TextFormat();
_local1.font = "039-CAI978";
_local1.color = 0xFFFFFF;
_local1.letterSpacing = 3;
_local1.size = 30;
_local1.underline = false;
_local1.align = TextFormatAlign.CENTER;
var _local2:* = new TextField();
_local2.type = TextFieldType.INPUT;
_local2.selectable = true;
_local2.defaultTextFormat = _local1;
_local2.autoSize = TextFieldAutoSize.CENTER;
_local2.background = false;
_local2.border = false;
_local2.embedFonts = true;
_local2.filters = [new DropShadowFilter(0, 0, 0, 1, 4, 4, 5)];
_local2.x = 0;
_local2.text = "";
return (_local2);
}
private function onAddedToStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
stage.focus = InteractiveObject(_textInput);
}
public function remove():void{
_okButton.removeEventListener(MouseEvent.CLICK, onClick);
_okButton.remove();
parent.removeChild(this);
}
private function onClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new DialogEvent(DialogEvent.OK));
}
public function get textInput():TextField{
return (_textInput);
}
}
}//package
Section 84
//EnterNameWindow (EnterNameWindow)
package {
import flash.display.*;
public dynamic class EnterNameWindow extends Sprite {
}
}//package
Section 85
//Game (Game)
package {
import flash.geom.*;
import HighScores.*;
import flash.events.*;
import com.greensock.*;
import flash.display.*;
import flash.filters.*;
import Bonuses.*;
import flash.utils.*;
import com.greensock.easing.*;
public class Game extends Sprite {
private var _nextBubble:Bubble;
private var count:int;
private var _levelIndicator:BaseIndicator;
private var _cannonAngle:Number;
private var _bubblesRemoved:int;
private var _cannon:Cannon;
private var _bonus:BaseBonus;
private var _bubbles:BubblesArray;
private var _currentUnsuccess:int;
private var _gamePaused:Boolean;
private var _currentLevel:int;
private var _soundButton:BaseCheckButton;
private var _aimingLineTimer:Timer;
private var _bubblesRemovedByHit:int;
private var _level:Sprite;
private var _score:int;
private var _bubble:Bubble;
private var _nextBubbleIndicator:Sprite;
private var _scoreMultiplier:int;
private var _aimingLine:AimingLine;
private var _scoreIndicator:BaseIndicator;
private var _levelData:LevelData;
private var _levelProgress:LevelProgress;
private var _bonuses:Array;
private var _bubblesRemovedOther:int;
private var _scoreDelta:int;
private var _canFire:Boolean;// = false
private var _backToMenu:BaseButton;
private var _musicButton:BaseCheckButton;
private var _endlessData:EndlessData;
private static const BONUS_CHANCE:int = 50;
private static const LOGO_X = 20;
private static const LOGO_Y = 480;
private static const ARRAY_LEFT:int = 15;
private static const LOGO_SCALE = 0.71;
private static const LEVELS_COUNT:int = 20;
private static const ARRAY_WIDTH:int = 9;
private static const PROGRESS_TOP:int = 250;
private static const INDICATOR_TOP:int = 61;
private static const INDICATOR_VSPACE:int = 110;
private static const PROGRESS_LEFT:int = 415;
private static const AIMINGLINE_LIFE_TIME:int = 20000;
private static const ARRAY_HEIGHT:int = 12;
private static const ARRAY_TOP:int = 15;
private static const GOOD_SHOOT_SCORE:int = 1000;
private static const INDICATOR_MIDDLE:int = 526;
private static const ARRAY_RIGHT:int = (ARRAY_LEFT + Math.round(((ARRAY_WIDTH + 0.5) * BubblesArray.DX)));
private static const BUBBLE_SPEED:Number = 1000;
public function Game(_arg1:int){
_cannon = new Cannon();
_cannon.x = ((ARRAY_LEFT + ARRAY_RIGHT) / 2);
_cannon.y = 455;
_cannon.rotation = -90;
addChild(_cannon);
_levelIndicator = new LevelIndicator();
_levelIndicator.x = INDICATOR_MIDDLE;
_levelIndicator.y = INDICATOR_TOP;
addChild(_levelIndicator);
_scoreIndicator = new ScoreIndicator();
_scoreIndicator.x = (INDICATOR_MIDDLE + 20);
_scoreIndicator.y = ((_levelIndicator.y + INDICATOR_VSPACE) + 10);
_scoreIndicator._textField.x = (_scoreIndicator._textField.x + 10);
_scoreIndicator._textField.y = (_scoreIndicator._textField.y + 5);
_scoreIndicator._textField.scaleX = (_scoreIndicator._textField.scaleY = 0.7);
addChild(_scoreIndicator);
_nextBubbleIndicator = new NextBubbleIndicator();
_nextBubbleIndicator.x = INDICATOR_MIDDLE;
_nextBubbleIndicator.y = ((_scoreIndicator.y + INDICATOR_VSPACE) + 30);
_nextBubbleIndicator.filters = [new DropShadowFilter(4, 45, 0, 1, 3, 3, 0.3)];
addChild(_nextBubbleIndicator);
var _local2:MovieClip = new GamesBookas31();
_local2.gotoAndStop(1);
_local2.x = LOGO_X;
_local2.y = LOGO_Y;
_local2.scaleX = LOGO_SCALE;
_local2.scaleY = LOGO_SCALE;
addChild(_local2);
_levelProgress = new LevelProgress();
_levelProgress.x = (PROGRESS_LEFT + 21);
_levelProgress.y = (PROGRESS_TOP + 10);
_levelProgress.filters = [new DropShadowFilter(3, 45, 0, 1, 3, 3, 0.5)];
addChild(_levelProgress);
_soundButton = new SoundButton();
_soundButton.x = (INDICATOR_MIDDLE - 30);
_soundButton.y = ((_nextBubbleIndicator.y + INDICATOR_VSPACE) - 10);
_soundButton.checked = !(SoundManager.soundsEnabled);
_soundButton.addEventListener(MouseEvent.CLICK, onSoundToggle);
addChild(_soundButton);
_musicButton = new MusicButton();
_musicButton.x = (INDICATOR_MIDDLE + 30);
_musicButton.y = ((_nextBubbleIndicator.y + INDICATOR_VSPACE) - 10);
_musicButton.checked = !(SoundManager.musicEnabled);
_musicButton.addEventListener(MouseEvent.CLICK, onMusicToggle);
addChild(_musicButton);
_backToMenu = new BackToMenuButton();
_backToMenu.x = (INDICATOR_MIDDLE + 8);
_backToMenu.y = 475;
_backToMenu.addEventListener(MouseEvent.CLICK, onMenuClick);
addChild(_backToMenu);
cacheAsBitmap = true;
_currentLevel = _arg1;
startGame();
}
public function get bonuses():Array{
return (_bonuses);
}
private function levelFinished():void{
var _local3:Bubble;
SoundManager.playSound(SoundManager.SOUND_LEVELCOMPLETE);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
_aimingLineTimer.stop();
_aimingLineTimer.removeEventListener(TimerEvent.TIMER, onAimingTimer);
_aimingLine.traectory = [];
_nextBubble.remove();
var _local1:Sprite = new LevelComplete();
_local1.x = ((ARRAY_RIGHT / 2) + (ARRAY_LEFT / 2));
_local1.y = 220;
_local1.scaleX = 0;
_local1.scaleY = 0;
_local1.alpha = 0;
_local1.filters = [new DropShadowFilter(7, 45, 0, 1, 5, 5, 0.5)];
_level.addChild(_local1);
new TweenLite(_local1, 2, {scaleX:1, scaleY:1, alpha:1, onComplete:levelFinishedSplashComplete, ease:Back.easeOut});
new TweenLite(_levelProgress, 1.5, {progress:0, ease:Linear.easeNone, delay:0.5});
new TweenLite(_cannon, 1.5, {alpha:0, blurFilter:{blurX:20, blurY:20}, ease:Linear.easeNone});
var _local2:Array = _bubbles.findAllBubbles();
for each (_local3 in _local2) {
new TweenLite(_local3, Math.random(), {onComplete:_local3.fall});
};
}
private function launchBubble():void{
var _local5:Point;
var _local6:Number;
var _local7:Number;
_canFire = false;
var _local1:Array = _bubbles.getTraectory(_bubble.x, _bubble.y, _cannon.rotation);
var _local2:Point = new Point(_bubble.x, _bubble.y);
var _local3:TimelineLite = new TimelineLite({onComplete:ballInPlace});
var _local4:int;
while (_local4 < _local1.length) {
_local5 = _local1[_local4];
_local6 = _local5.subtract(_local2).length;
_local7 = (Math.round(((_local6 / BUBBLE_SPEED) * 1000)) / 1000);
if (_local7 < 0.03){
_local7 = 0.03;
};
if ((((_local5.x == (ARRAY_LEFT + Bubble.RADIUS))) || ((_local5.x == (ARRAY_RIGHT - Bubble.RADIUS))))){
_local3.append(new TweenLite(_bubble, _local7, {x:_local5.x, y:_local5.y, onComplete:hitWall, ease:Linear.easeNone}));
} else {
_local3.append(new TweenLite(_bubble, _local7, {x:_local5.x, y:_local5.y, ease:Linear.easeNone}));
};
_local2.x = _local5.x;
_local2.y = _local5.y;
_local4++;
};
SoundManager.playSound(SoundManager.SOUND_BUBBLE_LAUNCH);
}
private function moveComplete():void{
if (isEndlessMode()){
moveCompleteEndless();
} else {
moveCompleteClassic();
};
}
private function addNewLineComplete():void{
if (_aimingLineTimer.running){
showAimingLine();
};
if (checkForGameOver()){
gameOver();
} else {
addBubble();
};
}
public function isEndlessMode():Boolean{
return ((_currentLevel == 100));
}
private function getRandomBubbleClassic():Bubble{
var _local1:int = Math.floor((Math.random() * _levelData.colorsNumber));
return (Bubble.getBubble(_local1));
}
private function moveCompleteClassic():void{
if (checkForGameOver()){
gameOver();
} else {
if (_bubblesRemoved >= _levelData.bubblesForComplete){
levelFinished();
} else {
if (_currentUnsuccess == _levelData.addLineAfter){
addNewLine();
} else {
addBubble();
};
};
};
}
private function continueGame(_arg1:DialogEvent):void{
AbortGameDialog(_arg1.currentTarget).removeEventListener(DialogEvent.YES, abortGame);
AbortGameDialog(_arg1.currentTarget).removeEventListener(DialogEvent.NO, continueGame);
AbortGameDialog(_arg1.currentTarget).remove();
resumeGame();
}
public function set bubblesRemovedOther(_arg1:int):void{
_bubblesRemovedOther = _arg1;
}
private function onLevelComplete(_arg1:Event):void{
var _local2:Sprite;
trace(count);
if (++count == (30 * 3)){
removeEventListener(Event.ENTER_FRAME, onLevelComplete);
removeChild(_level);
_level = null;
if (_currentLevel == LEVELS_COUNT){
_local2 = new GameCompleteDialog(_score);
addChild(_local2);
_local2.addEventListener(DialogEvent.OK, onGameCompleteDialog);
} else {
_currentLevel++;
levelHints();
};
count = 0;
};
}
private function pauseGame():void{
_gamePaused = true;
TweenMax.pauseAll();
}
private function abortGame(_arg1:DialogEvent):void{
AbortGameDialog(_arg1.currentTarget).removeEventListener(DialogEvent.YES, abortGame);
AbortGameDialog(_arg1.currentTarget).removeEventListener(DialogEvent.NO, continueGame);
AbortGameDialog(_arg1.currentTarget).remove();
dispatchEvent(new GameEvent(GameEvent.GOTO_MAINMENU));
}
private function removeBubbles():void{
var _local3:Bubble;
var _local1:Point = _bubbles.localToArray(_bubble.x, _bubble.y);
var _local2:Array = _bubbles.findBubblesToRemove(_local1.x, _local1.y);
if (_local2.length > 2){
SoundManager.playSound(SoundManager.SOUND_BUBBLES_EXPLODES);
_scoreDelta = 0;
_scoreMultiplier = 1;
_bubblesRemovedOther = 0;
_bubblesRemovedByHit = _local2.length;
_bonus = null;
for each (_local3 in _local2) {
if (_local3.bonus != null){
_bonus = _local3.bonus;
};
_bubbles.removeBubble(_local3);
_local3.Explode();
};
if (_bonus != null){
_bonus.addEventListener(BonusEvent.BONUS_COMPLETE, bonusComplete);
_bonus.activate(this);
} else {
fallBubbles();
};
} else {
_currentUnsuccess++;
moveComplete();
};
}
private function onGameOverComplete(_arg1:MouseEvent):void{
var _local3:HighScoresTable;
var _local4:Sprite;
if (_gamePaused){
return;
};
removeEventListener(MouseEvent.CLICK, onGameOverComplete);
var _local2:BaseRecord = new BaseRecord();
_local2.score = _score;
if (isEndlessMode()){
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.ENDLESS_TABLE));
} else {
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.CLASSIC_TABLE));
};
if (_local3.recordInTable(_local2)){
_local4 = new EnterNameDialog();
addChild(_local4);
_local4.addEventListener(DialogEvent.OK, onEnterNameComplete);
} else {
dispatchEvent(new GameEvent(GameEvent.GOTO_MAINMENU));
};
}
private function gameOverSplashComplete():void{
addEventListener(MouseEvent.CLICK, onGameOverComplete);
}
private function startLevel(_arg1:DialogEvent):void{
var _local3:int;
var _local4:Bubble;
var _local5:Point;
LevelHintsDialog(_arg1.currentTarget).removeEventListener(DialogEvent.OK, startLevel);
LevelHintsDialog(_arg1.currentTarget).remove();
_cannon.x = ((ARRAY_LEFT + ARRAY_RIGHT) / 2);
_cannon.y = 455;
_cannon.rotation = -90;
_cannon.filters = [new DropShadowFilter(3, 45, 0, 1, 2, 2, 0.5)];
_cannon.alpha = 1;
_level = new Sprite();
addChild(_level);
_bubbles = new BubblesArray(ARRAY_WIDTH, ARRAY_HEIGHT, ARRAY_LEFT, ARRAY_TOP);
_levelData = LevelData.createLevel(_currentLevel);
_endlessData = new EndlessData();
_bonuses = [false, false, false, false, false, false, false];
if (isEndlessMode()){
_levelIndicator.value = "ENDLESS";
} else {
_levelIndicator.value = _currentLevel.toString();
};
_bubblesRemoved = 0;
_currentUnsuccess = 0;
_levelProgress.progress = (_bubblesRemoved / _levelData.bubblesForComplete);
if (isEndlessMode()){
_levelProgress.visible = false;
};
_aimingLine = new AimingLine();
_level.addChild(_aimingLine);
_aimingLineTimer = new Timer(AIMINGLINE_LIFE_TIME);
_aimingLineTimer.addEventListener(TimerEvent.TIMER, onAimingTimer);
var _local2:int;
while (_local2 < _levelData.startLines) {
_local3 = 0;
while (_local3 < bubbles.width) {
_local4 = getRandomBubble();
_bubbles.setBubbleAt(_local3, _local2, _local4);
_level.addChild(_local4);
_local5 = _bubbles.arrayToLocal(_local3, _local2);
_local4.x = _local5.x;
_local4.y = _local5.y;
_local3++;
};
_local2++;
};
addNextBubble();
addBubble();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(MouseEvent.MOUSE_DOWN, onClick);
}
private function onMenuClick(_arg1:MouseEvent):void{
pauseGame();
var _local2:Sprite = new AbortGameDialog();
addChild(_local2);
_local2.addEventListener(DialogEvent.YES, abortGame);
_local2.addEventListener(DialogEvent.NO, continueGame);
}
private function updateScores():void{
_scoreDelta = ((((5 * _bubblesRemovedByHit) * _bubblesRemovedByHit) + (15 * _bubblesRemovedByHit)) + 10);
_scoreDelta = (_scoreDelta + (_bubblesRemovedOther * 50));
_scoreDelta = (_scoreDelta * _scoreMultiplier);
_score = (_score + _scoreDelta);
_bubblesRemoved = (_bubblesRemoved + (_bubblesRemovedByHit + _bubblesRemovedOther));
new TweenLite(_levelProgress, 0.5, {progress:(_bubblesRemoved / _levelData.bubblesForComplete), ease:Linear.easeNone});
if (_scoreDelta >= GOOD_SHOOT_SCORE){
SoundManager.playSound(SoundManager.SOUND_GOOD_SHOOT);
};
allClearBonusCheck();
_scoreIndicator.value = _score.toString();
addFlyingScore(_bubble.x, _bubble.y, _scoreDelta);
moveComplete();
}
private function onAimingTimer(_arg1:TimerEvent):void{
_aimingLineTimer.stop();
_aimingLine.traectory = [];
}
private function fallBubbles():void{
var _local2:Bubble;
var _local1:Array = _bubbles.findBubblesToFall();
_bubblesRemovedOther = (_bubblesRemovedOther + _local1.length);
if (_local1.length > 0){
SoundManager.playSound(SoundManager.SOUND_BUBBLES_FALLS);
};
for each (_local2 in _local1) {
if (_local2.bonus != null){
_bonuses[_local2.color] = false;
};
_bubbles.removeBubble(_local2);
_local2.fall();
};
updateScores();
}
public function get bubbles():BubblesArray{
return (_bubbles);
}
private function startGame():void{
_score = 0;
_scoreIndicator.value = _score.toString();
if (isEndlessMode()){
_levelIndicator.value = "ENDLESS";
} else {
_levelIndicator.value = _currentLevel.toString();
};
SoundManager.playMusic(SoundManager.MUSIC_GAME);
levelHints();
}
private function allClearBonusCheck():void{
var _local2:int;
var _local3:int;
var _local4:TextSprite;
var _local1:int;
while ((((_local1 < _bubbles.width)) && ((_bubbles.getBubbleAt(_local1, 0) == null)))) {
_local1++;
};
if (_local1 == _bubbles.width){
if (isEndlessMode()){
_local2 = 250;
} else {
_local2 = 2500;
};
_local3 = (_currentLevel * _local2);
_score = (_score + _local3);
_local4 = new TextSprite();
_local4.x = ((ARRAY_LEFT + ARRAY_RIGHT) / 2);
_local4.y = 250;
_local4.text = ("ALL CLEAR BONUS!\n" + _local3.toString());
_level.addChild(_local4);
new TweenLite(_local4, 1.5, {y:"-250", alpha:0, onComplete:_local4.remove, ease:Linear.easeNone});
SoundManager.playSound(SoundManager.SOUND_GOOD_SHOOT);
};
}
private function levelFinishedSplashComplete():void{
addEventListener(Event.ENTER_FRAME, onLevelComplete);
trace(hasEventListener(Event.ENTER_FRAME));
}
private function bonusComplete(_arg1:BonusEvent):void{
if (_aimingLineTimer.running){
showAimingLine();
};
_bonus.removeEventListener(BonusEvent.BONUS_COMPLETE, bonusComplete);
_bonus = null;
_bonuses[_bubble.color] = false;
fallBubbles();
}
private function moveCompleteEndless():void{
if (checkForGameOver()){
gameOver();
} else {
if (_currentUnsuccess == _endlessData.addLineAfter){
addNewLine();
} else {
_endlessData.addLineAfter = (EndlessData.INITIAL_ADDLINEAFTER - Math.floor((_bubblesRemoved / 600)));
_endlessData.bonusNumber = (EndlessData.INITIAL_BONUSES + Math.floor((_bubblesRemoved / 200)));
_endlessData.bubblesColors = (EndlessData.INITIAL_COLORS + Math.floor((_bubblesRemoved / 500)));
addBubble();
};
};
}
private function onMusicToggle(_arg1:MouseEvent):void{
SoundManager.musicEnabled = !(_musicButton.checked);
}
public function remove():void{
_backToMenu.removeEventListener(MouseEvent.CLICK, onMenuClick);
_soundButton.removeEventListener(MouseEvent.CLICK, onSoundToggle);
_musicButton.removeEventListener(MouseEvent.CLICK, onMusicToggle);
_backToMenu.remove();
_soundButton.remove();
_musicButton.remove();
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
_level = null;
_bubbles = null;
parent.removeChild(this);
}
private function addBubble(){
_bubble = _nextBubble;
_bubble.x = _cannon.x;
_bubble.y = _cannon.y;
addNextBubble();
reorderBubbles();
_canFire = true;
}
private function getRandomBubbleEndless():Bubble{
var _local1:int = Math.floor((Math.random() * _endlessData.bubblesColors));
return (Bubble.getBubble(_local1));
}
private function attachRandomBonus():void{
var _local1:BaseBonus;
if (isEndlessMode()){
_local1 = getRandomBonus(_endlessData.bonusNumber);
} else {
_local1 = getRandomBonus(_levelData.bonusNumber);
};
if (_local1 != null){
_bonuses[_nextBubble.color] = true;
_nextBubble.attachBonus(_local1);
};
}
private function getRandomBubble():Bubble{
var _local1:Bubble;
if (isEndlessMode()){
_local1 = getRandomBubbleEndless();
} else {
_local1 = getRandomBubbleClassic();
};
return (_local1);
}
public function get level():Sprite{
return (_level);
}
private function checkForGameOver():Boolean{
var _local1:int;
var _local2:Boolean;
while ((((_local1 < _bubbles.width)) && (!(_local2)))) {
_local2 = !((_bubbles.getBubbleAt(_local1, (_bubbles.height - 1)) == null));
_local1++;
};
return (_local2);
}
private function levelHints():void{
var _local1:Sprite = new LevelHintsDialog(_currentLevel);
addChild(_local1);
_local1.addEventListener(DialogEvent.OK, startLevel);
}
public function get bubblesRemovedOther():int{
return (_bubblesRemovedOther);
}
private function onGameCompleteDialog(_arg1:DialogEvent):void{
var _local3:HighScoresTable;
var _local4:Sprite;
GameCompleteDialog(_arg1.currentTarget).removeEventListener(DialogEvent.OK, onGameCompleteDialog);
GameCompleteDialog(_arg1.currentTarget).remove();
var _local2:BaseRecord = new BaseRecord();
_local2.score = _score;
if (isEndlessMode()){
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.ENDLESS_TABLE));
} else {
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.CLASSIC_TABLE));
};
if (_local3.recordInTable(_local2)){
_local4 = new EnterNameDialog();
addChild(_local4);
_local4.addEventListener(DialogEvent.OK, onEnterNameComplete);
} else {
dispatchEvent(new GameEvent(GameEvent.GOTO_MAINMENU));
};
}
private function onEnterFrame(_arg1:Event):void{
if (_gamePaused){
return;
};
var _local2:Number = Math.round(((Math.atan2((mouseY - _cannon.y), (mouseX - _cannon.x)) * 180) / Math.PI));
if ((((_local2 > -20)) && ((_local2 < 90)))){
_local2 = -20;
};
if ((((_local2 < -160)) || ((_local2 > 90)))){
_local2 = -160;
};
if (_local2 != _cannonAngle){
_cannonAngle = _local2;
_cannon.rotation = _local2;
if (_aimingLineTimer.running){
showAimingLine();
};
};
if ((((stage.mouseX < 395)) && ((stage.mouseX > 15)))){
if (!stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.addEventListener(MouseEvent.MOUSE_DOWN, thisPlay);
};
} else {
if (stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, thisPlay);
};
};
}
private function onEnterNameComplete(_arg1:DialogEvent):void{
var _local3:HighScoresTable;
var _local2:HighScoresRecord = new HighScoresRecord();
_local2.name = EnterNameDialog(_arg1.currentTarget).textInput.text;
_local2.score = _score;
EnterNameDialog(_arg1.currentTarget).removeEventListener(DialogEvent.OK, onEnterNameComplete);
EnterNameDialog(_arg1.currentTarget).remove();
if (isEndlessMode()){
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.ENDLESS_TABLE));
} else {
_local3 = new HighScoresTable(new LocalLoader(LocalLoader.CLASSIC_TABLE));
};
_local3.putRecord(_local2);
_local3.save();
dispatchEvent(new GameEvent(GameEvent.GOTO_HIGHSCORES));
}
private function resumeGame():void{
TweenMax.resumeAll();
_gamePaused = false;
}
public function get aimingLineTimer():Timer{
return (_aimingLineTimer);
}
private function makeRipple():void{
var _local5:Bubble;
var _local6:Point;
var _local7:Point;
var _local8:Number;
var _local9:TimelineLite;
var _local1:TimelineLite = new TimelineLite({onComplete:removeBubbles});
var _local2:Array = [];
var _local3:Point = _bubbles.localToArray(_bubble.x, _bubble.y);
var _local4:Array = _bubbles.findAllBubbles();
for each (_local5 in _local4) {
_local6 = new Point(_local5.x, _local5.y);
_local7 = _bubbles.arrayToLocal(_local3.x, _local3.y);
_local7 = _local7.subtract(_local6);
_local8 = ((Math.round((_local7.length / 40)) * 0.03) - 0.03);
_local7.normalize(1);
_local7.x = (_local7.x * 3);
_local7.y = (_local7.y * 3);
_local9 = new TimelineLite();
_local9.append(new TweenLite(_local5, 0.03, {x:(_local6.x - _local7.x), y:(_local6.y - _local7.y), ease:Linear.easeNone}));
_local9.append(new TweenLite(_local5, 0.03, {x:_local6.x, y:_local6.y, ease:Linear.easeNone}));
_local9.delay = _local8;
_local2.push(_local9);
};
_local1.appendMultiple(_local2);
}
private function addNewLine(){
var _local4:int;
var _local5:Bubble;
var _local6:Point;
var _local7:Point;
_currentUnsuccess = 0;
_bubbles.invertRowsShift();
var _local1:Array = [];
var _local2:TimelineLite = new TimelineLite({onComplete:addNewLineComplete});
var _local3:int = (_bubbles.height - 2);
while (_local3 > -1) {
_local4 = 0;
while (_local4 < _bubbles.width) {
_local5 = _bubbles.getBubbleAt(_local4, _local3);
if (_local5 != null){
_local6 = _bubbles.arrayToLocal(_local4, (_local3 + 1));
_bubbles.setBubbleAt(_local4, (_local3 + 1), _local5);
_bubbles.setBubbleAt(_local4, _local3, null);
_local1.push(new TweenLite(_local5, 0.1, {x:_local6.x, y:_local6.y, ease:Linear.easeNone}));
} else {
_bubbles.setBubbleAt(_local4, (_local3 + 1), null);
};
_local4++;
};
_local3--;
};
_local2.appendMultiple(_local1);
_local1 = [];
_local4 = 0;
while (_local4 < _bubbles.width) {
_local5 = getRandomBubble();
_local5.scaleX = 0.1;
_local5.scaleY = 0.1;
_local5.alpha = 0;
_level.addChild(_local5);
_local7 = _bubbles.arrayToLocal(_local4, 0);
_local5.x = _local7.x;
_local5.y = _local7.y;
_bubbles.setBubbleAt(_local4, 0, _local5);
_local1.push(new TweenLite(_local5, 0.1, {scaleX:1, scaleY:1, alpha:1, ease:Linear.easeNone}));
_local4++;
};
_local2.appendMultiple(_local1);
SoundManager.playSound(SoundManager.SOUND_ADDLINE);
}
private function addNextBubble():void{
_nextBubble = getRandomBubble();
attachRandomBonus();
_nextBubble.x = _nextBubbleIndicator.x;
_nextBubble.y = (_nextBubbleIndicator.y + 10);
_level.addChild(_nextBubble);
}
private function addFlyingScore(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:TextSprite = new TextSprite();
_local4.x = _arg1;
_local4.y = _arg2;
_local4.text = _arg3.toString();
_level.addChild(_local4);
new TweenLite(_local4, 1, {y:"-100", alpha:0, onComplete:_local4.remove, ease:Linear.easeNone});
}
private function ballInPlace():void{
SoundManager.playSound(SoundManager.SOUND_BUBBLE_INPLACE);
var _local1:Point = _bubbles.localToArray(_bubble.x, _bubble.y);
_bubbles.setBubbleAt(_local1.x, _local1.y, _bubble);
makeRipple();
}
private function onSoundToggle(_arg1:MouseEvent):void{
SoundManager.soundsEnabled = !(_soundButton.checked);
}
private function getRandomBonus(_arg1:int):BaseBonus{
var _local3:int;
var _local4:int;
var _local5:int;
var _local2:BaseBonus;
if (_arg1 == 0){
return (null);
};
if (!_bonuses[_nextBubble.color]){
_local3 = Math.floor((Math.random() * 100));
if (_local3 < BONUS_CHANCE){
_local4 = Math.floor((Math.random() * 100));
_local5 = 1;
while ((((_local2 == null)) && ((_local5 <= _arg1)))) {
_local2 = BaseBonus.getBonus(_local5);
if (_local4 >= _local2.probability){
_local4 = (_local4 - _local2.probability);
_local2 = null;
};
_local5++;
};
};
};
return (_local2);
}
private function onClick(_arg1:MouseEvent):void{
if (_gamePaused){
return;
};
if ((((((((mouseX > ARRAY_LEFT)) && ((mouseX < ARRAY_RIGHT)))) && ((mouseY > ARRAY_TOP)))) && ((mouseY < (ARRAY_TOP + 480))))){
if (_canFire){
launchBubble();
};
};
}
private function reorderBubbles():void{
var _local3:Bubble;
var _local1:Array = _bubbles.findAllBubbles();
var _local2 = 2;
for each (_local3 in _local1) {
var _temp1 = _local2;
_local2 = (_local2 + 1);
_level.setChildIndex(_local3, _temp1);
};
}
private function gameOver():void{
SoundManager.stopMusic();
SoundManager.playSound(SoundManager.SOUND_GAMEOVER);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
aimingLineTimer.stop();
_aimingLineTimer.removeEventListener(TimerEvent.TIMER, onAimingTimer);
_aimingLine.traectory = [];
_nextBubble.remove();
var _local1:Sprite = new GameOver();
_local1.x = ((ARRAY_LEFT / 2) + (ARRAY_RIGHT / 2));
_local1.y = 220;
_local1.scaleX = 0;
_local1.scaleY = 0;
_local1.alpha = 0;
_local1.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
addChild(_local1);
new TweenLite(_cannon, 2, {y:"150", ease:Back.easeIn});
new TweenMax(_level, 1, {colorMatrixFilter:{saturation:0}, ease:Linear.easeNone});
new TweenLite(_level, 2, {y:"500", ease:Back.easeIn});
new TweenLite(_local1, 3, {scaleX:1, scaleY:1, alpha:1, onComplete:gameOverSplashComplete, ease:Back.easeOut});
}
private function showAimingLine():void{
var _local1:Array = _bubbles.getTraectory(_cannon.x, _cannon.y, _cannon.rotation);
var _local2:Point = new Point(_cannon.x, _cannon.y);
_local2.x = (_local2.x + (Math.cos(((_cannonAngle / 180) * Math.PI)) * 85));
_local2.y = (_local2.y + (Math.sin(((_cannonAngle / 180) * Math.PI)) * 85));
_local1.unshift(_local2);
_aimingLine.traectory = _local1;
}
public function thisPlay(_arg1:MouseEvent):void{
_cannon.play();
}
public function get scoreMultiplier():int{
return (_scoreMultiplier);
}
public function set scoreMultiplier(_arg1:int):void{
_scoreMultiplier = _arg1;
}
private function hitWall():void{
SoundManager.playSound(SoundManager.SOUND_BUBBLE_HITWALL);
}
}
}//package
Section 86
//GameCompleteDialog (GameCompleteDialog)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class GameCompleteDialog extends Sprite {
private var _okButton:BaseButton;
private var _dialogWindow:Sprite;
private var _finalScore:TextField;
private var _info:Sprite;
private static const INFO_TOP:int = 50;
private static const WIDTH:int = 600;
private static const HEIGHT:int = 500;
public function GameCompleteDialog(_arg1:int){
this.graphics.clear();
this.graphics.beginFill(0, 0.5);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
_dialogWindow = new LevelHintWindow();
_dialogWindow.x = (width / 2);
_dialogWindow.y = (height / 2);
_dialogWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
_dialogWindow.cacheAsBitmap = true;
addChild(_dialogWindow);
_info = new GameCompleteInfo();
_info.x = 0;
_info.y = ((INFO_TOP - (_dialogWindow.height / 2)) + (_info.height / 2));
_info.filters = [new DropShadowFilter(3, 45, 0, 1, 3, 3, 0.5)];
_dialogWindow.addChild(_info);
_finalScore = getStaticText(_arg1.toString());
_finalScore.y = (_info.y + (_info.height / 2));
_dialogWindow.addChild(_finalScore);
_okButton = new OkButton();
_okButton.x = 0;
_okButton.y = (((_dialogWindow.height / 2) - (_okButton.height / 2)) - 20);
_okButton.addEventListener(MouseEvent.CLICK, onClick);
_dialogWindow.addChild(_okButton);
}
private function getStaticText(_arg1:String):TextField{
var _local2:TextFormat = new TextFormat();
_local2.font = "039-CAI978";
_local2.color = 0xFFFFFF;
_local2.letterSpacing = 2;
_local2.size = 50;
_local2.underline = false;
_local2.align = TextFormatAlign.CENTER;
var _local3:* = new TextField();
_local3.defaultTextFormat = _local2;
_local3.selectable = false;
_local3.autoSize = TextFieldAutoSize.CENTER;
_local3.background = false;
_local3.border = false;
_local3.embedFonts = true;
_local3.filters = [new DropShadowFilter(0, 0, 0, 1, 4, 4, 5), new DropShadowFilter(3, 45, 0, 1, 3, 3, 0.5)];
_local3.x = 0;
_local3.text = _arg1;
return (_local3);
}
private function onClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new DialogEvent(DialogEvent.OK));
}
public function remove():void{
_okButton.removeEventListener(MouseEvent.CLICK, onClick);
_okButton.remove();
parent.removeChild(this);
}
}
}//package
Section 87
//GameCompleteInfo (GameCompleteInfo)
package {
import flash.display.*;
public dynamic class GameCompleteInfo extends Sprite {
}
}//package
Section 88
//GameEvent (GameEvent)
package {
import flash.events.*;
public class GameEvent extends Event {
public static const GOTO_MAINMENU:String = "GotoMainMenu";
public static const GOTO_HIGHSCORES:String = "GotoHighScores";
public function GameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("GameEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new GameEvent(type, bubbles, cancelable));
}
}
}//package
Section 89
//GameFont (GameFont)
package {
import flash.text.*;
public dynamic class GameFont extends Font {
}
}//package
Section 90
//GameModeSelector (GameModeSelector)
package {
import flash.events.*;
import com.greensock.*;
import flash.display.*;
import com.greensock.easing.*;
public class GameModeSelector extends Sprite {
private var _nextButton:BaseButton;
private var _classicMode:Sprite;
private var _endlessMode:Sprite;
private var _prevButton:BaseButton;
private var _currentMode:int;// = 1
public static const MODE_CLASSIC:int = 1;
public static const MODE_ENDLESS:int = 2;
private static const TOP_OFFSET:int = 15;
public function GameModeSelector(){
_prevButton = new PrevButton();
_prevButton.x = -50;
_prevButton.y = TOP_OFFSET;
_prevButton.zooming = false;
addChild(_prevButton);
_prevButton.addEventListener(MouseEvent.CLICK, onPrevClick);
_nextButton = new NextButton();
_nextButton.x = 52;
_nextButton.y = TOP_OFFSET;
_nextButton.zooming = false;
addChild(_nextButton);
_nextButton.addEventListener(MouseEvent.CLICK, onNextClick);
_endlessMode = new EndlessMode();
_endlessMode.x = -110;
_endlessMode.y = TOP_OFFSET;
addChild(_endlessMode);
_classicMode = new ClassicMode();
_classicMode.x = 0;
_classicMode.y = TOP_OFFSET;
addChild(_classicMode);
var _local1:Sprite = new ModeMask();
_endlessMode.mask = _local1;
addChild(_local1);
_local1 = new ModeMask();
_classicMode.mask = _local1;
addChild(_local1);
cacheAsBitmap = true;
}
public function get currentMode():int{
return (_currentMode);
}
public function remove():void{
_prevButton.removeEventListener(MouseEvent.CLICK, onPrevClick);
_prevButton.remove();
_nextButton.removeEventListener(MouseEvent.CLICK, onNextClick);
_nextButton.remove();
parent.removeChild(this);
}
private function onPrevClick(_arg1:MouseEvent):void{
var _local2:Sprite;
var _local3:Sprite;
if (_currentMode == MODE_CLASSIC){
_local2 = _classicMode;
_local3 = _endlessMode;
_currentMode = MODE_ENDLESS;
} else {
_local2 = _endlessMode;
_local3 = _classicMode;
_currentMode = MODE_CLASSIC;
};
_local3.x = -110;
_local2.x = 0;
new TweenLite(_local2, 1, {x:110, ease:Elastic.easeOut});
new TweenLite(_local3, 1, {x:0, ease:Elastic.easeOut});
}
private function onNextClick(_arg1:MouseEvent):void{
var _local2:Sprite;
var _local3:Sprite;
if (_currentMode == MODE_CLASSIC){
_local2 = _classicMode;
_local3 = _endlessMode;
_currentMode = MODE_ENDLESS;
} else {
_local2 = _endlessMode;
_local3 = _classicMode;
_currentMode = MODE_CLASSIC;
};
_local3.x = 110;
_local2.x = 0;
new TweenLite(_local2, 1, {x:-110, ease:Elastic.easeOut});
new TweenLite(_local3, 1, {x:0, ease:Elastic.easeOut});
}
}
}//package
Section 91
//GameOver (GameOver)
package {
import flash.display.*;
public dynamic class GameOver extends Sprite {
}
}//package
Section 92
//GamesBookas31 (GamesBookas31)
package {
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GamesBookas31 extends MovieClip {
public var Type:String;
public var Logo:MovieClip;
public function GamesBookas31(){
addFrameScript(0, frame1, 3, frame4);
}
public function NewLogo(_arg1){
gotoAndPlay(3);
trace(Type);
var _local2:* = root;
_local2.ingameOK(true);
}
public function Over(_arg1){
gotoAndStop(2);
}
function frame4(){
stop();
}
function frame1(){
stop();
Logo.buttonMode = true;
Logo.mouseChildren = false;
Logo.addEventListener(MouseEvent.CLICK, NewLogo);
Logo.addEventListener(MouseEvent.MOUSE_OVER, Over);
Logo.addEventListener(MouseEvent.ROLL_OUT, Out);
}
public function Out(_arg1){
gotoAndStop(1);
}
}
}//package
Section 93
//GreenBubble (GreenBubble)
package {
public dynamic class GreenBubble extends Bubble {
public function GreenBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 94
//GreenSparcle (GreenSparcle)
package {
public dynamic class GreenSparcle extends Sparcle {
}
}//package
Section 95
//HighScoresButton (HighScoresButton)
package {
public dynamic class HighScoresButton extends BaseButton {
}
}//package
Section 96
//HighScoresWindow (HighScoresWindow)
package {
import HighScores.*;
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class HighScoresWindow extends Sprite {
private var _records:Sprite;
private var _nextButton:BaseButton;
private var _mainMenuBtn:BaseButton;
private var _prevButton:BaseButton;
private var _modeText:TextField;
private var _endlessTable:HighScoresTable;
private var _classicTable:HighScoresTable;
private static const PLACE_RIGHT:int = 70;
private static const SCORES_RIGHT:int = 560;
private static const SPACING:int = 30;
private static const TOP:int = 110;
public static const MODE_CLASSIC:String = "Classic Mode";
public static const MODE_ENDLESS:String = "Endless Mode";
private static const TOP_OFFSET:int = 100;
private static const NAMES_LEFT:int = 80;
public function HighScoresWindow(_arg1:String){
var _local2:BackGround = new BackGround();
_local2.x = -10;
_local2.y = -10;
addChild(_local2);
_classicTable = new HighScoresTable(new LocalLoader(LocalLoader.CLASSIC_TABLE));
_endlessTable = new HighScoresTable(new LocalLoader(LocalLoader.ENDLESS_TABLE));
_prevButton = new PrevButton();
_prevButton.x = 180;
_prevButton.y = TOP_OFFSET;
_prevButton.zooming = false;
addChild(_prevButton);
_prevButton.addEventListener(MouseEvent.CLICK, onChangeClick);
_nextButton = new NextButton();
_nextButton.x = 420;
_nextButton.y = TOP_OFFSET;
_nextButton.zooming = false;
addChild(_nextButton);
_nextButton.addEventListener(MouseEvent.CLICK, onChangeClick);
var _local3:TextFormat = new TextFormat();
_local3.font = "039-CAI978";
_local3.color = 0xFFFFFF;
_local3.letterSpacing = 2;
_local3.size = 26;
_local3.underline = false;
_local3.align = TextFormatAlign.CENTER;
_modeText = new TextField();
_modeText.defaultTextFormat = _local3;
_modeText.selectable = false;
_modeText.autoSize = TextFieldAutoSize.CENTER;
_modeText.background = false;
_modeText.border = false;
_modeText.embedFonts = true;
_modeText.filters = [new DropShadowFilter(0, 0, 0, 1, 3, 3, 4), new DropShadowFilter(2, 45, 0, 1, 2, 2, 0.5)];
_modeText.x = 300;
_modeText.text = MODE_CLASSIC;
_modeText.y = (TOP_OFFSET - (_modeText.height / 2));
addChild(_modeText);
_records = new Sprite();
addChild(_records);
if (_arg1 == MODE_ENDLESS){
_modeText.text = MODE_ENDLESS;
displayRecords(_endlessTable);
} else {
_modeText.text = MODE_CLASSIC;
displayRecords(_classicTable);
};
_mainMenuBtn = new BackToMenuButton();
_mainMenuBtn.x = 300;
_mainMenuBtn.y = 470;
addChild(_mainMenuBtn);
}
private function onChangeClick(_arg1:MouseEvent):void{
if (_modeText.text == MODE_CLASSIC){
_modeText.text = MODE_ENDLESS;
displayRecords(_endlessTable);
} else {
_modeText.text = MODE_CLASSIC;
displayRecords(_classicTable);
};
}
private function displayRecords(_arg1:HighScoresTable):void{
var _local3:TextField;
var _local4:TextField;
var _local5:TextField;
while (_records.numChildren > 0) {
_records.removeChildAt(0);
};
var _local2:int;
while (_local2 < _arg1.data.length) {
_local3 = getTextField(0xFFFFFF, TextFieldAutoSize.RIGHT);
_local3.x = PLACE_RIGHT;
_local3.y = (TOP + (_local2 * SPACING));
_local3.text = ((_local2 + 1) + ".");
_records.addChild(_local3);
_local4 = getTextField(0xFFFFFF, TextFieldAutoSize.LEFT);
_local4.x = NAMES_LEFT;
_local4.y = (TOP + (_local2 * SPACING));
_local4.text = HighScoresRecord(_arg1.data[_local2]).name;
_records.addChild(_local4);
_local5 = getTextField(0xFFFFFF, TextFieldAutoSize.RIGHT);
_local5.x = SCORES_RIGHT;
_local5.y = (TOP + (_local2 * SPACING));
_local5.text = HighScoresRecord(_arg1.data[_local2]).score.toString();
_records.addChild(_local5);
while (((_local4.x + _local4.width) + 10) < _local5.x) {
_local4.appendText(".");
};
_local2++;
};
}
private function getTextField(_arg1:uint, _arg2:String):TextField{
var _local3:TextFormat = new TextFormat();
_local3.font = "039-CAI978";
_local3.color = _arg1;
_local3.letterSpacing = 2;
_local3.size = 24;
_local3.underline = false;
_local3.align = TextFormatAlign.CENTER;
var _local4:* = new TextField();
_local4.defaultTextFormat = _local3;
_local4.selectable = false;
_local4.autoSize = _arg2;
_local4.background = false;
_local4.border = false;
_local4.embedFonts = true;
_local4.filters = [new DropShadowFilter(0, 0, 0, 1, 3, 3, 5)];
return (_local4);
}
public function get mainMenuBtn():BaseButton{
return (_mainMenuBtn);
}
public function remove():void{
_prevButton.removeEventListener(MouseEvent.CLICK, onChangeClick);
_prevButton.remove();
_nextButton.removeEventListener(MouseEvent.CLICK, onChangeClick);
_nextButton.remove();
_mainMenuBtn.remove();
parent.removeChild(this);
}
}
}//package
Section 97
//HintEndless (HintEndless)
package {
import flash.display.*;
public dynamic class HintEndless extends Sprite {
}
}//package
Section 98
//HintLevel1 (HintLevel1)
package {
import flash.display.*;
public dynamic class HintLevel1 extends Sprite {
}
}//package
Section 99
//HintLevel10 (HintLevel10)
package {
import flash.display.*;
public dynamic class HintLevel10 extends Sprite {
}
}//package
Section 100
//HintLevel11 (HintLevel11)
package {
import flash.display.*;
public dynamic class HintLevel11 extends Sprite {
}
}//package
Section 101
//HintLevel12 (HintLevel12)
package {
import flash.display.*;
public dynamic class HintLevel12 extends Sprite {
}
}//package
Section 102
//HintLevel13 (HintLevel13)
package {
import flash.display.*;
public dynamic class HintLevel13 extends Sprite {
}
}//package
Section 103
//HintLevel14 (HintLevel14)
package {
import flash.display.*;
public dynamic class HintLevel14 extends Sprite {
}
}//package
Section 104
//HintLevel15 (HintLevel15)
package {
import flash.display.*;
public dynamic class HintLevel15 extends Sprite {
}
}//package
Section 105
//HintLevel16 (HintLevel16)
package {
import flash.display.*;
public dynamic class HintLevel16 extends Sprite {
}
}//package
Section 106
//HintLevel17 (HintLevel17)
package {
import flash.display.*;
public dynamic class HintLevel17 extends Sprite {
}
}//package
Section 107
//HintLevel18 (HintLevel18)
package {
import flash.display.*;
public dynamic class HintLevel18 extends Sprite {
}
}//package
Section 108
//HintLevel19 (HintLevel19)
package {
import flash.display.*;
public dynamic class HintLevel19 extends Sprite {
}
}//package
Section 109
//HintLevel2 (HintLevel2)
package {
import flash.display.*;
public dynamic class HintLevel2 extends Sprite {
}
}//package
Section 110
//HintLevel20 (HintLevel20)
package {
import flash.display.*;
public dynamic class HintLevel20 extends Sprite {
}
}//package
Section 111
//HintLevel20a (HintLevel20a)
package {
import flash.display.*;
public dynamic class HintLevel20a extends Sprite {
}
}//package
Section 112
//HintLevel3 (HintLevel3)
package {
import flash.display.*;
public dynamic class HintLevel3 extends Sprite {
}
}//package
Section 113
//HintLevel4 (HintLevel4)
package {
import flash.display.*;
public dynamic class HintLevel4 extends Sprite {
}
}//package
Section 114
//HintLevel5 (HintLevel5)
package {
import flash.display.*;
public dynamic class HintLevel5 extends Sprite {
}
}//package
Section 115
//HintLevel6 (HintLevel6)
package {
import flash.display.*;
public dynamic class HintLevel6 extends Sprite {
}
}//package
Section 116
//HintLevel7 (HintLevel7)
package {
import flash.display.*;
public dynamic class HintLevel7 extends Sprite {
}
}//package
Section 117
//HintLevel8 (HintLevel8)
package {
import flash.display.*;
public dynamic class HintLevel8 extends Sprite {
}
}//package
Section 118
//HintLevel9 (HintLevel9)
package {
import flash.display.*;
public dynamic class HintLevel9 extends Sprite {
}
}//package
Section 119
//HintMask (HintMask)
package {
import flash.display.*;
public dynamic class HintMask extends Sprite {
}
}//package
Section 120
//LevelComplete (LevelComplete)
package {
import flash.display.*;
public dynamic class LevelComplete extends Sprite {
}
}//package
Section 121
//LevelData (LevelData)
package {
public class LevelData {
private var _addLineAfter:int;
private var _bonusNumber:int;
private var _colorsNumber:int;
private var _bubblesForComplete:int;
private var _startLines:int;
public function LevelData(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int){
_bubblesForComplete = _arg1;
_addLineAfter = _arg2;
_colorsNumber = _arg3;
_bonusNumber = _arg4;
_startLines = _arg5;
}
public function get addLineAfter():int{
return (_addLineAfter);
}
public function get bonusNumber():int{
return (_bonusNumber);
}
public function get colorsNumber():int{
return (_colorsNumber);
}
public function get bubblesForComplete():int{
return (_bubblesForComplete);
}
public function get startLines():int{
return (_startLines);
}
public static function createLevel(_arg1:int):LevelData{
var _local2:LevelData;
switch (_arg1){
case 1:
_local2 = new LevelData(80, 500, 4, 0, 5);
break;
case 2:
_local2 = new LevelData(100, 500, 4, 1, 6);
break;
case 3:
_local2 = new LevelData(120, 4, 4, 1, 6);
break;
case 4:
_local2 = new LevelData(140, 4, 4, 1, 7);
break;
case 5:
_local2 = new LevelData(160, 4, 4, 2, 7);
break;
case 6:
_local2 = new LevelData(180, 4, 4, 2, 8);
break;
case 7:
_local2 = new LevelData(110, 4, 5, 2, 5);
break;
case 8:
_local2 = new LevelData(130, 4, 5, 2, 6);
break;
case 9:
_local2 = new LevelData(150, 4, 5, 3, 7);
break;
case 10:
_local2 = new LevelData(170, 4, 5, 3, 8);
break;
case 11:
_local2 = new LevelData(120, 4, 6, 3, 5);
break;
case 12:
_local2 = new LevelData(140, 4, 6, 3, 6);
break;
case 13:
_local2 = new LevelData(160, 4, 6, 4, 7);
break;
case 14:
_local2 = new LevelData(180, 4, 6, 4, 8);
break;
case 15:
_local2 = new LevelData(200, 4, 6, 5, 8);
break;
case 16:
_local2 = new LevelData(200, 4, 6, 5, 8);
break;
case 17:
_local2 = new LevelData(160, 4, 7, 5, 6);
break;
case 18:
_local2 = new LevelData(180, 4, 7, 5, 7);
break;
case 19:
_local2 = new LevelData(200, 4, 7, 6, 7);
break;
case 20:
_local2 = new LevelData(250, 4, 7, 6, 8);
break;
case 100:
_local2 = new LevelData(1, 1, 1, 1, 7);
};
return (_local2);
}
}
}//package
Section 122
//LevelHintsDialog (LevelHintsDialog)
package {
import flash.events.*;
import com.greensock.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
import com.greensock.easing.*;
public class LevelHintsDialog extends Sprite {
private var _title:TextField;
private var _levelNum:LEVELNUM;
private var _hint:Sprite;
private var _mask:Sprite;
private var _okButton:BaseButton;
private var _levelObj:LEVELOBJECT;
private var _dialogWindow:Sprite;
private var _levelEnd:ENDLESS;
private static const WIDTH:int = 600;
private static const HEIGHT:int = 500;
private static const MASK_TOP:int = 50;
private static const SCROLL_DELTA:int = 68;
private static const SCROLL_SPEED:int = 25;
private static const BUTTON_BOTTOM:int = 20;
public function LevelHintsDialog(_arg1:int){
var _local2:int;
var _local3:int;
super();
this.graphics.clear();
this.graphics.beginFill(0, 0.5);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
_dialogWindow = new LevelHintWindow();
_dialogWindow.x = (width / 2);
_dialogWindow.y = (height / 2);
_dialogWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
_dialogWindow.cacheAsBitmap = true;
addChild(_dialogWindow);
_okButton = new PlayButton();
_okButton.x = 0;
_okButton.y = (((_dialogWindow.height / 2) - (_okButton.height / 2)) - BUTTON_BOTTOM);
_okButton.addEventListener(MouseEvent.CLICK, onClick);
_dialogWindow.addChild(_okButton);
_levelObj = new LEVELOBJECT();
_levelNum = new LEVELNUM();
_levelEnd = new ENDLESS();
if (_arg1 != 100){
_title = getStaticText(("LEVEL " + _arg1.toString()));
_levelNum.gotoAndStop(_arg1);
_dialogWindow.addChild(_levelObj);
_dialogWindow.addChild(_levelNum);
_levelObj.x = (_dialogWindow.x - 330);
_levelNum.x = (_dialogWindow.x - 250);
_levelObj.y = (-(_dialogWindow.height) / 2);
_levelNum.y = (_levelObj.y + 2);
} else {
_title = getStaticText("ENDLESS");
_dialogWindow.addChild(_levelEnd);
_levelEnd.x = (_dialogWindow.x - 383);
_levelEnd.y = ((-(_dialogWindow.height) / 2) - 22);
};
_title.y = ((-(_dialogWindow.height) / 2) - (_title.height / 2));
_hint = LevelHintsDialog.getHintForLevel(_arg1);
_hint.cacheAsBitmap = true;
_hint.x = 0;
_hint.y = ((-(_dialogWindow.height) / 2) + MASK_TOP);
_dialogWindow.addChild(_hint);
_mask = new HintMask();
_mask.x = 0;
_mask.y = _hint.y;
_dialogWindow.addChild(_mask);
_hint.mask = _mask;
if (_hint.height > _mask.height){
_local2 = ((_hint.height - _mask.height) + SCROLL_DELTA);
_local3 = (_local2 / SCROLL_SPEED);
new TweenLite(_hint, _local3, {y:(_hint.y - _local2), ease:Linear.easeNone, delay:2});
} else {
_hint.y = (_hint.y + ((_mask.height / 2) - (_hint.height / 2)));
};
}
private function onClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new DialogEvent(DialogEvent.OK));
}
private function getStaticText(_arg1:String):TextField{
var _local2:TextFormat = new TextFormat();
_local2.font = "039-CAI978";
_local2.color = 0xFFFFFF;
_local2.letterSpacing = 2;
_local2.size = 50;
_local2.underline = false;
_local2.align = TextFormatAlign.CENTER;
var _local3:* = new TextField();
_local3.defaultTextFormat = _local2;
_local3.selectable = false;
_local3.autoSize = TextFieldAutoSize.CENTER;
_local3.background = false;
_local3.border = false;
_local3.embedFonts = true;
_local3.filters = [new DropShadowFilter(0, 0, 0, 1, 4, 4, 5)];
_local3.x = 0;
_local3.text = _arg1;
return (_local3);
}
public function remove():void{
_okButton.removeEventListener(MouseEvent.CLICK, onClick);
_okButton.remove();
parent.removeChild(this);
}
private static function getHintForLevel(_arg1:int):Sprite{
var _local2:Sprite;
switch (_arg1){
case 1:
_local2 = new HintLevel1();
break;
case 2:
_local2 = new HintLevel2();
break;
case 3:
_local2 = new HintLevel3();
break;
case 4:
_local2 = new HintLevel4();
break;
case 5:
_local2 = new HintLevel5();
break;
case 6:
_local2 = new HintLevel6();
break;
case 7:
_local2 = new HintLevel7();
break;
case 8:
_local2 = new HintLevel8();
break;
case 9:
_local2 = new HintLevel9();
break;
case 10:
_local2 = new HintLevel10();
break;
case 11:
_local2 = new HintLevel11();
break;
case 12:
_local2 = new HintLevel12();
break;
case 13:
_local2 = new HintLevel13();
break;
case 14:
_local2 = new HintLevel14();
break;
case 15:
_local2 = new HintLevel15();
break;
case 16:
_local2 = new HintLevel16();
break;
case 17:
_local2 = new HintLevel17();
break;
case 18:
_local2 = new HintLevel18();
break;
case 19:
_local2 = new HintLevel19();
break;
case 20:
_local2 = new HintLevel20();
break;
case 100:
_local2 = new HintEndless();
break;
};
return (_local2);
}
}
}//package
Section 123
//LevelHintWindow (LevelHintWindow)
package {
import flash.display.*;
public dynamic class LevelHintWindow extends Sprite {
}
}//package
Section 124
//LevelIndicator (LevelIndicator)
package {
public dynamic class LevelIndicator extends BaseIndicator {
}
}//package
Section 125
//LEVELNUM (LEVELNUM)
package {
import flash.display.*;
public dynamic class LEVELNUM extends MovieClip {
public function LEVELNUM(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 126
//LEVELOBJECT (LEVELOBJECT)
package {
import flash.display.*;
public dynamic class LEVELOBJECT extends MovieClip {
}
}//package
Section 127
//LevelProgress (LevelProgress)
package {
import flash.display.*;
public class LevelProgress extends Sprite {
private var _progressTop:Sprite;
private var _progress:Number;
private var _progressBody:Sprite;
private static const PROGRESS_TOP:int = 223;
public function LevelProgress(){
_progressBody = new LevelProgressBody();
_progressBody.x = 0;
_progressBody.y = PROGRESS_TOP;
addChild(_progressBody);
_progressTop = new LevelProgressTop();
_progressTop.x = 0;
_progressTop.y = (PROGRESS_TOP - _progressBody.height);
addChild(_progressTop);
progress = 0;
}
public function set progress(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg1 > 1){
_arg1 = 1;
};
_progress = _arg1;
_progressBody.scaleY = _progress;
_progressTop.y = (PROGRESS_TOP - Math.floor(_progressBody.height));
}
public function get progress():Number{
return (_progress);
}
}
}//package
Section 128
//LevelProgressBody (LevelProgressBody)
package {
import flash.display.*;
public dynamic class LevelProgressBody extends Sprite {
}
}//package
Section 129
//LevelProgressTop (LevelProgressTop)
package {
import flash.display.*;
public dynamic class LevelProgressTop extends Sprite {
}
}//package
Section 130
//MagentaBubble (MagentaBubble)
package {
public dynamic class MagentaBubble extends Bubble {
public function MagentaBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 131
//MagentaSparcle (MagentaSparcle)
package {
public dynamic class MagentaSparcle extends Sparcle {
}
}//package
Section 132
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
public class Main extends MovieClip {
private var _highScores:HighScoresWindow;
private var _game:Game;
private var _mainMenu:MainMenu;
public function Main(){
this.gotoAndStop(1);
SoundManager.playMusic(SoundManager.MUSIC_MENU);
showMainMenu();
}
public function showHighScores(_arg1:String):void{
_highScores = new HighScoresWindow(_arg1);
addChild(_highScores);
_highScores.mainMenuBtn.addEventListener(MouseEvent.CLICK, HighScoresToMainMenu);
}
private function onStartLevel(_arg1:DialogEvent):void{
StartLevelDialog(_arg1.currentTarget).removeEventListener(DialogEvent.OK, onStartLevel);
var _local2:int = StartLevelDialog(_arg1.currentTarget).dialogWindow.level;
StartLevelDialog(_arg1.currentTarget).remove();
playGame(_local2);
}
public function startHighScores(_arg1:MouseEvent):void{
var _local2:String;
if (_mainMenu.gameModeSelector.currentMode == GameModeSelector.MODE_CLASSIC){
_local2 = HighScoresWindow.MODE_CLASSIC;
} else {
_local2 = HighScoresWindow.MODE_ENDLESS;
};
_mainMenu.playBtn.removeEventListener(MouseEvent.CLICK, startGame);
_mainMenu.remove();
showHighScores(_local2);
}
private function playGame(_arg1:int):void{
_mainMenu.playBtn.removeEventListener(MouseEvent.CLICK, startGame);
_mainMenu.remove();
_game = new Game(_arg1);
_game.addEventListener(GameEvent.GOTO_HIGHSCORES, gameToHighScores);
_game.addEventListener(GameEvent.GOTO_MAINMENU, gameToMainMenu);
addChild(_game);
}
private function gameToMainMenu(_arg1:GameEvent):void{
_game.removeEventListener(GameEvent.GOTO_HIGHSCORES, gameToHighScores);
_game.removeEventListener(GameEvent.GOTO_MAINMENU, gameToMainMenu);
_game.remove();
SoundManager.playMusic(SoundManager.MUSIC_MENU);
showMainMenu();
}
private function gameToHighScores(_arg1:GameEvent):void{
var _local2:String;
if (_game.isEndlessMode()){
_local2 = HighScoresWindow.MODE_ENDLESS;
} else {
_local2 = HighScoresWindow.MODE_CLASSIC;
};
_game.removeEventListener(GameEvent.GOTO_HIGHSCORES, gameToHighScores);
_game.removeEventListener(GameEvent.GOTO_MAINMENU, gameToMainMenu);
_game.remove();
SoundManager.playMusic(SoundManager.MUSIC_MENU);
showHighScores(_local2);
}
public function startGame(_arg1:MouseEvent):void{
var _local2:Sprite;
if (_mainMenu.gameModeSelector.currentMode == GameModeSelector.MODE_CLASSIC){
_local2 = new StartLevelDialog();
addChild(_local2);
_local2.addEventListener(DialogEvent.OK, onStartLevel);
} else {
playGame(100);
};
}
public function showMainMenu():void{
_mainMenu = new MainMenu();
_mainMenu.playBtn.addEventListener(MouseEvent.CLICK, startGame);
addChild(_mainMenu);
}
private function HighScoresToMainMenu(_arg1:MouseEvent):void{
_highScores.mainMenuBtn.removeEventListener(MouseEvent.CLICK, HighScoresToMainMenu);
_highScores.remove();
showMainMenu();
}
}
}//package
Section 133
//MainMenu (MainMenu)
package {
import flash.events.*;
import flash.display.*;
public class MainMenu extends Sprite {
private var _gameModeSelector:GameModeSelector;
private var _playBtn:BaseButton;
private var _moreGamesBtn:BaseButton;
private static const MENU_SPACING:int = 5;
private static const LOGO_X = 20;
private static const LOGO_Y = 480;
private static const MENU_CENTER:int = 300;
private static const MENU_TOP:int = 290;
public function MainMenu(){
_playBtn = new PlayButton();
_moreGamesBtn = new MoreGamesButton();
_moreGamesBtn.addEventListener(MouseEvent.CLICK, moreGamesClick);
_gameModeSelector = new GameModeSelector();
var _local1:Array = [_playBtn, _gameModeSelector, _moreGamesBtn];
var _local2:int;
var _local3:int;
while (_local3 < _local1.length) {
Sprite(_local1[_local3]).x = MENU_CENTER;
Sprite(_local1[_local3]).y = ((MENU_TOP + (Sprite(_local1[_local3]).height / 2)) + _local2);
addChild(_local1[_local3]);
_local2 = (_local2 + (Sprite(_local1[_local3]).height + MENU_SPACING));
_local3++;
};
var _local4:MovieClip = new GamesBookas31();
_local4.gotoAndStop(1);
_local4.x = LOGO_X;
_local4.y = LOGO_Y;
addChild(_local4);
}
public function remove():void{
_playBtn.remove();
_moreGamesBtn.removeEventListener(MouseEvent.CLICK, moreGamesClick);
_moreGamesBtn.remove();
parent.removeChild(this);
}
public function get playBtn():BaseButton{
return (_playBtn);
}
public function get gameModeSelector():GameModeSelector{
return (_gameModeSelector);
}
private function moreGamesClick(_arg1:MouseEvent):void{
Object(root).MoreGameURL(true);
}
}
}//package
Section 134
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 135
//ModeMask (ModeMask)
package {
import flash.display.*;
public dynamic class ModeMask extends Sprite {
}
}//package
Section 136
//MoreGamesButton (MoreGamesButton)
package {
public dynamic class MoreGamesButton extends BaseButton {
}
}//package
Section 137
//MusicButton (MusicButton)
package {
public dynamic class MusicButton extends BaseCheckButton {
}
}//package
Section 138
//MusicGame (MusicGame)
package {
import flash.media.*;
public dynamic class MusicGame extends Sound {
}
}//package
Section 139
//MusicMenu (MusicMenu)
package {
import flash.media.*;
public dynamic class MusicMenu extends Sound {
}
}//package
Section 140
//NavyBubble (NavyBubble)
package {
public dynamic class NavyBubble extends Bubble {
}
}//package
Section 141
//NavySparcle (NavySparcle)
package {
public dynamic class NavySparcle extends Sparcle {
}
}//package
Section 142
//NextBubbleIndicator (NextBubbleIndicator)
package {
import flash.display.*;
public dynamic class NextBubbleIndicator extends Sprite {
}
}//package
Section 143
//NextButton (NextButton)
package {
public dynamic class NextButton extends BaseButton {
}
}//package
Section 144
//NoButton (NoButton)
package {
public dynamic class NoButton extends BaseButton {
}
}//package
Section 145
//OkButton (OkButton)
package {
public dynamic class OkButton extends BaseButton {
}
}//package
Section 146
//OrangeBubble (OrangeBubble)
package {
public dynamic class OrangeBubble extends Bubble {
public function OrangeBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 147
//OrangeSparcle (OrangeSparcle)
package {
public dynamic class OrangeSparcle extends Sparcle {
}
}//package
Section 148
//PlayButton (PlayButton)
package {
public dynamic class PlayButton extends BaseButton {
}
}//package
Section 149
//PrevButton (PrevButton)
package {
public dynamic class PrevButton extends BaseButton {
}
}//package
Section 150
//RedBubble (RedBubble)
package {
public dynamic class RedBubble extends Bubble {
public function RedBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 151
//RedSparcle (RedSparcle)
package {
public dynamic class RedSparcle extends Sparcle {
}
}//package
Section 152
//ScoreIndicator (ScoreIndicator)
package {
public dynamic class ScoreIndicator extends BaseIndicator {
}
}//package
Section 153
//SoundAddLine (SoundAddLine)
package {
import flash.media.*;
public dynamic class SoundAddLine extends Sound {
}
}//package
Section 154
//SoundBonusAimingLine (SoundBonusAimingLine)
package {
import flash.media.*;
public dynamic class SoundBonusAimingLine extends Sound {
}
}//package
Section 155
//SoundBonusBomb (SoundBonusBomb)
package {
import flash.media.*;
public dynamic class SoundBonusBomb extends Sound {
}
}//package
Section 156
//SoundBonusLightning (SoundBonusLightning)
package {
import flash.media.*;
public dynamic class SoundBonusLightning extends Sound {
}
}//package
Section 157
//SoundBonusMultiple (SoundBonusMultiple)
package {
import flash.media.*;
public dynamic class SoundBonusMultiple extends Sound {
}
}//package
Section 158
//SoundBubbleExplodes (SoundBubbleExplodes)
package {
import flash.media.*;
public dynamic class SoundBubbleExplodes extends Sound {
}
}//package
Section 159
//SoundBubbleFall (SoundBubbleFall)
package {
import flash.media.*;
public dynamic class SoundBubbleFall extends Sound {
}
}//package
Section 160
//SoundBubbleHitWall (SoundBubbleHitWall)
package {
import flash.media.*;
public dynamic class SoundBubbleHitWall extends Sound {
}
}//package
Section 161
//SoundBubbleInplace (SoundBubbleInplace)
package {
import flash.media.*;
public dynamic class SoundBubbleInplace extends Sound {
}
}//package
Section 162
//SoundBubbleLaunch (SoundBubbleLaunch)
package {
import flash.media.*;
public dynamic class SoundBubbleLaunch extends Sound {
}
}//package
Section 163
//SoundButton (SoundButton)
package {
public dynamic class SoundButton extends BaseCheckButton {
}
}//package
Section 164
//SoundButtonClick (SoundButtonClick)
package {
import flash.media.*;
public dynamic class SoundButtonClick extends Sound {
}
}//package
Section 165
//SoundButtonSelect (SoundButtonSelect)
package {
import flash.media.*;
public dynamic class SoundButtonSelect extends Sound {
}
}//package
Section 166
//SoundGameOver (SoundGameOver)
package {
import flash.media.*;
public dynamic class SoundGameOver extends Sound {
}
}//package
Section 167
//SoundGoodShoot (SoundGoodShoot)
package {
import flash.media.*;
public dynamic class SoundGoodShoot extends Sound {
}
}//package
Section 168
//SoundLevelComplete (SoundLevelComplete)
package {
import flash.media.*;
public dynamic class SoundLevelComplete extends Sound {
}
}//package
Section 169
//SoundManager (SoundManager)
package {
import flash.events.*;
import flash.media.*;
public class SoundManager {
public static const SOUND_BONUS_AIMINGLINE:String = "BonusAimingline";
public static const SOUND_BUBBLES_EXPLODES:String = "Explode";
public static const SOUND_GAMEOVER:String = "GameOver";
public static const SOUND_BONUS_LIGHTNING:String = "BonusLightning";
public static const SOUND_ADDLINE:String = "AddLine";
public static const SOUND_BONUS_BOMB:String = "BonusBomb";
public static const SOUND_GOOD_SHOOT:String = "GoodShoot";
public static const SOUND_BONUS_MULTIPLIER:String = "BonusMultiplier";
public static const SOUND_LEVELCOMPLETE:String = "LevelComplete";
public static const SOUND_BUTTON_SELECT:String = "ButtonSelect";
public static const SOUND_BUBBLE_HITWALL:String = "HitWall";
public static const MUSIC_MENU:String = "MusicMenu";
public static const SOUND_BUTTON_CLICK:String = "ButtonClick";
public static const MUSIC_GAME:String = "MusicGame";
public static const SOUND_BUBBLES_FALLS:String = "Fall";
public static const SOUND_BONUS_BACK:String = "BonusBack";
public static const SOUND_BUBBLE_LAUNCH:String = "Launch";
public static const SOUND_BUBBLE_INPLACE:String = "InPlace";
private static var _musicChannel:SoundChannel;
private static var _music:Sound;
private static var _musicEnabled:Boolean = true;
private static var _soundsEnabled:Boolean = true;
private static function adjustMusicVolume():void{
if (_musicChannel){
if (_musicEnabled){
_musicChannel.soundTransform = new SoundTransform(1);
} else {
_musicChannel.soundTransform = new SoundTransform(0);
};
};
}
public static function set musicEnabled(_arg1:Boolean):void{
_musicEnabled = _arg1;
adjustMusicVolume();
}
public static function set soundsEnabled(_arg1:Boolean):void{
_soundsEnabled = _arg1;
}
public static function playSound(_arg1:String):void{
var _local2:SoundChannel;
if (_soundsEnabled){
_local2 = getSoundByName(_arg1).play();
_local2.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);
};
}
public static function stopMusic():void{
if (_musicChannel){
_musicChannel.stop();
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, onMusicComplete);
};
_musicChannel = null;
_music = null;
}
private static function onSoundComplete(_arg1:Event):void{
var _local2:SoundChannel = SoundChannel(_arg1.currentTarget);
_local2.removeEventListener(Event.SOUND_COMPLETE, onSoundComplete);
_local2 = null;
}
private static function getSoundByName(_arg1:String):Sound{
var _local2:Sound;
switch (_arg1){
case SOUND_BUBBLE_HITWALL:
_local2 = new SoundBubbleHitWall();
break;
case SOUND_BUBBLE_INPLACE:
_local2 = new SoundBubbleInplace();
break;
case SOUND_BUBBLE_LAUNCH:
_local2 = new SoundBubbleLaunch();
break;
case SOUND_BUBBLES_EXPLODES:
_local2 = new SoundBubbleExplodes();
break;
case SOUND_BUBBLES_FALLS:
_local2 = new SoundBubbleFall();
break;
case SOUND_ADDLINE:
_local2 = new SoundAddLine();
break;
case SOUND_GOOD_SHOOT:
_local2 = new SoundGoodShoot();
break;
case SOUND_GAMEOVER:
_local2 = new SoundGameOver();
break;
case SOUND_LEVELCOMPLETE:
_local2 = new SoundLevelComplete();
break;
case SOUND_BUTTON_SELECT:
_local2 = new SoundButtonSelect();
break;
case SOUND_BUTTON_CLICK:
_local2 = new SoundButtonClick();
break;
case SOUND_BONUS_MULTIPLIER:
_local2 = new SoundBonusMultiple();
break;
case SOUND_BONUS_BOMB:
_local2 = new SoundBonusBomb();
break;
case SOUND_BONUS_LIGHTNING:
_local2 = new SoundBonusLightning();
break;
case SOUND_BONUS_BACK:
_local2 = new SoundAddLine();
break;
case SOUND_BONUS_AIMINGLINE:
_local2 = new SoundBonusAimingLine();
break;
case MUSIC_GAME:
_local2 = new MusicGame();
break;
case MUSIC_MENU:
_local2 = new MusicMenu();
break;
};
return (_local2);
}
public static function playMusic(_arg1:String):void{
stopMusic();
_music = getSoundByName(_arg1);
_musicChannel = _music.play();
adjustMusicVolume();
_musicChannel.addEventListener(Event.SOUND_COMPLETE, onMusicComplete);
}
public static function get musicEnabled():Boolean{
return (_musicEnabled);
}
public static function get soundsEnabled():Boolean{
return (_soundsEnabled);
}
private static function onMusicComplete(_arg1:Event):void{
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, onMusicComplete);
_musicChannel = _music.play();
adjustMusicVolume();
_musicChannel.addEventListener(Event.SOUND_COMPLETE, onMusicComplete);
}
}
}//package
Section 170
//Sparcle (Sparcle)
package {
import flash.display.*;
public class Sparcle extends Sprite {
private static const MIN_SCALE:Number = 0.5;
private static const MAX_SCALE:Number = 1;
public function Sparcle(){
var _local1:Number = ((Math.random() * (MAX_SCALE - MIN_SCALE)) + MIN_SCALE);
scaleX = (scaleX * _local1);
scaleY = (scaleY * _local1);
cacheAsBitmap = true;
}
public function remove():void{
parent.removeChild(this);
}
}
}//package
Section 171
//StartLevelDialog (StartLevelDialog)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
public class StartLevelDialog extends Sprite {
private var _dialogWindow:StartLevelWindow;
private var _okButton:BaseButton;
private static const WIDTH:int = 600;
private static const HEIGHT:int = 500;
public function StartLevelDialog(){
this.graphics.clear();
this.graphics.beginFill(0, 0);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
_dialogWindow = new StartLevelWindow();
_dialogWindow.x = (width / 2);
_dialogWindow.y = (height / 2);
_dialogWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 5, 5, 0.5)];
_dialogWindow.cacheAsBitmap = true;
addChild(_dialogWindow);
_okButton = new PlayButton();
_okButton.x = 0;
_okButton.y = (((_dialogWindow.height / 2) - (_okButton.height / 2)) - 15);
_okButton.addEventListener(MouseEvent.CLICK, onClick);
_dialogWindow.addChild(_okButton);
}
public function remove():void{
_okButton.removeEventListener(MouseEvent.CLICK, onClick);
_okButton.remove();
_dialogWindow.remove();
parent.removeChild(this);
}
public function get dialogWindow():StartLevelWindow{
return (_dialogWindow);
}
private function onClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new DialogEvent(DialogEvent.OK));
}
}
}//package
Section 172
//StartLevelWindow (StartLevelWindow)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class StartLevelWindow extends Sprite {
private var _level:int;
private var _nextButton:BaseButton;
private var _levelText:TextField;
private var _prevButton:BaseButton;
private static const TOP_OFFSET:int = -15;
public function StartLevelWindow(){
_level = 1;
_prevButton = new PrevButton();
_prevButton.x = -40;
_prevButton.y = TOP_OFFSET;
_prevButton.zooming = false;
addChild(_prevButton);
_prevButton.addEventListener(MouseEvent.CLICK, onPrevClick);
_nextButton = new NextButton();
_nextButton.x = 40;
_nextButton.y = TOP_OFFSET;
_nextButton.zooming = false;
addChild(_nextButton);
_nextButton.addEventListener(MouseEvent.CLICK, onNextClick);
var _local1:TextFormat = new TextFormat();
_local1.font = "039-CAI978";
_local1.color = 0xFFFFFF;
_local1.letterSpacing = 2;
_local1.size = 26;
_local1.underline = false;
_local1.align = TextFormatAlign.CENTER;
_levelText = new TextField();
_levelText.defaultTextFormat = _local1;
_levelText.selectable = false;
_levelText.autoSize = TextFieldAutoSize.CENTER;
_levelText.background = false;
_levelText.border = false;
_levelText.embedFonts = true;
_levelText.filters = [new DropShadowFilter(0, 0, 0, 1, 3, 3, 4), new DropShadowFilter(2, 45, 0, 1, 2, 2, 0.5)];
_levelText.x = 0;
_levelText.text = _level.toString();
_levelText.y = (TOP_OFFSET - (_levelText.height / 2));
addChild(_levelText);
}
public function remove():void{
_prevButton.removeEventListener(MouseEvent.CLICK, onPrevClick);
_prevButton.remove();
_nextButton.removeEventListener(MouseEvent.CLICK, onNextClick);
_nextButton.remove();
parent.removeChild(this);
}
public function get level():int{
return (_level);
}
private function onNextClick(_arg1:MouseEvent):void{
_level = (_level + 1);
if (_level > 20){
_level = 20;
};
_levelText.text = _level.toString();
}
private function onPrevClick(_arg1:MouseEvent):void{
_level = (_level - 1);
if (_level < 1){
_level = 1;
};
_levelText.text = _level.toString();
}
}
}//package
Section 173
//TextSprite (TextSprite)
package {
import flash.display.*;
import flash.filters.*;
import flash.text.*;
public class TextSprite extends Sprite {
private var _text:String;
private var _textField:TextField;
public function TextSprite(){
_text = "";
var _local1:TextFormat = new TextFormat();
_local1.font = "039-CAI978";
_local1.color = 0xFFFFFF;
_local1.letterSpacing = 2;
_local1.size = 36;
_local1.underline = false;
_local1.align = TextFormatAlign.CENTER;
_textField = new TextField();
_textField.defaultTextFormat = _local1;
_textField.selectable = false;
_textField.autoSize = TextFieldAutoSize.CENTER;
_textField.background = false;
_textField.border = false;
_textField.embedFonts = true;
_textField.filters = [new DropShadowFilter(0, 0, 0, 1, 4, 4, 5)];
addChild(_textField);
_textField.x = 0;
_textField.text = _text;
_textField.y = (-(_textField.height) / 2);
cacheAsBitmap = true;
}
public function remove():void{
parent.removeChild(this);
}
public function set text(_arg1:String):void{
_text = _arg1;
_textField.text = _arg1;
}
public function get text():String{
return (_text);
}
}
}//package
Section 174
//YellowBubble (YellowBubble)
package {
public dynamic class YellowBubble extends Bubble {
public function YellowBubble(){
addFrameScript(0, frame1);
}
function frame1(){
this.gotoAndPlay(Math.round((Math.random() * 100)));
}
}
}//package
Section 175
//YellowSparcle (YellowSparcle)
package {
public dynamic class YellowSparcle extends Sparcle {
}
}//package
Section 176
//YesButton (YesButton)
package {
public dynamic class YesButton extends BaseButton {
}
}//package