Section 1
//Rnd (com.gskinner.utils.Rnd)
package com.gskinner.utils {
public class Rnd {
public function Rnd(_arg1:uint=0){
throw (new Error("the Rnd class cannot be instantiated"));
}
public static function random():Number{
return (Math.random());
}
public static function bit(_arg1:Number=0.5):int{
return (((random())<_arg1) ? 1 : 0);
}
public static function boolean(_arg1:Number=0.5):Boolean{
return ((random() < _arg1));
}
public static function float(_arg1:Number, _arg2:Number=NaN):Number{
if (isNaN(_arg2)){
_arg2 = _arg1;
_arg1 = 0;
};
return (((random() * (_arg2 - _arg1)) + _arg1));
}
public static function sign(_arg1:Number=0.5):int{
return (((random())<_arg1) ? 1 : -1);
}
public static function integer(_arg1:Number, _arg2:Number=NaN):int{
if (isNaN(_arg2)){
_arg2 = _arg1;
_arg1 = 0;
};
return (Math.floor(float(_arg1, _arg2)));
}
}
}//package com.gskinner.utils
Section 2
//Cubic (fl.motion.easing.Cubic)
package fl.motion.easing {
public class Cubic {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package fl.motion.easing
Section 3
//Linear (fl.motion.easing.Linear)
package fl.motion.easing {
public class Linear {
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 easeInOut(_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));
}
}
}//package fl.motion.easing
Section 4
//Sine (fl.motion.easing.Sine)
package fl.motion.easing {
public class Sine {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
}
}//package fl.motion.easing
Section 5
//TweenFilterLite (gs.TweenFilterLite)
package gs {
import flash.display.*;
import flash.filters.*;
public class TweenFilterLite extends TweenLite {
private var _matrix:Array;
private var _hf:Boolean;// = false
private var _cmf:ColorMatrixFilter;
private var _filters:Array;
private var _endMatrix:Array;
private var _clrsa:Array;
public static var defaultEase:Function = TweenLite.defaultEase;
private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
private static var _lumB:Number = 0.072169;
public static var version:Number = 7.14;
public static var delayedCall:Function = TweenLite.delayedCall;
public static var killTweensOf:Function = TweenLite.killTweensOf;
private static var _lumG:Number = 0.71516;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _lumR:Number = 0.212671;
public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){
_filters = [];
super(_arg1, _arg2, _arg3);
if ((((TweenLite.version < 6.23)) || (isNaN(TweenLite.version)))){
trace("ERROR! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
if (_arg3.type != undefined){
trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details."));
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
_clrsa = [];
_filters = [];
_matrix = _idMatrix.slice();
_arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter ");
if ((this.target is DisplayObject)){
if (this.vars.blurFilter != undefined){
_local4 = this.vars.blurFilter;
addFilter("blur", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2))));
};
if (this.vars.glowFilter != undefined){
_local4 = this.vars.glowFilter;
addFilter("glow", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout));
};
if (this.vars.colorMatrixFilter != undefined){
_local4 = this.vars.colorMatrixFilter;
_local5 = addFilter("colorMatrix", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix));
_cmf = _local5.filter;
_matrix = ColorMatrixFilter(_cmf).matrix;
if (((!((_local4.matrix == undefined))) && ((_local4.matrix is Array)))){
_endMatrix = _local4.matrix;
} else {
if (_local4.relative == true){
_endMatrix = _matrix.slice();
} else {
_endMatrix = _idMatrix.slice();
};
_endMatrix = setBrightness(_endMatrix, _local4.brightness);
_endMatrix = setContrast(_endMatrix, _local4.contrast);
_endMatrix = setHue(_endMatrix, _local4.hue);
_endMatrix = setSaturation(_endMatrix, _local4.saturation);
_endMatrix = setThreshold(_endMatrix, _local4.threshold);
if (!isNaN(_local4.colorize)){
_endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount);
} else {
if (!isNaN(_local4.color)){
_endMatrix = colorize(_endMatrix, _local4.color, _local4.amount);
};
};
};
_local3 = 0;
while (_local3 < _endMatrix.length) {
if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){
this.tweens.push({o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3])});
};
_local3++;
};
};
if (this.vars.dropShadowFilter != undefined){
_local4 = this.vars.dropShadowFilter;
addFilter("dropShadow", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject));
};
if (this.vars.bevelFilter != undefined){
_local4 = this.vars.bevelFilter;
addFilter("bevel", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2))));
};
if (this.vars.runBackwards == true){
_local3 = (_clrsa.length - 1);
while (_local3 > -1) {
_local6 = _clrsa[_local3];
_clrsa[_local3].sr = (_local6.sr + _local6.cr);
_local6.cr = (_local6.cr * -1);
_local6.sg = (_local6.sg + _local6.cg);
_local6.cg = (_local6.cg * -1);
_local6.sb = (_local6.sb + _local6.cb);
_local6.cb = (_local6.cb * -1);
_local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb);
_local3--;
};
};
super.initTweenVals(true, _arg2);
} else {
super.initTweenVals(_arg1, _arg2);
};
}
override public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:Array;
var _local2:Number = ((_arg1 - this.startTime) / 1000);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = 1;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hf){
_local5 = (_clrsa.length - 1);
while (_local5 > -1) {
_local4 = _clrsa[_local5];
_local6 = (_local4.sr + (_local3 * _local4.cr));
_local7 = (_local4.sg + (_local3 * _local4.cg));
_local8 = (_local4.sb + (_local3 * _local4.cb));
_local4.f[_local4.p] = (((_local6 << 16) | (_local7 << 8)) | _local8);
_local5--;
};
if (_cmf != null){
ColorMatrixFilter(_cmf).matrix = _matrix;
};
_local10 = this.target.filters;
_local5 = 0;
while (_local5 < _filters.length) {
_local9 = (_local10.length - 1);
while (_local9 > -1) {
if ((_local10[_local9] is _filters[_local5].type)){
_local10.splice(_local9, 1, _filters[_local5].filter);
break;
};
_local9--;
};
_local5++;
};
this.target.filters = _local10;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
super.complete(true);
};
}
public function HEXtoRGB(_arg1:Number):Object{
return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)});
}
private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
var _local6:Object = {type:_arg3};
var _local7:Array = this.target.filters;
_local8 = 0;
while (_local8 < _local7.length) {
if ((_local7[_local8] is _arg3)){
_local6.filter = _local7[_local8];
break;
};
_local8++;
};
if (_local6.filter == undefined){
_local6.filter = _arg5;
_local7.push(_local6.filter);
this.target.filters = _local7;
};
_local8 = 0;
while (_local8 < _arg4.length) {
_local9 = _arg4[_local8];
if (_arg2[_local9] != undefined){
if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){
_local11 = HEXtoRGB(_local6.filter[_local9]);
_local12 = HEXtoRGB(_arg2[_local9]);
_clrsa.push({f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)});
} else {
if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){
_local6.filter[_local9] = _arg2[_local9];
} else {
if (typeof(_arg2[_local9]) == "number"){
_local10 = (_arg2[_local9] - _local6.filter[_local9]);
} else {
_local10 = Number(_arg2[_local9]);
};
this.tweens.push({o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10});
};
};
};
_local8++;
};
_filters.push(_local6);
_hf = true;
return (_local6);
}
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 colorize(_arg1:Array, _arg2:Number, _arg3:Number=100):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));
}
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 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 from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
_arg3.runBackwards = true;
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
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 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 to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 6
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var delay:Number;
protected var _initted:Boolean;
protected var _subTweens:Array;
public var startTime:int;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _active:Boolean;
public var tweens:Array;
public var vars:Object;
public var initTime:int;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 6.24;
private static var _sprite:Sprite = new Sprite();
protected static var _all:Dictionary = new Dictionary(true);
public static var killDelayedCallsTo:Function = killTweensOf;
protected static var _curTime:uint;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){
delete _all[_arg1];
_all[_arg1] = new Dictionary(true);
};
_all[_arg1][this] = this;
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.target = _arg1;
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
};
this.tweens = [];
_subTweens = [];
_hst = (_initted = false);
_active = (((_arg2 == 0)) && ((this.delay == 0)));
if (!_classInitted){
_curTime = getTimer();
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
_classInitted = true;
};
this.initTime = _curTime;
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){
initTweenVals();
this.startTime = _curTime;
if (_active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
};
if (((!(_listening)) && (!(_active)))){
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
}
protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{
var _local6:String;
var _local5:Object = {proxy:_arg1, target:_arg2, info:_arg4};
_subTweens.push(_local5);
for (_local6 in _arg3) {
if (typeof(_arg3[_local6]) == "number"){
this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5});
} else {
this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5});
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local4:String;
var _local5:int;
var _local6:Array;
var _local7:ColorTransform;
var _local8:ColorTransform;
var _local9:Object;
var _local3 = (this.target is DisplayObject);
if ((this.target is Array)){
_local6 = ((this.vars.endArray) || ([]));
_local5 = 0;
while (_local5 < _local6.length) {
if (((!((this.target[_local5] == _local6[_local5]))) && (!((this.target[_local5] == undefined))))){
this.tweens.push({o:this.target, p:_local5.toString(), s:this.target[_local5], c:(_local6[_local5] - this.target[_local5])});
};
_local5++;
};
} else {
for (_local4 in this.vars) {
if ((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "proxiedEase")))) || ((_local4 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){
} else {
if ((((_local4 == "tint")) && (_local3))){
_local7 = this.target.transform.colorTransform;
_local8 = new ColorTransform();
if (this.vars.alpha != undefined){
_local8.alphaMultiplier = this.vars.alpha;
delete this.vars.alpha;
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
if (this.tweens[_local5].p == "alpha"){
this.tweens.splice(_local5, 1);
break;
};
_local5--;
};
} else {
_local8.alphaMultiplier = this.target.alpha;
};
if (((((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))) || ((this.vars[_local4] == 0)))){
_local8.color = this.vars[_local4];
};
addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8});
} else {
if ((((_local4 == "frame")) && (_local3))){
addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target});
} else {
if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){
addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target});
} else {
if (typeof(this.vars[_local4]) == "number"){
this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])});
} else {
this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])});
};
};
};
};
};
};
};
if (this.vars.runBackwards == true){
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local9 = this.tweens[_local5];
this.tweens[_local5].s = (_local9.s + _local9.c);
_local9.c = (_local9.c * -1);
_local5--;
};
};
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0))));
};
_initted = true;
}
public function get active():Boolean{
if (_active){
return (true);
};
if (((_curTime - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (!_initted){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) / 1000);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = 1;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!_initted){
initTweenVals();
};
this.startTime = (_curTime - (this.duration * 1000));
render(_curTime);
return;
};
if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){
this.target.visible = false;
};
removeTween(this);
if (this.vars.onComplete != null){
this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams);
};
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function frameProxy(_arg1:Object):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){
delete _all[_arg1.target][_arg1];
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function executeAll(_arg1:Event=null):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:Object;
var _local2:uint = (_curTime = getTimer());
if (_listening){
_local3 = _all;
for each (_local4 in _local3) {
for (_local5 in _local4) {
if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){
_local4[_local5].render(_local2);
};
};
};
};
}
public static function volumeProxy(_arg1:Object):void{
_arg1.info.target.soundTransform = _arg1.target;
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local3:Boolean;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local2:uint;
for (_local4 in _all) {
_local3 = false;
for (_local5 in _all[_local4]) {
_local3 = true;
break;
};
if (!_local3){
delete _all[_local4];
} else {
_local2++;
};
};
if (_local2 == 0){
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function tintProxy(_arg1:Object):void{
var _local2:Number = _arg1.target.progress;
var _local3:Number = (1 - _local2);
var _local4:Object = _arg1.info.color;
var _local5:Object = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2)));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 7
//TweenMax (gs.TweenMax)
package gs {
import flash.utils.*;
public class TweenMax extends TweenFilterLite {
protected var _pauseTime:int;
protected static const _RAD2DEG:Number = 57.2957795130823;
public static var removeTween:Function = TweenLite.removeTween;
public static var defaultEase:Function = TweenLite.defaultEase;
public static var version:Number = 1.17;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killDelayedCallsTo;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
_pauseTime = -1;
if ((((TweenFilterLite.version < 7.14)) || (isNaN(TweenFilterLite.version)))){
trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
};
}
override public function get active():Boolean{
if (_active){
return (true);
};
if (_pauseTime != -1){
return (false);
};
if (((_curTime - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (!_initted){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function pause():void{
if (_pauseTime == -1){
_pauseTime = _curTime;
_active = false;
};
}
public function set progress(_arg1:Number):void{
var _local2:Number = (_curTime - ((this.duration * _arg1) * 1000));
this.initTime = (_local2 - (this.delay * 1000));
var _local3:Boolean = this.active;
this.startTime = _local2;
render(_curTime);
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
this.pause();
} else {
this.resume();
};
}
public function resume():void{
var _local1:Number;
if (_pauseTime != -1){
_local1 = (_curTime - _pauseTime);
this.initTime = (this.initTime + _local1);
if (!isNaN(this.startTime)){
this.startTime = (this.startTime + _local1);
};
_pauseTime = -1;
if (((_curTime - this.initTime) / 1000) > this.delay){
_active = true;
};
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Object;
var _local7:Array;
_arg2 = (_arg2 + " hexColors bezier bezierThrough orientToBezier quaternions onCompleteAll onCompleteAllParams ");
var _local8:Function = bezierProxy;
if (this.vars.orientToBezier == true){
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
_local8 = bezierProxy2;
} else {
if ((this.vars.orientToBezier is Array)){
_local8 = bezierProxy2;
};
};
if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){
_local6 = {};
_local7 = this.vars.bezier;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween(_local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){
_local6 = {};
_local7 = this.vars.bezierThrough;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween(_local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){
for (_local3 in this.vars.hexColors) {
addSubTween(hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target});
};
};
super.initTweenVals(true, _arg2);
}
public function get paused():Boolean{
if (_pauseTime != -1){
return (true);
};
return (false);
}
public function get progress():Number{
var _local1:Number = (((((_curTime - this.startTime) / 1000) / this.duration)) || (0));
if (_local1 > 1){
return (1);
};
return (_local1);
}
public static function sequence(_arg1:Object, _arg2:Array):Array{
var _local6:Number;
var _local7:Number;
var _local8:uint;
var _local9:Object;
var _local10:String;
var _local11:Object;
var _local3:Boolean;
if (_arg2[0].overwrite == false){
_local3 = false;
};
var _local4:Array = [];
var _local5:Number = 0;
_local8 = 0;
while (_local8 < _arg2.length) {
_local11 = _arg2[_local8];
_local7 = ((_local11.time) || (0));
_local9 = {};
for (_local10 in _local11) {
_local9[_local10] = _local11[_local10];
};
delete _local9.time;
_local6 = ((_local9.delay) || (0));
_local9.delay = (_local5 + _local6);
_local9.overwrite = _local3;
_local4.push(new TweenMax(_arg1, _local7, _local9));
_local5 = (_local5 + (_local7 + _local6));
_local3 = false;
_local8++;
};
return (_local4);
}
public static function hexColorsProxy(_arg1:Object):void{
_arg1.info.target[_arg1.info.prop] = (((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b);
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5.push({s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]});
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5.push({s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]});
_local3++;
};
} else {
_local5.push({s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]});
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5.push({s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)});
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5.push({s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)});
_local3++;
};
_local5.push({s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]});
} else {
if (_local4.length == 3){
_local5.push({s:_local4[0], cp:_local4[1], e:_local4[2]});
} else {
if (_local4.length == 2){
_local5.push({s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]});
};
};
};
};
};
return (_local7);
}
public static function bezierProxy2(_arg1:Object):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:Number;
bezierProxy(_arg1);
var _local2:Object = {};
var _local3:Object = _arg1.info.target;
_arg1.info.target = _local2;
_arg1.target.t = (_arg1.target.t + 0.01);
bezierProxy(_arg1);
var _local4:Array = _arg1.info.orientToBezier;
var _local10:uint;
while (_local10 < _local4.length) {
_local8 = _local4[_local10];
_local9 = ((_local8[3]) || (0));
_local6 = (_local2[_local8[0]] - _local3[_local8[0]]);
_local7 = (_local2[_local8[1]] - _local3[_local8[1]]);
_local3[_local8[2]] = ((Math.atan2(_local7, _local6) * _RAD2DEG) + _local9);
_local10++;
};
_arg1.info.target = _local3;
_arg1.target.t = (_arg1.target.t - 0.01);
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(true, _arg1, _arg2);
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:Object;
var _local2:Dictionary = _all[_arg1];
var _local3:Array = [];
if (_local2 != null){
for (_local4 in _local2) {
if (_local2[_local4].tweens != undefined){
_local3.push(_local2[_local4]);
};
};
};
return (_local3);
}
public static function killAllDelayedCalls(_arg1:Boolean=false):void{
killAll(_arg1, false, true);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array = getTweensOf(_arg1);
var _local3:int = (_local2.length - 1);
while (_local3 > -1) {
if (_local2[_local3].active){
return (true);
};
_local3--;
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local4:Array = getAllTweens();
var _local5:int = (_local4.length - 1);
while (_local5 > -1) {
if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){
if (_arg1){
_local4[_local5].complete();
} else {
TweenLite.removeTween(_local4[_local5]);
};
};
_local5--;
};
}
public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local4:Array = getAllTweens();
var _local5:int = (_local4.length - 1);
while (_local5 > -1) {
if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){
_local4[_local5].paused = _arg1;
};
_local5--;
};
}
public static function bezierProxy(_arg1:Object):void{
var _local5:int;
var _local6:String;
var _local7:Object;
var _local8:Number;
var _local9:uint;
var _local2:Number = _arg1.target.t;
var _local3:Object = _arg1.info.props;
var _local4:Object = _arg1.info.target;
for (_local6 in _local3) {
_local9 = _local3[_local6].length;
if (_local2 < 0){
_local5 = 0;
} else {
if (_local2 >= 1){
_local5 = (_local9 - 1);
} else {
_local5 = int((_local9 * _local2));
};
};
_local8 = ((_local2 - (_local5 * (1 / _local9))) * _local9);
_local7 = _local3[_local6][_local5];
_local4[_local6] = (_local7.s + (_local8 * (((2 * (1 - _local8)) * (_local7.cp - _local7.s)) + (_local8 * (_local7.e - _local7.s)))));
};
}
public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{
var _local3:uint;
while (_local3 < _arg1.length) {
if (_arg1[_local3] != undefined){
_arg1[_local3].apply(null, _arg2[_local3]);
};
_local3++;
};
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{
_arg3.runBackwards = true;
return (allTo(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function killAllTweens(_arg1:Boolean=false):void{
killAll(_arg1, true, false);
}
public static function getAllTweens():Array{
var _local3:Object;
var _local4:Object;
var _local1:Dictionary = _all;
var _local2:Array = [];
for (_local3 in _local1) {
for (_local4 in _local1[_local3]) {
if (_local1[_local3][_local4] != undefined){
_local2.push(_local1[_local3][_local4]);
};
};
};
return (_local2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):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):Array{
var _local4:int;
var _local5:Object;
var _local6:String;
var _local7:Number;
var _local8:Object;
if (_arg1.length == 0){
return ([]);
};
var _local9:Array = [];
var _local10:Number = ((_arg3.delayIncrement) || (0));
delete _arg3.delayIncrement;
if (_arg3.onCompleteAll == undefined){
_local8 = _arg3;
} else {
_local8 = {};
for (_local6 in _arg3) {
_local8[_local6] = _arg3[_local6];
};
_local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]];
_local8.onComplete = TweenMax.callbackProxy;
delete _arg3.onCompleteAll;
};
delete _arg3.onCompleteAllParams;
if (_local10 == 0){
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local9.push(new TweenMax(_arg1[_local4], _arg2, _local5));
_local4++;
};
} else {
_local7 = ((_arg3.delay) || (0));
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local5.delay = (_local7 + (_local4 * _local10));
_local9.push(new TweenMax(_arg1[_local4], _arg2, _local5));
_local4++;
};
_local8.delay = (_local7 + ((_arg1.length - 1) * _local10));
};
_local9.push(new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8));
return (_local9);
}
}
}//package gs
Section 8
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 9
//MochiServices (mochi.MochiServices)
package mochi {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, _slot1.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var netup:Boolean;
var s:String;
var x:String;
var req:URLRequest;
var loader:Loader;
var err:Function;
var complete:Function;
var setURL:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
complete = function (_arg1:Object):void{
netup = true;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
setURL = function ():void{
var _local1:String;
if (netup){
_local1 = (url + s);
} else {
_local1 = burl;
};
var _local2:DisplayObject = clickMovie(_local1, onClick);
btn.addChild(_local2);
_local2.scaleX = (0.01 * btn.width);
_local2.scaleY = (0.01 * btn.height);
};
setTimeout(setURL, 1500);
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function getVersion():String{
return ("1.41");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, _slot1.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
var _local3:String = _arg1.loaderInfo.parameters.mochiad_options;
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, _slot1.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_listenChannel.addEventListener(StatusEvent.STATUS, _slot1.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = this.client._callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
_slot1.onError("IOError");
};
trace("connected!");
_connecting = false;
_connected = true;
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
_slot1.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var id = _arg1;
var clip = _arg2;
var clipname:String = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!_slot1.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servicesURL != undefined){
_servicesURL = urlOptions(clip).servicesURL;
};
_slot1.allowDomains(_servicesURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
var f:Function = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
_slot1.disconnect();
_slot1.onError("IOError");
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999))));
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
var req:URLRequest = new URLRequest(_servicesURL);
var vars:URLVariables = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
req.data = vars;
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
_slot1.onError = onError;
} else {
if (_slot1.onError == null){
_slot1.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (_slot1.clip != null){
if (_slot1.childClip != null){
try {
if (_slot1.clip.numChildren > 1){
_slot1.clip.setChildIndex(_slot1.childClip, (_slot1.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, _slot1.bringToTop);
};
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
_slot1.disconnect();
_slot1.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 10
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.0.0.0";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 11
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 12
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 13
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexMovieClip(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 14
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexSprite(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 15
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
}
}//package mx.core
Section 16
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 17
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 18
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 19
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 20
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 21
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 22
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
}
}//package mx.core
Section 23
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function SpriteAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 24
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.0.0.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local4:String;
var _local5:Array;
var _local3:DisplayObject = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 25
//AbstractCollection (org.cove.ape.AbstractCollection)
package org.cove.ape {
import flash.display.*;
import flash.utils.*;
public class AbstractCollection {
private var _sprite:Sprite;
private var _particles:Array;
private var _isParented:Boolean;
private var _constraints:Array;
public function AbstractCollection(){
if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){
throw (new ArgumentError("AbstractCollection can't be instantiated directly"));
};
_isParented = false;
_particles = new Array();
_constraints = new Array();
}
public function removeConstraint(_arg1:AbstractConstraint):void{
var _local2:int = constraints.indexOf(_arg1);
if (_local2 == -1){
return;
};
constraints.splice(_local2, 1);
_arg1.cleanup();
}
public function getAll():Array{
return (particles.concat(constraints));
}
function checkCollisionsVsCollection(_arg1:AbstractCollection):void{
var _local5:AbstractParticle;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:AbstractParticle;
var _local10:SpringConstraint;
var _local11:SpringConstraint;
var _local12:int;
var _local2:int = _particles.length;
var _local3:int;
while (_local3 < _local2) {
_local5 = _particles[_local3];
if ((((_local5 == null)) || (!(_local5.collidable)))){
} else {
_local6 = _arg1.particles.length;
_local7 = 0;
while (_local7 < _local6) {
_local9 = _arg1.particles[_local7];
if (((!((_local9 == null))) && (_local9.collidable))){
CollisionDetector.test(_local5, _local9);
};
_local7++;
};
_local8 = _arg1.constraints.length;
_local7 = 0;
while (_local7 < _local8) {
_local10 = _arg1.constraints[_local7];
if (((((!((_local10 == null))) && (_local10.collidable))) && (!(_local10.isConnectedTo(_local5))))){
_local10.scp.updatePosition();
CollisionDetector.test(_local5, _local10.scp);
};
_local7++;
};
};
_local3++;
};
var _local4:int = _constraints.length;
_local3 = 0;
while (_local3 < _local4) {
_local11 = _constraints[_local3];
if ((((_local11 == null)) || (!(_local11.collidable)))){
} else {
_local6 = _arg1.particles.length;
_local12 = 0;
while (_local12 < _local6) {
_local9 = _arg1.particles[_local12];
if (((((!((_local9 == null))) && (_local9.collidable))) && (!(_local11.isConnectedTo(_local9))))){
_local11.scp.updatePosition();
CollisionDetector.test(_local9, _local11.scp);
};
_local12++;
};
};
_local3++;
};
}
public function get sprite():Sprite{
if (_sprite != null){
return (_sprite);
};
if (APEngine.container == null){
throw (new Error("The container property of the APEngine class has not been set"));
};
_sprite = new Sprite();
APEngine.container.addChild(_sprite);
return (_sprite);
}
function checkInternalCollisions():void{
var _local3:AbstractParticle;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:AbstractParticle;
var _local8:SpringConstraint;
var _local1:int = _particles.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = _particles[_local2];
if ((((_local3 == null)) || (!(_local3.collidable)))){
} else {
_local4 = (_local2 + 1);
while (_local4 < _local1) {
_local7 = _particles[_local4];
if (((!((_local7 == null))) && (_local7.collidable))){
CollisionDetector.test(_local3, _local7);
};
_local4++;
};
_local5 = _constraints.length;
_local6 = 0;
while (_local6 < _local5) {
_local8 = _constraints[_local6];
if (((((!((_local8 == null))) && (_local8.collidable))) && (!(_local8.isConnectedTo(_local3))))){
_local8.scp.updatePosition();
CollisionDetector.test(_local3, _local8.scp);
};
_local6++;
};
};
_local2++;
};
}
public function addParticle(_arg1:AbstractParticle):void{
particles.push(_arg1);
if (isParented){
_arg1.init();
};
}
public function init():void{
var _local1:int;
while (_local1 < particles.length) {
particles[_local1].init();
_local1++;
};
_local1 = 0;
while (_local1 < constraints.length) {
constraints[_local1].init();
_local1++;
};
}
function satisfyConstraints():void{
var _local3:AbstractConstraint;
var _local1:int = _constraints.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = _constraints[_local2];
_local3.resolve();
_local2++;
};
}
function get isParented():Boolean{
return (_isParented);
}
public function paint():void{
var _local1:AbstractParticle;
var _local4:SpringConstraint;
var _local2:int = _particles.length;
var _local3:int;
while (_local3 < _local2) {
_local1 = _particles[_local3];
if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){
_local1.paint();
};
_local3++;
};
_local2 = _constraints.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = _constraints[_local3];
if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){
_local4.paint();
};
_local3++;
};
}
public function addConstraint(_arg1:AbstractConstraint):void{
constraints.push(_arg1);
if (isParented){
_arg1.init();
};
}
function set isParented(_arg1:Boolean):void{
_isParented = _arg1;
}
public function removeParticle(_arg1:AbstractParticle):void{
var _local2:int = particles.indexOf(_arg1);
if (_local2 == -1){
return;
};
particles.splice(_local2, 1);
_arg1.cleanup();
}
public function cleanup():void{
var _local1:int;
while (_local1 < particles.length) {
particles[_local1].cleanup();
_local1++;
};
_local1 = 0;
while (_local1 < constraints.length) {
constraints[_local1].cleanup();
_local1++;
};
}
public function get particles():Array{
return (_particles);
}
function integrate(_arg1:Number):void{
var _local4:AbstractParticle;
var _local2:int = _particles.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _particles[_local3];
_local4.update(_arg1);
_local3++;
};
}
public function get constraints():Array{
return (_constraints);
}
}
}//package org.cove.ape
Section 26
//AbstractConstraint (org.cove.ape.AbstractConstraint)
package org.cove.ape {
import flash.utils.*;
public class AbstractConstraint extends AbstractItem {
private var _stiffness:Number;
public function AbstractConstraint(_arg1:Number){
if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){
throw (new ArgumentError("AbstractConstraint can't be instantiated directly"));
};
this.stiffness = _arg1;
setStyle();
}
public function resolve():void{
}
public function set stiffness(_arg1:Number):void{
_stiffness = _arg1;
}
public function get stiffness():Number{
return (_stiffness);
}
}
}//package org.cove.ape
Section 27
//AbstractItem (org.cove.ape.AbstractItem)
package org.cove.ape {
import flash.events.*;
import flash.display.*;
public class AbstractItem extends EventDispatcher {
var lineAlpha:Number;
var lineColor:uint;
var displayObjectOffset:Vector;
var lineThickness:Number;
var displayObject:DisplayObject;
var fillAlpha:Number;
private var _sprite:Sprite;
var fillColor:uint;
private var _solid:Boolean;
private var _visible:Boolean;
private var _alwaysRepaint:Boolean;
var displayObjectRotation:Number;
public function AbstractItem(){
_solid = true;
_visible = true;
_alwaysRepaint = false;
}
public function get solid():Boolean{
return (_solid);
}
public function setLine(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{
lineThickness = _arg1;
lineColor = _arg2;
lineAlpha = _arg3;
}
public function set visible(_arg1:Boolean):void{
_visible = _arg1;
sprite.visible = _arg1;
}
public function setFill(_arg1:uint=0xFFFFFF, _arg2:Number=1):void{
fillColor = _arg1;
fillAlpha = _arg2;
}
public function init():void{
}
public function set solid(_arg1:Boolean):void{
_solid = _arg1;
}
public function get sprite():Sprite{
if (_sprite != null){
return (_sprite);
};
if (APEngine.container == null){
throw (new Error("The container property of the APEngine class has not been set"));
};
_sprite = new Sprite();
APEngine.container.addChild(_sprite);
return (_sprite);
}
public function paint():void{
}
public function cleanup():void{
sprite.graphics.clear();
var _local1:int;
while (_local1 < sprite.numChildren) {
sprite.removeChildAt(_local1);
_local1++;
};
}
public function setStyle(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{
setLine(_arg1, _arg2, _arg3);
setFill(_arg4, _arg5);
}
public function get visible():Boolean{
return (_visible);
}
final public function set alwaysRepaint(_arg1:Boolean):void{
_alwaysRepaint = _arg1;
}
final public function get alwaysRepaint():Boolean{
return (_alwaysRepaint);
}
}
}//package org.cove.ape
Section 28
//AbstractParticle (org.cove.ape.AbstractParticle)
package org.cove.ape {
import flash.display.*;
import flash.utils.*;
public class AbstractParticle extends AbstractItem {
private var _collidable:Boolean;
private var _center:Vector;
private var forceList:Array;
private var _kfr:Number;
var prev:Vector;
private var collision:Collision;
var interval:Interval;
private var _invMass:Number;
var curr:Vector;
private var _mass:Number;
private var temp:Vector;
private var _friction:Number;
private var firstCollision:Boolean;
var samp:Vector;
private var _multisample:int;
private var _fixed:Boolean;
private var forces:Vector;
public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number){
if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){
throw (new ArgumentError("AbstractParticle can't be instantiated directly"));
};
interval = new Interval(0, 0);
curr = new Vector(_arg1, _arg2);
prev = new Vector(_arg1, _arg2);
samp = new Vector();
temp = new Vector();
fixed = _arg3;
forces = new Vector();
forceList = new Array();
collision = new Collision(new Vector(), new Vector());
collidable = true;
firstCollision = false;
this.mass = _arg4;
this.elasticity = _arg5;
this.friction = _arg6;
setStyle();
_center = new Vector();
_multisample = 0;
}
private function accumulateForces():void{
var _local1:IForce;
var _local2:int = forceList.length;
var _local3:int;
while (_local3 < _local2) {
_local1 = forceList[_local3];
forces.plusEquals(_local1.getValue(_invMass));
_local3++;
};
var _local4:Array = APEngine.forces;
_local2 = _local4.length;
_local3 = 0;
while (_local3 < _local2) {
_local1 = _local4[_local3];
forces.plusEquals(_local1.getValue(_invMass));
_local3++;
};
}
function get invMass():Number{
return ((fixed) ? 0 : _invMass);
}
public function get px():Number{
return (curr.x);
}
public function get py():Number{
return (curr.y);
}
public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{
displayObject = _arg1;
displayObjectRotation = _arg4;
displayObjectOffset = new Vector(_arg2, _arg3);
}
public function set px(_arg1:Number):void{
curr.x = _arg1;
prev.x = _arg1;
}
public function resetFirstCollision():void{
firstCollision = false;
}
public function set py(_arg1:Number):void{
curr.y = _arg1;
prev.y = _arg1;
}
function getComponents(_arg1:Vector):Collision{
var _local2:Vector = velocity;
var _local3:Number = _arg1.dot(_local2);
collision.vn = _arg1.mult(_local3);
collision.vt = _local2.minus(collision.vn);
return (collision);
}
public function get mass():Number{
return (_mass);
}
function initDisplay():void{
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
sprite.addChild(displayObject);
}
private function clearForces():void{
forceList.length = 0;
forces.setTo(0, 0);
}
public function get multisample():int{
return (_multisample);
}
public function get position():Vector{
return (new Vector(curr.x, curr.y));
}
function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
testParticleEvents(_arg6);
if (((((fixed) || (!(solid)))) || (!(_arg6.solid)))){
return;
};
curr.copy(samp);
curr.plusEquals(_arg1);
velocity = _arg2;
}
public function get elasticity():Number{
return (_kfr);
}
public function set collidable(_arg1:Boolean):void{
_collidable = _arg1;
}
public function set velocity(_arg1:Vector):void{
prev = curr.minus(_arg1);
}
public function set multisample(_arg1:int):void{
_multisample = _arg1;
}
public function addForce(_arg1:IForce):void{
forceList.push(_arg1);
}
public function get center():Vector{
_center.setTo(px, py);
return (_center);
}
public function update(_arg1:Number):void{
if (fixed){
return;
};
accumulateForces();
temp.copy(curr);
var _local2:Vector = velocity.plus(forces.multEquals(_arg1));
curr.plusEquals(_local2.multEquals(APEngine.damping));
prev.copy(temp);
clearForces();
}
public function get velocity():Vector{
return (curr.minus(prev));
}
public function set position(_arg1:Vector):void{
curr.copy(_arg1);
prev.copy(_arg1);
}
public function set mass(_arg1:Number):void{
if (_arg1 <= 0){
throw (new ArgumentError("mass may not be set <= 0"));
};
_mass = _arg1;
_invMass = (1 / _mass);
}
public function set fixed(_arg1:Boolean):void{
_fixed = _arg1;
}
public function set elasticity(_arg1:Number):void{
_kfr = _arg1;
}
public function set friction(_arg1:Number):void{
if ((((_arg1 < 0)) || ((_arg1 > 1)))){
throw (new ArgumentError("Legal friction must be >= 0 and <=1"));
};
_friction = _arg1;
}
function testParticleEvents(_arg1:AbstractParticle):void{
if (hasEventListener(CollisionEvent.COLLIDE)){
dispatchEvent(new CollisionEvent(CollisionEvent.COLLIDE, false, false, _arg1));
};
if (((hasEventListener(CollisionEvent.FIRST_COLLIDE)) && (!(firstCollision)))){
firstCollision = true;
dispatchEvent(new CollisionEvent(CollisionEvent.FIRST_COLLIDE, false, false, _arg1));
};
}
public function get collidable():Boolean{
return (_collidable);
}
public function get friction():Number{
return (_friction);
}
public function get fixed():Boolean{
return (_fixed);
}
}
}//package org.cove.ape
Section 29
//APEngine (org.cove.ape.APEngine)
package org.cove.ape {
import flash.display.*;
public final class APEngine {
private static var _damping:Number;
private static var _container:DisplayObjectContainer;
private static var _constraintCollisionCycles:int;
private static var groups:Array;
static var forces:Array;
private static var _constraintCycles:int;
private static var timeStep:Number;
private static var numGroups:int;
public static function get container():DisplayObjectContainer{
return (_container);
}
public static function get constraintCollisionCycles():int{
return (_constraintCollisionCycles);
}
public static function removeForce(_arg1:IForce):void{
var _local2:int = forces.indexOf(_arg1);
if (_local2 == -1){
return;
};
forces.splice(_local2, 1);
}
public static function set damping(_arg1:Number):void{
_damping = _arg1;
}
public static function step():void{
integrate();
var _local1:int;
while (_local1 < _constraintCycles) {
satisfyConstraints();
_local1++;
};
var _local2:int;
while (_local2 < _constraintCollisionCycles) {
satisfyConstraints();
checkCollisions();
_local2++;
};
}
public static function get constraintCycles():int{
return (_constraintCycles);
}
public static function set constraintCollisionCycles(_arg1:int):void{
_constraintCollisionCycles = _arg1;
}
public static function init(_arg1:Number=0.25):void{
timeStep = (_arg1 * _arg1);
numGroups = 0;
groups = new Array();
forces = new Array();
_damping = 1;
_constraintCycles = 0;
_constraintCollisionCycles = 1;
}
public static function addForce(_arg1:IForce):void{
forces.push(_arg1);
}
public static function get damping():Number{
return (_damping);
}
public static function set constraintCycles(_arg1:int):void{
_constraintCycles = _arg1;
}
public static function addGroup(_arg1:Group):void{
groups.push(_arg1);
_arg1.isParented = true;
numGroups++;
_arg1.init();
}
public static function set container(_arg1:DisplayObjectContainer):void{
_container = _arg1;
}
public static function paint():void{
var _local2:Group;
var _local1:int;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.paint();
_local1++;
};
}
public static function removeGroup(_arg1:Group):void{
var _local2:int = groups.indexOf(_arg1);
if (_local2 == -1){
return;
};
groups.splice(_local2, 1);
_arg1.isParented = false;
numGroups--;
_arg1.cleanup();
}
private static function satisfyConstraints():void{
var _local2:Group;
var _local1:int;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.satisfyConstraints();
_local1++;
};
}
public static function removeAllForce():void{
forces = new Array();
}
private static function checkCollisions():void{
var _local2:Group;
var _local1:int;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.checkCollisions();
_local1++;
};
}
private static function integrate():void{
var _local2:Group;
var _local1:int;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.integrate(timeStep);
_local1++;
};
}
}
}//package org.cove.ape
Section 30
//CircleParticle (org.cove.ape.CircleParticle)
package org.cove.ape {
public class CircleParticle extends AbstractParticle {
private var _radius:Number;
public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0){
super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7);
_radius = _arg3;
}
override public function init():void{
cleanup();
if (displayObject != null){
initDisplay();
} else {
sprite.graphics.clear();
sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha);
sprite.graphics.beginFill(fillColor, fillAlpha);
sprite.graphics.drawCircle(0, 0, radius);
sprite.graphics.endFill();
};
paint();
}
public function set radius(_arg1:Number):void{
_radius = _arg1;
}
function getProjection(_arg1:Vector):Interval{
var _local2:Number = samp.dot(_arg1);
interval.min = (_local2 - _radius);
interval.max = (_local2 + _radius);
return (interval);
}
function getIntervalY():Interval{
interval.min = (samp.y - _radius);
interval.max = (samp.y + _radius);
return (interval);
}
public function get radius():Number{
return (_radius);
}
function getIntervalX():Interval{
interval.min = (samp.x - _radius);
interval.max = (samp.x + _radius);
return (interval);
}
override public function paint():void{
sprite.x = curr.x;
sprite.y = curr.y;
}
}
}//package org.cove.ape
Section 31
//Collision (org.cove.ape.Collision)
package org.cove.ape {
import org.cove.ape.*;
final class Collision {
var vn:Vector;
var vt:Vector;
function Collision(_arg1:Vector, _arg2:Vector){
this.vn = _arg1;
this.vt = _arg2;
}
}
}//package org.cove.ape
Section 32
//CollisionDetector (org.cove.ape.CollisionDetector)
package org.cove.ape {
import org.cove.ape.*;
final class CollisionDetector {
private static var collNormal:Vector;
private static var cpa:AbstractParticle;
private static var cpb:AbstractParticle;
private static var collDepth:Number;
private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{
if (_arg1.max < _arg2.min){
return (0);
};
if (_arg2.max < _arg1.min){
return (0);
};
var _local3:Number = (_arg2.max - _arg1.min);
var _local4:Number = (_arg2.min - _arg1.max);
return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4);
}
private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle):Boolean{
var _local4:Vector;
var _local5:Number;
var _local6:Vector;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Boolean;
collDepth = Number.POSITIVE_INFINITY;
var _local3:int;
while (_local3 < 2) {
_local4 = _arg1.axes[_local3];
_local5 = testIntervals(_arg1.getProjection(_local4), _arg2.getProjection(_local4));
if (_local5 == 0){
return (false);
};
_local6 = _arg2.axes[_local3];
_local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6));
if (_local7 == 0){
return (false);
};
_local8 = Math.abs(_local5);
_local9 = Math.abs(_local7);
if ((((_local8 < Math.abs(collDepth))) || ((_local9 < Math.abs(collDepth))))){
_local10 = (_local8 < _local9);
collNormal = (_local10) ? _local4 : _local6;
collDepth = (_local10) ? _local5 : _local7;
};
_local3++;
};
cpa = _arg1;
cpb = _arg2;
return (true);
}
private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{
if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){
return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle)));
};
if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){
return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle)));
};
if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){
return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle)));
};
if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){
return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle)));
};
return (false);
}
private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
if (normVsNorm(_arg1, _arg2)){
return;
};
var _local3:Number = (1 / (_arg1.multisample + 1));
var _local4:Number = _local3;
var _local5:int;
while (_local5 <= _arg1.multisample) {
_arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y))));
if (testTypes(_arg1, _arg2)){
CollisionResolver.resolve(cpa, cpb, collNormal, collDepth);
return;
};
_local4 = (_local4 + _local3);
_local5++;
};
}
private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle):Boolean{
var _local3:Number = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX());
if (_local3 == 0){
return (false);
};
var _local4:Number = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY());
if (_local4 == 0){
return (false);
};
collNormal = _arg1.samp.minus(_arg2.samp);
var _local5:Number = collNormal.magnitude();
collDepth = ((_arg1.radius + _arg2.radius) - _local5);
if (collDepth > 0){
collNormal.divEquals(_local5);
cpa = _arg1;
cpb = _arg2;
return (true);
};
return (false);
}
static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
if (((_arg1.fixed) && (_arg2.fixed))){
return;
};
if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){
normVsNorm(_arg1, _arg2);
} else {
if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){
sampVsNorm(_arg1, _arg2);
} else {
if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){
sampVsNorm(_arg2, _arg1);
} else {
if (_arg1.multisample == _arg2.multisample){
sampVsSamp(_arg1, _arg2);
} else {
normVsNorm(_arg1, _arg2);
};
};
};
};
}
private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle):Boolean{
var _local6:Vector;
var _local7:Number;
var _local8:Vector;
var _local9:Number;
collDepth = Number.POSITIVE_INFINITY;
var _local3:Array = new Array(2);
var _local4:int;
while (_local4 < 2) {
_local6 = _arg1.axes[_local4];
_local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6));
if (_local7 == 0){
return (false);
};
if (Math.abs(_local7) < Math.abs(collDepth)){
collNormal = _local6;
collDepth = _local7;
};
_local3[_local4] = _local7;
_local4++;
};
var _local5:Number = _arg2.radius;
if ((((Math.abs(_local3[0]) < _local5)) && ((Math.abs(_local3[1]) < _local5)))){
_local8 = closestVertexOnOBB(_arg2.samp, _arg1);
collNormal = _local8.minus(_arg2.samp);
_local9 = collNormal.magnitude();
collDepth = (_local5 - _local9);
if (collDepth > 0){
collNormal.divEquals(_local9);
} else {
return (false);
};
};
cpa = _arg1;
cpb = _arg2;
return (true);
}
private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{
var _local6:Number;
var _local3:Vector = _arg1.minus(_arg2.samp);
var _local4:Vector = new Vector(_arg2.samp.x, _arg2.samp.y);
var _local5:int;
while (_local5 < 2) {
_local6 = _local3.dot(_arg2.axes[_local5]);
if (_local6 >= 0){
_local6 = _arg2.extents[_local5];
} else {
if (_local6 < 0){
_local6 = -(_arg2.extents[_local5]);
};
};
_local4.plusEquals(_arg2.axes[_local5].mult(_local6));
_local5++;
};
return (_local4);
}
private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{
_arg1.samp.copy(_arg1.curr);
_arg2.samp.copy(_arg2.curr);
if (testTypes(_arg1, _arg2)){
CollisionResolver.resolve(cpa, cpb, collNormal, collDepth);
return (true);
};
return (false);
}
private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
if (normVsNorm(_arg1, _arg2)){
return;
};
var _local3:Number = (1 / (_arg1.multisample + 1));
var _local4:Number = _local3;
var _local5:int;
while (_local5 <= _arg1.multisample) {
_arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y))));
_arg2.samp.setTo((_arg2.prev.x + (_local4 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local4 * (_arg2.curr.y - _arg2.prev.y))));
if (testTypes(_arg1, _arg2)){
CollisionResolver.resolve(cpa, cpb, collNormal, collDepth);
return;
};
_local4 = (_local4 + _local3);
_local5++;
};
}
}
}//package org.cove.ape
Section 33
//CollisionEvent (org.cove.ape.CollisionEvent)
package org.cove.ape {
import flash.events.*;
public class CollisionEvent extends Event {
private var _collidingItem:AbstractItem;
public static const COLLIDE:String = "collide";
public static const FIRST_COLLIDE:String = "firstCollide";
public function CollisionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:AbstractItem=null){
super(_arg1, _arg2, _arg3);
_collidingItem = _arg4;
}
public function get collidingItem():AbstractItem{
var _local1:SpringConstraintParticle;
if ((_collidingItem is SpringConstraintParticle)){
_local1 = (_collidingItem as SpringConstraintParticle);
return (_local1.parent);
};
return (_collidingItem);
}
}
}//package org.cove.ape
Section 34
//CollisionResolver (org.cove.ape.CollisionResolver)
package org.cove.ape {
import org.cove.ape.*;
final class CollisionResolver {
static function resolve(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{
var _local5:Vector = _arg3.mult(_arg4);
var _local6:Number = (_arg1.elasticity + _arg2.elasticity);
var _local7:Number = (_arg1.invMass + _arg2.invMass);
var _local8:Number = MathUtil.clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1);
var _local9:Collision = _arg1.getComponents(_arg3);
var _local10:Collision = _arg2.getComponents(_arg3);
var _local11:Vector = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))).divEquals(_local7);
var _local12:Vector = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7);
_local9.vt.multEquals(_local8);
_local10.vt.multEquals(_local8);
var _local13:Vector = _local5.mult((_arg1.invMass / _local7));
var _local14:Vector = _local5.mult((-(_arg2.invMass) / _local7));
_local11.plusEquals(_local9.vt);
_local12.plusEquals(_local10.vt);
_arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2);
_arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1);
}
}
}//package org.cove.ape
Section 35
//Composite (org.cove.ape.Composite)
package org.cove.ape {
public class Composite extends AbstractCollection {
private var delta:Vector;
public function Composite(){
delta = new Vector();
}
public function rotateByAngle(_arg1:Number, _arg2:Vector):void{
var _local3:Number = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY);
rotateByRadian(_local3, _arg2);
}
public function rotateByRadian(_arg1:Number, _arg2:Vector):void{
var _local3:AbstractParticle;
var _local7:Number;
var _local8:Number;
var _local4:Array = particles;
var _local5:int = _local4.length;
var _local6:int;
while (_local6 < _local5) {
_local3 = _local4[_local6];
_local7 = _local3.center.distance(_arg2);
_local8 = (getRelativeAngle(_arg2, _local3.center) + _arg1);
_local3.px = ((Math.cos(_local8) * _local7) + _arg2.x);
_local3.py = ((Math.sin(_local8) * _local7) + _arg2.y);
_local6++;
};
}
public function get fixed():Boolean{
var _local1:int;
while (_local1 < particles.length) {
if (!particles[_local1].fixed){
return (false);
};
_local1++;
};
return (true);
}
private function getRelativeAngle(_arg1:Vector, _arg2:Vector):Number{
delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y));
return (Math.atan2(delta.y, delta.x));
}
public function set fixed(_arg1:Boolean):void{
var _local2:int;
while (_local2 < particles.length) {
particles[_local2].fixed = _arg1;
_local2++;
};
}
}
}//package org.cove.ape
Section 36
//Group (org.cove.ape.Group)
package org.cove.ape {
public class Group extends AbstractCollection {
private var _composites:Array;
private var _collisionList:Array;
private var _collideInternal:Boolean;
public function Group(_arg1:Boolean=false){
_composites = new Array();
_collisionList = new Array();
this.collideInternal = _arg1;
}
public function addCollidableList(_arg1:Array):void{
var _local3:Group;
var _local2:int;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
collisionList.push(_local3);
_local2++;
};
}
function checkCollisions():void{
var _local3:Group;
if (collideInternal){
checkCollisionGroupInternal();
};
var _local1:int = collisionList.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = collisionList[_local2];
if (_local3 == null){
} else {
checkCollisionVsGroup(_local3);
};
_local2++;
};
}
public function removeComposite(_arg1:Composite):void{
var _local2:int = composites.indexOf(_arg1);
if (_local2 == -1){
return;
};
composites.splice(_local2, 1);
_arg1.isParented = false;
_arg1.cleanup();
}
override public function cleanup():void{
super.cleanup();
var _local1:int;
while (_local1 < composites.length) {
composites[_local1].cleanup();
_local1++;
};
}
public function removeCollidable(_arg1:Group):void{
var _local2:int = collisionList.indexOf(_arg1);
if (_local2 == -1){
return;
};
collisionList.splice(_local2, 1);
}
public function addComposite(_arg1:Composite):void{
composites.push(_arg1);
_arg1.isParented = true;
if (isParented){
_arg1.init();
};
}
public function addCollidable(_arg1:Group):void{
collisionList.push(_arg1);
}
override function integrate(_arg1:Number):void{
var _local4:Composite;
super.integrate(_arg1);
var _local2:int = _composites.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _composites[_local3];
_local4.integrate(_arg1);
_local3++;
};
}
public function get composites():Array{
return (_composites);
}
override public function init():void{
super.init();
var _local1:int;
while (_local1 < composites.length) {
composites[_local1].init();
_local1++;
};
}
override public function getAll():Array{
return (particles.concat(constraints).concat(composites));
}
public function get collisionList():Array{
return (_collisionList);
}
private function checkCollisionGroupInternal():void{
var _local3:Composite;
var _local4:int;
var _local5:Composite;
checkInternalCollisions();
var _local1:int = _composites.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = _composites[_local2];
if (_local3 == null){
} else {
_local3.checkCollisionsVsCollection(this);
_local4 = (_local2 + 1);
while (_local4 < _local1) {
_local5 = _composites[_local4];
if (_local5 != null){
_local3.checkCollisionsVsCollection(_local5);
};
_local4++;
};
};
_local2++;
};
}
override function satisfyConstraints():void{
var _local3:Composite;
super.satisfyConstraints();
var _local1:int = _composites.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = _composites[_local2];
_local3.satisfyConstraints();
_local2++;
};
}
public function get collideInternal():Boolean{
return (_collideInternal);
}
public function set collideInternal(_arg1:Boolean):void{
_collideInternal = _arg1;
}
override public function paint():void{
var _local3:Composite;
super.paint();
var _local1:int = _composites.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = _composites[_local2];
_local3.paint();
_local2++;
};
}
private function checkCollisionVsGroup(_arg1:Group):void{
var _local2:Composite;
var _local6:Composite;
var _local7:int;
checkCollisionsVsCollection(_arg1);
var _local3:int = _composites.length;
var _local4:int = _arg1.composites.length;
var _local5:int;
while (_local5 < _local3) {
_local6 = _composites[_local5];
if (_local6 == null){
} else {
_local6.checkCollisionsVsCollection(_arg1);
_local7 = 0;
while (_local7 < _local4) {
_local2 = _arg1.composites[_local7];
if (_local2 == null){
} else {
_local6.checkCollisionsVsCollection(_local2);
};
_local7++;
};
};
_local5++;
};
_local7 = 0;
while (_local7 < _local4) {
_local2 = _arg1.composites[_local7];
if (_local2 == null){
} else {
checkCollisionsVsCollection(_local2);
};
_local7++;
};
}
}
}//package org.cove.ape
Section 37
//IForce (org.cove.ape.IForce)
package org.cove.ape {
public interface IForce {
function getValue(_arg1:Number):Vector;
}
}//package org.cove.ape
Section 38
//Interval (org.cove.ape.Interval)
package org.cove.ape {
final class Interval {
var min:Number;
var max:Number;
function Interval(_arg1:Number, _arg2:Number){
this.min = _arg1;
this.max = _arg2;
}
function toString():String{
return (((min + " : ") + max));
}
}
}//package org.cove.ape
Section 39
//MathUtil (org.cove.ape.MathUtil)
package org.cove.ape {
final class MathUtil {
static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823;
static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433;
static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
static function sign(_arg1:Number):int{
if (_arg1 < 0){
return (-1);
};
return (1);
}
}
}//package org.cove.ape
Section 40
//RectangleParticle (org.cove.ape.RectangleParticle)
package org.cove.ape {
public class RectangleParticle extends AbstractParticle {
private var _axes:Array;
private var _radian:Number;
private var _extents:Array;
public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){
super(_arg1, _arg2, _arg6, _arg7, _arg8, _arg9);
_extents = new Array((_arg3 / 2), (_arg4 / 2));
_axes = new Array(new Vector(0, 0), new Vector(0, 0));
radian = _arg5;
}
public function get radian():Number{
return (_radian);
}
public function set radian(_arg1:Number):void{
_radian = _arg1;
setAxes(_arg1);
}
function get axes():Array{
return (_axes);
}
public function set angle(_arg1:Number):void{
radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY);
}
function get extents():Array{
return (_extents);
}
public function set width(_arg1:Number):void{
_extents[0] = (_arg1 / 2);
}
public function get width():Number{
return ((_extents[0] * 2));
}
public function set height(_arg1:Number):void{
_extents[1] = (_arg1 / 2);
}
override public function init():void{
var _local1:Number;
var _local2:Number;
cleanup();
if (displayObject != null){
initDisplay();
} else {
_local1 = (extents[0] * 2);
_local2 = (extents[1] * 2);
sprite.graphics.clear();
sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha);
sprite.graphics.beginFill(fillColor, fillAlpha);
sprite.graphics.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2);
sprite.graphics.endFill();
};
paint();
}
public function get height():Number{
return ((_extents[1] * 2));
}
public function get angle():Number{
return ((radian * MathUtil.ONE_EIGHTY_OVER_PI));
}
function getProjection(_arg1:Vector):Interval{
var _local2:Number = ((extents[0] * Math.abs(_arg1.dot(axes[0]))) + (extents[1] * Math.abs(_arg1.dot(axes[1]))));
var _local3:Number = samp.dot(_arg1);
interval.min = (_local3 - _local2);
interval.max = (_local3 + _local2);
return (interval);
}
override public function paint():void{
sprite.x = curr.x;
sprite.y = curr.y;
sprite.rotation = angle;
}
private function setAxes(_arg1:Number):void{
var _local2:Number = Math.sin(_arg1);
var _local3:Number = Math.cos(_arg1);
axes[0].x = _local3;
axes[0].y = _local2;
axes[1].x = -(_local2);
axes[1].y = _local3;
}
}
}//package org.cove.ape
Section 41
//SpringConstraint (org.cove.ape.SpringConstraint)
package org.cove.ape {
import flash.display.*;
public class SpringConstraint extends AbstractConstraint {
private var _collidable:Boolean;
private var p1:AbstractParticle;
private var p2:AbstractParticle;
private var _scp:SpringConstraintParticle;
private var _restLength:Number;
public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=1, _arg7:Boolean=false){
super(_arg3);
this.p1 = _arg1;
this.p2 = _arg2;
checkParticlesLocation();
_restLength = currLength;
setCollidable(_arg4, _arg5, _arg6, _arg7);
}
public function get fixed():Boolean{
return (((p1.fixed) && (p2.fixed)));
}
public function get rectScale():Number{
return (scp.rectScale);
}
public function set rectScale(_arg1:Number):void{
if (scp == null){
return;
};
scp.rectScale = _arg1;
}
public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{
if (collidable){
scp.setDisplay(_arg1, _arg2, _arg3, _arg4);
} else {
displayObject = _arg1;
displayObjectRotation = _arg4;
displayObjectOffset = new Vector(_arg2, _arg3);
};
}
override public function init():void{
cleanup();
if (collidable){
scp.init();
} else {
if (displayObject != null){
initDisplay();
};
};
paint();
}
function initDisplay():void{
if (collidable){
scp.initDisplay();
} else {
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
sprite.addChild(displayObject);
};
}
public function get angle():Number{
return ((radian * MathUtil.ONE_EIGHTY_OVER_PI));
}
public function get center():Vector{
return (p1.curr.plus(p2.curr).divEquals(2));
}
public function set rectHeight(_arg1:Number):void{
if (scp == null){
return;
};
scp.rectHeight = _arg1;
}
public function get restLength():Number{
return (_restLength);
}
override public function paint():void{
var _local1:Vector;
if (collidable){
scp.paint();
} else {
if (displayObject != null){
_local1 = center;
sprite.x = _local1.x;
sprite.y = _local1.y;
sprite.rotation = angle;
} else {
sprite.graphics.clear();
sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha);
sprite.graphics.moveTo(p1.px, p1.py);
sprite.graphics.lineTo(p2.px, p2.py);
};
};
}
function get scp():SpringConstraintParticle{
return (_scp);
}
public function get collidable():Boolean{
return (_collidable);
}
public function setCollidable(_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
_collidable = _arg1;
_scp = null;
if (_collidable){
_scp = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4);
};
}
public function isConnectedTo(_arg1:AbstractParticle):Boolean{
return ((((_arg1 == p1)) || ((_arg1 == p2))));
}
public function get rectHeight():Number{
return (scp.rectHeight);
}
override public function resolve():void{
if (((p1.fixed) && (p2.fixed))){
return;
};
var _local1:Number = currLength;
var _local2:Number = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass)));
var _local3:Vector = delta.mult((_local2 * stiffness));
p1.curr.minusEquals(_local3.mult(p1.invMass));
p2.curr.plusEquals(_local3.mult(p2.invMass));
}
public function set fixedEndLimit(_arg1:Number):void{
if (scp == null){
return;
};
scp.fixedEndLimit = _arg1;
}
public function get radian():Number{
var _local1:Vector = delta;
return (Math.atan2(_local1.y, _local1.x));
}
public function set restLength(_arg1:Number):void{
if (_arg1 <= 0){
throw (new ArgumentError("restLength must be greater than 0"));
};
_restLength = _arg1;
}
public function get currLength():Number{
return (p1.curr.distance(p2.curr));
}
public function get fixedEndLimit():Number{
return (scp.fixedEndLimit);
}
private function checkParticlesLocation():void{
if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){
p2.curr.x = (p2.curr.x + 0.0001);
};
}
function get delta():Vector{
return (p1.curr.minus(p2.curr));
}
}
}//package org.cove.ape
Section 42
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle)
package org.cove.ape {
import flash.display.*;
import org.cove.ape.*;
class SpringConstraintParticle extends RectangleParticle {
private var p1:AbstractParticle;
private var p2:AbstractParticle;
private var lambda:Vector;
private var _rectHeight:Number;
private var avgVelocity:Vector;
private var rca:Vector;
private var rcb:Vector;
private var _rectScale:Number;
var parent:SpringConstraint;
private var scaleToLength:Boolean;
private var s:Number;
private var _fixedEndLimit:Number;
function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean){
super(0, 0, 0, 0, 0, false);
this.p1 = _arg1;
this.p2 = _arg2;
lambda = new Vector(0, 0);
avgVelocity = new Vector(0, 0);
parent = _arg3;
this.rectScale = _arg5;
this.rectHeight = _arg4;
this.scaleToLength = _arg6;
fixedEndLimit = 0;
rca = new Vector();
rcb = new Vector();
}
override public function get fixed():Boolean{
return (parent.fixed);
}
override function get invMass():Number{
if (((p1.fixed) && (p2.fixed))){
return (0);
};
return ((1 / ((p1.mass + p2.mass) / 2)));
}
function get rectScale():Number{
return (_rectScale);
}
private function setCorners(_arg1:RectangleParticle, _arg2:int):void{
var _local3:Number = _arg1.curr.x;
var _local4:Number = _arg1.curr.y;
var _local5:Array = _arg1.axes;
var _local6:Array = _arg1.extents;
var _local7:Number = (_local5[0].x * _local6[0]);
var _local8:Number = (_local5[0].y * _local6[0]);
var _local9:Number = (_local5[1].x * _local6[1]);
var _local10:Number = (_local5[1].y * _local6[1]);
var _local11:Number = (_local7 - _local9);
var _local12:Number = (_local8 - _local10);
var _local13:Number = (_local7 + _local9);
var _local14:Number = (_local8 + _local10);
if (_arg2 == 0){
rca.x = (_local3 - _local13);
rca.y = (_local4 - _local14);
rcb.x = (_local3 + _local11);
rcb.y = (_local4 + _local12);
} else {
if (_arg2 == 1){
rca.x = (_local3 + _local11);
rca.y = (_local4 + _local12);
rcb.x = (_local3 + _local13);
rcb.y = (_local4 + _local14);
} else {
if (_arg2 == 2){
rca.x = (_local3 + _local13);
rca.y = (_local4 + _local14);
rcb.x = (_local3 - _local11);
rcb.y = (_local4 - _local12);
} else {
if (_arg2 == 3){
rca.x = (_local3 - _local11);
rca.y = (_local4 - _local12);
rcb.x = (_local3 - _local13);
rcb.y = (_local4 - _local14);
};
};
};
};
}
function set rectScale(_arg1:Number):void{
_rectScale = _arg1;
}
override public function get friction():Number{
return (((p1.friction + p2.friction) / 2));
}
override public function init():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
if (displayObject != null){
initDisplay();
} else {
_local1 = new Sprite();
parent.sprite.addChild(_local1);
_local1.name = "inner";
_local2 = (parent.currLength * rectScale);
_local3 = rectHeight;
_local1.graphics.clear();
_local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha);
_local1.graphics.beginFill(parent.fillColor, parent.fillAlpha);
_local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3);
_local1.graphics.endFill();
};
paint();
}
override function initDisplay():void{
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
var _local1:Sprite = new Sprite();
_local1.name = "inner";
_local1.addChild(displayObject);
parent.sprite.addChild(_local1);
}
function set rectHeight(_arg1:Number):void{
_rectHeight = _arg1;
}
function updatePosition():void{
var _local1:Vector = parent.center;
curr.setTo(_local1.x, _local1.y);
width = (scaleToLength) ? (parent.currLength * rectScale) : (parent.restLength * rectScale);
height = rectHeight;
radian = parent.radian;
}
override public function get velocity():Vector{
var _local1:Vector = p1.velocity;
var _local2:Vector = p2.velocity;
avgVelocity.setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2));
return (avgVelocity);
}
override public function paint():void{
var _local1:Vector = parent.center;
var _local2:Sprite = parent.sprite;
if (scaleToLength){
_local2.getChildByName("inner").width = (parent.currLength * rectScale);
} else {
if (displayObject != null){
_local2.getChildByName("inner").width = (parent.restLength * rectScale);
};
};
_local2.x = _local1.x;
_local2.y = _local1.y;
_local2.rotation = parent.angle;
}
private function getContactPointParam(_arg1:AbstractParticle):Number{
var _local2:Number;
var _local3:Number;
var _local4:Array;
var _local5:Number;
var _local6:int;
var _local7:Number;
if ((_arg1 is CircleParticle)){
_local2 = closestParamPoint(_arg1.curr);
} else {
if ((_arg1 is RectangleParticle)){
_local4 = new Array(4);
_local5 = Number.POSITIVE_INFINITY;
_local6 = 0;
while (_local6 < 4) {
setCorners((_arg1 as RectangleParticle), _local6);
_local7 = closestPtSegmentSegment();
if (_local7 < _local5){
_local5 = _local7;
_local3 = _local6;
_local4[_local6] = s;
};
_local6++;
};
_local2 = _local4[_local3];
};
};
return (_local2);
}
function set fixedEndLimit(_arg1:Number):void{
_fixedEndLimit = _arg1;
}
private function closestPtSegmentSegment():Number{
var _local8:Number;
var _local1:Vector = p1.curr;
var _local2:Vector = p2.curr;
var _local3:Vector = rca;
var _local4:Vector = rcb;
var _local5:Vector = _local2.minus(_local1);
var _local6:Vector = _local4.minus(_local3);
var _local7:Vector = _local1.minus(_local3);
var _local9:Number = _local5.dot(_local5);
var _local10:Number = _local6.dot(_local6);
var _local11:Number = _local6.dot(_local7);
var _local12:Number = _local5.dot(_local7);
var _local13:Number = _local5.dot(_local6);
var _local14:Number = ((_local9 * _local10) - (_local13 * _local13));
if (_local14 != 0){
s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1);
} else {
s = 0.5;
};
_local8 = (((_local13 * s) + _local11) / _local10);
if (_local8 < 0){
_local8 = 0;
s = MathUtil.clamp((-(_local12) / _local9), 0, 1);
} else {
if (_local8 > 0){
_local8 = 1;
s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1);
};
};
var _local15:Vector = _local1.plus(_local5.mult(s));
var _local16:Vector = _local3.plus(_local6.mult(_local8));
var _local17:Vector = _local15.minus(_local16);
return (_local15.minus(_local16).dot(_local17));
}
override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
var _local10:Number;
var _local11:AbstractParticle;
testParticleEvents(_arg6);
if (((fixed) || (!(_arg6.solid)))){
return;
};
var _local7:Number = getContactPointParam(_arg6);
var _local8:Number = (1 - _local7);
var _local9:Number = _local7;
if (p1.fixed){
if (_local9 <= fixedEndLimit){
return;
};
lambda.setTo((_arg1.x / _local9), (_arg1.y / _local9));
p2.curr.plusEquals(lambda);
p2.velocity = _arg2;
} else {
if (p2.fixed){
if (_local8 <= fixedEndLimit){
return;
};
lambda.setTo((_arg1.x / _local8), (_arg1.y / _local8));
p1.curr.plusEquals(lambda);
p1.velocity = _arg2;
} else {
_local10 = ((_local8 * _local8) + (_local9 * _local9));
if (_local10 == 0){
return;
};
lambda.setTo((_arg1.x / _local10), (_arg1.y / _local10));
p1.curr.plusEquals(lambda.mult(_local8));
p2.curr.plusEquals(lambda.mult(_local9));
if (_local7 == 0.5){
p1.velocity = _arg2;
p2.velocity = _arg2;
} else {
_local11 = ((_local7)<0.5) ? p1 : p2;
_local11.velocity = _arg2;
};
};
};
}
function get rectHeight():Number{
return (_rectHeight);
}
function get fixedEndLimit():Number{
return (_fixedEndLimit);
}
override public function get elasticity():Number{
return (((p1.elasticity + p2.elasticity) / 2));
}
override public function get mass():Number{
return (((p1.mass + p2.mass) / 2));
}
private function closestParamPoint(_arg1:Vector):Number{
var _local2:Vector = p2.curr.minus(p1.curr);
var _local3:Number = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2));
return (MathUtil.clamp(_local3, 0, 1));
}
}
}//package org.cove.ape
Section 43
//Vector (org.cove.ape.Vector)
package org.cove.ape {
public class Vector {
public var x:Number;
public var y:Number;
public function Vector(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function divEquals(_arg1:Number):Vector{
if (_arg1 == 0){
_arg1 = 0.0001;
};
x = (x / _arg1);
y = (y / _arg1);
return (this);
}
public function times(_arg1:Vector):Vector{
return (new Vector((x * _arg1.x), (y * _arg1.y)));
}
public function plusEquals(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function dot(_arg1:Vector):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalizeEquals():Vector{
var _local1:Number = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (multEquals((1 / _local1)));
}
public function normalize():Vector{
var _local1:Number = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (mult((1 / _local1)));
}
public function minusEquals(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function copy(_arg1:Vector):void{
x = _arg1.x;
y = _arg1.y;
}
public function multEquals(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function minus(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
public function plus(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function toString():String{
return (((x + " : ") + y));
}
public function distance(_arg1:Vector):Number{
var _local2:Vector = this.minus(_arg1);
return (_local2.magnitude());
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function mult(_arg1:Number):Vector{
return (new Vector((x * _arg1), (y * _arg1)));
}
}
}//package org.cove.ape
Section 44
//VectorForce (org.cove.ape.VectorForce)
package org.cove.ape {
public class VectorForce implements IForce {
private var fvx:Number;
private var fvy:Number;
private var value:Vector;
private var scaleMass:Boolean;
public function VectorForce(_arg1:Boolean, _arg2:Number, _arg3:Number){
fvx = _arg2;
fvy = _arg3;
scaleMass = _arg1;
value = new Vector(_arg2, _arg3);
}
public function set vx(_arg1:Number):void{
fvx = _arg1;
value.x = _arg1;
}
public function set vy(_arg1:Number):void{
fvy = _arg1;
value.y = _arg1;
}
public function set useMass(_arg1:Boolean):void{
scaleMass = _arg1;
}
public function getValue(_arg1:Number):Vector{
if (scaleMass){
value.setTo((fvx * _arg1), (fvy * _arg1));
};
return (value);
}
}
}//package org.cove.ape
Section 45
//Action (org.flintparticles.common.actions.Action)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Action {
function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.actions
Section 46
//ActionBase (org.flintparticles.common.actions.ActionBase)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class ActionBase implements Action {
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
}
}
}//package org.flintparticles.common.actions
Section 47
//Age (org.flintparticles.common.actions.Age)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.energyEasing.*;
public class Age extends ActionBase {
private var _easing:Function;
public function Age(_arg1:Function=null){
if (_arg1 == null){
_easing = Linear.easeNone;
} else {
_easing = _arg1;
};
}
public function set easing(_arg1:Function):void{
_easing = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
_arg2.age = (_arg2.age + _arg3);
if (_arg2.age >= _arg2.lifetime){
_arg2.energy = 0;
_arg2.isDead = true;
} else {
_arg2.energy = _easing(_arg2.age, _arg2.lifetime);
};
}
public function get easing():Function{
return (_easing);
}
}
}//package org.flintparticles.common.actions
Section 48
//Fade (org.flintparticles.common.actions.Fade)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Fade extends ActionBase {
private var _endAlpha:Number;
private var _diffAlpha:Number;
public function Fade(_arg1:Number=1, _arg2:Number=0){
_diffAlpha = (_arg1 - _arg2);
_endAlpha = _arg2;
}
public function get endAlpha():Number{
return (_endAlpha);
}
public function set endAlpha(_arg1:Number):void{
_diffAlpha = ((_endAlpha + _diffAlpha) - _arg1);
_endAlpha = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Number = (_endAlpha + (_diffAlpha * _arg2.energy));
_arg2.color = ((_arg2.color & 0xFFFFFF) | (Math.round((_local4 * 0xFF)) << 24));
}
override public function getDefaultPriority():Number{
return (-5);
}
public function set startAlpha(_arg1:Number):void{
_diffAlpha = (_arg1 - _endAlpha);
}
public function get startAlpha():Number{
return ((_endAlpha + _diffAlpha));
}
}
}//package org.flintparticles.common.actions
Section 49
//Activity (org.flintparticles.common.activities.Activity)
package org.flintparticles.common.activities {
import org.flintparticles.common.emitters.*;
public interface Activity {
function initialize(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function update(_arg1:Emitter, _arg2:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.activities
Section 50
//Blast (org.flintparticles.common.counters.Blast)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class Blast implements Counter {
private var _startCount:uint;
public function Blast(_arg1:uint){
_startCount = _arg1;
}
public function stop():void{
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
return (0);
}
public function startEmitter(_arg1:Emitter):uint{
return (_startCount);
}
public function resume():void{
}
public function set startCount(_arg1:Number):void{
_startCount = _arg1;
}
public function get startCount():Number{
return (_startCount);
}
}
}//package org.flintparticles.common.counters
Section 51
//Counter (org.flintparticles.common.counters.Counter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public interface Counter {
function stop():void;
function startEmitter(_arg1:Emitter):uint;
function updateEmitter(_arg1:Emitter, _arg2:Number):uint;
function resume():void;
}
}//package org.flintparticles.common.counters
Section 52
//Steady (org.flintparticles.common.counters.Steady)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class Steady implements Counter {
private var _stop:Boolean;
private var _rateInv:Number;
private var _timeToNext:Number;
private var _rate:Number;
public function Steady(_arg1:Number){
_stop = false;
_rate = _arg1;
_rateInv = (1 / _rate);
}
public function get rate():Number{
return (_rate);
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
if (_stop){
return (0);
};
var _local3:uint;
_timeToNext = (_timeToNext - _arg2);
while (_timeToNext <= 0) {
_local3++;
_timeToNext = (_timeToNext + _rateInv);
};
return (_local3);
}
public function set rate(_arg1:Number):void{
_rate = _arg1;
_rateInv = (1 / _arg1);
}
public function stop():void{
_stop = true;
}
public function startEmitter(_arg1:Emitter):uint{
_timeToNext = _rateInv;
return (0);
}
public function resume():void{
_stop = false;
}
}
}//package org.flintparticles.common.counters
Section 53
//TimePeriod (org.flintparticles.common.counters.TimePeriod)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.easing.*;
public class TimePeriod implements Counter {
private var _timePassed:Number;
private var _easing:Function;
private var _stop:Boolean;// = false
private var _particles:uint;
private var _duration:Number;
private var _particlesPassed:uint;
public function TimePeriod(_arg1:uint, _arg2:Number, _arg3:Function=null){
_particles = _arg1;
_duration = _arg2;
if (_arg3 == null){
_easing = Linear.easeNone;
} else {
_easing = _arg3;
};
}
public function get numParticles():uint{
return (_particles);
}
public function stop():void{
_stop = true;
}
public function set numParticles(_arg1:uint):void{
_particles = _arg1;
}
public function set easing(_arg1:Function):void{
_easing = _arg1;
}
public function get duration():Number{
return (_duration);
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
var _local4:uint;
if (((_stop) || ((_particlesPassed == _particles)))){
return (0);
};
_timePassed = (_timePassed + _arg2);
if (_timePassed >= _duration){
_local4 = (_particles - _particlesPassed);
_particlesPassed = _particles;
return (_local4);
};
var _local3:uint = _particlesPassed;
_particlesPassed = Math.round(_easing(_timePassed, 0, _particles, _duration));
return ((_particlesPassed - _local3));
}
public function set duration(_arg1:Number):void{
_duration = _arg1;
}
public function get easing():Function{
return (_easing);
}
public function resume():void{
_stop = false;
}
public function startEmitter(_arg1:Emitter):uint{
_particlesPassed = 0;
_timePassed = 0;
return (0);
}
}
}//package org.flintparticles.common.counters
Section 54
//ZeroCounter (org.flintparticles.common.counters.ZeroCounter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class ZeroCounter implements Counter {
public function stop():void{
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
return (0);
}
public function startEmitter(_arg1:Emitter):uint{
return (0);
}
public function resume():void{
}
}
}//package org.flintparticles.common.counters
Section 55
//Dot (org.flintparticles.common.displayObjects.Dot)
package org.flintparticles.common.displayObjects {
import flash.display.*;
public class Dot extends Shape {
public function Dot(_arg1:Number, _arg2:uint=0xFFFFFF, _arg3:String="normal"){
graphics.beginFill(_arg2);
graphics.drawCircle(0, 0, _arg1);
graphics.endFill();
blendMode = _arg3;
}
}
}//package org.flintparticles.common.displayObjects
Section 56
//RadialDot (org.flintparticles.common.displayObjects.RadialDot)
package org.flintparticles.common.displayObjects {
import flash.display.*;
import flash.geom.*;
public class RadialDot extends Shape {
public function RadialDot(_arg1:Number, _arg2:uint=0xFFFFFF, _arg3:String="normal"){
var _local4:Matrix = new Matrix();
_local4.createGradientBox((_arg1 * 2), (_arg1 * 2), 0, -(_arg1), -(_arg1));
graphics.beginGradientFill(GradientType.RADIAL, [_arg2, _arg2], [1, 0], [0, 0xFF], _local4);
graphics.drawCircle(0, 0, _arg1);
graphics.endFill();
blendMode = _arg3;
}
}
}//package org.flintparticles.common.displayObjects
Section 57
//Linear (org.flintparticles.common.easing.Linear)
package org.flintparticles.common.easing {
public class Linear {
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 easeInOut(_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));
}
}
}//package org.flintparticles.common.easing
Section 58
//Emitter (org.flintparticles.common.emitters.Emitter)
package org.flintparticles.common.emitters {
import flash.events.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.activities.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.utils.*;
public class Emitter extends EventDispatcher {
protected var _running:Boolean;// = false
protected var _activities:PriorityArray;
protected var _particles:Array;
protected var _initializers:PriorityArray;
protected var _counter:Counter;
protected var _started:Boolean;// = false
protected var _actions:PriorityArray;
protected var _useInternalTick:Boolean;// = true
protected var _particleFactory:ParticleFactory;
protected var _fixedFrameTime:Number;// = 0
protected var _maximumFrameTime:Number;// = 0.1
public function Emitter(){
_particles = new Array();
_actions = new PriorityArray();
_initializers = new PriorityArray();
_activities = new PriorityArray();
_counter = new ZeroCounter();
}
public function addInitializer(_arg1:Initializer, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_initializers.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function stop():void{
if (_useInternalTick){
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
_started = false;
killAllParticles();
}
public function killAllParticles():void{
var _local1:int = _particles.length;
var _local2:int;
while (_local2 < _local1) {
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _particles[_local2]));
_particleFactory.disposeParticle(_particles[_local2]);
_local2++;
};
_particles.length = 0;
}
public function set fixedFrameTime(_arg1:Number):void{
_fixedFrameTime = _arg1;
}
public function get maximumFrameTime():Number{
return (_maximumFrameTime);
}
public function get useInternalTick():Boolean{
return (_useInternalTick);
}
protected function createParticle():Particle{
var _local1:Particle = _particleFactory.createParticle();
var _local2:int = _initializers.length;
initParticle(_local1);
var _local3:int;
while (_local3 < _local2) {
_initializers[_local3].initialize(this, _local1);
_local3++;
};
_particles.push(_local1);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_CREATED, _local1));
return (_local1);
}
public function get particleFactory():ParticleFactory{
return (_particleFactory);
}
private function updateEventListener(_arg1:UpdateEvent):void{
if (_fixedFrameTime){
update(_fixedFrameTime);
} else {
update(_arg1.time);
};
}
public function get particles():Array{
return (_particles);
}
protected function sortParticles():void{
}
public function removeActivity(_arg1:Activity):void{
if (_activities.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function set maximumFrameTime(_arg1:Number):void{
_maximumFrameTime = _arg1;
}
protected function initParticle(_arg1:Particle):void{
}
public function addAction(_arg1:Action, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_actions.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function hasInitializerOfType(_arg1:Class):Boolean{
var _local2:uint = _initializers.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_initializers[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function resume():void{
_running = true;
}
public function removeInitializer(_arg1:Initializer):void{
if (_initializers.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function get running():Boolean{
return (_running);
}
public function hasActionOfType(_arg1:Class):Boolean{
var _local2:uint = _actions.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_actions[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function get fixedFrameTime():Number{
return (_fixedFrameTime);
}
public function set particleFactory(_arg1:ParticleFactory):void{
_particleFactory = _arg1;
}
public function hasActivity(_arg1:Activity):Boolean{
return (_activities.contains(_arg1));
}
public function addActivity(_arg1:Activity, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_activities.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function update(_arg1:Number):void{
var _local2:int;
var _local3:Particle;
var _local5:Action;
var _local6:int;
var _local7:int;
if (((!(_running)) || ((_arg1 > _maximumFrameTime)))){
return;
};
var _local4:int = _counter.updateEmitter(this, _arg1);
_local2 = 0;
while (_local2 < _local4) {
createParticle();
_local2++;
};
sortParticles();
_local4 = _activities.length;
_local2 = 0;
while (_local2 < _local4) {
_activities[_local2].update(this, _arg1);
_local2++;
};
if (_particles.length > 0){
_local4 = _actions.length;
_local6 = _particles.length;
_local7 = 0;
while (_local7 < _local4) {
_local5 = _actions[_local7];
_local2 = 0;
while (_local2 < _local6) {
_local3 = _particles[_local2];
_local5.update(this, _local3, _arg1);
_local2++;
};
_local7++;
};
_local2 = _local6;
while (_local2--) {
_local3 = _particles[_local2];
if (_local3.isDead){
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _local3));
_particleFactory.disposeParticle(_local3);
_particles.splice(_local2, 1);
};
};
} else {
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_EMPTY));
};
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_UPDATED));
}
public function addExistingParticles(_arg1:Array, _arg2:Boolean=false):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local3:int = _arg1.length;
if (_arg2){
_local5 = _initializers.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = 0;
while (_local4 < _local3) {
_initializers[_local6].initialize(this, _arg1[_local4]);
_local4++;
};
_local6++;
};
};
_local4 = 0;
while (_local4 < _local3) {
_particles.push(_arg1[_local4]);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_ADDED, _arg1[_local4]));
_local4++;
};
}
public function removeAction(_arg1:Action):void{
if (_actions.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function hasActivityOfType(_arg1:Class):Boolean{
var _local2:uint = _activities.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_activities[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function set useInternalTick(_arg1:Boolean):void{
if (_useInternalTick != _arg1){
_useInternalTick = _arg1;
if (_started){
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
} else {
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
};
};
}
public function hasInitializer(_arg1:Initializer):Boolean{
return (_initializers.contains(_arg1));
}
public function start():void{
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
};
_started = true;
_running = true;
var _local1:int = _activities.length;
var _local2:int;
while (_local2 < _local1) {
_activities[_local2].initialize(this);
_local2++;
};
_local1 = _counter.startEmitter(this);
_local2 = 0;
while (_local2 < _local1) {
createParticle();
_local2++;
};
}
public function hasAction(_arg1:Action):Boolean{
return (_actions.contains(_arg1));
}
public function pause():void{
_running = false;
}
public function set counter(_arg1:Counter):void{
_counter = _arg1;
}
public function get counter():Counter{
return (_counter);
}
public function runAhead(_arg1:Number, _arg2:Number=10):void{
var _local3:Number = _maximumFrameTime;
var _local4:Number = (1 / _arg2);
_maximumFrameTime = _local4;
while (_arg1 > 0) {
_arg1 = (_arg1 - _local4);
update(_local4);
};
_maximumFrameTime = _local3;
}
}
}//package org.flintparticles.common.emitters
Section 59
//Cubic (org.flintparticles.common.energyEasing.Cubic)
package org.flintparticles.common.energyEasing {
public class Cubic {
public static function easeOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (1 - (_arg1 / _arg2));
return (((_arg1 * _arg1) * _arg1));
}
public static function easeIn(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / _arg2);
return ((1 - ((_arg1 * _arg1) * _arg1)));
}
public static function easeInOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / (_arg2 * 0.5));
if (_arg1 < 1){
return ((1 - (((_arg1 * _arg1) * _arg1) * 0.5)));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg1) * _arg1) * _arg1) * 0.5));
}
}
}//package org.flintparticles.common.energyEasing
Section 60
//Linear (org.flintparticles.common.energyEasing.Linear)
package org.flintparticles.common.energyEasing {
public class Linear {
public static function easeOut(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeIn(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeInOut(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeNone(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
}
}//package org.flintparticles.common.energyEasing
Section 61
//Quadratic (org.flintparticles.common.energyEasing.Quadratic)
package org.flintparticles.common.energyEasing {
public class Quadratic {
public static function easeOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (1 - (_arg1 / _arg2));
return ((_arg1 * _arg1));
}
public static function easeIn(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / _arg2);
return ((1 - (_arg1 * _arg1)));
}
public static function easeInOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / (_arg2 * 0.5));
if (_arg1 < 1){
return ((1 - ((_arg1 * _arg1) * 0.5)));
};
_arg1 = (_arg1 - 2);
return (((_arg1 * _arg1) * 0.5));
}
}
}//package org.flintparticles.common.energyEasing
Section 62
//EmitterEvent (org.flintparticles.common.events.EmitterEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class EmitterEvent extends Event {
public static var EMITTER_UPDATED:String = "emitterUpdated";
public static var EMITTER_EMPTY:String = "emitterEmpty";
public function EmitterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
}
}//package org.flintparticles.common.events
Section 63
//ParticleEvent (org.flintparticles.common.events.ParticleEvent)
package org.flintparticles.common.events {
import flash.events.*;
import org.flintparticles.common.particles.*;
public class ParticleEvent extends Event {
public var particle:Particle;
public static var PARTICLE_ADDED:String = "particleAdded";
public static var PARTICLE_DEAD:String = "particleDead";
public static var PARTICLE_CREATED:String = "particleCreated";
public function ParticleEvent(_arg1:String, _arg2:Particle=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.particle = _arg2;
}
}
}//package org.flintparticles.common.events
Section 64
//UpdateEvent (org.flintparticles.common.events.UpdateEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class UpdateEvent extends Event {
public var time:Number;
public static var UPDATE:String = "update";
public function UpdateEvent(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.time = _arg2;
}
}
}//package org.flintparticles.common.events
Section 65
//ColorInit (org.flintparticles.common.initializers.ColorInit)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
public class ColorInit extends InitializerBase {
private var _max:uint;
private var _min:uint;
public function ColorInit(_arg1:uint, _arg2:uint){
_min = _arg1;
_max = _arg2;
}
public function set minColor(_arg1:uint):void{
_min = _arg1;
}
public function get color():uint{
return (((_min == _max)) ? _min : interpolateColors(_max, _min, 0.5));
}
public function set color(_arg1:uint):void{
_max = (_min = _arg1);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
if (_max == _min){
_arg2.color = _min;
} else {
_arg2.color = interpolateColors(_min, _max, Math.random());
};
}
public function get minColor():uint{
return (_min);
}
public function set maxColor(_arg1:uint):void{
_max = _arg1;
}
public function get maxColor():uint{
return (_max);
}
}
}//package org.flintparticles.common.initializers
Section 66
//Initializer (org.flintparticles.common.initializers.Initializer)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Initializer {
function initialize(_arg1:Emitter, _arg2:Particle):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.initializers
Section 67
//InitializerBase (org.flintparticles.common.initializers.InitializerBase)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class InitializerBase implements Initializer {
public function initialize(_arg1:Emitter, _arg2:Particle):void{
}
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
}
}//package org.flintparticles.common.initializers
Section 68
//Lifetime (org.flintparticles.common.initializers.Lifetime)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Lifetime extends InitializerBase {
private var _max:Number;
private var _min:Number;
public function Lifetime(_arg1:Number, _arg2:Number=NaN){
_max = _arg2;
_min = _arg1;
}
public function get lifetime():Number{
return (((_min == _max)) ? _min : ((_max + _min) * 0.5));
}
public function get maxLifetime():Number{
return (_max);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
if (isNaN(_max)){
_arg2.lifetime = _min;
} else {
_arg2.lifetime = (_min + (Math.random() * (_max - _min)));
};
}
public function set lifetime(_arg1:Number):void{
_max = (_min = _arg1);
}
public function set minLifetime(_arg1:Number):void{
_min = _arg1;
}
public function set maxLifetime(_arg1:Number):void{
_max = _arg1;
}
public function get minLifetime():Number{
return (_min);
}
}
}//package org.flintparticles.common.initializers
Section 69
//SharedImage (org.flintparticles.common.initializers.SharedImage)
package org.flintparticles.common.initializers {
import flash.display.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class SharedImage extends InitializerBase {
private var _image:DisplayObject;
public function SharedImage(_arg1:DisplayObject){
_image = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
_arg2.image = _image;
}
public function set image(_arg1:DisplayObject):void{
_image = _arg1;
}
public function get image():DisplayObject{
return (_image);
}
}
}//package org.flintparticles.common.initializers
Section 70
//Particle (org.flintparticles.common.particles.Particle)
package org.flintparticles.common.particles {
import flash.geom.*;
import flash.utils.*;
public class Particle {
public var energy:Number;// = 1
public var lifetime:Number;// = 0
public var scale:Number;// = 1
public var image;// = null
public var color:uint;// = 4294967295
public var collisionRadius:Number;// = 1
private var _colorTransform:ColorTransform;
private var _previousColor:uint;
public var isDead:Boolean;// = false
public var mass:Number;// = 1
private var _dictionary:Dictionary;// = null
public var age:Number;// = 0
public function Particle(){
initialize();
}
public function get dictionary():Dictionary{
if (_dictionary == null){
_dictionary = new Dictionary();
};
return (_dictionary);
}
public function get colorTransform():ColorTransform{
if (((!(_colorTransform)) || (!((_previousColor == color))))){
_colorTransform = new ColorTransform((((color >>> 16) & 0xFF) / 0xFF), (((color >>> 8) & 0xFF) / 0xFF), ((color & 0xFF) / 0xFF), (((color >>> 24) & 0xFF) / 0xFF), 0, 0, 0, 0);
_previousColor = color;
};
return (_colorTransform);
}
public function get alpha():Number{
return ((((color & 4278190080) >>> 24) / 0xFF));
}
public function initialize():void{
color = 4294967295;
scale = 1;
mass = 1;
collisionRadius = 1;
lifetime = 0;
age = 0;
energy = 1;
isDead = false;
image = null;
_dictionary = null;
_colorTransform = null;
}
}
}//package org.flintparticles.common.particles
Section 71
//ParticleFactory (org.flintparticles.common.particles.ParticleFactory)
package org.flintparticles.common.particles {
public interface ParticleFactory {
function createParticle():Particle;
function disposeParticle(_arg1:Particle):void;
}
}//package org.flintparticles.common.particles
Section 72
//Renderer (org.flintparticles.common.renderers.Renderer)
package org.flintparticles.common.renderers {
import org.flintparticles.common.emitters.*;
public interface Renderer {
function removeEmitter(_arg1:Emitter):void;
function addEmitter(_arg1:Emitter):void;
}
}//package org.flintparticles.common.renderers
Section 73
//SpriteRendererBase (org.flintparticles.common.renderers.SpriteRendererBase)
package org.flintparticles.common.renderers {
import flash.events.*;
import flash.display.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class SpriteRendererBase extends Sprite implements Renderer {
protected var _emitters:Array;
public function SpriteRendererBase(){
_emitters = new Array();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
}
private function particleAdded(_arg1:ParticleEvent):void{
addParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
private function addedToStage(_arg1:Event):void{
if (stage){
stage.invalidate();
};
}
public function get emitters():Array{
return (_emitters);
}
protected function addParticle(_arg1:Particle):void{
}
private function updateParticles(_arg1:Event):void{
var _local2:Array = new Array();
var _local3:int;
while (_local3 < _emitters.length) {
_local2 = _local2.concat(_emitters[_local3].particles);
_local3++;
};
renderParticles(_local2);
}
private function emitterUpdated(_arg1:EmitterEvent):void{
if (stage){
stage.invalidate();
};
}
public function removeEmitter(_arg1:Emitter):void{
var _local3:Particle;
var _local2:int;
while (_local2 < _emitters.length) {
if (_emitters[_local2] == _arg1){
_emitters.splice(_local2, 1);
_arg1.removeEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated);
_arg1.removeEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved);
for each (_local3 in _arg1.particles) {
removeParticle(_local3);
};
if (_emitters.length == 0){
removeEventListener(Event.RENDER, updateParticles);
renderParticles([]);
} else {
stage.invalidate();
};
return;
};
_local2++;
};
}
protected function renderParticles(_arg1:Array):void{
}
protected function removeParticle(_arg1:Particle):void{
}
private function particleRemoved(_arg1:ParticleEvent):void{
removeParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
public function addEmitter(_arg1:Emitter):void{
var _local2:Particle;
_emitters.push(_arg1);
if (stage){
stage.invalidate();
};
_arg1.addEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved, false, 0, true);
for each (_local2 in _arg1.particles) {
addParticle(_local2);
};
if (_emitters.length == 1){
addEventListener(Event.RENDER, updateParticles, false, 0, true);
};
}
}
}//package org.flintparticles.common.renderers
Section 74
//FrameUpdater (org.flintparticles.common.utils.FrameUpdater)
package org.flintparticles.common.utils {
import flash.events.*;
import flash.display.*;
import org.flintparticles.common.events.*;
import flash.utils.*;
public class FrameUpdater extends EventDispatcher {
private var _shape:Shape;
private var _time:Number;
private static var _instance:FrameUpdater;
public function FrameUpdater(){
_shape = new Shape();
_shape.addEventListener(Event.ENTER_FRAME, frameUpdate, false, 0, true);
_time = getTimer();
}
private function frameUpdate(_arg1:Event):void{
var _local2:int = _time;
_time = getTimer();
var _local3:Number = ((_time - _local2) * 0.001);
dispatchEvent(new UpdateEvent(UpdateEvent.UPDATE, _local3));
}
public static function get instance():FrameUpdater{
if (_instance == null){
_instance = new (FrameUpdater);
};
return (_instance);
}
}
}//package org.flintparticles.common.utils
Section 75
//interpolateColors (org.flintparticles.common.utils.interpolateColors)
package org.flintparticles.common.utils {
public function interpolateColors(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = Math.round(((((_arg1 >>> 16) & 0xFF) * _arg3) + (((_arg2 >>> 16) & 0xFF) * _local4)));
var _local6:uint = Math.round(((((_arg1 >>> 8) & 0xFF) * _arg3) + (((_arg2 >>> 8) & 0xFF) * _local4)));
var _local7:uint = Math.round((((_arg1 & 0xFF) * _arg3) + ((_arg2 & 0xFF) * _local4)));
var _local8:uint = Math.round(((((_arg1 >>> 24) & 0xFF) * _arg3) + (((_arg2 >>> 24) & 0xFF) * _local4)));
return (((((_local8 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local7));
}
}//package org.flintparticles.common.utils
Section 76
//Maths (org.flintparticles.common.utils.Maths)
package org.flintparticles.common.utils {
public class Maths {
private static const DEGTORAD:Number = 0.0174532925199433;
private static const RADTODEG:Number = 57.2957795130823;
public static function asRadians(_arg1:Number):Number{
return ((_arg1 * DEGTORAD));
}
public static function asDegrees(_arg1:Number):Number{
return ((_arg1 * RADTODEG));
}
}
}//package org.flintparticles.common.utils
Section 77
//PriorityArray (org.flintparticles.common.utils.PriorityArray)
package org.flintparticles.common.utils {
import flash.utils.*;
public class PriorityArray extends Proxy {
private var _values:Array;
public function PriorityArray(){
_values = new Array();
}
public function remove(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
_values.splice(_local2, 1);
return (true);
};
};
return (false);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return ((_arg1 - 1).toString());
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:uint = uint(_arg1);
if ((((_local3 == _arg1)) && ((_local3 < _values.length)))){
_values[_local3].value = _arg2;
};
}
public function add(_arg1, _arg2:Number):uint{
var _local3:uint = _values.length;
var _local4:uint;
while (_local4 < _local3) {
if (_values[_local4].priority < _arg2){
break;
};
_local4++;
};
_values.splice(_local4, 0, new Pair(_arg2, _arg1));
return (_values.length);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
var _local2:int = int(_arg1);
if ((((((_local2 == _arg1)) && ((_local2 < _values.length)))) && (_values[_local2]))){
return (_values[_local2].value);
};
return (undefined);
}
public function clear():void{
_values.length = 0;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
if (_arg1 < _values.length){
return ((_arg1 + 1));
};
return (0);
}
public function get length():uint{
return (_values.length);
}
public function removeAt(_arg1:uint){
var _local2:* = _values[_arg1].value;
_values.splice(_arg1, 1);
return (_local2);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){
return (_values[(_arg1 - 1)]);
}
public function contains(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
return (true);
};
};
return (false);
}
}
}//package org.flintparticles.common.utils
class Pair {
private var value;
private var priority:Number;
private function Pair(_arg1:Number, _arg2){
this.priority = _arg1;
this.value = _arg2;
}
}
Section 78
//Accelerate (org.flintparticles.twoD.actions.Accelerate)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class Accelerate extends ActionBase {
private var _x:Number;
private var _y:Number;
public function Accelerate(_arg1:Number, _arg2:Number){
_x = _arg1;
_y = _arg2;
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function get y():Number{
return (_y);
}
public function get x():Number{
return (_x);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D = Particle2D(_arg2);
Particle2D(_arg2).velX = (_local4.velX + (_x * _arg3));
_local4.velY = (_local4.velY + (_y * _arg3));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
}
}//package org.flintparticles.twoD.actions
Section 79
//LinearDrag (org.flintparticles.twoD.actions.LinearDrag)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class LinearDrag extends ActionBase {
private var _drag:Number;
public function LinearDrag(_arg1:Number){
_drag = _arg1;
}
public function get drag():Number{
return (_drag);
}
public function set drag(_arg1:Number):void{
_drag = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D;
_local4 = Particle2D(_arg2);
var _local5:Number = (1 - ((_drag * _arg3) / _local4.mass));
if (_local5 < 0){
_local4.velX = 0;
_local4.velY = 0;
} else {
_local4.velX = (_local4.velX * _local5);
_local4.velY = (_local4.velY * _local5);
};
}
}
}//package org.flintparticles.twoD.actions
Section 80
//Move (org.flintparticles.twoD.actions.Move)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class Move extends ActionBase {
private var p:Particle2D;
override public function getDefaultPriority():Number{
return (-10);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
p = Particle2D(_arg2);
p.x = (p.x + (p.velX * _arg3));
p.y = (p.y + (p.velY * _arg3));
}
}
}//package org.flintparticles.twoD.actions
Section 81
//RandomDrift (org.flintparticles.twoD.actions.RandomDrift)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class RandomDrift extends ActionBase {
private var _sizeX:Number;
private var _sizeY:Number;
public function RandomDrift(_arg1:Number, _arg2:Number){
_sizeX = (_arg1 * 2);
_sizeY = (_arg2 * 2);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D = Particle2D(_arg2);
Particle2D(_arg2).velX = (_local4.velX + (((Math.random() - 0.5) * _sizeX) * _arg3));
_local4.velY = (_local4.velY + (((Math.random() - 0.5) * _sizeY) * _arg3));
}
public function get driftY():Number{
return ((_sizeY / 2));
}
public function set driftY(_arg1:Number):void{
_sizeY = (_arg1 * 2);
}
public function set driftX(_arg1:Number):void{
_sizeX = (_arg1 * 2);
}
public function get driftX():Number{
return ((_sizeX / 2));
}
}
}//package org.flintparticles.twoD.actions
Section 82
//Rotate (org.flintparticles.twoD.actions.Rotate)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class Rotate extends ActionBase {
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D = Particle2D(_arg2);
Particle2D(_arg2).rotation = (_local4.rotation + (_local4.angVelocity * _arg3));
}
override public function getDefaultPriority():Number{
return (-10);
}
}
}//package org.flintparticles.twoD.actions
Section 83
//ScaleAll (org.flintparticles.twoD.actions.ScaleAll)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
public class ScaleAll extends ActionBase {
private var _diffScale:Number;
private var _endScale:Number;
public function ScaleAll(_arg1:Number=1, _arg2:Number=1){
_diffScale = (_arg1 - _arg2);
_endScale = _arg2;
}
public function set startScale(_arg1:Number):void{
_diffScale = (_arg1 - _endScale);
}
public function set endScale(_arg1:Number):void{
_diffScale = ((_endScale + _diffScale) - _arg1);
_endScale = _arg1;
}
public function get startScale():Number{
return ((_endScale + _diffScale));
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Number = (_endScale + (_diffScale * _arg2.energy));
var _local5:Number = (_local4 / _arg2.scale);
_arg2.scale = _local4;
_arg2.mass = (_arg2.mass * (_local5 * _local5));
_arg2.collisionRadius = (_arg2.collisionRadius * _local5);
}
public function get endScale():Number{
return (_endScale);
}
}
}//package org.flintparticles.twoD.actions
Section 84
//Emitter2D (org.flintparticles.twoD.emitters.Emitter2D)
package org.flintparticles.twoD.emitters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.utils.*;
public class Emitter2D extends Emitter {
protected var _y:Number;// = 0
public var spaceSort:Boolean;// = false
public var spaceSortedX:Array;
protected var _x:Number;// = 0
protected var _rotation:Number;// = 0
protected static var _creator:ParticleCreator2D = new ParticleCreator2D();
public function Emitter2D(){
_particleFactory = _creator;
}
public function get y():Number{
return (_y);
}
override protected function initParticle(_arg1:Particle):void{
var _local2:Particle2D;
_local2 = Particle2D(_arg1);
_local2.x = _x;
_local2.y = _y;
_local2.rotation = _rotation;
}
override protected function sortParticles():void{
var _local1:int;
var _local2:int;
if (spaceSort){
spaceSortedX = _particles.sortOn("x", (Array.NUMERIC | Array.RETURNINDEXEDARRAY));
_local1 = _particles.length;
_local2 = 0;
while (_local2 < _local1) {
_particles[spaceSortedX[_local2]].sortID = _local2;
_local2++;
};
};
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function set rotRadians(_arg1:Number):void{
_rotation = _arg1;
}
public function get x():Number{
return (_x);
}
public function get rotRadians():Number{
return (_rotation);
}
public function set rotation(_arg1:Number):void{
_rotation = Maths.asRadians(_arg1);
}
public function get rotation():Number{
return (Maths.asDegrees(_rotation));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
public static function get defaultParticleFactory():ParticleFactory{
return (_creator);
}
}
}//package org.flintparticles.twoD.emitters
Section 85
//Position (org.flintparticles.twoD.initializers.Position)
package org.flintparticles.twoD.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import flash.geom.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.initializers.*;
public class Position extends InitializerBase {
private var _zone:Zone2D;
public function Position(_arg1:Zone2D){
_zone = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local5:Number;
var _local6:Number;
var _local3:Particle2D = Particle2D(_arg2);
var _local4:Point = _zone.getLocation();
if (_local3.rotation == 0){
_local3.x = (_local3.x + _local4.x);
_local3.y = (_local3.y + _local4.y);
} else {
_local5 = Math.sin(_local3.rotation);
_local6 = Math.cos(_local3.rotation);
_local3.x = (_local3.x + ((_local6 * _local4.x) - (_local5 * _local4.y)));
_local3.y = (_local3.y + ((_local6 * _local4.y) + (_local5 * _local4.x)));
};
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 86
//ScaleAllInit (org.flintparticles.twoD.initializers.ScaleAllInit)
package org.flintparticles.twoD.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
public class ScaleAllInit extends InitializerBase {
private var _max:Number;
private var _min:Number;
public function ScaleAllInit(_arg1:Number, _arg2:Number=NaN){
_min = _arg1;
if (isNaN(_arg2)){
_max = _min;
} else {
_max = _arg2;
};
}
public function get scale():Number{
return (((_min == _max)) ? _min : ((_max + _min) / 2));
}
public function set maxScale(_arg1:Number):void{
_max = _arg1;
}
public function get maxScale():Number{
return (_max);
}
override public function getDefaultPriority():Number{
return (-10);
}
public function set minScale(_arg1:Number):void{
_min = _arg1;
}
public function set scale(_arg1:Number):void{
_max = (_min = _arg1);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local3:Number;
if (_max == _min){
_local3 = _min;
} else {
_local3 = (_min + (Math.random() * (_max - _min)));
};
_arg2.scale = _local3;
_arg2.mass = (_arg2.mass * (_local3 * _local3));
_arg2.collisionRadius = (_arg2.collisionRadius * _local3);
}
public function get minScale():Number{
return (_min);
}
}
}//package org.flintparticles.twoD.initializers
Section 87
//Velocity (org.flintparticles.twoD.initializers.Velocity)
package org.flintparticles.twoD.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import flash.geom.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.initializers.*;
public class Velocity extends InitializerBase {
private var _zone:Zone2D;
public function Velocity(_arg1:Zone2D){
_zone = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local3:Particle2D;
var _local5:Number;
var _local6:Number;
_local3 = Particle2D(_arg2);
var _local4:Point = _zone.getLocation();
if (_local3.rotation == 0){
_local3.velX = _local4.x;
_local3.velY = _local4.y;
} else {
_local5 = Math.sin(_local3.rotation);
_local6 = Math.cos(_local3.rotation);
_local3.velX = ((_local6 * _local4.x) - (_local5 * _local4.y));
_local3.velY = ((_local6 * _local4.y) + (_local5 * _local4.x));
};
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 88
//Particle2D (org.flintparticles.twoD.particles.Particle2D)
package org.flintparticles.twoD.particles {
import org.flintparticles.common.particles.*;
import flash.geom.*;
public class Particle2D extends Particle {
public var sortID:uint;
private var _inertia:Number;
public var velY:Number;// = 0
private var _previousRadius:Number;
private var _previousMass:Number;
public var angVelocity:Number;// = 0
public var x:Number;// = 0
public var y:Number;// = 0
public var velX:Number;// = 0
public var rotation:Number;// = 0
override public function initialize():void{
super.initialize();
x = 0;
y = 0;
velX = 0;
velY = 0;
rotation = 0;
angVelocity = 0;
sortID = 0;
}
public function get matrixTransform():Matrix{
var _local1:Number = (scale * Math.cos(rotation));
var _local2:Number = (scale * Math.sin(rotation));
return (new Matrix(_local1, _local2, -(_local2), _local1, x, y));
}
public function get inertia():Number{
if (((!((mass == _previousMass))) || (!((collisionRadius == _previousRadius))))){
_inertia = (((mass * collisionRadius) * collisionRadius) * 0.5);
_previousMass = mass;
_previousRadius = collisionRadius;
};
return (_inertia);
}
}
}//package org.flintparticles.twoD.particles
Section 89
//ParticleCreator2D (org.flintparticles.twoD.particles.ParticleCreator2D)
package org.flintparticles.twoD.particles {
import org.flintparticles.common.particles.*;
public class ParticleCreator2D implements ParticleFactory {
private var _particles:Array;
public function ParticleCreator2D(){
_particles = new Array();
}
public function clearAllParticles():void{
_particles = new Array();
}
public function disposeParticle(_arg1:Particle):void{
if ((_arg1 is Particle2D)){
_arg1.initialize();
_particles.push(_arg1);
};
}
public function createParticle():Particle{
if (_particles.length){
return (_particles.pop());
};
return (new Particle2D());
}
}
}//package org.flintparticles.twoD.particles
Section 90
//BitmapRenderer (org.flintparticles.twoD.renderers.BitmapRenderer)
package org.flintparticles.twoD.renderers {
import flash.display.*;
import flash.filters.*;
import flash.geom.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.renderers.*;
public class BitmapRenderer extends SpriteRendererBase {
protected var _canvas:Rectangle;
protected var _bitmap:Bitmap;
protected var _smoothing:Boolean;
protected var _bitmapData:BitmapData;
protected var _postFilters:Array;
protected var _preFilters:Array;
protected var _colorMap:Array;
protected static var ZERO_POINT:Point = new Point(0, 0);
public function BitmapRenderer(_arg1:Rectangle, _arg2:Boolean=false){
mouseEnabled = false;
mouseChildren = false;
_smoothing = _arg2;
_preFilters = new Array();
_postFilters = new Array();
_canvas = _arg1;
createBitmap();
}
public function get canvas():Rectangle{
return (_canvas);
}
public function set canvas(_arg1:Rectangle):void{
_canvas = _arg1;
createBitmap();
}
public function removeFilter(_arg1:BitmapFilter):void{
var _local2:int;
while (_local2 < _preFilters.length) {
if (_preFilters[_local2] == _arg1){
_preFilters.splice(_local2, 1);
return;
};
_local2++;
};
_local2 = 0;
while (_local2 < _postFilters.length) {
if (_postFilters[_local2] == _arg1){
_postFilters.splice(_local2, 1);
return;
};
_local2++;
};
}
override protected function renderParticles(_arg1:Array):void{
var _local2:int;
var _local3:int;
if (!_bitmap){
return;
};
_bitmapData.lock();
_local3 = _preFilters.length;
_local2 = 0;
while (_local2 < _local3) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _preFilters[_local2]);
_local2++;
};
if ((((_local3 == 0)) && ((_postFilters.length == 0)))){
_bitmapData.fillRect(_bitmap.bitmapData.rect, 0);
};
_local3 = _arg1.length;
if (_local3){
_local2 = _local3;
while (_local2--) {
drawParticle(_arg1[_local2]);
};
};
_local3 = _postFilters.length;
_local2 = 0;
while (_local2 < _local3) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _postFilters[_local2]);
_local2++;
};
if (_colorMap){
_bitmapData.paletteMap(_bitmapData, _bitmapData.rect, ZERO_POINT, _colorMap[1], _colorMap[2], _colorMap[3], _colorMap[0]);
};
_bitmapData.unlock();
}
protected function drawParticle(_arg1:Particle2D):void{
var _local2:Matrix;
_local2 = _arg1.matrixTransform;
_local2.translate(-(_canvas.x), -(_canvas.y));
_bitmapData.draw(_arg1.image, _local2, _arg1.colorTransform, DisplayObject(_arg1.image).blendMode, null, _smoothing);
}
public function setPaletteMap(_arg1:Array=null, _arg2:Array=null, _arg3:Array=null, _arg4:Array=null):void{
_colorMap = new Array(4);
_colorMap[0] = _arg4;
_colorMap[1] = _arg1;
_colorMap[2] = _arg2;
_colorMap[3] = _arg3;
}
public function clearPaletteMap():void{
_colorMap = null;
}
public function addFilter(_arg1:BitmapFilter, _arg2:Boolean=false):void{
if (_arg2){
_postFilters.push(_arg1);
} else {
_preFilters.push(_arg1);
};
}
protected function createBitmap():void{
if (!_canvas){
return;
};
if (((_bitmap) && (_bitmapData))){
_bitmapData.dispose();
_bitmapData = null;
};
if (_bitmap){
removeChild(_bitmap);
};
_bitmap = new Bitmap(null, "auto", _smoothing);
_bitmapData = new BitmapData(_canvas.width, _canvas.height, true, 0);
_bitmap.bitmapData = _bitmapData;
addChild(_bitmap);
_bitmap.x = _canvas.x;
_bitmap.y = _canvas.y;
}
}
}//package org.flintparticles.twoD.renderers
Section 91
//DiscSectorZone (org.flintparticles.twoD.zones.DiscSectorZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class DiscSectorZone implements Zone2D {
private var _minAngle:Number;
private var _innerRadius:Number;
private var _minAllowed:Number;
private var _outerRadius:Number;
private var _center:Point;
private var _maxAngle:Number;
private var _innerSq:Number;
private var _outerSq:Number;
private static var TWOPI:Number = 6.28318530717959;
public function DiscSectorZone(_arg1:Point, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){
if (_arg2 < _arg3){
throw (new Error((((("The outerRadius (" + _arg2) + ") can't be smaller than the innerRadius (") + _arg3) + ") in your DiscSectorZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument.")));
};
_center = _arg1;
_innerRadius = _arg3;
_outerRadius = _arg2;
_innerSq = (_innerRadius * _innerRadius);
_outerSq = (_outerRadius * _outerRadius);
_minAngle = _arg4;
_maxAngle = _arg5;
while (_maxAngle > TWOPI) {
_maxAngle = (_maxAngle - TWOPI);
};
while (_maxAngle < 0) {
_maxAngle = (_maxAngle + TWOPI);
};
_minAllowed = (_maxAngle - TWOPI);
if (_arg4 == _arg5){
_minAngle = _maxAngle;
} else {
_minAngle = clamp(_minAngle);
};
}
public function set minAngle(_arg1:Number):void{
_minAngle = clamp(_arg1);
}
public function get innerRadius():Number{
return (_innerRadius);
}
public function getArea():Number{
return (((Math.PI * _outerSq) - (Math.PI * _innerSq)));
}
public function get maxAngle():Number{
return (_maxAngle);
}
public function set innerRadius(_arg1:Number):void{
_innerRadius = _arg1;
_innerSq = (_innerRadius * _innerRadius);
}
public function set outerRadius(_arg1:Number):void{
_outerRadius = _arg1;
_outerSq = (_outerRadius * _outerRadius);
}
public function set maxAngle(_arg1:Number):void{
_maxAngle = _arg1;
while (_maxAngle > TWOPI) {
_maxAngle = (_maxAngle - TWOPI);
};
while (_maxAngle < 0) {
_maxAngle = (_maxAngle + TWOPI);
};
_minAllowed = (_maxAngle - TWOPI);
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
_arg1 = (_arg1 - _center.x);
_arg2 = (_arg2 - _center.y);
var _local3:Number = ((_arg1 * _arg1) + (_arg2 * _arg2));
if ((((_local3 > _outerSq)) || ((_local3 < _innerSq)))){
return (false);
};
var _local4:Number = Math.atan2(_arg2, _arg1);
_local4 = clamp(_local4);
return ((_local4 >= _minAngle));
}
public function get minAngle():Number{
return (_minAngle);
}
public function get center():Point{
return (_center);
}
public function getLocation():Point{
var _local1:Number = Math.random();
var _local2:Point = Point.polar((_innerRadius + ((1 - (_local1 * _local1)) * (_outerRadius - _innerRadius))), (_minAngle + (Math.random() * (_maxAngle - _minAngle))));
_local2.x = (_local2.x + _center.x);
_local2.y = (_local2.y + _center.y);
return (_local2);
}
public function get outerRadius():Number{
return (_outerRadius);
}
public function set center(_arg1:Point):void{
_center = _arg1;
}
private function clamp(_arg1:Number):Number{
while (_arg1 > _maxAngle) {
_arg1 = (_arg1 - TWOPI);
};
while (_arg1 < _minAllowed) {
_arg1 = (_arg1 + TWOPI);
};
return (_arg1);
}
}
}//package org.flintparticles.twoD.zones
Section 92
//DiscZone (org.flintparticles.twoD.zones.DiscZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class DiscZone implements Zone2D {
private var _innerRadius:Number;
private var _outerRadius:Number;
private var _center:Point;
private var _innerSq:Number;
private var _outerSq:Number;
private static const TWOPI:Number = 6.28318530717959;
public function DiscZone(_arg1:Point, _arg2:Number, _arg3:Number=0){
if (_arg2 < _arg3){
throw (new Error((((("The outerRadius (" + _arg2) + ") can't be smaller than the innerRadius (") + _arg3) + ") in your DiscZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument.")));
};
_center = _arg1;
_innerRadius = _arg3;
_outerRadius = _arg2;
_innerSq = (_innerRadius * _innerRadius);
_outerSq = (_outerRadius * _outerRadius);
}
public function set outerRadius(_arg1:Number):void{
_outerRadius = _arg1;
_outerSq = (_outerRadius * _outerRadius);
}
public function get center():Point{
return (_center);
}
public function getArea():Number{
return ((Math.PI * (_outerSq - _innerSq)));
}
public function getLocation():Point{
var _local1:Number = Math.random();
var _local2:Point = Point.polar((_innerRadius + ((1 - (_local1 * _local1)) * (_outerRadius - _innerRadius))), (Math.random() * TWOPI));
_local2.x = (_local2.x + _center.x);
_local2.y = (_local2.y + _center.y);
return (_local2);
}
public function get outerRadius():Number{
return (_outerRadius);
}
public function get innerRadius():Number{
return (_innerRadius);
}
public function set innerRadius(_arg1:Number):void{
_innerRadius = _arg1;
_innerSq = (_innerRadius * _innerRadius);
}
public function set center(_arg1:Point):void{
_center = _arg1;
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
_arg1 = (_arg1 - _center.x);
_arg2 = (_arg2 - _center.y);
var _local3:Number = ((_arg1 * _arg1) + (_arg2 * _arg2));
return ((((_local3 <= _outerSq)) && ((_local3 >= _innerSq))));
}
}
}//package org.flintparticles.twoD.zones
Section 93
//PointZone (org.flintparticles.twoD.zones.PointZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class PointZone implements Zone2D {
private var _point:Point;
public function PointZone(_arg1:Point){
_point = _arg1;
}
public function get point():Point{
return (_point);
}
public function getArea():Number{
return (1);
}
public function set point(_arg1:Point):void{
_point = _arg1;
}
public function getLocation():Point{
return (_point.clone());
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
return ((((_point.x == _arg1)) && ((_point.y == _arg2))));
}
}
}//package org.flintparticles.twoD.zones
Section 94
//RectangleZone (org.flintparticles.twoD.zones.RectangleZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class RectangleZone implements Zone2D {
private var _height:Number;
private var _width:Number;
private var _bottom:Number;
private var _right:Number;
private var _top:Number;
private var _left:Number;
public function RectangleZone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
_left = _arg1;
_top = _arg2;
_right = _arg3;
_bottom = _arg4;
_width = (_arg3 - _arg1);
_height = (_arg4 - _arg2);
}
public function getArea():Number{
return ((_width * _height));
}
public function get top():Number{
return (_top);
}
public function set bottom(_arg1:Number):void{
_bottom = _arg1;
_height = (bottom - top);
}
public function get right():Number{
return (_right);
}
public function set left(_arg1:Number):void{
_left = _arg1;
_width = (right - left);
}
public function get left():Number{
return (_left);
}
public function set top(_arg1:Number):void{
_top = _arg1;
_height = (bottom - top);
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
return ((((((((_arg1 >= _left)) && ((_arg1 <= _right)))) && ((_arg2 >= _top)))) && ((_arg2 <= _bottom))));
}
public function get bottom():Number{
return (_bottom);
}
public function set right(_arg1:Number):void{
_right = _arg1;
_width = (right - left);
}
public function getLocation():Point{
return (new Point((_left + (Math.random() * _width)), (_top + (Math.random() * _height))));
}
}
}//package org.flintparticles.twoD.zones
Section 95
//Zone2D (org.flintparticles.twoD.zones.Zone2D)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public interface Zone2D {
function getArea():Number;
function getLocation():Point;
function contains(_arg1:Number, _arg2:Number):Boolean;
}
}//package org.flintparticles.twoD.zones
Section 96
//Assets (Assets)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import com.gskinner.utils.*;
import flash.ui.*;
public class Assets {
private var _SoundGroan:Class;
private var _HowButton:Class;
private var _SoundSQLookOut:Class;
private var _SpeechBubble:Class;
private var _EndGame:Class;
private var _SelectLevel:Class;
private var _SoundSQYipee2:Class;
private var _SoundSQYipee3:Class;
private var _squirrelSounds:Array;
public var _SoundIconOff:Class;
private var _Lock:Class;
private var _LockedBubble:Class;
private var _Cannon:Class;
private var _SkyMidMorning:Class;
private var _SoundSQMayHave:Class;
private var _SoundPop:Class;
private var _Wheel:Class;
private var _SoundSQWoohoo:Class;
private var _lastSquirrelPhrase:String;
private var _SkyEarlyMorning:Class;
private var _LockGrey:Class;
private var _SoundSQOohh:Class;
private var _SoundSQHereICome:Class;
private var _StartButton:Class;
private var _SoundSQEhhh:Class;
private var _SoundSQYipee:Class;
private var _LogoHorizontal:Class;
private var _Acorn:Class;
private var _SoundEvening:Class;
private var _BlockTReg:Class;
public var _SoundIcon:Class;
private var _ScoreButton:Class;
public var _Gear:Class;
private var _Grass:Class;
private var _SoundSquirrelLaugh:Class;
private var _AndkonSplash:Class;
private var _SoundSQAlright:Class;
private var _LevelMarkActive:Class;
private var _Logo:Class;
private var _SoundSunset:Class;
private var _SoundSQWantBig:Class;
private var _SoundSQMoreMore:Class;
private var _SkyNoon:Class;
private var _squirrelComments:Array;
public var _PauseMenu:Class;
private var _Squirrel:Class;
private var _SoundRise:Class;
private var _MeterStarOn:Class;
private var _SoundMidnight:Class;
private var _Music:Class;
private var _SkyEarlyEvening:Class;
private var _SoundCannon:Class;
private var _SkyAfternoon:Class;
private var _SkyMorning:Class;
private var _SkyMidnight:Class;
public var _StarBubble:Class;
public var _GreyStar:Class;
public var _Star:Class;
private var _SoundStarMove:Class;
private var _BigNutBubble:Class;
private var _SoundStarEarn:Class;
private var _WoodWall1:Class;
private var _WoodWall2:Class;
private var _StarMeterFull:Class;
private var _SoundBawong:Class;
public var _BonusStar:Class;
private var _Base12SansSC:Class;
private var _SoundNoon:Class;
private var _SkySunset:Class;
private var _Pop:Class;
private var _LevelMarkInActive:Class;
private var _SoundWallHit:Class;
public var _MeterBubble:Class;
private var _Leaderboard:Class;
private var _SoundSQOohh2:Class;
private var _Splash:Class;
private var _MenuGradient:Class;
private var _SoundFanfare:Class;
private var _SoundMorning:Class;
private var _LevelMarkActiveHover:Class;
private var _squirrelCheers:Array;
private var _AcornPattern:Class;
private var _BlockTHeavy:Class;
private var _ShotMessage:Class;
private var _Cloud1:Class;
private var _MeterStar:Class;
private var _Instructions:Class;
private var _LevelMarkInActiveHover:Class;
private var _PibooButton:Class;
private var _BigAcorn:Class;
private var _MultiplierMeter:Class;
private var _Cloud2:Class;
private var _Cloud3:Class;
private var _SoundKnock1:Class;
private var _MultiplierStar:Class;
private var _SoundSQWantMore:Class;
private var _MeterStarOff:Class;
public static const SOUND_SQYIPEE2:String = "sqyipee2";
public static const SOUND_SQYIPEE3:String = "sqyipee3";
public static const SOUND_SQOOHH:String = "sqoohh";
public static const SOUND_LAUGH:String = "laugh";
public static const SOUND_SQWANTMORE:String = "sqwantmore";
public static const SOUND_SQEHHH:String = "sqehhh";
public static const SOUND_WALLHIT:String = "wallhit";
public static const SOUND_SQHERE:String = "sqhere";
public static const SOUND_EVENING:String = "evening";
public static const SOUND_RISE:String = "rise";
public static const SOUND_GROAN:String = "groan";
public static const SOUND_BAWONG:String = "bawong";
public static const SOUND_METERFULL:String = "meterfull";
public static const SOUND_MUSIC:String = "music";
public static const SOUND_NOON:String = "noon";
public static const SOUND_MIDNIGHT:String = "midnight";
public static const SOUND_SQMAYHAVE:String = "sqmayhave";
public static const SOUND_SQLOOKOUT:String = "sqlookout";
public static const SOUND_SQALRIGHT:String = "sqalright";
public static const SOUND_CANNON:String = "cannon";
public static const SOUND_FANFARE:String = "fanfare";
public static const SOUND_KNOCK1:String = "knock1";
public static const SOUND_SQMOREMORE:String = "sqmoremore";
public static const SOUND_MORNING:String = "morning";
public static const SOUND_POP:String = "pop";
public static const SOUND_SQWANTBIG:String = "sqwantbig";
public static const SOUND_SQOOHH2:String = "sqoohh2";
public static const SOUND_SQ_COMMENTS:String = "sq_comments";
public static const SOUND_SUNSET:String = "sunset";
public static const SOUND_SQ_ALL:String = "sq_all";
public static const SOUND_SQYIPEE:String = "sqyipee";
public static const SOUND_STARMOVE:String = "star_move";
public static const SOUND_SQ_CHEERS:String = "sq_cheers";
public static const SOUND_STAREARN:String = "star_earn";
public static const SOUND_SQWOOHOO:String = "sqwoohoo";
public function Assets():void{
_Splash = Assets__Splash;
_Acorn = Assets__Acorn;
_Pop = Assets__Pop;
_BigAcorn = Assets__BigAcorn;
_BigNutBubble = Assets__BigNutBubble;
_Star = Assets__Star;
_StarBubble = Assets__StarBubble;
_MeterBubble = Assets__MeterBubble;
_GreyStar = Assets__GreyStar;
_BonusStar = Assets__BonusStar;
_WoodWall1 = Assets__WoodWall1;
_AndkonSplash = Assets__AndkonSplash;
_LogoHorizontal = Assets__LogoHorizontal;
_WoodWall2 = Assets__WoodWall2;
_MultiplierStar = Assets__MultiplierStar;
_MultiplierMeter = Assets__MultiplierMeter;
_MeterStar = Assets__MeterStar;
_MeterStarOn = Assets__MeterStarOn;
_MeterStarOff = Assets__MeterStarOff;
_Grass = Assets__Grass;
_Cannon = Assets__Cannon;
_Wheel = Assets__Wheel;
_Squirrel = Assets__Squirrel;
_EndGame = Assets__EndGame;
_LockedBubble = Assets__LockedBubble;
_ShotMessage = Assets__ShotMessage;
_Leaderboard = Assets__Leaderboard;
_Gear = Assets__Gear;
_SoundIcon = Assets__SoundIcon;
_SoundIconOff = Assets__SoundIconOff;
_PauseMenu = Assets__PauseMenu;
_SoundCannon = Assets__SoundCannon;
_SoundGroan = Assets__SoundGroan;
_StarMeterFull = Assets__StarMeterFull;
_SoundSquirrelLaugh = Assets__SoundSquirrelLaugh;
_SoundSQAlright = Assets__SoundSQAlright;
_SoundSQEhhh = Assets__SoundSQEhhh;
_SoundSQHereICome = Assets__SoundSQHereICome;
_SoundSQLookOut = Assets__SoundSQLookOut;
_SoundSQMayHave = Assets__SoundSQMayHave;
_SoundSQMoreMore = Assets__SoundSQMoreMore;
_SoundSQOohh = Assets__SoundSQOohh;
_SoundSQOohh2 = Assets__SoundSQOohh2;
_SoundSQWantBig = Assets__SoundSQWantBig;
_SoundSQWantMore = Assets__SoundSQWantMore;
_SoundSQWoohoo = Assets__SoundSQWoohoo;
_SoundSQYipee = Assets__SoundSQYipee;
_SoundSQYipee2 = Assets__SoundSQYipee2;
_SoundSQYipee3 = Assets__SoundSQYipee3;
_squirrelSounds = new Array(Assets.SOUND_SQALRIGHT, Assets.SOUND_SQEHHH, Assets.SOUND_SQHERE, Assets.SOUND_SQMAYHAVE, Assets.SOUND_SQMOREMORE, Assets.SOUND_SQOOHH, Assets.SOUND_SQOOHH2, Assets.SOUND_SQWANTBIG, Assets.SOUND_SQWOOHOO, Assets.SOUND_SQYIPEE, Assets.SOUND_SQYIPEE2, Assets.SOUND_SQYIPEE3);
_squirrelCheers = new Array(Assets.SOUND_SQALRIGHT, Assets.SOUND_SQWOOHOO, Assets.SOUND_SQYIPEE, Assets.SOUND_SQYIPEE2, Assets.SOUND_SQYIPEE3);
_squirrelComments = new Array(Assets.SOUND_SQEHHH, Assets.SOUND_SQHERE, Assets.SOUND_SQMAYHAVE, Assets.SOUND_SQMOREMORE, Assets.SOUND_SQOOHH, Assets.SOUND_SQOOHH2, Assets.SOUND_SQWANTBIG);
_SoundStarMove = Assets__SoundStarMove;
_SoundStarEarn = Assets__SoundStarEarn;
_SoundKnock1 = Assets__SoundKnock1;
_SoundWallHit = Assets__SoundWallHit;
_SoundRise = Assets__SoundRise;
_SoundBawong = Assets__SoundBawong;
_SoundFanfare = Assets__SoundFanfare;
_SoundPop = Assets__SoundPop;
_Music = Assets__Music;
_SoundMorning = Assets__SoundMorning;
_SoundNoon = Assets__SoundNoon;
_SoundSunset = Assets__SoundSunset;
_SoundEvening = Assets__SoundEvening;
_SoundMidnight = Assets__SoundMidnight;
_MenuGradient = Assets__MenuGradient;
_AcornPattern = Assets__AcornPattern;
_PibooButton = Assets__PibooButton;
_Logo = Assets__Logo;
_StartButton = Assets__StartButton;
_HowButton = Assets__HowButton;
_ScoreButton = Assets__ScoreButton;
_SpeechBubble = Assets__SpeechBubble;
_SelectLevel = Assets__SelectLevel;
_LevelMarkActive = Assets__LevelMarkActive;
_LevelMarkActiveHover = Assets__LevelMarkActiveHover;
_LevelMarkInActive = Assets__LevelMarkInActive;
_LevelMarkInActiveHover = Assets__LevelMarkInActiveHover;
_Lock = Assets__Lock;
_LockGrey = Assets__LockGrey;
_Instructions = Assets__Instructions;
_SkyMorning = Assets__SkyMorning;
_SkyMidMorning = Assets__SkyMidMorning;
_SkyNoon = Assets__SkyNoon;
_SkyAfternoon = Assets__SkyAfternoon;
_SkySunset = Assets__SkySunset;
_SkyEarlyEvening = Assets__SkyEarlyEvening;
_SkyMidnight = Assets__SkyMidnight;
_SkyEarlyMorning = Assets__SkyEarlyMorning;
_Cloud1 = Assets__Cloud1;
_Cloud2 = Assets__Cloud2;
_Cloud3 = Assets__Cloud3;
_BlockTHeavy = Assets__BlockTHeavy;
_BlockTReg = Assets__BlockTReg;
_Base12SansSC = Assets__Base12SansSC;
super();
}
public function get soundSQMayHave():Sound{
return (new _SoundSQMayHave());
}
public function get speechBubble():Sprite{
return (new _SpeechBubble());
}
public function get music():Sound{
return (new _Music());
}
public function get soundIconOff():Sprite{
return (new _SoundIconOff());
}
public function get soundIcon():Sprite{
return (new _SoundIcon());
}
public function get levelMarkInActive():Sprite{
return (new _LevelMarkInActive());
}
public function get soundSQOohh():Sound{
return (new _SoundSQOohh());
}
public function get logoHorizontal():Sprite{
return (new _LogoHorizontal());
}
public function get soundSQEhhh():Sound{
return (new _SoundSQEhhh());
}
public function get startButton():Sprite{
return (new _StartButton());
}
public function get lockedBubble():Sprite{
return (new _LockedBubble());
}
public function get skyNoon():Bitmap{
return (new _SkyNoon());
}
public function get soundGroan():Sound{
return (new _SoundGroan());
}
public function get multiplierMeter():Sprite{
return (new _MultiplierMeter());
}
public function get pop():MovieClip{
return (new _Pop());
}
public function get star():Sprite{
return (new _Star());
}
public function get soundSQYipee():Sound{
return (new _SoundSQYipee());
}
public function get soundSQYipee2():Sound{
return (new _SoundSQYipee2());
}
public function get soundSQWantMore():Sound{
return (new _SoundSQWantMore());
}
public function get skyMidMorning():Bitmap{
return (new _SkyMidMorning());
}
public function get soundSQWoohoo():Sound{
return (new _SoundSQWoohoo());
}
public function get soundSQYipee3():Sound{
return (new _SoundSQYipee3());
}
public function get soundSQWantBig():Sound{
return (new _SoundSQWantBig());
}
public function get soundSQAlright():Sound{
return (new _SoundSQAlright());
}
public function get base12Sans():Font{
return (new _Base12SansSC());
}
public function get bigAcorn():Sprite{
return (new _BigAcorn());
}
public function get scoreButton():Sprite{
return (new _ScoreButton());
}
public function get squirrelComments():Array{
return (_squirrelComments);
}
public function get pauseMenu():Sprite{
return (new _PauseMenu());
}
public function get soundEvening():Sound{
return (new _SoundEvening());
}
public function get levelMarkInActiveHover():Sprite{
return (new _LevelMarkInActiveHover());
}
public function playSquirrelVoice(_arg1:String="sq_all", _arg2:Number=0.2):void{
var _local3:Array;
switch (_arg1){
case Assets.SOUND_SQ_ALL:
_local3 = Main.assets.squirrelSounds;
break;
case Assets.SOUND_SQ_CHEERS:
_local3 = Main.assets.squirrelCheers;
break;
case Assets.SOUND_SQ_COMMENTS:
_local3 = Main.assets.squirrelComments;
break;
};
var _local4:String = _local3[Rnd.integer(0, (_local3.length - 1))];
if (_lastSquirrelPhrase == _local4){
playSquirrelVoice(_arg1);
} else {
_lastSquirrelPhrase = _local4;
Main.sound.playSound(_local4, _arg2);
};
}
public function get soundSunset():Sound{
return (new _SoundSunset());
}
public function get soundRise():Sound{
return (new _SoundRise());
}
public function get andkonSplash():MovieClip{
return (new _AndkonSplash());
}
public function get cloud2():Sprite{
return (new _Cloud2());
}
public function get cloud1():Sprite{
return (new _Cloud1());
}
public function get levelMarkActiveHover():Sprite{
return (new _LevelMarkActiveHover());
}
public function get meterStarOn():Sprite{
return (new _MeterStarOn());
}
public function get soundPop():Sound{
return (new _SoundPop());
}
public function get skyEarlyMorning():Bitmap{
return (new _SkyEarlyMorning());
}
public function get cloud3():Sprite{
return (new _Cloud3());
}
public function get levelMarkActive():Sprite{
return (new _LevelMarkActive());
}
public function get clouds():Array{
return (new Array(cloud1, cloud2, cloud3));
}
public function get lockGrey():Sprite{
return (new _LockGrey());
}
public function get soundCannon():Sound{
return (new _SoundCannon());
}
public function get woodWall1():Sprite{
return (new _WoodWall1());
}
public function get woodWall2():Sprite{
return (new _WoodWall2());
}
public function get cannon():Sprite{
return (new _Cannon());
}
public function get soundMidnight():Sound{
return (new _SoundMidnight());
}
public function get soundNoon():Sound{
return (new _SoundNoon());
}
public function get bonusStar():Sprite{
return (new _BonusStar());
}
public function get soundSQMoreMore():Sound{
return (new _SoundSQMoreMore());
}
public function get skyMidnight():Bitmap{
return (new _SkyMidnight());
}
public function get skyAfternoon():Bitmap{
return (new _SkyAfternoon());
}
public function get skySunset():Bitmap{
return (new _SkySunset());
}
public function get lock():Sprite{
return (new _Lock());
}
public function get soundBawong():Sound{
return (new _SoundBawong());
}
public function get bigNutBubble():Sprite{
return (new _BigNutBubble());
}
public function get wheel():Sprite{
return (new _Wheel());
}
public function get squirrel():Sprite{
return (new _Squirrel());
}
public function get soundWallHit():Sound{
return (new _SoundWallHit());
}
public function get skyEarlyEvening():Bitmap{
return (new _SkyEarlyEvening());
}
public function get soundMeterFull():Sound{
return (new _StarMeterFull());
}
public function get skyMorning():Bitmap{
return (new _SkyMorning());
}
public function get endGame():Sprite{
return (new _EndGame());
}
public function get meterBubble():Sprite{
return (new _MeterBubble());
}
public function get meterStar():Sprite{
return (new _MeterStar());
}
public function get leaderboard():Sprite{
return (new _Leaderboard());
}
public function get starBubble():Sprite{
return (new _StarBubble());
}
public function get squirrelCheers():Array{
return (_squirrelCheers);
}
public function get soundStarEarn():Sound{
return (new _SoundStarEarn());
}
public function get soundStarMove():Sound{
return (new _SoundStarMove());
}
public function get acorn():Sprite{
return (new _Acorn());
}
public function get gear():Sprite{
return (new _Gear());
}
public function get blockTHeavy():Font{
return (new _BlockTHeavy());
}
public function get howButton():Sprite{
return (new _HowButton());
}
public function get soundSQOohh2():Sound{
return (new _SoundSQOohh2());
}
public function get logo():Sprite{
return (new _Logo());
}
public function get shotMessage():Sprite{
return (new _ShotMessage());
}
public function get menuGradient():Sprite{
return (new _MenuGradient());
}
public function get multiplierStar():Sprite{
return (new _MultiplierStar());
}
public function get soundMorning():Sound{
return (new _SoundMorning());
}
public function get soundFanfare():Sound{
return (new _SoundFanfare());
}
public function get splashScreen():MovieClip{
return (new _Splash());
}
public function get pibooButton():Sprite{
return (new _PibooButton());
}
public function get grass():Bitmap{
return (new _Grass());
}
public function get soundSQLookOut():Sound{
return (new _SoundSQLookOut());
}
public function get soundKnock1():Sound{
return (new _SoundKnock1());
}
public function get greyStar():Sprite{
return (new _GreyStar());
}
public function get acornPattern():Sprite{
return (new _AcornPattern());
}
public function get soundSQHereICome():Sound{
return (new _SoundSQHereICome());
}
public function get soundSquirrelLaugh():Sound{
return (new _SoundSquirrelLaugh());
}
public function get instructions():Sprite{
return (new _Instructions());
}
public function get selectLevel():Sprite{
return (new _SelectLevel());
}
public function get meterStarOff():Sprite{
return (new _MeterStarOff());
}
public function get squirrelSounds():Array{
return (_squirrelSounds);
}
}
}//package
Section 97
//Assets__Acorn (Assets__Acorn)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Acorn extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 98
//Assets__AcornPattern (Assets__AcornPattern)
package {
import flash.display.*;
import mx.core.*;
public class Assets__AcornPattern extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 99
//Assets__AndkonSplash (Assets__AndkonSplash)
package {
import flash.display.*;
import mx.core.*;
public class Assets__AndkonSplash extends MovieClipAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 100
//Assets__Base12SansSC (Assets__Base12SansSC)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Base12SansSC extends FontAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 101
//Assets__BigAcorn (Assets__BigAcorn)
package {
import flash.display.*;
import mx.core.*;
public class Assets__BigAcorn extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 102
//Assets__BigNutBubble (Assets__BigNutBubble)
package {
import flash.display.*;
import mx.core.*;
public class Assets__BigNutBubble extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 103
//Assets__BlockTHeavy (Assets__BlockTHeavy)
package {
import flash.display.*;
import mx.core.*;
public class Assets__BlockTHeavy extends FontAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 104
//Assets__BlockTReg (Assets__BlockTReg)
package {
import flash.display.*;
import mx.core.*;
public class Assets__BlockTReg extends FontAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 105
//Assets__BonusStar (Assets__BonusStar)
package {
import flash.display.*;
import mx.core.*;
public class Assets__BonusStar extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 106
//Assets__Cannon (Assets__Cannon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Cannon extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 107
//Assets__Cloud1 (Assets__Cloud1)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Cloud1 extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var nut_txt:DisplayObject;
public var starOff_mc:DisplayObject;
}
}//package
Section 108
//Assets__Cloud2 (Assets__Cloud2)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Cloud2 extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 109
//Assets__Cloud3 (Assets__Cloud3)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Cloud3 extends SpriteAsset {
public var score_txt:DisplayObject;
public var multiplier_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var more_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 110
//Assets__EndGame (Assets__EndGame)
package {
import flash.display.*;
import mx.core.*;
public class Assets__EndGame extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 111
//Assets__Gear (Assets__Gear)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Gear extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 112
//Assets__Grass (Assets__Grass)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Grass extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 113
//Assets__GreyStar (Assets__GreyStar)
package {
import flash.display.*;
import mx.core.*;
public class Assets__GreyStar extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 114
//Assets__HowButton (Assets__HowButton)
package {
import flash.display.*;
import mx.core.*;
public class Assets__HowButton extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 115
//Assets__Instructions (Assets__Instructions)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Instructions extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 116
//Assets__Leaderboard (Assets__Leaderboard)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Leaderboard extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 117
//Assets__LevelMarkActive (Assets__LevelMarkActive)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LevelMarkActive extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 118
//Assets__LevelMarkActiveHover (Assets__LevelMarkActiveHover)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LevelMarkActiveHover extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 119
//Assets__LevelMarkInActive (Assets__LevelMarkInActive)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LevelMarkInActive extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 120
//Assets__LevelMarkInActiveHover (Assets__LevelMarkInActiveHover)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LevelMarkInActiveHover extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 121
//Assets__Lock (Assets__Lock)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Lock extends SpriteAsset {
public var score_txt:DisplayObject;
public var multiplier_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var more_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 122
//Assets__LockedBubble (Assets__LockedBubble)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LockedBubble extends SpriteAsset {
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var multiplier_txt:DisplayObject;
public var nutcount_mc:DisplayObject;
public var starOff_mc:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 123
//Assets__LockGrey (Assets__LockGrey)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LockGrey extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 124
//Assets__Logo (Assets__Logo)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Logo extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 125
//Assets__LogoHorizontal (Assets__LogoHorizontal)
package {
import flash.display.*;
import mx.core.*;
public class Assets__LogoHorizontal extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 126
//Assets__MenuGradient (Assets__MenuGradient)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MenuGradient extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 127
//Assets__MeterBubble (Assets__MeterBubble)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MeterBubble extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 128
//Assets__MeterStar (Assets__MeterStar)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MeterStar extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var nut_txt:DisplayObject;
public var starOff_mc:DisplayObject;
}
}//package
Section 129
//Assets__MeterStarOff (Assets__MeterStarOff)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MeterStarOff extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 130
//Assets__MeterStarOn (Assets__MeterStarOn)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MeterStarOn extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 131
//Assets__MultiplierMeter (Assets__MultiplierMeter)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MultiplierMeter extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 132
//Assets__MultiplierStar (Assets__MultiplierStar)
package {
import flash.display.*;
import mx.core.*;
public class Assets__MultiplierStar extends SpriteAsset {
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var multiplier_txt:DisplayObject;
public var nutcount_mc:DisplayObject;
public var starOff_mc:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 133
//Assets__Music (Assets__Music)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Music extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 134
//Assets__PauseMenu (Assets__PauseMenu)
package {
import flash.display.*;
import mx.core.*;
public class Assets__PauseMenu extends SpriteAsset {
public var score_txt:DisplayObject;
public var multiplier_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var more_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 135
//Assets__PibooButton (Assets__PibooButton)
package {
import flash.display.*;
import mx.core.*;
public class Assets__PibooButton extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 136
//Assets__Pop (Assets__Pop)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Pop extends MovieClipAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 137
//Assets__ScoreButton (Assets__ScoreButton)
package {
import flash.display.*;
import mx.core.*;
public class Assets__ScoreButton extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 138
//Assets__SelectLevel (Assets__SelectLevel)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SelectLevel extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 139
//Assets__ShotMessage (Assets__ShotMessage)
package {
import flash.display.*;
import mx.core.*;
public class Assets__ShotMessage extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 140
//Assets__SkyAfternoon (Assets__SkyAfternoon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyAfternoon extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 141
//Assets__SkyEarlyEvening (Assets__SkyEarlyEvening)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyEarlyEvening extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 142
//Assets__SkyEarlyMorning (Assets__SkyEarlyMorning)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyEarlyMorning extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 143
//Assets__SkyMidMorning (Assets__SkyMidMorning)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyMidMorning extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 144
//Assets__SkyMidnight (Assets__SkyMidnight)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyMidnight extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 145
//Assets__SkyMorning (Assets__SkyMorning)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyMorning extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 146
//Assets__SkyNoon (Assets__SkyNoon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkyNoon extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 147
//Assets__SkySunset (Assets__SkySunset)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SkySunset extends BitmapAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 148
//Assets__SoundBawong (Assets__SoundBawong)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundBawong extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 149
//Assets__SoundCannon (Assets__SoundCannon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundCannon extends SoundAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var nut_txt:DisplayObject;
public var starOff_mc:DisplayObject;
}
}//package
Section 150
//Assets__SoundEvening (Assets__SoundEvening)
package {
import mx.core.*;
public class Assets__SoundEvening extends SoundAsset {
}
}//package
Section 151
//Assets__SoundFanfare (Assets__SoundFanfare)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundFanfare extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var replay_btn:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 152
//Assets__SoundGroan (Assets__SoundGroan)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundGroan extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 153
//Assets__SoundIcon (Assets__SoundIcon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundIcon extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 154
//Assets__SoundIconOff (Assets__SoundIconOff)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundIconOff extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 155
//Assets__SoundKnock1 (Assets__SoundKnock1)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundKnock1 extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 156
//Assets__SoundMidnight (Assets__SoundMidnight)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundMidnight extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 157
//Assets__SoundMorning (Assets__SoundMorning)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundMorning extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 158
//Assets__SoundNoon (Assets__SoundNoon)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundNoon extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 159
//Assets__SoundPop (Assets__SoundPop)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundPop extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 160
//Assets__SoundRise (Assets__SoundRise)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundRise extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 161
//Assets__SoundSQAlright (Assets__SoundSQAlright)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQAlright extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 162
//Assets__SoundSQEhhh (Assets__SoundSQEhhh)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQEhhh extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 163
//Assets__SoundSQHereICome (Assets__SoundSQHereICome)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQHereICome extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 164
//Assets__SoundSQLookOut (Assets__SoundSQLookOut)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQLookOut extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 165
//Assets__SoundSQMayHave (Assets__SoundSQMayHave)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQMayHave extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 166
//Assets__SoundSQMoreMore (Assets__SoundSQMoreMore)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQMoreMore extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 167
//Assets__SoundSQOohh (Assets__SoundSQOohh)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQOohh extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 168
//Assets__SoundSQOohh2 (Assets__SoundSQOohh2)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQOohh2 extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 169
//Assets__SoundSquirrelLaugh (Assets__SoundSquirrelLaugh)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSquirrelLaugh extends SoundAsset {
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var multiplier_txt:DisplayObject;
public var nutcount_mc:DisplayObject;
public var starOff_mc:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 170
//Assets__SoundSQWantBig (Assets__SoundSQWantBig)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQWantBig extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 171
//Assets__SoundSQWantMore (Assets__SoundSQWantMore)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQWantMore extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 172
//Assets__SoundSQWoohoo (Assets__SoundSQWoohoo)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQWoohoo extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 173
//Assets__SoundSQYipee (Assets__SoundSQYipee)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQYipee extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 174
//Assets__SoundSQYipee2 (Assets__SoundSQYipee2)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQYipee2 extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 175
//Assets__SoundSQYipee3 (Assets__SoundSQYipee3)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSQYipee3 extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 176
//Assets__SoundStarEarn (Assets__SoundStarEarn)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundStarEarn extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 177
//Assets__SoundStarMove (Assets__SoundStarMove)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundStarMove extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 178
//Assets__SoundSunset (Assets__SoundSunset)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundSunset extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 179
//Assets__SoundWallHit (Assets__SoundWallHit)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SoundWallHit extends SoundAsset {
public var score_txt:DisplayObject;
public var multiplier_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var more_btn:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 180
//Assets__SpeechBubble (Assets__SpeechBubble)
package {
import flash.display.*;
import mx.core.*;
public class Assets__SpeechBubble extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 181
//Assets__Splash (Assets__Splash)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Splash extends MovieClipAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 182
//Assets__Squirrel (Assets__Squirrel)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Squirrel extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 183
//Assets__Star (Assets__Star)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Star extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 184
//Assets__StarBubble (Assets__StarBubble)
package {
import flash.display.*;
import mx.core.*;
public class Assets__StarBubble extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 185
//Assets__StarMeterFull (Assets__StarMeterFull)
package {
import flash.display.*;
import mx.core.*;
public class Assets__StarMeterFull extends SoundAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 186
//Assets__StartButton (Assets__StartButton)
package {
import flash.display.*;
import mx.core.*;
public class Assets__StartButton extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
public var title_txt:DisplayObject;
public var most_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var mask_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var select_btn:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var star_grey_mc:DisplayObject;
public var submit_btn:DisplayObject;
public var more_btn:DisplayObject;
public var star_mc:DisplayObject;
public var menu_btn:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 187
//Assets__Wheel (Assets__Wheel)
package {
import flash.display.*;
import mx.core.*;
public class Assets__Wheel extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nut_txt:DisplayObject;
}
}//package
Section 188
//Assets__WoodWall1 (Assets__WoodWall1)
package {
import flash.display.*;
import mx.core.*;
public class Assets__WoodWall1 extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var nut_txt:DisplayObject;
public var starOff_mc:DisplayObject;
}
}//package
Section 189
//Assets__WoodWall2 (Assets__WoodWall2)
package {
import flash.display.*;
import mx.core.*;
public class Assets__WoodWall2 extends SpriteAsset {
public var nutcount_mc:DisplayObject;
public var score_txt:DisplayObject;
public var starOn_mc:DisplayObject;
public var nut_txt:DisplayObject;
public var starOff_mc:DisplayObject;
}
}//package
Section 190
//Background (Background)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import org.cove.ape.*;
import flash.utils.*;
import com.gskinner.utils.*;
import flash.ui.*;
public class Background extends Sprite {
private var _cloudUpperY:Number;// = 20
private var _cloudLowerY:Number;// = 300
private var _ambianceTypes:Array;
private var _ambiance:String;
private var _endSky:Bitmap;
private var _skyTypes:Array;
private var _timeOfDay:Number;
private var _clouds:Array;
private var _startSky:Bitmap;
public static const SKY_EARLYEVENING:String = "earlyevening";
public static const SKY_NOON:String = "noon";
public static const SKY_MORNING:String = "morning";
public static const SKY_MIDNIGHT:String = "midnight";
public static const SKY_SUNSET:String = "sunset";
private static const DAY:Number = 1440;
public static const SKY_MIDMORNING:String = "midmorning";
public static const SKY_AFTERNOON:String = "afternoon";
public static const SKY_EARLYMORNING:String = "earlymorning";
public function Background(_arg1:Number=0):void{
_skyTypes = new Array();
_ambianceTypes = new Array();
_clouds = new Array();
super();
_timeOfDay = _arg1;
_skyTypes.push(Background.SKY_EARLYMORNING);
_skyTypes.push(Background.SKY_MORNING);
_skyTypes.push(Background.SKY_MIDMORNING);
_skyTypes.push(Background.SKY_NOON);
_skyTypes.push(Background.SKY_AFTERNOON);
_skyTypes.push(Background.SKY_SUNSET);
_skyTypes.push(Background.SKY_EARLYEVENING);
_skyTypes.push(Background.SKY_MIDNIGHT);
_ambianceTypes.push(Assets.SOUND_EVENING);
_ambianceTypes.push(Assets.SOUND_MORNING);
_ambianceTypes.push(Assets.SOUND_MORNING);
_ambianceTypes.push(Assets.SOUND_NOON);
_ambianceTypes.push(Assets.SOUND_NOON);
_ambianceTypes.push(Assets.SOUND_SUNSET);
_ambianceTypes.push(Assets.SOUND_EVENING);
_ambianceTypes.push(Assets.SOUND_MIDNIGHT);
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function draw(_arg1:Event):void{
var _local4:Number;
var _local7:Object;
Main.log(("Background: Begin draw -> time -> " + (_timeOfDay / 60)));
removeEventListener(Event.ADDED_TO_STAGE, draw);
var _local2:Number = (Background.DAY / _skyTypes.length);
var _local3:Number = Math.floor((_timeOfDay / _local2));
if (_local3 == 0){
_local3 = _skyTypes.length;
};
if (_local3 < _skyTypes.length){
_local4 = (_local3 + 1);
} else {
_local4 = 1;
};
_startSky = _skyBitmap(_skyTypes[(_local3 - 1)]);
_startSky.cacheAsBitmap = true;
var _local5:Number = Math.abs(((_timeOfDay - (_local3 * _local2)) / _local2));
if (_local5 > 1){
_local5 = Math.abs((_local5 - 8));
};
_endSky = _skyBitmap(_skyTypes[(_local4 - 1)]);
_endSky.alpha = _local5;
_endSky.blendMode = BlendMode.LAYER;
_endSky.cacheAsBitmap = true;
Main.log(("Background: Sky1 -> " + _skyTypes[(_local3 - 1)]));
Main.log(((("Background: Sky2 -> " + _skyTypes[(_local4 - 1)]) + " -> ") + _local5));
addChild(_startSky);
if (_local5 > 0){
addChild(_endSky);
};
if (_local5 < 0.5){
_ambiance = _ambianceTypes[(_local3 - 1)];
} else {
_ambiance = _ambianceTypes[(_local4 - 1)];
};
Main.log(("Background: Ambiance -> " + _ambiance));
Main.sound.addSound(_ambianceSound(_ambiance), _ambiance);
Main.sound.playSound(_ambiance, 0.1, 0, 9999);
var _local6:Number = 0;
while (_local6 < 3) {
createCloud();
_local6++;
};
for each (_local7 in _clouds) {
addChild(_local7.cloud);
};
}
public function update(_arg1:Event):void{
var _local2:int;
var _local3:int;
var _local4:Object;
var _local5:Sprite;
var _local6:Object;
var _local7:Sprite;
var _local8:Sprite;
_local2 = 0;
while (_local2 < _clouds.length) {
_local4 = (_clouds[_local2] as Object);
_local5 = (_local4.cloud as Sprite);
(_local4.cloud as Sprite).x = (_local5.x + _local4.speed);
_local2++;
};
_local3 = 0;
while (_local3 < _clouds.length) {
_local6 = (_clouds[_local3] as Object);
_local7 = (_local6.cloud as Sprite);
if (_local7.x > Main.gameWidth){
removeChild(_local7);
_clouds.splice(_clouds.indexOf(_local6), 1);
};
_local3++;
};
if (_clouds.length < 3){
_local8 = createCloud();
createCloud().x = (-(_local8.width) - 30);
addChild(_local8);
};
}
private function createCloud():Sprite{
var _local3:Number;
var _local4:Object;
var _local5:Boolean;
var _local6:Object;
var _local7:Sprite;
var _local1:Number = 15;
var _local2:Sprite;
while (_local2 == null) {
_local3 = Rnd.integer(1, 4);
_local4 = generateCloudCoordinates();
_local5 = true;
for each (_local6 in _clouds) {
_local7 = _local6.cloud;
if ((((((_local4.y < ((_local7.y + _local7.height) + _local1))) && ((_local4.y > (_local7.y - _local1))))) || ((((_local4.x < ((_local7.x + _local7.width) + _local1))) && ((_local4.x > (_local7.x - _local1))))))){
_local5 = false;
break;
};
_local7 = null;
};
if (_local5){
_local2 = Main.assets.clouds[(_local3 - 1)];
_local2.x = _local4.x;
_local2.y = _local4.y;
_local2.alpha = Rnd.float(0.3, 0.8);
_local2.blendMode = BlendMode.OVERLAY;
_clouds.push({cloud:_local2, speed:Rnd.float(0.05, 0.3)});
};
};
return (_local2);
}
private function generateCloudCoordinates():Object{
var _local1:Number = (_cloudLowerY - _cloudUpperY);
var _local2:Number = Math.ceil((Math.random() * _local1));
var _local3:Number = ((Main.gameWidth - 10) - 10);
var _local4:Number = Math.ceil((Math.random() * _local3));
return ({x:_local4, y:_local2});
}
private function _ambianceSound(_arg1:String):Sound{
var _local2:Sound;
switch (_arg1){
case Assets.SOUND_MORNING:
_local2 = Main.assets.soundMorning;
break;
case Assets.SOUND_NOON:
_local2 = Main.assets.soundNoon;
break;
case Assets.SOUND_SUNSET:
_local2 = Main.assets.soundSunset;
break;
case Assets.SOUND_EVENING:
_local2 = Main.assets.soundEvening;
break;
case Assets.SOUND_MIDNIGHT:
_local2 = Main.assets.soundMidnight;
break;
};
return (_local2);
}
private function _skyBitmap(_arg1:String):Bitmap{
var _local2:Bitmap;
switch (_arg1){
case Background.SKY_MORNING:
_local2 = Main.assets.skyMorning;
break;
case Background.SKY_MIDMORNING:
_local2 = Main.assets.skyMidMorning;
break;
case Background.SKY_NOON:
_local2 = Main.assets.skyNoon;
break;
case Background.SKY_AFTERNOON:
_local2 = Main.assets.skyAfternoon;
break;
case Background.SKY_SUNSET:
_local2 = Main.assets.skySunset;
break;
case Background.SKY_EARLYEVENING:
_local2 = Main.assets.skyEarlyEvening;
break;
case Background.SKY_MIDNIGHT:
_local2 = Main.assets.skyMidnight;
break;
case Background.SKY_EARLYMORNING:
_local2 = Main.assets.skyEarlyMorning;
break;
};
return (_local2);
}
public function destroy(_arg1:Event):void{
var _local2:Object;
var _local3:Sprite;
Main.log("Background: Destroy");
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
for each (_local2 in _clouds) {
_local3 = (_local2.cloud as Sprite);
removeChild(_local3);
};
_clouds = null;
removeChild(_startSky);
_startSky = null;
if (contains(_endSky)){
removeChild(_endSky);
};
_endSky = null;
Main.sound.stopSound(_ambiance);
Main.sound.removeSound(_ambiance);
_ambianceTypes = null;
_skyTypes = null;
}
}
}//package
Section 191
//Ball (Ball)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
public class Ball extends Sprite {
private var _group:Group;
private var _defaultAnimationSpeed:Number;
private var _speed:Number;// = 0
private var _squirrelLength:Number;
private var _voiceTimer:Timer;
private var _tailForward:Boolean;// = true
private var _phyBall:CircleParticle;
private var _start:Point;
private var _lastPosition:Point;
private var _tail:MovieClip;
private var _fired:Boolean;// = false
private var _squirrelSound:String;
private var _squirrel:Sprite;
private var _id:Number;
private var _tailFrame:Number;// = 1
private var _ballSize:Number;// = 6
public function Ball(_arg1:Group, _arg2:Point):void{
_lastPosition = new Point();
super();
_group = _arg1;
_start = _arg2;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function destroy(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
_group.removeParticle(_phyBall);
_phyBall.removeEventListener(CollisionEvent.COLLIDE, onCollision);
_phyBall.cleanup();
_phyBall = null;
if (((_squirrel) && (contains(_squirrel)))){
removeChild(_squirrel);
};
_squirrel = null;
_tail = null;
_phyBall = null;
_lastPosition = null;
if (_voiceTimer){
_voiceTimer.stop();
};
_voiceTimer = null;
}
public function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
_phyBall = new CircleParticle(_start.x, _start.y, _ballSize);
_phyBall.visible = false;
_group.addParticle(_phyBall);
_squirrel = Main.assets.squirrel;
_squirrel.x = (-(_squirrel.width) / 2);
_squirrel.y = (-(_squirrel.height) / 2);
_squirrelLength = _squirrel.width;
addChild(_squirrel);
_tail = (_squirrel.getChildByName("tail_mc") as MovieClip);
_tail.gotoAndStop(1);
_defaultAnimationSpeed = (stage.frameRate / _tail.totalFrames);
_lastPosition.x = _start.x;
_lastPosition.y = _start.y;
positionHead(_start);
}
public function update(_arg1:Event):void{
if (_fired){
rotateHeadOnMovement();
positionHeadOnMovement();
setTailFrame();
_lastPosition.x = _phyBall.px;
_lastPosition.y = _phyBall.py;
};
}
public function positionHead(_arg1:Point):void{
this.x = _arg1.x;
this.y = _arg1.y;
_phyBall.px = _arg1.x;
_phyBall.py = _arg1.y;
}
public function fire(_arg1:Number, _arg2:Number):void{
_fired = true;
var _local3:Number = Utility.degreesToRadians(_arg1);
var _local4:Number = (Math.cos(_local3) * _arg2);
var _local5:Number = (Math.sin(_local3) * _arg2);
_lastPosition.x = _phyBall.px;
_lastPosition.y = _phyBall.py;
_phyBall.addForce(new VectorForce(true, _local4, _local5));
_phyBall.addEventListener(CollisionEvent.COLLIDE, onCollision, false, 0, true);
}
public function positionHeadOnMovement():void{
var _local1:Number = Utility.rotationToDegrees(this.rotation);
var _local2:Point = Utility.getPointOnLine(new Point(_phyBall.px, _phyBall.py), Utility.reverseAngle(_local1), ((_squirrelLength / 2) - 9));
this.x = _local2.x;
this.y = _local2.y;
}
public function onCollision(_arg1:CollisionEvent):void{
var _local4:Number;
var _local5:Number;
var _local2:Number = Math.abs(_phyBall.velocity.x);
var _local3:Number = Math.abs(_phyBall.velocity.y);
if ((_phyBall.velocity.x < 0)){
_local4 = -1;
} else {
_local4 = 1;
};
if ((_phyBall.velocity.y < 0)){
_local5 = -1;
} else {
_local5 = 1;
};
var _local6:Number = 0.3;
if ((((_local3 <= _local6)) && ((_local2 > _local6)))){
_phyBall.addForce(new VectorForce(true, 0, (50 * _local5)));
};
if ((((_local2 <= _local6)) && ((_local3 > _local6)))){
_phyBall.addForce(new VectorForce(true, (20 * _local4), 0));
};
if ((((_local2 <= _local6)) && ((_local3 <= _local6)))){
_phyBall.addForce(new VectorForce(true, (20 * _local4), (20 * _local5)));
};
this.dispatchEvent(new BallEvent(BallEvent.HIT, this, _arg1.collidingItem));
}
public function get id():Number{
return (_id);
}
public function rotateHead(_arg1:Number):void{
var _local2:Number = Utility.degreesToRotation(_arg1);
this.rotation = _local2;
}
public function rotateHeadOnMovement():void{
var _local1:Number = Utility.getAngleOfLine(new Point(_lastPosition.x, _lastPosition.y), new Point(_phyBall.px, _phyBall.py));
this.rotateHead(_local1);
if ((((this.rotation < -90)) || ((this.rotation > 90)))){
this.scaleY = -1;
} else {
this.scaleY = 1;
};
}
public function setTailFrame():void{
var _local2:Number;
var _local1:Number = _phyBall.velocity.distance(new Vector(0, 0));
if (_local1 <= 1){
_local2 = 6;
} else {
if (_local1 <= 5){
_local2 = 3;
} else {
if (_local1 <= 9){
_local2 = 2;
} else {
_local2 = 1;
};
};
};
if ((_tailFrame % _local2) == 0){
if ((((_tailForward == true)) && ((_tail.currentFrame < _tail.totalFrames)))){
_tail.nextFrame();
} else {
if (((_tailForward) && ((_tail.currentFrame == _tail.totalFrames)))){
_tailForward = false;
_tail.prevFrame();
} else {
if (((!(_tailForward)) && ((_tail.currentFrame > 1)))){
_tail.prevFrame();
} else {
if (((!(_tailForward)) && ((_tail.currentFrame == 1)))){
_tailForward = true;
_tail.nextFrame();
};
};
};
};
};
if (_tailFrame > stage.frameRate){
_tailFrame = 1;
} else {
_tailFrame++;
};
}
public function set id(_arg1:Number):void{
_id = _arg1;
}
}
}//package
Section 192
//BallEvent (BallEvent)
package {
import flash.events.*;
import org.cove.ape.*;
public class BallEvent extends Event {
private var _ball:Ball;
private var _collidingItem:AbstractItem;
public static const HIT:String = "collide";
public function BallEvent(_arg1:String, _arg2:Ball=null, _arg3:AbstractItem=null, _arg4:Boolean=false, _arg5:Boolean=false){
super(_arg1, _arg4, _arg5);
_ball = _arg2;
_collidingItem = _arg3;
}
public function get ball():Ball{
return (_ball);
}
public function get collidingItem():AbstractItem{
return (_collidingItem);
}
}
}//package
Section 193
//BigNut (BigNut)
package {
import flash.events.*;
import flash.display.*;
import org.flintparticles.twoD.emitters.*;
import flash.media.*;
import flash.text.*;
import org.flintparticles.common.events.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import org.flintparticles.twoD.renderers.*;
import com.gskinner.utils.*;
import flash.ui.*;
public class BigNut extends Sprite {
private var _group:Group;
private var _bigNutTime:Number;// = 5000
private var _emittersToRenderers:Dictionary;
private var _bubbleShowing:Boolean;// = false
private var _offsetY:Number;
private var _phyNut:CircleParticle;
private var _hasBeenHit:Boolean;// = false
private var _timers:Array;
private var _nutSprite:Sprite;
private var _offsetX:Number;
private var _bubble:Sprite;
private var _isShowing:Boolean;// = false
public static const EVENT_SHOW:String = "show";
public static const EVENT_HIDE:String = "hide";
public static const EVENT_HIT:String = "hit";
public function BigNut(_arg1:Group):void{
_timers = new Array();
_emittersToRenderers = new Dictionary(true);
super();
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
_group = _arg1;
}
public function destroy(_arg1:Event):void{
var _local2:Timer;
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
if (contains(_nutSprite)){
removeChild(_nutSprite);
};
_nutSprite = null;
if (((_bubble) && (contains(_bubble)))){
removeChild(_bubble);
};
_bubble = null;
_group.removeParticle(_phyNut);
_phyNut.removeEventListener(CollisionEvent.COLLIDE, onBigNutHit);
for each (_local2 in _timers) {
_local2.stop();
_timers.splice(_timers.indexOf(_local2), 1);
};
_timers = null;
}
private function onHideTweenComplete():void{
_isShowing = false;
}
public function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
_nutSprite = Main.assets.bigAcorn;
_nutSprite.x = 0;
_nutSprite.y = 0;
addChild(_nutSprite);
_offsetX = ((_nutSprite.width / 2) - 14);
_offsetY = ((_nutSprite.height / 2) - 10);
_phyNut = new CircleParticle(0, 0, 30);
_phyNut.px = (this.x + _offsetX);
_phyNut.py = (this.y + _offsetY);
_phyNut.fixed = true;
_phyNut.visible = false;
_phyNut.sprite.name = "bigNut";
_group.addParticle(_phyNut);
_phyNut.addEventListener(CollisionEvent.COLLIDE, onBigNutHit, false, 0, true);
}
public function update(_arg1:Event):void{
_phyNut.px = (this.x + _offsetX);
_phyNut.py = (this.y + _offsetY);
}
private function onTweenCompleteRemove(_arg1:DisplayObject):void{
if (contains(_arg1)){
removeChild(_arg1);
};
}
private function onBigNutHit(_arg1:CollisionEvent):void{
if (_hasBeenHit){
return;
};
Main.log("BigNut: Hit");
this.dispatchEvent(new Event("hit"));
_hasBeenHit = true;
Main.sound.playSound(Assets.SOUND_BAWONG, 0.8);
var _local2:Number = (this.x + (_nutSprite.width / 2));
var _local3:Number = this.y;
var _local4:Emitter2D = Main.particles.bigNutStars(_local2, _local3);
var _local5:BitmapRenderer = new BitmapRenderer(new Rectangle((_local2 - 100), (_local3 - 100), 200, 200));
_local5.addFilter(new BlurFilter(2, 3, 1));
_local5.addFilter(new ColorMatrixFilter([1, 0, 10, 0, 10, 0, 1, 0, 0, 0, 2, 0, 2, 0, 50, 0, 0, 0, 0.8, 0]));
_local5.addEmitter(_local4);
Main.current.game.addChild((_local5 as DisplayObject));
_local4.addEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty, false, 0, true);
_emittersToRenderers[_local4] = _local5;
_local4.start();
Main.assets.playSquirrelVoice(Assets.SOUND_SQ_CHEERS);
hide();
}
public function hide(_arg1:TimerEvent=null):void{
if (_arg1){
_arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, this.hide);
};
if (!_isShowing){
return;
};
Main.log("BigNut: Hide");
this.dispatchEvent(new Event(BigNut.EVENT_SHOW));
TweenMax.to(this, 1, {y:(stage.height + 10), onComplete:onHideTweenComplete});
if (_bubbleShowing){
hideBubble();
};
}
public function showBubble():void{
_bubble = Main.assets.bigNutBubble;
_bubble.x = -50;
_bubble.y = -40;
_bubble.alpha = 0;
addChild(_bubble);
TweenMax.to(_bubble, 0.3, {alpha:1});
_bubbleShowing = true;
}
public function hideBubble():void{
TweenMax.to(_bubble, 0.3, {alpha:0, onComplete:onTweenCompleteRemove, onCompleteParams:[_bubble]});
}
public function get nutSprite():Sprite{
return (_nutSprite);
}
public function show(_arg1:Boolean=false):void{
var _local2:Number;
Main.log("BigNut: Show");
this.dispatchEvent(new Event(BigNut.EVENT_SHOW));
_isShowing = true;
_hasBeenHit = false;
if (_arg1){
showBubble();
};
this.y = Main.gameHeight;
this.x = Rnd.integer(20, (Main.gameWidth - 250));
if (_bubbleShowing){
_local2 = (Main.gameHeight - 60);
_nutSprite.rotation = 0;
} else {
_nutSprite.rotation = Rnd.integer(-15, 15);
_local2 = ((Main.gameHeight - 50) - _nutSprite.rotation);
};
TweenMax.to(this, 1.5, {y:_local2});
var _local3:Timer = new Timer(_bigNutTime, 1);
_local3.addEventListener(TimerEvent.TIMER_COMPLETE, this.hide, false, 0, true);
_local3.start();
_timers.push(_local3);
Main.sound.playSound(Assets.SOUND_RISE, 0.2);
}
private function onEmitterEmpty(_arg1:EmitterEvent):void{
var _local2:Emitter2D = (_arg1.target as Emitter2D);
var _local3:DisplayObject = (_emittersToRenderers[_local2] as DisplayObject);
_local2.removeEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty);
_local3.parent.removeChild((_local3 as DisplayObject));
_local2.stop();
_local2 = null;
_local3 = null;
delete _emittersToRenderers[_local2];
}
}
}//package
Section 194
//Cannon (Cannon)
package {
import flash.events.*;
import flash.display.*;
import org.flintparticles.twoD.emitters.*;
import flash.media.*;
import org.flintparticles.common.events.*;
import gs.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import org.flintparticles.twoD.renderers.*;
import flash.ui.*;
import fl.motion.*;
public class Cannon extends Sprite {
private var _barrelCenter:Point;
private var _group:Group;
private var _barrelAngle:Number;// = 0
private var _emittersToRenderers:Dictionary;
private var _loadingBall:Boolean;// = false
private var _cannonForce:Number;// = 440
private var _base:Sprite;
private var _barrelContainer:Sprite;
private var _ballFired:Boolean;
private var _loadedBall:Ball;
private var _barrel:Sprite;
private var _shotTime:uint;
private var _balls:Array;
private var _multiBall:Boolean;// = false
private var _rotationLeftBound:Number;// = -65
private var _rotChange:Number;// = 0
private var _canFire:Boolean;// = false
private var _shotStartTime:uint;
private var _lastFired:Timer;
private var _rotationRightBound:Number;// = 25
public function Cannon(_arg1:Group):void{
_emittersToRenderers = new Dictionary(true);
_base = Main.assets.wheel;
_balls = new Array();
super();
Main.log("Cannon: Constructor");
_group = _arg1;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function loadCannon():void{
var d:Object;
setBarrelPosition();
_loadedBall = new Ball(_group, Utility.getPointOnLine(_barrelCenter, _barrelAngle, 50));
Main.current.game.addChildAt(_loadedBall, this.parent.getChildIndex(this));
_loadedBall.scaleY = -1;
_loadingBall = true;
d = {distance:0};
TweenMax.to(d, 1, {distance:(_barrel.width - 30), onComplete:function ():void{
_loadingBall = false;
}, onUpdate:function ():void{
_loadedBall.positionHead(Utility.getPointOnLine(_barrelCenter, _barrelAngle, d.distance));
}});
}
private function onEmitterEmpty(_arg1:EmitterEvent):void{
var _local2:Emitter2D = (_arg1.target as Emitter2D);
var _local3:DisplayObject = (_emittersToRenderers[_local2] as DisplayObject);
_local2.removeEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty);
_local3.parent.removeChild((_local3 as DisplayObject));
_local2.stop();
_local2 = null;
_local3 = null;
delete _emittersToRenderers[_local2];
}
private function renderSmoke():void{
if (((!(_lastFired)) || ((_lastFired.currentCount >= 5)))){
_lastFired = new Timer(100);
_lastFired.start();
} else {
return;
};
var _local1:Point = Utility.getPointOnLine(_barrelCenter, _barrelAngle, (_barrel.width - 15));
var _local2:Emitter2D = Main.particles.cannonPuff(_local1.x, _local1.y);
var _local3:BitmapRenderer = new BitmapRenderer(new Rectangle((_local1.x - 100), (_local1.y - 150), 200, 170));
_local3.addEmitter(_local2);
Main.current.game.addChild((_local3 as DisplayObject));
_local2.addEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty, false, 0, true);
_emittersToRenderers[_local2] = _local3;
_local2.start();
}
public function get canFire():Boolean{
return (_canFire);
}
public function set multiBall(_arg1:Boolean):void{
_multiBall = _arg1;
}
public function onBallHit(_arg1:BallEvent):void{
var _local2:Ball = _arg1.ball;
if (((_arg1.collidingItem) && ((_arg1.collidingItem.sprite.name == "floor")))){
Main.current.game.removeChild(_local2);
_balls.splice(_balls.indexOf(_local2), 1);
_local2 = null;
if (_balls.length == 0){
_ballFired = false;
_shotStartTime = 0;
_shotTime = 0;
dispatchEvent(new CannonEvent(CannonEvent.SHOT_COMPLETE, this));
};
};
}
public function fire(_arg1:MouseEvent=null):void{
if (((((_ballFired) && (!(_multiBall)))) || (!(_canFire)))){
return;
};
setBarrelPosition();
_loadedBall = new Ball(_group, Utility.getPointOnLine(_barrelCenter, _barrelAngle, 50));
_loadedBall.scaleY = -1;
_loadedBall.addEventListener(BallEvent.HIT, onBallHit, false, 0, true);
Main.current.game.addChildAt(_loadedBall, this.parent.getChildIndex(this));
_loadedBall.fire(_barrelAngle, _cannonForce);
_balls.push(_loadedBall);
this.renderSmoke();
Main.sound.playSound(Assets.SOUND_CANNON, 0.3);
_ballFired = true;
_shotStartTime = getTimer();
dispatchEvent(new CannonEvent(CannonEvent.FIRED, this, _loadedBall));
_loadedBall = null;
}
public function draw(_arg1:Event):void{
Main.log("Cannon: draw start");
removeEventListener(Event.ADDED_TO_STAGE, draw);
_barrelContainer = new Sprite();
_barrel = Main.assets.cannon;
_barrelContainer.addChild(_barrel);
_barrel.x = -15;
_barrel.y = (-(_barrel.height) / 2);
_barrel.cacheAsBitmap = true;
_barrelContainer.x = (_barrel.width / 2);
_barrelContainer.y = (_barrel.height - 15);
_base.x = (_barrelContainer.x - (_base.width / 2));
_base.y = (_barrelContainer.y + 5);
_base.cacheAsBitmap = true;
addChild(_barrelContainer);
addChild(_base);
Main.current.game.addEventListener(MouseEvent.CLICK, this.fire, false, 0, true);
Main.log("Cannon: draw end");
}
public function update(_arg1:Event):void{
var _local2:uint;
if (_ballFired){
_local2 = getTimer();
_shotTime = ((_local2 - _shotStartTime) / 1000);
};
setBarrelPosition();
_rotChange = Utility.rotationOfLine(new Point(_barrelCenter.x, _barrelCenter.y), new Point(stage.mouseX, stage.mouseY));
_barrelContainer.rotation = _rotChange;
_barrelAngle = Utility.rotationToDegrees(_barrelContainer.rotation);
}
public function set canFire(_arg1:Boolean):void{
_canFire = _arg1;
}
public function get balls():Array{
return (_balls);
}
public function get multiBall():Boolean{
return (_multiBall);
}
public function unloadCannon():void{
_loadingBall = false;
_loadedBall = null;
}
public function get shotTime():uint{
return (_shotTime);
}
public function setBarrelPosition():void{
_barrelCenter = this.localToGlobal(new Point(_barrelContainer.x, _barrelContainer.y));
_barrelAngle = Utility.rotationOfLine(new Point(_barrelCenter.x, _barrelCenter.y), new Point(stage.mouseX, stage.mouseY));
}
public function get fired():Boolean{
return (_ballFired);
}
public function destroy(_arg1:Event):void{
var _local2:Ball;
Main.log("Cannon: begin destroy");
removeEventListener(Event.ADDED_TO_STAGE, draw);
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
Main.current.game.removeEventListener(MouseEvent.CLICK, this.fire);
for each (_local2 in _balls) {
if (Main.current.game.contains(_local2)){
Main.current.game.removeChild(_local2);
};
};
_balls = null;
if (contains(_base)){
removeChild(_base);
};
if (contains(_barrelContainer)){
removeChild(_barrelContainer);
};
_barrelContainer = null;
_barrelCenter = null;
_barrel = null;
_base = null;
_group = null;
if (_lastFired){
_lastFired.stop();
};
_lastFired = null;
if (((_loadedBall) && (Main.current.game.contains(_loadedBall)))){
Main.current.game.removeChild(_loadedBall);
};
_loadedBall = null;
Main.log("Cannon: end destroy");
}
}
}//package
Section 195
//CannonEvent (CannonEvent)
package {
import flash.events.*;
public class CannonEvent extends Event {
private var _cannon:Cannon;
private var _ball:Ball;
public static const FIRED:String = "fired";
public static const SHOT_COMPLETE:String = "ball_complete";
public function CannonEvent(_arg1:String, _arg2:Cannon, _arg3:Ball=null, _arg4:Boolean=false, _arg5:Boolean=false){
_cannon = _arg2;
super(_arg1, _arg4, _arg5);
}
public function get cannon():Cannon{
return (_cannon);
}
public function get ball():Ball{
return (_ball);
}
}
}//package
Section 196
//EndLevel (EndLevel)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import com.gskinner.utils.*;
import flash.ui.*;
public class EndLevel extends Sprite {
private var _level:Number;
private var _submitButton:SimpleButton;
private var _onHideCallback:Function;
private var _levelData:Object;
private var _lockedBubble:Sprite;
private var _replayButton:SimpleButton;
private var _levelStats:Object;
private var _endLevelPanel:Sprite;
private var _nextButton:SimpleButton;
private var _timers:Array;
private var _selectButton:SimpleButton;
public static const EVENT_NEXT_CLICK:String = "next";
public static const EVENT_SUBMIT_CLICK:String = "submit";
public static const EVENT_HIDE:String = "hide";
public static const EVENT_SELECT_CLICK:String = "select";
public static const EVENT_REPLAY_CLICK:String = "replay";
public static const EVENT_SHOW:String = "show";
public function EndLevel(_arg1:Number, _arg2:Object, _arg3:Object):void{
_timers = new Array();
super();
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
_level = _arg1;
_levelData = _arg2;
_levelStats = _arg3;
}
public function hide(_arg1:TimerEvent=null):void{
Main.log("End Level: Hide");
TweenMax.to(this, 0.5, {y:(-(this.height) - 20), onComplete:this.onHideComplete});
}
public function draw(_arg1:Event):void{
var _local11:Sprite;
var _local12:String;
var _local16:Sprite;
var _local17:GlowFilter;
removeEventListener(Event.ADDED_TO_STAGE, draw);
_endLevelPanel = Main.assets.endGame;
addChild(_endLevelPanel);
this.x = ((Main.gameWidth / 2) - (this.width / 2));
this.y = (-(this.height) - 20);
var _local2:TextField = (_endLevelPanel.getChildByName("title_txt") as TextField);
_local2.text = (("Level " + _level) + " Complete!");
var _local3:TextField = (_endLevelPanel.getChildByName("target_txt") as TextField);
_local3.text = ("Target Score: " + Utility.commafy(_levelData.targetScore));
var _local4:TextField = (_endLevelPanel.getChildByName("score_txt") as TextField);
_local4.text = ("Score: " + Utility.commafy(_levelStats.score));
var _local5:Date = new Date(Number((_levelStats.levelTime * 1000)));
var _local6:TextField = (_endLevelPanel.getChildByName("time_txt") as TextField);
_local6.text = ("Time: " + Utility.formatTime(_local5));
var _local7:TextField = (_endLevelPanel.getChildByName("shots_txt") as TextField);
_local7.text = ("Total Shots: " + _levelStats.shots);
var _local8:TextField = (_endLevelPanel.getChildByName("most_txt") as TextField);
_local8.text = ("Most Nuts In A Shot: " + _levelStats.mostPegs);
var _local9:TextField = (_endLevelPanel.getChildByName("hang_txt") as TextField);
var _local10:Date = new Date(Number((_levelStats.hangTime * 1000)));
_local9.text = ("Longest Hang Time: " + Utility.formatTime(_local10));
if (_levelStats.score >= _levelData.targetScore){
_local11 = (_endLevelPanel.getChildByName("star_mc") as Sprite);
_endLevelPanel.getChildByName("star_grey_mc").visible = false;
_local12 = Assets.SOUND_STAREARN;
} else {
_local11 = (_endLevelPanel.getChildByName("star_grey_mc") as Sprite);
_endLevelPanel.getChildByName("star_mc").visible = false;
_local12 = Assets.SOUND_GROAN;
};
var _local13:Sprite = new Sprite();
_endLevelPanel.addChild(_local13);
_local13.x = (_local11.x + (_local11.width / 2));
_local13.y = (_local11.y + (_local11.height / 2));
_local13.addChild(_local11);
_local11.x = (-(_local11.width) / 2);
_local11.y = (-(_local11.height) / 2);
_local13.scaleX = 0;
_local13.scaleY = 0;
_local13.x = (((_endLevelPanel.width / 2) + (_local4.textWidth / 2)) + 20);
TweenMax.to(_local13, 0.5, {delay:1, scaleX:1, scaleY:1, rotation:340, onStart:onTargetStarTweenComplete, onStartParams:[_local12]});
_nextButton = (_endLevelPanel.getChildByName("nextlevel_btn") as SimpleButton);
var _local14:Number = (_level + 1);
var _local15:Number = Main.player.getLevelScore(_local14);
if (Main.levelData.isRowUnLocked(_local14)){
_nextButton.addEventListener(MouseEvent.CLICK, onNextLevelButtonClick, false, 0, true);
} else {
Main.log("End Level: DONT SHOW BUTTON");
_nextButton.upState.alpha = 0.5;
_nextButton.overState.alpha = 0.5;
_nextButton.downState.alpha = 0.5;
_local16 = Main.assets.lockGrey;
_local16.x = ((_nextButton.x + _nextButton.width) - 8);
_local16.y = (_nextButton.y - 8);
_local17 = new GlowFilter(1320253, 1, 6, 6, 20);
_local16.filters = [_local17];
_local16.scaleX = 0.27;
_local16.scaleY = _local16.scaleX;
_endLevelPanel.addChild(_local16);
_nextButton.addEventListener(MouseEvent.MOUSE_OVER, onNextLevelUnlockRollOver, false, 0, true);
_nextButton.addEventListener(MouseEvent.MOUSE_OUT, onNextLevelUnlockRollOut, false, 0, true);
};
if (_level >= 25){
_nextButton.visible = false;
} else {
_nextButton.visible = true;
};
_replayButton = (_endLevelPanel.getChildByName("replay_btn") as SimpleButton);
_replayButton.addEventListener(MouseEvent.CLICK, onReplayButtonClick, false, 0, true);
_selectButton = (_endLevelPanel.getChildByName("select_btn") as SimpleButton);
_selectButton.addEventListener(MouseEvent.CLICK, onSelectButtonClick, false, 0, true);
_submitButton = (_endLevelPanel.getChildByName("submit_btn") as SimpleButton);
_submitButton.addEventListener(MouseEvent.CLICK, onSubmitButtonClick, false, 0, true);
this.show();
}
public function update(_arg1:Event):void{
}
private function onSelectButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
this.dispatchEvent(new Event(EndLevel.EVENT_SELECT_CLICK));
this.hide();
Main.current.showLevelBrowser();
}
private function onNextLevelUnlockRollOut(_arg1:MouseEvent):void{
_arg1.stopPropagation();
if (TweenMax.isTweening(_lockedBubble)){
TweenMax.killTweensOf(_lockedBubble, false);
};
TweenMax.to(_lockedBubble, 0.5, {alpha:0, onComplete:onNextLevelTweenComplete});
}
private function onSubmitButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
this.dispatchEvent(new Event(EndLevel.EVENT_SUBMIT_CLICK));
this.hide();
}
private function onTargetStarTweenComplete(_arg1:String):void{
Main.sound.playSound(_arg1, 0.3);
}
private function onNextLevelUnlockRollOver(_arg1:MouseEvent):void{
_arg1.stopPropagation();
_lockedBubble = Main.assets.lockedBubble;
_lockedBubble.alpha = 0;
_lockedBubble.cacheAsBitmap = true;
_endLevelPanel.addChild(_lockedBubble);
_lockedBubble.x = ((_endLevelPanel.width - _lockedBubble.width) - 10);
_lockedBubble.y = ((_endLevelPanel.height - _lockedBubble.height) - 50);
TweenMax.to(_lockedBubble, 0.5, {alpha:1});
}
private function onNextLevelButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
this.dispatchEvent(new Event(EndLevel.EVENT_NEXT_CLICK));
if (TweenMax.isTweening(_lockedBubble)){
TweenMax.killTweensOf(_lockedBubble);
};
this.hide();
Main.current.game.destroyLevel();
Main.current.game.drawLevel((_level + 1));
}
private function onHideComplete():void{
this.dispatchEvent(new Event(EndLevel.EVENT_HIDE));
}
private function onShowComplete():void{
Main.assets.playSquirrelVoice(Assets.SOUND_SQ_CHEERS, 0.3);
}
private function onNextLevelTweenComplete():void{
_endLevelPanel.removeChild(_lockedBubble);
}
public function destroy(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
TweenMax.killTweensOf(this, false);
_nextButton.removeEventListener(MouseEvent.CLICK, onNextLevelButtonClick);
_nextButton.removeEventListener(MouseEvent.MOUSE_OVER, onNextLevelUnlockRollOver);
_nextButton.removeEventListener(MouseEvent.MOUSE_OUT, onNextLevelUnlockRollOut);
_selectButton.removeEventListener(MouseEvent.CLICK, onSelectButtonClick);
_replayButton.removeEventListener(MouseEvent.CLICK, onReplayButtonClick);
_submitButton.removeEventListener(MouseEvent.CLICK, onSubmitButtonClick);
_levelData = null;
_endLevelPanel = null;
_lockedBubble = null;
_levelStats = null;
}
public function show(_arg1:Boolean=false):void{
Main.log("End Level: Show");
TweenMax.to(this, 0.5, {y:((Main.gameHeight / 2) - (this.height / 2)), onComplete:this.onShowComplete});
}
private function onReplayButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
this.dispatchEvent(new Event(EndLevel.EVENT_REPLAY_CLICK));
this.hide();
Main.current.game.destroyLevel();
Main.current.game.drawLevel(_level);
}
}
}//package
Section 197
//Game (Game)
package {
import flash.events.*;
import flash.display.*;
import org.flintparticles.twoD.emitters.*;
import flash.text.*;
import org.flintparticles.common.events.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import mochi.*;
import org.flintparticles.twoD.renderers.*;
import com.gskinner.utils.*;
import fl.motion.easing.*;
import flash.ui.*;
import flash.system.*;
public class Game extends Sprite {
private var _currentPlayerData:Object;
private var _isTesting:Boolean;// = false
private var _multiplierMeter:Sprite;
private var _multiplierBubble:Sprite;
private var _earnedHangTime:Boolean;
private var _cannon:Cannon;
private var _targetClip:Sprite;
private var _mainMenuButton:SimpleButton;
private var _currentLevelData:Object;
private var _goCrazyMissedLimit:Number;// = 0
private var _multiplierGlowTimer:Timer;
private var _randomNutForBonus:Number;// = 0
private var _shotMessages:Array;
private var _hasMultiplierBubbleShown:Boolean;// = false
private var _ballScore:Number;// = 0
private var _multiplierMask:Sprite;
private var _goalTimer:Timer;
private var _bigNutHasBeenHit:Boolean;// = false
private var _hasShotEndedAndStarBubbleShown:Boolean;// = false
private var _level:Level;
private var _moreButton:Sprite;
private var _rightWall:RectangleParticle;
private var _bestText:TextField;
private var _multiplierBonus:Number;// = 5000
private var _startLevelGo:Sprite;
private var _multiplierText:TextField;
private var _pegHitCount:Number;// = 0
private var _bestClip:Sprite;
private var _goalContainer:Sprite;
private var _grass:Bitmap;
private var _selectLevelButton:SimpleButton;
private var _bigNutPegBonusCount:Number;// = 0
private var _endLevel:EndLevel;
private var _background:Background;
private var _multiplierClip:Sprite;
private var _timersToShotMessages:Dictionary;
private var _missedBall:Number;// = 0
private var _levelComplete:Boolean;// = false
private var _hasStarBubbleShown:Boolean;// = false
private var _shotTimer:Timer;
private var _timers:Array;
private var _bigNutHitCount:Number;// = 0
private var _pauseMenu:Sprite;
private var _currentPegScore:Number;// = 0
private var _meterStarOn:Sprite;
private var _levelScore:Number;// = 0
private var _menuButton:SimpleButton;
private var _emittersToRenderers:Dictionary;
private var _floor:RectangleParticle;
private var _editedLevel:Boolean;// = false
private var _goCrazyPegLimit:Number;// = 10
private var _menuButtonContainer:Sprite;
private var _currentLevelNumber:Number;
private var _gamePaused:Boolean;// = false
private var _scoreText:TextField;
private var _levelText:TextField;
private var _soundButton:MuteButton;
private var _multiplier:Number;// = 0
private var _memoryText:TextField;
private var _totalShots:Number;// = 0
private var _levelClip:Sprite;
private var _isGoalFlipped:Boolean;
private var _group:Group;
private var _scoreClip:Sprite;
private var _ceiling:RectangleParticle;
private var _bigNut:BigNut;
private var _score:Number;// = 0
private var _leaderBoard:LeaderboardPanel;
private var _resumeButton:SimpleButton;
private var _hasShownCrazyGoNuts:Boolean;// = false
private var _mostPegsCount:Number;// = 0
private var _levelTimer:Timer;
private var _defaultPegScore:Number;// = 100
private var _glowCycleTime:int;// = 1000
private var _longestHangTime:Number;// = 0
private var _leftWall:RectangleParticle;
private var _meterStarOff:Sprite;
private var _pegHitShotCount:Number;// = 0
private var _multiplierStar:Sprite;
private var _multiplierMax:Number;// = 10
private var _startLevelNum:Sprite;
private var _bigNutPegBonus:Number;// = 5000
private var _bigNutBonus:Number;// = 10000
private var _shotMessageTimer:Timer;
private var _meterStar:Sprite;
private var _targetText:TextField;
public static const GRID_Y:Number = 70;
public static const GRID_HEIGHT:Number = 35;
public static const GRID_COLUMNS:Number = 18;
public static const GRID_WIDTH:Number = 35;
public static const GRID_ROWS:Number = 10;
public static const GRID_X:Number = 5;
public function Game(){
_grass = Main.assets.grass;
_timers = new Array();
_emittersToRenderers = new Dictionary(true);
_timersToShotMessages = new Dictionary(true);
super();
Main.log("Game: Constructor");
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
private function onTweenCompleteRemove(_arg1:DisplayObject):void{
if (contains(_arg1)){
removeChild(_arg1);
};
}
private function onKeyPress(_arg1:KeyboardEvent):void{
_arg1.stopPropagation();
if (_arg1.charCode == 101){
showEndLevel();
};
if (_arg1.charCode == 114){
destroyLevel();
drawLevel(_currentLevelNumber);
};
if (_arg1.charCode == 112){
showPauseMenu();
};
}
private function onFlipGoals(_arg1:TimerEvent):void{
if (_isGoalFlipped){
TweenMax.to(_bestClip, 0.5, {y:"17"});
TweenMax.to(_targetClip, 0.5, {y:"17"});
_isGoalFlipped = false;
} else {
TweenMax.to(_bestClip, 0.5, {y:"-17"});
TweenMax.to(_targetClip, 0.5, {y:"-17"});
_isGoalFlipped = true;
};
}
private function showCrazyGoNuts(_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, showCrazyGoNuts);
Main.sound.playSound(Assets.SOUND_LAUGH, 0.3);
var _local2:Sprite = Main.assets.logoHorizontal;
addChild(_local2);
_local2.y = 100;
_local2.x = (stage.stageWidth + _local2.width);
TweenMax.sequence(_local2, [{time:0.5, x:((stage.stageWidth / 2) - (_local2.width / 2)), ease:Linear.easeIn}, {time:0.5, delay:1.5, x:-(_local2.width), ease:Linear.easeOut, onComplete:onTweenCompleteRemove, onCompleteParams:[_local2]}]);
}
private function onMeterTweenComplete():void{
var _local1:Emitter2D;
var _local2:BitmapRenderer;
if (_multiplier >= _multiplierMax){
Main.sound.playSound(Assets.SOUND_METERFULL, 0.2);
_meterStarOff.visible = false;
_meterStarOn.visible = true;
_local1 = Main.particles.meterStarBurst(_meterStar.x, _meterStar.y);
_local2 = new BitmapRenderer(new Rectangle((_meterStar.x - 100), (_meterStar.y - 100), 200, 200));
_local2.addFilter(new BlurFilter(2, 2, 1));
_local2.addFilter(new ColorMatrixFilter([2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.95, 0]));
_local2.addEmitter(_local1);
Main.current.game.addChildAt((_local2 as DisplayObject), 10);
_local1.addEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty);
_emittersToRenderers[_local1] = _local2;
_local1.start();
TweenMax.sequence(_meterStar, new Array({time:0.3, scaleX:1.2, scaleY:1.2, rotation:180, ease:Linear.easeOut}, {time:0.6, scaleX:1, scaleY:1, rotation:720, ease:Linear.easeIn, onComplete:onMultiplierStarTweenComplete}));
};
}
private function beginLevel():void{
_cannon.canFire = true;
_levelTimer = new Timer(1000);
_levelTimer.start();
_startLevelNum = Main.text.startLevelText(("Level " + _currentLevelNumber));
addChild(_startLevelNum);
Utility.centerClip(_startLevelNum);
var _local1:Point = new Point(_startLevelNum.x, _startLevelNum.y);
_startLevelNum.scaleX = 0;
_startLevelNum.scaleY = 0;
Utility.centerClip(_startLevelNum);
_startLevelGo = Main.text.startLevelText("GO!");
addChild(_startLevelGo);
Utility.centerClip(_startLevelGo);
var _local2:Point = new Point(_startLevelGo.x, _startLevelGo.y);
_startLevelGo.scaleX = 0;
_startLevelGo.scaleY = 0;
Utility.centerClip(_startLevelGo);
TweenMax.sequence(_startLevelNum, [{time:0.5, scaleX:1, scaleY:1, x:_local1.x, y:_local1.y}, {time:0.5, y:"-50", alpha:0}]);
TweenMax.sequence(_startLevelGo, [{time:0.5, delay:0.9, scaleX:1, scaleY:1, x:_local2.x, y:_local2.y}, {time:0.5, y:"-50", alpha:0}]);
var _local3:Timer = new Timer(4000, 1);
_local3.addEventListener(TimerEvent.TIMER_COMPLETE, onRemoveLevelMessage, false, 0, true);
_local3.start();
_local3 = null;
}
private function setTargetText(_arg1:Number):void{
_targetText.text = ("Target Score: " + Utility.commafy(_arg1));
_targetText.width = _targetText.width;
_targetClip.getChildByName("gradient").width = _targetText.width;
_targetClip.getChildByName("gradient").height = _targetText.height;
}
private function addScore(_arg1:Number):void{
var add = _arg1;
var current:Number = _levelScore;
_levelScore = (_levelScore + add);
Utility.countTo(current, _levelScore, 1000, function (_arg1:Number):void{
setScoreText(_arg1);
});
}
private function onMultiplierStarTweenComplete(_arg1:TimerEvent=null):void{
_multiplierGlowTimer = new Timer(_glowCycleTime);
_multiplierGlowTimer.addEventListener(TimerEvent.TIMER, onGlowTimer, false, 0, true);
_multiplierGlowTimer.start();
}
private function showShotMessage():void{
var _local6:Sprite;
if (((_shotMessages) && ((_shotMessages.length > 0)))){
for each (_local6 in _shotMessages) {
hideShotMessage(_local6);
};
};
_shotMessages = new Array();
var _local1:Sprite = Main.assets.shotMessage;
var _local2:Sprite = (_local1.getChildByName("nutcount_mc") as Sprite);
var _local3:TextField = (_local2.getChildByName("nut_txt") as TextField);
var _local4:TextField = (_local1.getChildByName("score_txt") as TextField);
addChild(_local1);
_local3.autoSize = TextFieldAutoSize.LEFT;
_local4.autoSize = TextFieldAutoSize.LEFT;
_local3.text = (("X " + _pegHitShotCount) + " = ");
_local4.text = Utility.commafy(_ballScore);
_local3.width = _local3.textWidth;
_local4.width = _local4.textWidth;
_local4.x = ((_local2.x + _local2.width) - 3);
Utility.centerClip(_local1);
_local1.x = (_local1.x - 6);
_local1.y = (_scoreClip.height + 7);
_shotMessages.push(_local1);
TweenMax.from(_local1, 0.5, {alpha:0, y:"25"});
var _local5:Timer = new Timer(2500, 1);
_local5.addEventListener(TimerEvent.TIMER_COMPLETE, onShotMessageComplete, false, 0, true);
_timersToShotMessages[_local5] = _local1;
_timers.push(_local5);
_local5.start();
}
private function onMenuButtonOut(_arg1:MouseEvent):void{
TweenMax.to(_menuButtonContainer, 0.3, {alpha:0.6});
_menuButtonContainer.removeEventListener(Event.ENTER_FRAME, rotateMenuButton);
}
private function createSoundButton():void{
_soundButton = new MuteButton();
_soundButton.x = 40;
_soundButton.y = (Main.gameHeight - 31);
addChild(_soundButton);
_soundButton.updateState();
}
private function setLevelText(_arg1:Number):void{
_levelText.text = ("LEVEL: " + _arg1.toString());
_levelClip.width = _levelText.width;
_levelClip.getChildByName("gradient").width = _levelClip.width;
}
private function onWallHit(_arg1:WallEvent):void{
}
private function onGlowTimer(_arg1:TimerEvent=null):void{
TweenMax.sequence(_meterStar, [{time:0.5, glowFilter:{alpha:1, blurX:7, blurY:7, color:14496682, strength:4}}, {time:0.5, glowFilter:{alpha:0, blurX:7, blurY:7, color:14496682, strength:4}}]);
}
private function setScoreText(_arg1:Number):void{
_scoreText.text = Utility.commafy(_arg1);
_scoreText.width = _scoreText.textWidth;
_scoreClip.width = (_scoreText.textWidth + 5);
_scoreClip.getChildByName("gradient").width = _scoreClip.width;
_scoreClip.x = (320 - (_scoreClip.width / 2));
}
public function drawLevel(_arg1:Number, _arg2:Object=null):void{
var _local3:Peg;
var _local4:Wall;
Main.log(("Game: Draw Level -> " + _arg1));
if (((!(_arg2)) && (_arg1))){
_currentLevelNumber = _arg1;
_currentLevelData = Main.levelData.loadLevel(_currentLevelNumber);
} else {
_isTesting = true;
_currentLevelNumber = 100;
_currentLevelData = _arg2;
_editedLevel = true;
};
_currentPlayerData = Main.player.getLevel(_currentLevelNumber);
_levelComplete = false;
if (_isTesting){
_cannon.multiBall = true;
};
_level = new Level(_group, _currentLevelData, _currentLevelNumber);
addChildAt(_level, 0);
for each (_local3 in _level.pegs) {
_local3.addEventListener(PegEvent.HIT, onPegHit, false, 0, true);
};
for each (_local4 in _level.walls) {
_local4.addEventListener(WallEvent.HIT, onWallHit, false, 0, true);
};
_bestClip.y = 0;
_targetClip.y = (_bestClip.y + _bestClip.height);
_isGoalFlipped = false;
setLevelText(_currentLevelNumber);
setBestScore((_currentPlayerData.score as Number));
setTargetText(_currentLevelData.targetScore);
changeMultiplier(_multiplier);
_cannon = new Cannon(_group);
addChild(_cannon);
_cannon.x = ((Main.gameWidth - 50) - _cannon.width);
_cannon.y = (Main.gameHeight - _cannon.height);
_cannon.canFire = false;
_currentPegScore = _defaultPegScore;
_cannon.addEventListener(CannonEvent.SHOT_COMPLETE, onShotComplete, false, 0, true);
_cannon.addEventListener(CannonEvent.FIRED, onShotFired, false, 0, true);
if (contains(_scoreClip)){
removeChild(_scoreClip);
};
_scoreClip = Main.text.scoreText("0");
_scoreText = (_scoreClip.getChildByName("text") as TextField);
addChild(_scoreClip);
setScoreText(0);
_multiplierMax = _currentLevelData.starCount;
_randomNutForBonus = Rnd.integer(3, (_currentLevelData.nutCount - 5));
beginLevel();
}
private function onMenuButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
showPauseMenu();
}
private function onRemoveLevelMessage(_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, onRemoveLevelMessage);
_arg1.target.stop();
if (contains(_startLevelGo)){
removeChild(_startLevelGo);
};
_startLevelGo = null;
if (contains(_startLevelNum)){
removeChild(_startLevelNum);
};
_startLevelNum = null;
}
public function update(_arg1:Event):void{
if (!_gamePaused){
APEngine.step();
APEngine.step();
APEngine.paint();
};
if (((((_cannon.fired) && (!(_earnedHangTime)))) && ((_cannon.shotTime > 10)))){
_earnedHangTime = true;
rewardMessage("Nice hang time!!");
};
if (Main.debug){
_memoryText.text = (System.totalMemory / 0x0400).toString();
};
}
private function onBigNutHit(_arg1:Event):void{
_bigNutHitCount++;
var _local2:Number = (_bigNutBonus * _bigNutHitCount);
addScore(_local2);
addMultiplier(5);
changeMultiplier(_multiplier);
_bigNutHasBeenHit = true;
var _local3:Point = new Point(((_bigNut.x + (_bigNut.nutSprite.width / 2)) - 15), (_bigNut.y + 15));
_level.showStar(_local3, "5", Level.BONUS_STARS);
if ((_pegHitCount + 5) < (_currentLevelData.nutCount - 5)){
_randomNutForBonus = Rnd.integer((_pegHitCount + 5), (_currentLevelData.nutCount - 5));
};
}
private function onLeaderboardDone(_arg1:Event):void{
_endLevel.show();
}
private function setBestScore(_arg1:Number):void{
var _local2:Number = (_currentPlayerData.score as Number);
if (_arg1 > 0){
_bestText.text = ("Personal Best: " + Utility.commafy(_local2));
} else {
_bestText.text = "Personal Best: ---";
};
_bestClip.width = _bestText.width;
_bestClip.height = _bestText.height;
_bestClip.getChildByName("gradient").width = _bestText.width;
_bestClip.getChildByName("gradient").height = _bestText.height;
}
private function onSubmitClick(_arg1:Event):void{
_leaderBoard = new LeaderboardPanel(_currentLevelNumber, _levelScore);
addChild(_leaderBoard);
_leaderBoard.addEventListener(LeaderboardPanel.EVENT_DONE, onLeaderboardDone, false, 0, true);
}
private function onShotFired(_arg1:CannonEvent):void{
_shotTimer = new Timer(1000);
_shotTimer.start();
}
private function onResumeButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
resumeGame();
hidePauseMenu();
}
private function pauseGame():void{
}
private function onMoreButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
}
private function hideShotMessage(_arg1:Sprite):void{
TweenMax.to(_arg1, 0.5, {alpha:0, y:"20", onComplete:onTweenCompleteRemove, onCompleteParams:[_arg1]});
}
private function rotateMenuButton(_arg1:Event):void{
_menuButtonContainer.rotation = (_menuButtonContainer.rotation + 3);
}
private function onSelectLevelButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
Main.current.showLevelBrowser();
}
private function onMainMenuButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
if (_editedLevel){
Main.current.showLevelEditor(_currentLevelData);
} else {
Main.current.showMenu();
};
}
private function addMultiplier(_arg1:Number):void{
_multiplier = (_multiplier + _arg1);
if (_multiplier > _multiplierMax){
_multiplier = _multiplierMax;
};
_currentPegScore = (_defaultPegScore * _multiplier);
}
public function draw(_arg1:Event):void{
var edit:SimpleButton;
var b:Sprite;
var t:TextField;
var mem:Sprite;
var e = _arg1;
Main.log("Game: draw start");
removeEventListener(Event.ADDED_TO_STAGE, draw);
APEngine.init((1 / 8));
APEngine.container = this;
APEngine.addForce(new VectorForce(false, 0, 2));
_group = new Group();
_group.collideInternal = true;
APEngine.addGroup(_group);
_floor = new RectangleParticle((Main.gameWidth / 2), (Main.gameHeight + 15), Main.gameWidth, 30, 0, true);
_floor.visible = false;
_floor.sprite.name = "floor";
_group.addParticle(_floor);
_ceiling = new RectangleParticle((Main.gameWidth / 2), -15, Main.gameWidth, 30, 0, true);
_ceiling.visible = false;
_ceiling.sprite.name = "ceiling";
_group.addParticle(_ceiling);
_leftWall = new RectangleParticle(-15, (Main.gameHeight / 2), 30, Main.gameHeight, 0, true);
_leftWall.visible = false;
_leftWall.sprite.name = "left_wall";
_group.addParticle(_leftWall);
_rightWall = new RectangleParticle((Main.gameWidth + 15), (Main.gameHeight / 2), 30, Main.gameHeight, 0, true);
_rightWall.visible = false;
_rightWall.sprite.name = "right_wall";
_group.addParticle(_rightWall);
_grass = Main.assets.grass;
_grass.cacheAsBitmap = true;
_grass.y = (Main.gameHeight - 40);
addChild(_grass);
createMenuButton();
createSoundButton();
_levelClip = Main.text.levelText("LEVEL: 1");
_levelText = (_levelClip.getChildByName("text") as TextField);
addChild(_levelClip);
_levelClip.x = 20;
_levelClip.y = 15;
_goalContainer = new Sprite();
_goalContainer.x = 20;
_goalContainer.y = (_levelClip.y + _levelText.height);
addChild(_goalContainer);
var msk:Sprite = new Sprite();
msk.graphics.beginFill(0);
msk.graphics.drawRect(0, 0, 300, 16);
msk.x = _goalContainer.x;
msk.y = _goalContainer.y;
addChild(msk);
_goalContainer.mask = msk;
_bestClip = Main.text.bestText("Personal Best: ");
_bestText = (_bestClip.getChildByName("text") as TextField);
_bestClip.x = 0;
_bestClip.y = 0;
_goalContainer.addChild(_bestClip);
_targetClip = Main.text.bestText("10,000");
_targetText = (_targetClip.getChildByName("text") as TextField);
_targetClip.x = 0;
_targetClip.y = (_bestClip.y + _bestClip.height);
_goalContainer.addChild(_targetClip);
var _goalTimer:Timer = new Timer(7000);
_goalTimer.addEventListener(TimerEvent.TIMER, onFlipGoals, false, 0, true);
_goalTimer.start();
_timers.push(_goalTimer);
_scoreClip = Main.text.scoreText("0");
_scoreText = (_scoreClip.getChildByName("text") as TextField);
addChild(_scoreClip);
_multiplierClip = Main.text.multiplierText("STARS: 0");
_multiplierText = (_multiplierClip.getChildByName("text") as TextField);
addChild(_multiplierClip);
_multiplierClip.x = ((Main.gameWidth - _multiplierClip.width) - 20);
_multiplierClip.y = 15;
_multiplierMeter = Main.assets.multiplierMeter;
_multiplierMask = (_multiplierMeter.getChildByName("mask_mc") as Sprite);
_multiplierMask.width = 0;
_multiplierMeter.x = ((Main.gameWidth - _multiplierMeter.width) - 20);
_multiplierMeter.y = ((_multiplierClip.y + _multiplierClip.height) + 3);
addChild(_multiplierMeter);
_meterStar = Main.assets.meterStar;
_meterStarOn = (_meterStar.getChildByName("starOn_mc") as Sprite);
_meterStarOff = (_meterStar.getChildByName("starOff_mc") as Sprite);
_meterStarOn.scaleX = 0.8;
_meterStarOn.scaleY = _meterStarOn.scaleX;
_meterStarOn.x = ((-(_meterStarOn.width) / 2) + 0.5);
_meterStarOn.y = ((-(_meterStarOn.height) / 2) + 0.5);
_meterStarOff.scaleX = _meterStarOn.scaleX;
_meterStarOff.scaleY = _meterStarOn.scaleY;
_meterStarOff.x = _meterStarOn.x;
_meterStarOff.y = _meterStarOn.y;
_meterStar.x = (_multiplierMeter.x + _multiplierMeter.width);
_meterStar.y = ((_multiplierMeter.y - 1.7) + (_multiplierMeter.height / 2));
_meterStarOff.visible = true;
_meterStarOn.visible = false;
addChild(_meterStar);
_bigNut = new BigNut(_group);
_bigNut.y = (Main.gameHeight + 10);
addChild(_bigNut);
_bigNut.addEventListener(BigNut.EVENT_HIT, onBigNutHit, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress, false, 0, true);
if (Main.debug){
edit = new SimpleButton();
b = new Sprite();
b.graphics.lineStyle(1, 0xFFFFFF);
b.graphics.beginFill(11154227);
b.graphics.drawRect(0, 0, 80, 20);
t = new TextField();
t.text = "edit";
t.height = 20;
t.x = ((b.width / 2) - t.textWidth);
t.y = 5;
b.addChild(t);
b.alpha = 0.4;
edit.upState = b;
edit.downState = b;
edit.overState = b;
edit.hitTestState = b;
edit.x = 80;
edit.y = (Main.gameHeight - 31);
addChild(edit);
edit.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{
_arg1.stopPropagation();
Main.current.showLevelEditor(_currentLevelData);
});
};
if (Main.debug){
mem = new Sprite();
_memoryText = new TextField();
_memoryText.text = (System.totalMemory / 0x0400).toString();
mem.addChild(_memoryText);
addChild(mem);
};
Main.log("Game: draw end");
}
private function hidePauseMenu():void{
TweenMax.to(_pauseMenu, 0.5, {y:(-(_pauseMenu.height) - 20), onComplete:function ():void{
removeChild(_pauseMenu);
_pauseMenu = null;
_cannon.canFire = true;
}});
}
private function showEndLevel(_arg1:TimerEvent=null):void{
Main.log("Game: Show end level");
if (_arg1){
_arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, showEndLevel);
};
_levelComplete = true;
_levelTimer.stop();
_bigNut.hide();
Main.player.saveLevel(_currentLevelNumber, _levelScore, _levelTimer.currentCount);
_endLevel = new EndLevel(_currentLevelNumber, _currentLevelData, {score:_levelScore, levelTime:_levelTimer.currentCount, mostPegs:_mostPegsCount, shots:_totalShots, hangTime:_longestHangTime});
addChild(_endLevel);
_endLevel.addEventListener(EndLevel.EVENT_SUBMIT_CLICK, onSubmitClick, false, 0, true);
}
private function createMenuButton():void{
_menuButton = new SimpleButton();
_menuButton.upState = Main.assets.gear;
_menuButton.downState = Main.assets.gear;
_menuButton.overState = Main.assets.gear;
_menuButton.hitTestState = Main.assets.gear;
_menuButtonContainer = new Sprite();
_menuButtonContainer.addChild(_menuButton);
_menuButton.x = (-(_menuButton.width) / 2);
_menuButton.y = (-(_menuButton.height) / 2);
_menuButtonContainer.x = 20;
_menuButtonContainer.y = (Main.gameHeight - 20);
_menuButtonContainer.alpha = 0.6;
addChild(_menuButtonContainer);
_menuButton.addEventListener(MouseEvent.MOUSE_OVER, onMenuButtonOver, false, 0, true);
_menuButton.addEventListener(MouseEvent.MOUSE_OUT, onMenuButtonOut, false, 0, true);
_menuButton.addEventListener(MouseEvent.CLICK, onMenuButtonClick, false, 0, true);
}
private function changeMultiplier(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
_multiplierText.text = ("STARS: " + _arg1);
_multiplierClip.width = _multiplierText.width;
_multiplierClip.getChildByName("gradient").width = _multiplierText.width;
if (_multiplierMask.width < _multiplierMeter.width){
_local2 = _multiplierMeter.width;
_local3 = (_local2 / _multiplierMax);
TweenMax.to(_multiplierMask, 1, {delay:1.3, width:(_local3 * _arg1), onComplete:onMeterTweenComplete});
} else {
_multiplierMask.width = _multiplierMeter.width;
};
}
private function onMenuButtonOver(_arg1:MouseEvent):void{
TweenMax.to(_menuButtonContainer, 0.3, {alpha:1});
_menuButtonContainer.addEventListener(Event.ENTER_FRAME, rotateMenuButton, false, 0, true);
}
private function onShotMessageComplete(_arg1:TimerEvent):void{
var _local2:Timer = (_arg1.target as Timer);
_local2.removeEventListener(TimerEvent.TIMER_COMPLETE, onShotMessageComplete);
_local2.stop();
_timers.splice(_timers.indexOf(_local2), 1);
hideShotMessage(_timersToShotMessages[_local2]);
delete _timersToShotMessages[_local2];
}
public function destroyLevel():void{
var _local1:Peg;
var _local2:Wall;
Main.log("Game: Destroy Level");
for each (_local1 in _level.pegs) {
_local1.removeEventListener(PegEvent.HIT, onPegHit);
};
for each (_local2 in _level.walls) {
_local2.removeEventListener(WallEvent.HIT, onWallHit);
};
removeChild(_level);
_level = null;
if (((_endLevel) && (contains(_endLevel)))){
removeChild(_endLevel);
};
if (((_leaderBoard) && (contains(_leaderBoard)))){
removeChild(_leaderBoard);
};
Main.sound.stopSound(Assets.SOUND_RISE);
Main.sound.stopSound(Assets.SOUND_BAWONG);
Main.sound.stopSound(Assets.SOUND_FANFARE);
if (((_cannon) && (contains(_cannon)))){
removeChild(_cannon);
_cannon.removeEventListener(CannonEvent.SHOT_COMPLETE, onShotComplete);
_cannon.removeEventListener(CannonEvent.FIRED, onShotFired);
};
_cannon = null;
_pegHitShotCount = 0;
_pegHitCount = 0;
_levelScore = 0;
_mostPegsCount = 0;
_totalShots = 0;
_longestHangTime = 0;
_currentPegScore = _defaultPegScore;
_multiplier = 0;
_randomNutForBonus = 0;
_bigNutHitCount = 0;
_hasShownCrazyGoNuts = false;
_currentLevelData = null;
_hasShotEndedAndStarBubbleShown = false;
_hasStarBubbleShown = false;
_multiplierMask.width = 0;
_meterStarOff.visible = true;
_meterStarOn.visible = false;
_meterStar.filters = [];
if (_multiplierGlowTimer){
_multiplierGlowTimer.stop();
_multiplierGlowTimer.removeEventListener(TimerEvent.TIMER, onGlowTimer);
_multiplierGlowTimer = null;
};
TweenMax.killAllTweens();
TweenMax.killAllDelayedCalls();
_bigNut.hide();
_group.cleanup();
}
private function resumeGame():void{
}
private function onShotComplete(_arg1:CannonEvent):void{
var _local2:Timer;
var _local3:Timer;
var _local4:Timer;
_ballScore = (_ballScore + (_pegHitShotCount * _currentPegScore));
if (_bigNutHasBeenHit){
_ballScore = (_ballScore + (_bigNutPegBonusCount * _bigNutPegBonus));
};
addScore(_ballScore);
_shotTimer.stop();
if (_shotTimer.currentCount > _longestHangTime){
_longestHangTime = _shotTimer.currentCount;
};
_shotTimer = null;
if (_pegHitShotCount > _mostPegsCount){
_mostPegsCount = _pegHitShotCount;
};
_totalShots++;
if (_hasStarBubbleShown){
_hasShotEndedAndStarBubbleShown = true;
};
if (_level.pegs.length > 0){
if ((((_missedBall >= _goCrazyMissedLimit)) && ((_level.pegs.length < _goCrazyPegLimit)))){
_cannon.multiBall = true;
if (!_hasShownCrazyGoNuts){
_local2 = new Timer(300, 1);
_local2.addEventListener(TimerEvent.TIMER_COMPLETE, showCrazyGoNuts, false, 0, true);
_local2.start();
_timers.push(_local2);
_hasShownCrazyGoNuts = true;
};
} else {
_cannon.multiBall = false;
};
} else {
_cannon.canFire = false;
if (((!(_currentPlayerData.score)) || ((_levelScore > _currentPlayerData.score)))){
_local3 = new Timer(1500, 1);
_local3.addEventListener(TimerEvent.TIMER_COMPLETE, showPersonalBest, false, 0, true);
_local3.start();
_timers.push(_local3);
} else {
_local4 = new Timer(1500, 1);
_local4.addEventListener(TimerEvent.TIMER_COMPLETE, showEndLevel, false, 0, true);
_local4.start();
_timers.push(_local4);
};
};
if (_isTesting){
_cannon.multiBall = true;
};
if (_pegHitShotCount > 0){
showShotMessage();
} else {
_missedBall++;
};
_ballScore = 0;
_pegHitShotCount = 0;
_bigNutHasBeenHit = false;
_bigNutPegBonusCount = 0;
}
private function rewardMessage(_arg1:String):void{
var text = _arg1;
var m:Sprite = Main.text.rewardMessage(text);
addChild(m);
Utility.centerClip(m);
m.y = (m.y - 100);
TweenMax.to(m, 1.5, {alpha:0, y:"-30", onComplete:function (_arg1:Sprite):void{
removeChild(_arg1);
_arg1 = null;
}, onCompleteParams:[m]});
}
public function onPegHit(_arg1:PegEvent):void{
var _local5:String;
var _local6:Point;
var _local7:Sprite;
var _local8:Number;
_pegHitShotCount++;
_pegHitCount++;
var _local2:Number = _currentPegScore;
var _local3:uint;
if (_bigNutHasBeenHit){
_bigNutPegBonusCount++;
_local2 = (_local2 + _bigNutPegBonus);
_local3 = 14496563;
};
_level.showPegHitScore(_arg1.peg, _local2, _local3);
var _local4:Number = 0;
switch (_pegHitShotCount){
case 3:
_local4 = 2;
break;
case 6:
_local4 = 3;
break;
case 9:
_local4 = 4;
break;
case 12:
_local4 = 6;
case 16:
_local4 = 6;
case 20:
_local4 = 6;
break;
};
if (_local4 > 0){
_local5 = "";
_local6 = new Point(((_arg1.peg.x + (_arg1.peg.width / 2)) + 5), ((_arg1.peg.y + (_arg1.peg.height / 2)) - 4));
if (_multiplier < _multiplierMax){
addMultiplier(_local4);
changeMultiplier(_multiplier);
_local5 = String(_local4);
_level.showStar(_local6, _local5, Level.BONUS_STARS);
if ((((((_currentLevelNumber == 1)) && (!(_hasMultiplierBubbleShown)))) && (_hasShotEndedAndStarBubbleShown))){
_local7 = Main.assets.meterBubble;
_local7.x = (_multiplierMeter.x - 60);
_local7.y = (_multiplierMeter.y + 4);
addChild(_local7);
TweenMax.to(_local7, 0.5, {delay:3, alpha:0, onComplete:onTweenCompleteRemove, onCompleteParams:[_local7]});
_hasMultiplierBubbleShown = true;
};
} else {
_local8 = (_local4 * _multiplierBonus);
_local5 = Utility.commafy(_local8);
addScore(_local8);
_level.showStar(_local6, _local5, Level.BONUS_POINTS);
};
if (Rnd.boolean(0.1)){
Main.assets.playSquirrelVoice(Assets.SOUND_SQ_CHEERS);
};
} else {
if (Rnd.boolean(0.025)){
Main.assets.playSquirrelVoice(Assets.SOUND_SQ_ALL);
};
};
if (_pegHitCount == _randomNutForBonus){
if ((((_currentLevelNumber == 1)) && ((_bigNutHitCount == 0)))){
_bigNut.show(true);
_hasStarBubbleShown = true;
} else {
_bigNut.show();
};
};
}
private function showPersonalBest(_arg1:TimerEvent=null):void{
var congrats:Sprite;
var pers:Sprite;
var score:Sprite;
var e = _arg1;
if (e){
e.target.removeEventListener(TimerEvent.TIMER_COMPLETE, showPersonalBest);
};
_bigNut.hide();
congrats = Main.text.personalBestText1("CONGRATULATIONS");
addChild(congrats);
Utility.centerClip(congrats);
congrats.y = 100;
pers = Main.text.personalBestText2("A New Personal Best!");
addChild(pers);
Utility.centerClip(pers);
pers.y = ((congrats.y + congrats.height) - 13);
score = Main.text.personalBestText3(Utility.commafy(_levelScore));
addChild(score);
Utility.centerClip(score);
score.y = ((pers.y + pers.height) + 5);
var messageDelay:Number = 4;
var congr_orig:Point = new Point(congrats.x, congrats.y);
congrats.scaleX = 0;
congrats.scaleY = congrats.scaleX;
Utility.centerClip(congrats);
TweenMax.sequence(congrats, [{time:0.5, scaleX:1, scaleY:1, x:congr_orig.x, y:congr_orig.y}, {time:0.5, delay:messageDelay, y:"50", alpha:0}]);
var pers_orig:Point = new Point(pers.x, pers.y);
pers.scaleX = 0;
pers.scaleY = pers.scaleX;
Utility.centerClip(pers);
TweenMax.sequence(pers, [{time:0.5, delay:0.3, scaleX:1, scaleY:1, x:pers_orig.x, y:pers_orig.y}, {time:0.5, delay:(messageDelay - 0.3), y:"50", alpha:0}]);
var score_orig:Point = new Point(score.x, score.y);
score.scaleX = 0;
score.scaleY = score.scaleX;
Utility.centerClip(score);
TweenMax.sequence(score, [{time:0.5, delay:0.5, scaleX:1, scaleY:1, x:score_orig.x, y:score_orig.y}, {time:0.5, delay:(messageDelay - 0.5), y:"50", alpha:0, onComplete:function ():void{
removeChild(score);
removeChild(pers);
removeChild(congrats);
Main.sound.fadeSound(Assets.SOUND_FANFARE, 0, 0.5);
showEndLevel();
}}]);
Main.sound.playSound(Assets.SOUND_FANFARE, 0.3);
}
private function showPauseMenu():void{
pauseGame();
if (!_pauseMenu){
_pauseMenu = Main.assets.pauseMenu;
};
if (!_pauseMenu.parent){
addChild(_pauseMenu);
_resumeButton = (_pauseMenu.getChildByName("resume_btn") as SimpleButton);
_mainMenuButton = (_pauseMenu.getChildByName("main_btn") as SimpleButton);
_moreButton = (_pauseMenu.getChildByName("more_btn") as Sprite);
_selectLevelButton = (_pauseMenu.getChildByName("select_btn") as SimpleButton);
_resumeButton.addEventListener(MouseEvent.CLICK, onResumeButtonClick, false, 0, true);
_mainMenuButton.addEventListener(MouseEvent.CLICK, onMainMenuButtonClick, false, 0, true);
_moreButton.addEventListener(MouseEvent.CLICK, onMoreButtonClick, false, 0, true);
_selectLevelButton.addEventListener(MouseEvent.CLICK, onSelectLevelButtonClick, false, 0, true);
MochiServices.addLinkEvent("http://x.mochiads.com/link/c0a76582595a8b18", "http://www.andkon.com/arcade/", _moreButton);
};
Utility.centerClip(_pauseMenu);
TweenMax.from(_pauseMenu, 0.5, {y:(-(_pauseMenu.height) - 20)});
}
public function destroy(_arg1:Event):void{
var _local2:Timer;
Main.log("Game: begin destroy");
removeEventListener(Event.ENTER_FRAME, update);
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
destroyLevel();
_group.removeParticle(_leftWall);
_group.removeParticle(_rightWall);
_group.removeParticle(_floor);
_group.removeParticle(_ceiling);
_ceiling.cleanup();
_ceiling = null;
_floor.cleanup();
_floor = null;
_rightWall.cleanup();
_rightWall = null;
_leftWall.cleanup();
_leftWall = null;
if (((_cannon) && (contains(_cannon)))){
removeChild(_cannon);
};
_cannon = null;
if (contains(_grass)){
removeChild(_grass);
};
_grass = null;
if (contains(_levelClip)){
removeChild(_levelClip);
};
_levelClip = null;
if (contains(_scoreClip)){
removeChild(_scoreClip);
};
_scoreClip = null;
if (contains(_goalContainer)){
removeChild(_goalContainer);
};
_goalContainer = null;
_targetClip = null;
_bestClip = null;
if (_goalTimer){
_goalTimer.removeEventListener(TimerEvent.TIMER, onFlipGoals);
};
_goalTimer = null;
if (_menuButton){
_menuButton.removeEventListener(MouseEvent.MOUSE_OVER, onMenuButtonOver);
_menuButton.removeEventListener(MouseEvent.MOUSE_OUT, onMenuButtonOut);
_menuButton.removeEventListener(MouseEvent.CLICK, onMenuButtonClick);
if (_menuButtonContainer.contains(_menuButton)){
_menuButtonContainer.removeChild(_menuButton);
};
};
_menuButton = null;
if (contains(_menuButtonContainer)){
removeChild(_menuButtonContainer);
};
_menuButtonContainer = null;
if (contains(_soundButton)){
removeChild(_soundButton);
};
_soundButton = null;
if (_resumeButton){
_resumeButton.removeEventListener(MouseEvent.CLICK, onResumeButtonClick);
};
_resumeButton = null;
if (_mainMenuButton){
_mainMenuButton.removeEventListener(MouseEvent.CLICK, onMainMenuButtonClick);
};
_mainMenuButton = null;
if (_moreButton){
_moreButton.removeEventListener(MouseEvent.CLICK, onMoreButtonClick);
};
_moreButton = null;
if (_selectLevelButton){
_selectLevelButton.removeEventListener(MouseEvent.CLICK, onSelectLevelButtonClick);
};
_selectLevelButton = null;
if (((_bigNut) && (contains(_bigNut)))){
removeChild(_bigNut);
};
_bigNut.removeEventListener(BigNut.EVENT_HIT, onBigNutHit);
_bigNut = null;
_currentLevelData = null;
if (((_pauseMenu) && (contains(_pauseMenu)))){
removeChild(_pauseMenu);
};
_pauseMenu = null;
if (((_multiplierBubble) && (contains(_multiplierBubble)))){
removeChild(_multiplierBubble);
};
_multiplierBubble = null;
APEngine.removeGroup(_group);
APEngine.container = null;
APEngine.removeAllForce();
_group = null;
TweenMax.killAllTweens();
TweenMax.killAllDelayedCalls();
for each (_local2 in _timers) {
if (_local2 != null){
_local2.stop();
};
};
_timers = null;
if (_shotTimer){
_shotTimer.stop();
_shotTimer = null;
};
if (_levelTimer){
_levelTimer.stop();
_levelTimer = null;
};
if (_multiplierGlowTimer){
_multiplierGlowTimer.stop();
_multiplierGlowTimer.removeEventListener(TimerEvent.TIMER, onGlowTimer);
_multiplierGlowTimer = null;
};
if (_shotMessageTimer){
_shotMessageTimer.stop();
_shotMessageTimer = null;
};
Main.log("Game: end destroy");
}
private function onEmitterEmpty(_arg1:EmitterEvent):void{
var _local2:Emitter2D = (_arg1.target as Emitter2D);
var _local3:DisplayObject = (_emittersToRenderers[_local2] as DisplayObject);
_local2.removeEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty);
_local3.parent.removeChild((_local3 as DisplayObject));
_local2.stop();
_local2 = null;
_local3 = null;
}
}
}//package
Section 198
//Leaderboard (Leaderboard)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import mochi.*;
import com.gskinner.utils.*;
import flash.ui.*;
public dynamic class Leaderboard extends MovieClip {
private var _boardID:Array;
private var _level:Number;
private var _scoreSubmit:Number;
public static const EVENT_CLOSE:String = "close";
public function Leaderboard(_arg1:Number, _arg2:Number=0):void{
_boardID = new Array();
super();
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
_boardID[1] = "7c3d538dbb557e56";
_boardID[2] = "028f84dc0406383c";
_boardID[3] = "e316ec87462064de";
_boardID[4] = "d175b57b64bd5897";
_boardID[5] = "ab77a24e26c39ee6";
_boardID[6] = "fe1bc90287499c25";
_boardID[7] = "4a8e0bab84ec1fcc";
_boardID[8] = "03b1e8fc38fee38e";
_boardID[9] = "d7ccba3aa81a6f0c";
_boardID[10] = "848f03a7a14541c5";
_boardID[11] = "f5a20885c0371b99";
_boardID[12] = "ada913ac24fada69";
_boardID[13] = "58a0161c05495606";
_boardID[14] = "4f40c006e92116e5";
_boardID[15] = "8ba4e87658d1df80";
_boardID[16] = "67483b8c41512ca3";
_boardID[17] = "8e2ef87b7dd0db22";
_boardID[18] = "4da75976c12a4603";
_boardID[19] = "7ddcd7929d2586ac";
_boardID[20] = "e995156e5c951398";
_boardID[21] = "8e8cddcdb6608995";
_boardID[22] = "c1aaf2ebdf6d5f56";
_boardID[23] = "d93cea7c88394ca8";
_boardID[24] = "e9ba819a9611897f";
_boardID[25] = "fb9262b59d6e5591";
if ((_arg2 > 0)){
_scoreSubmit = _arg2;
//unresolved jump
};
if ((_arg1 > 0)){
_level = _arg1;
//unresolved jump
};
}
private function onLeaderboardClose():void{
Main.log("dispatch");
dispatchEvent(new Event(Leaderboard.EVENT_CLOSE));
}
public function destroy(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
MochiScores.closeLeaderboard();
}
private function onLeaderboardError():void{
Main.log("error");
}
public function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
this.show(_level, _scoreSubmit);
}
public function show(_arg1:Number=0, _arg2:Number=0):void{
if ((_arg2 > 0)){
_scoreSubmit = _arg2;
//unresolved jump
};
if ((_arg1 > 0)){
_level = _arg1;
//unresolved jump
};
if (_scoreSubmit){
MochiScores.showLeaderboard({boardID:_boardID[_level], score:_scoreSubmit, clip:this, hideDoneButton:true, width:425, height:300, onClose:onLeaderboardClose, onError:onLeaderboardError});
} else {
MochiScores.showLeaderboard({boardID:_boardID[_level], clip:this, width:425, height:300, onClose:onLeaderboardClose, onError:onLeaderboardError});
};
}
}
}//package
Section 199
//LeaderboardPanel (LeaderboardPanel)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import mochi.*;
import com.gskinner.utils.*;
import flash.ui.*;
public class LeaderboardPanel extends Sprite {
private var _buttons:Array;
private var _level:Number;
private var _scoreSubmit:Number;
private var _background:Sprite;
private var _levels:Array;
private var _timers:Array;
private var _gridY:Number;// = 65
private var _buttonsToLevels:Dictionary;
private var _thumbHeight:Number;// = 45
private var _emittersToRenderers:Dictionary;
private var _gridContainer:Sprite;
private var _grid:Sprite;
private var _lbContainer:Leaderboard;
private var _thumbWidth:Number;// = 45
private var _lbWidth:Number;// = 430
private var _doneButton:SimpleButton;
private var _thumbPerRow:Number;// = 5
private var _thumbSpacing:Number;// = 15
public static const EVENT_DONE:String = "doneclick";
public static const EVENT_HIDE:String = "hide";
public static const EVENT_SHOW:String = "show";
public static const EVENT_SHOWBOARD:String = "showboard";
public function LeaderboardPanel(_arg1:Number=0, _arg2:Number=0):void{
_buttonsToLevels = new Dictionary(true);
_timers = new Array();
_emittersToRenderers = new Dictionary(true);
super();
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
if ((_arg2 > 0)){
_scoreSubmit = _arg2;
//unresolved jump
};
if ((_arg1 > 0)){
_level = _arg1;
//unresolved jump
};
}
public function destroy(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
if (contains(_background)){
removeChild(_background);
};
_background = null;
_doneButton.removeEventListener(MouseEvent.CLICK, onDoneClick);
_doneButton = null;
if (((_lbContainer) && (contains(_lbContainer)))){
removeChild(_lbContainer);
};
_lbContainer = null;
}
public function showSelector():void{
if (!_gridContainer){
this.createGrid();
};
TweenMax.to(_gridContainer, 0.3, {alpha:1});
}
private function onDoneClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
this.dispatchEvent(new Event(LeaderboardPanel.EVENT_DONE));
this.hide();
}
public function hideSelector():void{
if (_grid){
TweenMax.to(_gridContainer, 0.3, {alpha:0});
};
}
public function update(_arg1:Event):void{
}
private function onLeaderboardClose(_arg1:Event):void{
showSelector();
}
public function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
_background = Main.assets.leaderboard;
addChild(_background);
_doneButton = (_background.getChildByName("done_btn") as SimpleButton);
_doneButton.addEventListener(MouseEvent.CLICK, onDoneClick, false, 0, true);
this.x = ((Main.gameWidth / 2) - (this.width / 2));
this.y = (-(this.height) - 20);
this.show();
if (_level){
showLB();
} else {
showSelector();
};
}
public function showLB():void{
if (!_lbContainer){
_lbContainer = new Leaderboard(_level, _scoreSubmit);
_lbContainer.addEventListener(Leaderboard.EVENT_CLOSE, onLeaderboardClose, false, 0, true);
_lbContainer.x = 33;
_lbContainer.y = 75;
addChild(_lbContainer);
} else {
_lbContainer.show(_level, _scoreSubmit);
};
}
public function createGrid():void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Object;
var _local8:Number;
var _local9:Sprite;
var _local10:Sprite;
var _local11:TextField;
var _local12:TextField;
var _local13:SimpleButton;
var _local14:Object;
_levels = Main.levelData.levels;
_buttons = new Array();
_grid = new Sprite();
var _local1:Number = Math.ceil((_levels.length / _thumbPerRow));
var _local2:Number = 0;
while (_local2 < _local1) {
_local4 = ((_thumbHeight * _local2) + (_thumbSpacing * _local2));
_local5 = 0;
while (_local5 < _thumbPerRow) {
_local6 = (((_local2 * _thumbPerRow) + _local5) + 1);
if (!_levels[(_local6 - 1)]){
break;
} else {
_local14 = _levels[(_local6 - 1)];
};
_local7 = Main.player.getLevel(_local6);
_local8 = _local14.targetScore;
_local9 = Main.assets.levelMarkActive;
_local10 = Main.assets.levelMarkActiveHover;
_local11 = Main.text.levelBrowserThumbText(_local6.toString());
_local9.addChild(_local11);
Utility.centerClip(_local11, _local9);
_local11.y = (_local11.y + 2);
_local12 = Main.text.levelBrowserThumbText(_local6.toString());
_local10.addChild(_local12);
Utility.centerClip(_local12, _local10);
_local12.y = (_local12.y + 2);
_local9.scaleX = 0.7;
_local9.scaleY = _local9.scaleX;
_local10.scaleX = _local9.scaleX;
_local10.scaleY = _local10.scaleX;
_local13 = new SimpleButton();
_local13.x = ((_thumbWidth * _local5) + (_thumbSpacing * _local5));
_local13.y = _local4;
_local13.upState = _local9;
_local13.overState = _local10;
_local13.downState = _local9;
_local13.hitTestState = _local9;
_local13.addEventListener(MouseEvent.CLICK, onLevelClick, false, 0, true);
_grid.addChild(_local13);
_buttons.push(_local13);
_buttonsToLevels[_local13] = _local6;
_local5++;
};
_local2++;
};
_gridContainer = new Sprite();
_gridContainer.x = 0;
_gridContainer.y = _gridY;
var _local3:TextField = Main.text.leaderboardText("Select a level to view the leaderboard");
_local3.x = ((this.width / 2) - (_local3.width / 2));
_gridContainer.addChild(_local3);
_grid.y = (_local3.textHeight + 15);
_grid.x = ((this.width / 2) - (_grid.width / 2));
_gridContainer.addChild(_grid);
addChild(_gridContainer);
}
private function onShowComplete():void{
}
private function onLevelClick(_arg1:MouseEvent):void{
var _local2:SimpleButton = (_arg1.target as SimpleButton);
var _local3:Number = _buttonsToLevels[_local2];
_level = _local3;
hideSelector();
showLB();
}
private function onHideComplete():void{
this.dispatchEvent(new Event(LeaderboardPanel.EVENT_HIDE));
this.parent.removeChild(this);
}
public function hide(_arg1:TimerEvent=null):void{
Main.log("Leaderboard: Hide");
TweenMax.to(this, 0.5, {y:(-(this.height) - 20), onComplete:this.onHideComplete});
}
public function show(_arg1:Boolean=false):void{
Main.log("Leaderboard: Show");
TweenMax.to(this, 0.5, {y:((Main.gameHeight / 2) - (this.height / 2)), onComplete:this.onShowComplete});
}
}
}//package
Section 200
//Level (Level)
package {
import flash.events.*;
import flash.display.*;
import org.flintparticles.twoD.emitters.*;
import flash.text.*;
import org.flintparticles.common.events.*;
import gs.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import org.flintparticles.twoD.renderers.*;
import fl.motion.easing.*;
public class Level extends Sprite {
private var _group:Group;
private var _background:Background;
private var _emittersToRenderers:Dictionary;
private var _levelData:Object;
private var _pegs:Array;
private var _pops:Array;
private var _walls:Array;
private var _timers:Array;
private var _levelNumber:Number;
private var _starBubbleShown:Boolean;// = false
public static const BONUS_STARS:String = "star";
public static const BONUS_POINTS:String = "points";
public function Level(_arg1:Group, _arg2:Object, _arg3:Number):void{
_timers = new Array();
_emittersToRenderers = new Dictionary(true);
_pops = new Array();
super();
_group = _arg1;
_levelData = _arg2;
_levelNumber = _arg3;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
private function draw(_arg1:Event):void{
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Peg;
var _local11:Wall;
removeEventListener(Event.ADDED_TO_STAGE, draw);
_background = new Background(_levelData.time);
addChildAt(_background, 0);
var _local2:Number = Game.GRID_X;
var _local3:Number = Game.GRID_Y;
_pegs = new Array();
for each (_local4 in _levelData.pegs) {
_local6 = 0;
for each (_local7 in _local4) {
if (_local7 > 0){
_local8 = ((_local2 + (Game.GRID_WIDTH / 2)) - (27 / 2));
_local9 = ((_local3 + (Game.GRID_HEIGHT / 2)) - (32 / 2));
_local10 = new Peg(_group, _local8, _local9);
addChild(_local10);
_local10.addEventListener(PegEvent.HIT, onPegHit, false, 0, true);
_pegs.push(_local10);
_local6 = _local10.size;
};
_local2 = (_local2 + Game.GRID_WIDTH);
};
_local3 = (_local3 + Game.GRID_HEIGHT);
_local2 = Game.GRID_X;
};
_walls = new Array();
for each (_local5 in _levelData.walls) {
_local11 = new Wall(_group);
_local11.draw(new Point(_local5.start.x, _local5.start.y), new Point(_local5.end.x, _local5.end.y));
_walls.push(_local11);
};
}
public function update(_arg1:Event):void{
var _local2:MovieClip;
for each (_local2 in _pops) {
if (_local2.currentFrame == _local2.totalFrames){
if (contains(_local2)){
removeChild(_local2);
};
_pops.slice(_pops.indexOf(_local2), 1);
};
};
}
private function onTweenCompleteRemove(_arg1:DisplayObject):void{
if (contains(_arg1)){
removeChild(_arg1);
};
}
public function onPegHit(_arg1:PegEvent):void{
_arg1.peg.removeEventListener(PegEvent.HIT, onPegHit);
_pegs.splice(_pegs.indexOf(_arg1.peg), 1);
Main.sound.playSound(Assets.SOUND_POP);
this.removePeg(_arg1.peg);
}
public function get pegs():Array{
return (_pegs);
}
private function onStarMove(_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER, onStarMove);
Main.sound.playSound(Assets.SOUND_STARMOVE, 0.2);
}
public function get walls():Array{
return (_walls);
}
public function removePeg(_arg1:Peg):void{
if (_pegs.length == 0){
};
var _local2:MovieClip = Main.assets.pop;
_local2.x = (_arg1.x + (_arg1.width / 2));
_local2.y = (_arg1.y + (_arg1.height / 2));
_local2.alpha = 0.7;
addChild(_local2);
_local2.gotoAndPlay(0);
_pops.push(_local2);
removeChild(_arg1);
}
public function showStar(_arg1:Point, _arg2:String, _arg3:String="star"):void{
var _local4:Sprite;
var _local5:Point;
var _local14:Sprite;
if ((((_levelNumber == 1)) && (!(_starBubbleShown)))){
_local14 = Main.assets.starBubble;
_local14.x = (_arg1.x - 65);
_local14.y = (_arg1.y - 84);
addChild(_local14);
_starBubbleShown = true;
TweenMax.to(_local14, 0.5, {delay:2, alpha:0, onComplete:onTweenCompleteRemove, onCompleteParams:[_local14]});
};
if (_arg3 == Level.BONUS_STARS){
_local4 = Main.assets.multiplierStar;
_local5 = new Point((Main.gameWidth - 20), 60);
} else {
_local4 = Main.assets.bonusStar;
_local5 = new Point((Main.gameWidth / 2), 60);
};
var _local6:TextField = (_local4.getChildByName("multiplier_txt") as TextField);
_local6.text = _arg2;
_local6.embedFonts = true;
_local6.cacheAsBitmap = true;
var _local7:Sprite = new Sprite();
_local7.addChild(_local4);
_local4.x = ((-(_local4.width) / 2) + 5);
_local4.y = ((-(_local4.height) / 2) - 1);
_local7.x = _arg1.x;
_local7.y = _arg1.y;
var _local8:Emitter2D = Main.particles.starBurst(_local7.x, _local7.y);
var _local9:BitmapRenderer = new BitmapRenderer(new Rectangle((_local7.x - 100), (_local7.y - 100), 200, 200));
_local9.addEmitter(_local8);
_local9.addFilter(new BlurFilter(2, 2, 1));
_local9.addFilter(new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.5, 0]));
addChild((_local9 as DisplayObject));
_local8.addEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty, false, 0, true);
_emittersToRenderers[_local8] = _local9;
_local8.start();
var _local10:Timer = new Timer(500, 1);
_local10.addEventListener(TimerEvent.TIMER, onStarMove, false, 0, true);
_timers.push(_local10);
_local10.start();
addChild(_local7);
var _local11:Number = (Utility.distanceBetweenPoints(_arg1, _local5) / 2);
var _local12:Point = Utility.getPointOnLine(_arg1, Utility.getAngleOfLine(_arg1, _local5), _local11);
var _local13:Point = new Point((_local12.x + 50), (_local12.y + 50));
TweenMax.to(_local7, 0.7, {delay:0.5, x:_local5.x, y:_local5.y, ease:Sine.easeIn, bezierThrough:[{x:_local13.x, y:_local13.y}], onComplete:onTweenCompleteRemove, onCompleteParams:[_local7]});
TweenMax.to(_local4, 0.5, {delay:0.7, alpha:0, scaleX:0.3, scaleY:0.3, ease:Sine.easeIn});
}
private function destroy(_arg1:Event):void{
var _local2:Peg;
var _local3:Wall;
var _local4:Timer;
var _local5:MovieClip;
Main.log("Level: begin destroy");
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
_levelData = null;
for each (_local2 in _pegs) {
removeChild(_local2);
_local2.removeEventListener(PegEvent.HIT, onPegHit);
_local2 = null;
};
_pegs = null;
for each (_local3 in _walls) {
_local3.remove();
_local3 = null;
};
_walls = null;
for each (_local4 in _timers) {
_local4.stop();
};
_timers = null;
for each (_local5 in _pops) {
if (contains(_local5)){
removeChild(_local5);
};
};
_pops = null;
_emittersToRenderers = null;
removeChild(_background);
_background = null;
Main.log("Level: end destroy");
}
public function showPegHitScore(_arg1:Peg, _arg2:Number, _arg3:uint=0):void{
var _local4:TextField;
_local4 = Main.text.pegText(("+" + _arg2), _arg3);
_local4.x = _arg1.x;
_local4.y = _arg1.y;
addChild(_local4);
TweenMax.to(_local4, 0.7, {alpha:0, y:(_arg1.y - 15), onComplete:onTweenCompleteRemove, onCompleteParams:[_local4]});
}
private function onEmitterEmpty(_arg1:EmitterEvent):void{
var _local2:Emitter2D = (_arg1.target as Emitter2D);
var _local3:DisplayObject = _emittersToRenderers[_local2];
_local2.removeEventListener(EmitterEvent.EMITTER_EMPTY, onEmitterEmpty);
removeChild((_local3 as DisplayObject));
_local2.stop();
_local2 = null;
_local3 = null;
delete _emittersToRenderers[_local2];
}
}
}//package
Section 201
//LevelBrowser (LevelBrowser)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import gs.*;
import flash.filters.*;
import org.cove.ape.*;
import flash.utils.*;
import fl.motion.easing.*;
import flash.ui.*;
public class LevelBrowser extends Sprite {
private var _thumbInactiveHoverColor:uint;// = 0x999999
private var _levels:Array;
private var _menuButton:SimpleButton;
private var _thumbInactiveColor:uint;// = 0x666666
private var _grid:Sprite;
private var _thumbActiveColor:uint;// = 5712203
private var _thumbActiveHoverColor:uint;// = 12081056
private var _buttonsToLevels:Dictionary;
private var _thumbWidth:Number;// = 45
private var _thumbPerRow:Number;// = 5
private var _gridStartY:Number;// = 85
private var _buttonsToLocked:Dictionary;
private var _buttons:Array;
private var _background:uint;// = 1320253
private var _levelData:LevelData;
private var _padding:Number;// = 40
private var _rowStarOffsetX:Number;// = 20
private var _rowStarOffsetY:Number;// = 20
private var _thumbHeight:Number;// = 50
private var _buttonsToBubbles:Dictionary;
private var _thumbSpacing:Number;// = 15
private var _backgroundSprite:Sprite;
public function LevelBrowser():void{
_buttons = new Array();
_buttonsToBubbles = new Dictionary(true);
_buttonsToLevels = new Dictionary(true);
_buttonsToLocked = new Dictionary(true);
super();
_levelData = Main.levelData;
_levels = _levelData.levels;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
}
public function onButtonClick(_arg1:Event):void{
if (((!(_buttonsToLocked[_arg1.target])) || (Main.debug))){
dispatchEvent(new LevelBrowserEvent(LevelBrowserEvent.SELECT_LEVEL, _buttonsToLevels[_arg1.target]));
};
}
private function onButtonOut(_arg1:Event):void{
var _local2:Sprite = (_buttonsToBubbles[_arg1.target] as Sprite);
TweenMax.to(_local2, 0.3, {alpha:0, onComplete:onBubbleTweenHide, onCompleteParams:[_local2]});
}
private function onMenuButtonClick(_arg1:MouseEvent):void{
dispatchEvent(new LevelBrowserEvent(LevelBrowserEvent.MENU));
}
public function draw(_arg1:Event):void{
var _local7:Number;
var _local8:Number;
var _local9:Boolean;
var _local10:Number;
var _local11:Number;
var _local12:Object;
var _local13:Number;
var _local14:Sprite;
var _local15:Sprite;
var _local16:TextField;
var _local17:TextField;
var _local18:SimpleButton;
var _local19:Sprite;
var _local20:TextField;
var _local21:TextField;
var _local22:Sprite;
var _local23:String;
var _local24:TextField;
var _local25:String;
var _local26:TextField;
var _local27:Object;
var _local28:Sprite;
var _local29:GlowFilter;
var _local30:Sprite;
var _local31:GlowFilter;
var _local32:Sprite;
var _local33:Sprite;
var _local34:GlowFilter;
var _local35:Date;
var _local36:Sprite;
var _local37:Sprite;
_grid = new Sprite();
var _local2:Number = Math.ceil((_levels.length / _thumbPerRow));
var _local3:Boolean;
var _local4:Boolean;
var _local5:Number = 0;
while (_local5 < _local2) {
_local7 = ((_thumbHeight * _local5) + (_thumbSpacing * _local5));
_local8 = 0;
if (_local3){
_local4 = true;
_local3 = false;
} else {
_local4 = false;
};
_local9 = true;
_local10 = 0;
while (_local10 < _thumbPerRow) {
_local11 = (((_local5 * _thumbPerRow) + _local10) + 1);
if (!_levels[(_local11 - 1)]){
break;
} else {
_local27 = _levels[(_local11 - 1)];
};
_local12 = Main.player.getLevel(_local11);
_local13 = _local27.targetScore;
_local14 = Main.assets.levelMarkInActive;
_local15 = Main.assets.levelMarkInActiveHover;
if (_local12.score){
_local14 = Main.assets.levelMarkActive;
_local15 = Main.assets.levelMarkActiveHover;
};
_local16 = Main.text.levelBrowserThumbText(_local11.toString());
_local14.addChild(_local16);
Utility.centerClip(_local16, _local14);
_local16.y = (_local16.y + 2);
_local17 = Main.text.levelBrowserThumbText(_local11.toString());
_local15.addChild(_local17);
Utility.centerClip(_local17, _local15);
_local17.y = (_local17.y + 2);
_local18 = new SimpleButton();
_local18.x = ((_thumbWidth * _local10) + (_thumbSpacing * _local10));
_local18.y = _local7;
_local18.upState = _local14;
_local18.overState = _local15;
_local18.downState = _local14;
_local18.hitTestState = _local14;
_grid.addChild(_local18);
if (!_local4){
_local28 = Main.assets.lockGrey;
_local29 = new GlowFilter(1320253, 1, 6, 6, 20);
_local28.filters = [_local29];
_local28.x = ((_local14.x + _local14.width) - 23);
_local28.y = ((_local14.y + _local14.height) - 22);
_local28.scaleX = 0.26;
_local28.scaleY = _local28.scaleX;
_local14.cacheAsBitmap = true;
_local14.alpha = 0.5;
_local14.addChild(_local28);
_local30 = Main.assets.lockGrey;
_local31 = new GlowFilter(1320253, 1, 6, 6, 20);
_local30.filters = [_local31];
_local30.x = ((_local14.x + _local14.width) - 23);
_local30.y = ((_local14.y + _local14.height) - 22);
_local30.scaleX = 0.26;
_local30.scaleY = _local30.scaleX;
_local15.addChild(_local30);
_local18.overState = _local14;
_buttonsToLocked[_local18] = true;
_local16.alpha = 0.3;
} else {
_local32 = Main.assets.greyStar;
_local33 = Main.assets.greyStar;
if (_local12.score >= _local13){
_local32 = Main.assets.star;
_local33 = Main.assets.star;
_local8++;
} else {
_local9 = false;
};
_local32.x = ((_local14.x + _local14.width) - 24);
_local32.y = ((_local14.y + _local14.height) - 22);
_local32.scaleX = 0.8;
_local32.scaleY = 0.8;
_local34 = new GlowFilter(1320253, 1, 6, 6, 20);
_local32.filters = [_local34];
_local14.addChild(_local32);
_local33.x = ((_local15.x + _local15.width) - 24);
_local33.y = ((_local15.y + _local15.height) - 22);
_local33.scaleX = 0.8;
_local33.scaleY = 0.8;
_local33.filters = [_local34];
_local15.addChild(_local33);
_buttonsToLocked[_local18] = false;
_local18.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver, false, 0, true);
_local18.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut, false, 0, true);
};
_local18.addEventListener(MouseEvent.CLICK, onButtonClick, false, 0, true);
_local14.scaleX = 0.75;
_local14.scaleY = _local14.scaleX;
_local15.scaleX = _local14.scaleX;
_local15.scaleY = _local15.scaleX;
_local19 = Main.assets.speechBubble;
_local20 = Main.text.bubbleTitle(("LEVEL " + _local11.toString()));
_local20.x = 40;
_local20.y = 10;
_local19.addChild(_local20);
_local21 = Main.text.bubbleText(("Target: " + Utility.commafy(_local13)));
_local21.x = _local20.x;
_local21.y = (_local20.y + _local20.textHeight);
_local19.addChild(_local21);
_local22 = Main.assets.star;
_local22.y = (_local21.y + 2);
_local22.x = ((_local21.x + _local21.width) + 5);
_local22.scaleX = 0.5;
_local22.scaleY = _local22.scaleX;
_local22.filters = [new GlowFilter(1320253, 1, 3, 3, 20)];
_local19.addChild(_local22);
_local23 = (_local12.score) ? Utility.commafy(_local12.score) : "---";
_local24 = Main.text.bubbleText(("Best Score: " + _local23));
_local24.x = _local20.x;
_local24.y = ((_local21.y + _local21.textHeight) + 8);
_local19.addChild(_local24);
_local25 = "---";
if (Main.player.getLevel(_local11).time){
_local35 = new Date((_local12.time * 1000));
_local25 = Utility.formatTime(_local35);
};
_local26 = Main.text.bubbleText(("Best Time: " + _local25));
_local26.x = _local20.x;
_local26.y = (_local24.y + _local24.textHeight);
_local19.addChild(_local26);
_local19.visible = false;
_local19.alpha = 0;
_grid.addChild(_local19);
_buttonsToLevels[_local18] = _local11;
_buttonsToBubbles[_local18] = _local19;
if (_local4){
};
_buttons.push(_local18);
_local10++;
};
if (_local4){
if (_local9){
_local36 = Main.assets.star;
} else {
_local36 = Main.assets.greyStar;
_local36.alpha = 0.5;
};
_local36.scaleX = 1;
_local36.scaleY = _local36.scaleX;
_local36.x = (((_thumbPerRow * _thumbWidth) + ((_thumbPerRow - 1) * _thumbSpacing)) + _rowStarOffsetX);
_local36.y = (_local7 + _rowStarOffsetY);
_grid.addChild(_local36);
} else {
_local37 = Main.assets.lock;
_local37.scaleX = 0.3;
_local37.scaleY = _local37.scaleX;
_local37.alpha = 0.3;
_local37.x = (((_thumbPerRow * _thumbWidth) + ((_thumbPerRow - 1) * _thumbSpacing)) + _rowStarOffsetX);
_local37.y = (_local7 + _rowStarOffsetY);
_grid.addChild(_local37);
};
if (_local8 == _thumbPerRow){
_local3 = true;
} else {
_local3 = false;
};
_local5++;
};
_backgroundSprite = Main.assets.selectLevel;
var _local6:TextField = (_backgroundSprite.getChildByName("title_txt") as TextField);
_local6.x = ((_backgroundSprite.width / 2) - (_local6.width / 2));
_local6.y = 20;
_backgroundSprite.cacheAsBitmap = true;
_backgroundSprite.addChild(_local6);
_grid.x = ((_backgroundSprite.width / 2) - (_grid.width / 2));
_grid.y = _gridStartY;
_backgroundSprite.addChild(_grid);
addChild(_backgroundSprite);
_menuButton = (_backgroundSprite.getChildByName("menu_btn") as SimpleButton);
_menuButton.addEventListener(MouseEvent.CLICK, onMenuButtonClick, false, 0, true);
this.cacheAsBitmap = true;
removeEventListener(Event.ADDED_TO_STAGE, draw);
}
private function onBubbleTweenHide(_arg1:Sprite):void{
_arg1.visible = false;
}
private function onButtonOver(_arg1:Event):void{
var _local2:SimpleButton = (_arg1.target as SimpleButton);
var _local3:Sprite = (_buttonsToBubbles[_local2] as Sprite);
_grid.swapChildrenAt(_grid.getChildIndex(_local3), (_grid.numChildren - 2));
_grid.swapChildrenAt(_grid.getChildIndex(_local2), (_grid.numChildren - 1));
_local3.visible = true;
_local3.x = ((_local2.x + _local2.width) - 15);
_local3.y = (_local2.y - 70);
TweenMax.to(_local3, 0.3, {alpha:1});
}
public function destroy(_arg1:Event):void{
var _local2:SimpleButton;
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
for each (_local2 in _buttons) {
_local2.removeEventListener(MouseEvent.CLICK, onButtonClick);
_local2.removeEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
_local2.removeEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
};
_buttons = null;
_backgroundSprite.removeChild(_grid);
removeChild(_backgroundSprite);
_menuButton.removeEventListener(MouseEvent.CLICK, onMenuButtonClick);
_menuButton = null;
_grid = null;
_buttons = null;
_backgroundSprite = null;
_levels = null;
_levelData = null;
_buttonsToBubbles = null;
_buttonsToLevels = null;
TweenMax.killAllTweens();
TweenMax.killAllDelayedCalls();
}
}
}//package
Section 202
//LevelBrowserEvent (LevelBrowserEvent)
package {
import flash.events.*;
public class LevelBrowserEvent extends Event {
private var _level:Number;
public static const SELECT_LEVEL:String = "selected_level";
public static const MENU:String = "menu";
public function LevelBrowserEvent(_arg1:String, _arg2:Number=0, _arg3:Boolean=false, _arg4:Boolean=false){
_level = _arg2;
super(_arg1, _arg3, _arg4);
}
public function get level():Number{
return (_level);
}
}
}//package
Section 203
//LevelData (LevelData)
package {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.ui.*;
public class LevelData {
private var _levels:Array;
public function LevelData():void{
var _local2:Object;
super();
this.createLevelData();
var _local1:Number = 0;
for each (_local2 in _levels) {
this.prepareLevel(_local2, _local1);
_local1++;
};
}
public function generateTimeOfDay(_arg1:Object, _arg2:Number):Number{
var _local3:Number = (1440 / 24);
var _local4:Number = ((_arg2 * _local3) + 360);
if (_local4 > 1440){
_local4 = (_local4 - 1440);
};
return (_local4);
}
public function isRowUnLocked(_arg1:Number):Boolean{
var _local9:Number;
var _local10:Number;
var _local2:Number = 5;
var _local3:Number = _levels.length;
var _local4:Number = Math.ceil((_local3 / _local2));
var _local5:Number = Math.ceil((_arg1 / _local2));
var _local6:Number = (_local5 - 1);
if (_local5 == 1){
return (true);
};
var _local7:Boolean;
var _local8:Number = 1;
while (_local8 <= _local2) {
_local9 = (_local8 + ((_local6 - 1) * _local2));
_local10 = Main.player.getLevelScore(_local9);
if (_local10 < this.loadLevel(_local9).targetScore){
_local7 = false;
};
_local8++;
};
return (_local7);
}
public function countNuts(_arg1:Object):Number{
var _local3:Array;
var _local4:Number;
var _local2:Number = 0;
for each (_local3 in _arg1.pegs) {
for each (_local4 in _local3) {
if (_local4 > 0){
_local2++;
};
};
};
return (_local2);
}
public function loadLevel(_arg1:Number):Object{
return (_levels[(_arg1 - 1)]);
}
public function generateStarCount(_arg1:Object):Number{
if (_arg1.targetStars){
return (_arg1.targetStars);
};
if (_arg1.nutCount <= 30){
return (15);
};
return (30);
}
private function createLevelData():void{
_levels = new Array({levelID:"1", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0]], walls:[{end:{x:72, y:262}, start:{x:9, y:319}, type:1}, {end:{x:75, y:270}, start:{x:10, y:220}, type:1}, {end:{x:7, y:326}, start:{x:7, y:213}, type:1}, {end:{x:530, y:265}, start:{x:630, y:354}, type:1}, {end:{x:526, y:272}, start:{x:630, y:185}, type:1}, {end:{x:633, y:360}, start:{x:633, y:179}, type:1}], targetScore:75000, targetStars:20}, {levelID:"2", pegs:[[0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:338, y:177}, end:{x:285, y:228}, type:1}, {start:{x:285, y:220}, end:{x:338, y:269}, type:1}, {start:{x:332, y:274}, end:{x:386, y:228}, type:1}, {start:{x:333, y:174}, end:{x:389, y:235}, type:1}, {start:{x:565, y:171}, end:{x:483, y:77}, type:1}, {start:{x:566, y:72}, end:{x:566, y:176}, type:1}, {start:{x:478, y:77}, end:{x:573, y:77}, type:1}, {start:{x:111, y:285}, end:{x:193, y:380}, type:1}, {start:{x:198, y:379}, end:{x:105, y:379}, type:1}, {start:{x:112, y:385}, end:{x:112, y:280}, type:1}], targetScore:100000, targetStars:25}, {levelID:"3", pegs:[[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1], [1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:622, y:288}, end:{x:645, y:267}, type:1}, {start:{x:518, y:284}, end:{x:633, y:356}, type:1}, {start:{x:633, y:280}, end:{x:633, y:363}, type:1}, {start:{x:0x0202, y:285}, end:{x:645, y:285}, type:1}, {start:{x:18, y:288}, end:{x:-5, y:267}, type:1}, {start:{x:123, y:285}, end:{x:7, y:356}, type:1}, {start:{x:7, y:280}, end:{x:7, y:363}, type:1}, {start:{x:126, y:285}, end:{x:0, y:285}, type:1}, {start:{x:380, y:74}, end:{x:333, y:138}, type:1}, {start:{x:297, y:74}, end:{x:342, y:139}, type:1}, {start:{x:292, y:72}, end:{x:386, y:72}, type:1}], targetScore:100000, targetStars:25}, {levelID:"7", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{end:{x:117, y:422}, start:{x:4, y:316}, type:1}, {end:{x:0, y:421}, start:{x:111.5, y:420}, type:1}, {end:{x:7.55, y:313.05}, start:{x:7.6, y:423}, type:1}], targetScore:150000, targetStars:30}, {levelID:4, pegs:[[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:249, y:331}, end:{x:324, y:281}, type:1}, {start:{x:397, y:329}, end:{x:314, y:283}, type:1}, {start:{x:115, y:328}, end:{x:0x0100, y:328}, type:1}, {start:{x:523, y:328}, end:{x:386, y:328}, type:1}, {start:{x:70, y:73}, end:{x:8, y:124}, type:1}, {start:{x:7, y:70}, end:{x:7, y:130}, type:1}, {start:{x:76, y:70}, end:{x:-3, y:70}, type:1}, {start:{x:571, y:71}, end:{x:633, y:124}, type:1}, {start:{x:633, y:70}, end:{x:633, y:130}, type:1}, {start:{x:564, y:70}, end:{x:643, y:70}, type:1}], targetScore:100000, targetStars:25}, {levelID:"6", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0], [0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{end:{x:145, y:355}, start:{x:41, y:250}, type:1}, {end:{x:466, y:355}, start:{x:569, y:250}, type:1}, {end:{x:352, y:265}, start:{x:252, y:265}, type:1}], targetScore:150000, targetStars:25}, {levelID:"5", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0], [0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{end:{x:185, y:243}, start:{x:108, y:243}, type:1}, {end:{x:361, y:243}, start:{x:285, y:243}, type:1}, {end:{x:536, y:243}, start:{x:460, y:243}, type:1}], targetScore:150000, targetStars:20}, {levelID:"8", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[], targetScore:175000, targetStars:20}, {levelID:"9", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:304, y:122}, end:{x:250, y:182}, type:1}, {start:{x:201, y:122}, end:{x:259, y:183}, type:1}, {start:{x:196, y:120}, end:{x:311, y:120}, type:1}, {start:{x:503, y:79}, end:{x:572, y:174}, type:1}, {start:{x:618, y:80}, end:{x:645, y:58}, type:1}, {start:{x:633, y:71}, end:{x:633, y:179}, type:1}, {start:{x:564, y:171}, end:{x:641, y:171}, type:1}, {start:{x:641, y:78}, end:{x:495, y:78}, type:1}], targetScore:175000, targetStars:30}, {levelID:"10", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{end:{x:280, y:260}, start:{x:80, y:260}, type:1}, {end:{x:523, y:260}, start:{x:325, y:260}, type:1}], targetScore:175000, targetStars:25}, {levelID:"11", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{end:{x:383, y:426}, start:{x:320, y:319}, type:1}, {end:{x:404, y:201}, start:{x:334, y:94}, type:1}], targetScore:100000, targetStars:30}, {levelID:"12", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1], [0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1], [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:249, y:109}, end:{x:195, y:179}, type:1}, {start:{x:149, y:109}, end:{x:204, y:179}, type:1}, {start:{x:144, y:109}, end:{x:0x0100, y:109}, type:1}, {start:{x:503, y:217}, end:{x:635, y:320}, type:1}, {start:{x:625, y:221}, end:{x:645, y:199}, type:1}, {start:{x:634, y:214}, end:{x:634, y:326}, type:1}, {start:{x:645, y:217}, end:{x:495, y:217}, type:1}, {start:{x:7, y:322}, end:{x:80, y:384}, type:1}, {start:{x:84, y:384}, end:{x:-3, y:386}, type:1}, {start:{x:7, y:316}, end:{x:7, y:391}, type:1}], targetScore:175000, targetStars:30}, {levelID:13, pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:18, y:291}, end:{x:-5, y:271}, type:1}, {start:{x:120, y:289}, end:{x:8, y:364}, type:1}, {start:{x:8, y:285}, end:{x:8, y:369}, type:1}, {start:{x:124, y:290}, end:{x:-3, y:290}, type:1}, {start:{x:623, y:291}, end:{x:645, y:271}, type:1}, {start:{x:516, y:290}, end:{x:630, y:362}, type:1}, {start:{x:632, y:286}, end:{x:632, y:369}, type:1}, {start:{x:0x0200, y:290}, end:{x:643, y:290}, type:1}, {start:{x:390, y:290}, end:{x:250, y:290}, type:1}, {start:{x:325, y:184}, end:{x:246, y:111}, type:1}, {start:{x:392, y:111}, end:{x:316, y:185}, type:1}, {start:{x:241, y:111}, end:{x:397, y:111}, type:1}], targetScore:125000, targetStars:20}, {levelID:14, pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:56, y:288}, end:{x:160, y:358}, type:1}, {start:{x:511, y:92}, end:{x:584, y:159}, type:1}, {start:{x:301, y:110}, end:{x:300, y:325}, type:1}], targetScore:100000, targetStars:20}, {levelID:15, pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:142, y:327}, end:{x:5, y:424}, type:1}, {start:{x:16, y:329}, end:{x:-4, y:307}, type:1}, {start:{x:7, y:324}, end:{x:7, y:430}, type:1}, {start:{x:-3, y:327}, end:{x:147, y:327}, type:1}, {start:{x:75, y:110}, end:{x:5, y:155}, type:1}, {start:{x:7, y:108}, end:{x:7, y:160}, type:1}, {start:{x:-3, y:111}, end:{x:79, y:111}, type:1}, {start:{x:373, y:111}, end:{x:334, y:151}, type:1}, {start:{x:342, y:151}, end:{x:305, y:111}, type:1}, {start:{x:301, y:111}, end:{x:378, y:111}, type:1}, {start:{x:613, y:194}, end:{x:645, y:170}, type:1}, {start:{x:500, y:192}, end:{x:633, y:283}, type:1}, {start:{x:633, y:289}, end:{x:633, y:186}, type:1}, {start:{x:643, y:193}, end:{x:494, y:193}, type:1}], targetScore:150000, targetStars:20}, {levelID:"16", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:48, y:331}, end:{x:140, y:406}, type:1}, {start:{x:51, y:230}, end:{x:51, y:338}, type:1}, {start:{x:407, y:250}, end:{x:407, y:356}, type:1}, {start:{x:407, y:206}, end:{x:407, y:111}, type:1}], targetScore:200000, targetStars:30}, {levelID:17, pegs:[[1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1], [0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1], [0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:555, y:356}, end:{x:645, y:267}, type:1}, {start:{x:390, y:352}, end:{x:564, y:352}, type:1}, {start:{x:6, y:209}, end:{x:109, y:110}, type:1}, {start:{x:8, y:102}, end:{x:8, y:213}, type:1}, {start:{x:114, y:110}, end:{x:-3, y:110}, type:1}, {start:{x:105, y:383}, end:{x:5, y:284}, type:1}, {start:{x:109, y:382}, end:{x:0, y:382}, type:1}, {start:{x:8, y:280}, end:{x:8, y:390}, type:1}, {start:{x:279, y:233}, end:{x:330, y:286}, type:1}, {start:{x:320, y:287}, end:{x:370, y:234}, type:1}, {start:{x:439, y:234}, end:{x:477, y:197}, type:1}, {start:{x:474, y:92}, end:{x:474, y:231}, type:1}, {start:{x:360, y:232}, end:{x:215, y:232}, type:1}, {start:{x:481, y:232}, end:{x:353, y:232}, type:1}], targetScore:175000, targetStars:20}, {levelID:18, pegs:[[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:5, y:175}, end:{x:106, y:72}, type:1}, {start:{x:7, y:69}, end:{x:7, y:180}, type:1}, {start:{x:111, y:73}, end:{x:-3, y:73}, type:1}, {start:{x:529, y:250}, end:{x:635, y:145}, type:1}, {start:{x:633, y:348}, end:{x:529, y:250}, type:1}, {start:{x:633, y:141}, end:{x:633, y:0xFF}, type:1}, {start:{x:633, y:353}, end:{x:633, y:248}, type:1}, {start:{x:532.3, y:251}, end:{x:643, y:251}, type:1}, {start:{x:537.2, y:251}, end:{x:394, y:251}, type:1}, {start:{x:398.2, y:251}, end:{x:214, y:251}, type:1}, {start:{x:218.2, y:251}, end:{x:108, y:251}, type:1}, {start:{x:79, y:368.9}, end:{x:4, y:318}, type:1}, {start:{x:7, y:313}, end:{x:7, y:377}, type:1}, {start:{x:460, y:369}, end:{x:532, y:369}, type:1}, {start:{x:365, y:369}, end:{x:177, y:369}, type:1}, {start:{x:180, y:369}, end:{x:0, y:369}, type:1}], targetScore:200000, targetStars:30}, {levelID:"19", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:127, y:105}, end:{x:127, y:211}, type:1}, {start:{x:127, y:245}, end:{x:127, y:351}, type:1}, {start:{x:231, y:95}, end:{x:231, y:140}, type:1}, {start:{x:231, y:175}, end:{x:231, y:351}, type:1}, {start:{x:338, y:344}, end:{x:286, y:388}, type:1}, {start:{x:338, y:95}, end:{x:338, y:282}, type:1}, {start:{x:338, y:316}, end:{x:338, y:350}, type:1}, {start:{x:224, y:95}, end:{x:346, y:95}, type:1}], targetScore:225000, targetStars:25}, {levelID:"20", pegs:[[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:138, y:73}, end:{x:6, y:172}, type:1}, {start:{x:7, y:70}, end:{x:7, y:177}, type:1}, {start:{x:145, y:72}, end:{x:-3, y:72}, type:1}, {start:{x:500, y:72}, end:{x:636, y:175}, type:1}, {start:{x:633, y:69}, end:{x:633, y:180}, type:1}, {start:{x:495, y:72}, end:{x:643, y:72}, type:1}, {start:{x:323, y:239}, end:{x:280, y:289}, type:1}, {start:{x:358, y:289}, end:{x:316, y:239}, type:1}, {start:{x:466, y:289}, end:{x:350, y:289}, type:1}, {start:{x:353, y:289}, end:{x:178, y:289}, type:1}, {start:{x:434, y:157}, end:{x:434, y:243}, type:1}, {start:{x:180, y:161}, end:{x:286, y:161}, type:1}, {start:{x:285, y:161}, end:{x:466, y:161}, type:1}, {start:{x:101, y:210}, end:{x:101, y:330}, type:1}, {start:{x:102.05, y:325.05}, end:{x:61, y:367}, type:1}, {start:{x:101.05, y:218}, end:{x:184.9, y:158.9}, type:1}], targetScore:130000, targetStars:15}, {levelID:21, pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:367, y:346}, end:{x:321, y:389}, type:1}, {start:{x:276, y:210}, end:{x:276, y:352}, type:1}, {start:{x:365, y:210}, end:{x:365, y:352}, type:1}, {start:{x:5, y:176}, end:{x:104, y:71}, type:1}, {start:{x:110, y:71}, end:{x:-3, y:71}, type:1}, {start:{x:8, y:65}, end:{x:8, y:181}, type:1}, {start:{x:274, y:263}, end:{x:228, y:214}, type:1}, {start:{x:224, y:211}, end:{x:286, y:210}, type:1}, {start:{x:373, y:77}, end:{x:318, y:134}, type:1}, {start:{x:319, y:141}, end:{x:319, y:69}, type:1}, {start:{x:465, y:75}, end:{x:312, y:75}, type:1}, {start:{x:568, y:148}, end:{x:636, y:206}, type:1}, {start:{x:563, y:148}, end:{x:643, y:148}, type:1}, {start:{x:633, y:142}, end:{x:633, y:211}, type:1}], targetScore:135000, targetStars:20}, {levelID:22, pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:254, y:299}, end:{x:387, y:299}, type:1}, {start:{x:162, y:105}, end:{x:163, y:317}, type:1}, {start:{x:476, y:106}, end:{x:477, y:318}, type:1}, {start:{x:635, y:313}, end:{x:529, y:387}, type:1}, {start:{x:459, y:384}, end:{x:645, y:384}, type:1}, {start:{x:286, y:121}, end:{x:355, y:121}, type:1}, {start:{x:0, y:348}, end:{x:77, y:421}, type:1}, {start:{x:81, y:421}, end:{x:0, y:421}, type:1}, {start:{x:8, y:430}, end:{x:8, y:345}, type:1}, {start:{x:633, y:390}, end:{x:633, y:308}, type:1}, {start:{x:168, y:97}, end:{x:127, y:98}, type:1}], targetScore:175000, targetStars:25}, {levelID:"23", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:143, y:342}, end:{x:6, y:270}, type:1}, {start:{x:7, y:264}, end:{x:7, y:349}, type:1}, {start:{x:-3, y:342}, end:{x:148, y:342}, type:1}, {start:{x:486, y:110}, end:{x:486, y:283}, type:1}, {start:{x:352, y:162}, end:{x:322, y:208}, type:1}, {start:{x:290, y:162}, end:{x:329, y:208}, type:1}, {start:{x:286, y:165}, end:{x:357, y:165}, type:1}, {start:{x:536, y:285}, end:{x:505, y:326}, type:1}, {start:{x:620, y:289}, end:{x:530, y:289}, type:1}, {start:{x:612, y:293}, end:{x:645, y:0x0101}, type:1}, {start:{x:643, y:65}, end:{x:480, y:65}, type:1}], targetScore:125000, targetStars:20}, {levelID:"24", pegs:[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], walls:[{start:{x:95, y:72}, end:{x:0, y:183}, type:1}, {start:{x:92, y:68}, end:{x:92, y:107}, type:1}, {start:{x:7, y:68}, end:{x:7, y:188}, type:1}, {start:{x:-3, y:74}, end:{x:100, y:74}, type:1}, {start:{x:161, y:111}, end:{x:192, y:155}, type:1}, {start:{x:186, y:150}, end:{x:214, y:112}, type:1}, {start:{x:189, y:140}, end:{x:189, y:387}, type:1}, {start:{x:220, y:111}, end:{x:156, y:111}, type:1}, {start:{x:283, y:160}, end:{x:430, y:160}, type:1}, {start:{x:242, y:206}, end:{x:329, y:109}, type:1}, {start:{x:533, y:72}, end:{x:633, y:170}, type:1}, {start:{x:633, y:72}, end:{x:633, y:175}, type:1}, {start:{x:533, y:74}, end:{x:639, y:74}, type:1}], targetScore:150000, targetStars:20}, {levelID:69, pegs:[[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]], walls:[{start:{x:17, y:114}, end:{x:-4, y:100}, type:1}, {start:{x:-3, y:114}, end:{x:76, y:114}, type:1}, {start:{x:75, y:114}, end:{x:182, y:114}, type:1}, {start:{x:177, y:114}, end:{x:280, y:114}, type:1}, {start:{x:-3, y:149}, end:{x:147, y:149}, type:1}, {start:{x:140, y:149}, end:{x:259, y:149}, type:1}, {start:{x:286, y:110}, end:{x:221, y:207}, type:1}, {start:{x:9, y:281}, end:{x:114, y:351}, type:1}, {start:{x:7, y:358}, end:{x:7, y:275}, type:1}, {start:{x:116, y:351}, end:{x:0, y:351}, type:1}, {start:{x:200, y:419}, end:{x:200, y:315}, type:1}, {start:{x:397, y:254}, end:{x:335, y:337}, type:1}, {start:{x:396, y:250}, end:{x:396, y:340}, type:1}, {start:{x:329, y:337}, end:{x:403, y:337}, type:1}, {start:{x:477, y:310}, end:{x:477, y:0xFF}, type:1}, {start:{x:477, y:304}, end:{x:477, y:406}, type:1}, {start:{x:605, y:190}, end:{x:540, y:94}, type:1}, {start:{x:598, y:188}, end:{x:642, y:188}, type:1}, {start:{x:534, y:92}, end:{x:642, y:92}, type:1}], targetScore:175000, targetStars:15});
}
public function generateTargetScore(_arg1:Object):Number{
if (_arg1.targetScore){
return (_arg1.targetScore);
};
var _local2:Number = Math.round((10 * (_arg1.starCount / 2)));
var _local3:Number = 2000;
return (((_local2 * _arg1.nutCount) + _local3));
}
public function prepareLevel(_arg1:Object, _arg2:Number=1):Object{
_arg1.nutCount = this.countNuts(_arg1);
_arg1.starCount = this.generateStarCount(_arg1);
_arg1.targetScore = this.generateTargetScore(_arg1);
_arg1.time = this.generateTimeOfDay(_arg1, _arg2);
return (_arg1);
}
public function get levels():Array{
return (_levels);
}
}
}//package
Section 204
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import gs.*;
import org.cove.ape.*;
import mochi.*;
import flash.ui.*;
import flash.system.*;
public dynamic class Main extends MovieClip {
private var _menu:Menu;
private var _splash:MovieClip;
private var _background:Sprite;
private var _game:Game;
private var _levelEditor:Sprite;
private var _splashContainer:Sprite;
private var _levelBrowser:LevelBrowser;
private static const _player:Player = new Player();
private static const _text:Text = new Text();
private static const _levelData:LevelData = new LevelData();
private static const _sound:SoundManager = SoundManager.getInstance();
private static const _levelEditor:Boolean = true;
public static const debug:Boolean = false;
private static const _assets:Assets = new Assets();
private static const _particles:ParticleEffects = new ParticleEffects();
public static const gameHeight:Number = 480;
public static const gameWidth:Number = 640;
private static var _current:Main;
public function Main():void{
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
}
public function showInstructions():void{
clearAll();
_slot1.log("Main: Menu.Instructions");
_menu = new Menu();
addChild(_menu);
_menu.showInstructions();
}
public function draw(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
var _local2 = "andkon.com";
var _local3:String = this.root.loaderInfo.url.split("/")[2];
_local3 = "http://www.andkon.com/arcade/shipt/php/.";
if (_local3.indexOf(_local2) == -1){
return;
};
stage.scaleMode = StageScaleMode.EXACT_FIT;
stage.align = StageAlign.TOP_LEFT;
stage.quality = StageQuality.BEST;
stage.frameRate = 60;
_slot1.current = this;
MochiBot.track(this, "c02419a2");
MochiServices.connect("fdbe9cc26215d8df", this);
this.addSounds();
showSplashScreen();
}
private function removeSplash():void{
_slot1.log("Main: Splash Complete");
TweenMax.to(_splashContainer, 0.3, {alpha:0, onComplete:onSplashTweenComplete});
}
public function showSplashScreen():void{
_splash = _slot1.assets.andkonSplash;
_splash.addEventListener(Event.ENTER_FRAME, onSplashFrame, false, 0, true);
_splashContainer = new Sprite();
_splashContainer.addChild(_splash);
addChild(_splashContainer);
MochiServices.addLinkEvent("http://x.mochiads.com/link/51ac296a5e0cd37c", "http://www.andkon.com/arcade/", _splashContainer);
this.addChild(_splashContainer);
}
public function clearAll():void{
if (_menu){
_menu.removeEventListener(MenuEvent.STARTGAME, onStartGame);
removeChild(_menu);
_menu = null;
};
if (_game){
_slot1.log("Main: game removed");
removeChild(_game);
_game = null;
};
if (_levelEditor){
removeChild(_levelEditor);
_levelEditor = null;
};
}
public function onStartGame(_arg1:MenuEvent):void{
startGame(_arg1.level);
}
private function addSounds():void{
_slot1.sound.addSound(_slot1.assets.music, Assets.SOUND_MUSIC);
_slot1.sound.addSound(_slot1.assets.soundPop, Assets.SOUND_POP);
_slot1.sound.addSound(_slot1.assets.soundStarMove, Assets.SOUND_STARMOVE);
_slot1.sound.addSound(_slot1.assets.soundStarEarn, Assets.SOUND_STAREARN);
_slot1.sound.addSound(_slot1.assets.soundRise, Assets.SOUND_RISE);
_slot1.sound.addSound(_slot1.assets.soundBawong, Assets.SOUND_BAWONG);
_slot1.sound.addSound(_slot1.assets.soundFanfare, Assets.SOUND_FANFARE);
_slot1.sound.addSound(_slot1.assets.soundWallHit, Assets.SOUND_WALLHIT);
_slot1.sound.addSound(_slot1.assets.soundSquirrelLaugh, Assets.SOUND_LAUGH);
_slot1.sound.addSound(_slot1.assets.soundGroan, Assets.SOUND_GROAN);
_slot1.sound.addSound(_slot1.assets.soundCannon, Assets.SOUND_CANNON);
_slot1.sound.addSound(_slot1.assets.soundMeterFull, Assets.SOUND_METERFULL);
_slot1.sound.addSound(_slot1.assets.soundSQAlright, Assets.SOUND_SQALRIGHT);
_slot1.sound.addSound(_slot1.assets.soundSQEhhh, Assets.SOUND_SQEHHH);
_slot1.sound.addSound(_slot1.assets.soundSQHereICome, Assets.SOUND_SQHERE);
_slot1.sound.addSound(_slot1.assets.soundSQLookOut, Assets.SOUND_SQLOOKOUT);
_slot1.sound.addSound(_slot1.assets.soundSQMayHave, Assets.SOUND_SQMAYHAVE);
_slot1.sound.addSound(_slot1.assets.soundSQMoreMore, Assets.SOUND_SQMOREMORE);
_slot1.sound.addSound(_slot1.assets.soundSQOohh, Assets.SOUND_SQOOHH);
_slot1.sound.addSound(_slot1.assets.soundSQOohh2, Assets.SOUND_SQOOHH2);
_slot1.sound.addSound(_slot1.assets.soundSQWantBig, Assets.SOUND_SQWANTBIG);
_slot1.sound.addSound(_slot1.assets.soundSQWantMore, Assets.SOUND_SQWANTMORE);
_slot1.sound.addSound(_slot1.assets.soundSQWoohoo, Assets.SOUND_SQWOOHOO);
_slot1.sound.addSound(_slot1.assets.soundSQYipee, Assets.SOUND_SQYIPEE);
_slot1.sound.addSound(_slot1.assets.soundSQYipee2, Assets.SOUND_SQYIPEE2);
}
public function get menu():Menu{
return (_menu);
}
public function showLevelBrowser():void{
clearAll();
_slot1.log("Main: Menu.LevelBrowser");
_menu = new Menu();
addChild(_menu);
_menu.levelBrowser();
_menu.addEventListener(MenuEvent.STARTGAME, onStartGame, false, 0, true);
}
private function onSplashFrame(_arg1:Event):void{
var _local2:MovieClip = (_arg1.target as MovieClip);
if (_local2.currentFrame == _local2.totalFrames){
showMenu();
_splash.removeEventListener(Event.ENTER_FRAME, onSplashFrame);
_splash.stop();
this.removeSplash();
};
}
public function get game():Game{
return (_game);
}
public function startGame(_arg1:Number=1, _arg2:Object=null):void{
clearAll();
_slot1.log("Main: Start Game");
_game = new Game();
addChild(_game);
if (_arg2){
_game.drawLevel(0, _arg2);
} else {
_game.drawLevel(_arg1);
};
}
public function showMenu():void{
clearAll();
_slot1.log("Main: Menu");
_menu = new Menu();
addChild(_menu);
_menu.showMenu();
_menu.addEventListener(MenuEvent.STARTGAME, onStartGame, false, 0, true);
}
private function onSplashTweenComplete():void{
_splashContainer.removeChild(_splash);
removeChild(_splashContainer);
_splash = null;
_splashContainer = null;
}
public static function set current(_arg1:Main):void{
_current = _arg1;
}
public static function get assets():Assets{
return (_assets);
}
public static function log(_arg1:String):void{
if (_slot1.debug){
trace(_arg1);
};
}
public static function get levelData():LevelData{
return (_levelData);
}
public static function get current():Main{
return (_current);
}
public static function get sound():SoundManager{
return (_sound);
}
public static function get player():Player{
return (_player);
}
public static function get particles():ParticleEffects{
return (_particles);
}
public static function get levelEditor():Boolean{
return (_levelEditor);
}
public static function get text():Text{
return (_text);
}
}
}//package
Section 205
//Menu (Menu)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import gs.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.utils.*;
import mochi.*;
import flash.net.*;
import com.gskinner.utils.*;
import fl.motion.easing.*;
import flash.ui.*;
import flash.system.*;
import fl.motion.*;
public class Menu extends Sprite {
private var _backgroundSpeed:Number;// = 0.5
private var _instructions:Sprite;
private var _logo:Sprite;
private var _gradient:Sprite;
private var _backgroundXDirection:Number;
private var _howButton:Sprite;
private var _music:SoundChannel;
private var _scoreButton:Sprite;
private var _menuSpacing:Number;// = 20
private var _grass:Bitmap;
private var _tileSpeed:Number;// = 2
private var _backgroundYDirection:Number;
private var _background:SeamlessBackground;
private var _backgroundFrameCount:Number;// = 1
private var _muteButton:MuteButton;
private var _levelBrowser:LevelBrowser;
private var _memoryText:TextField;
private var _lbPanel:LeaderboardPanel;
private var _backgroundFrameChange:Number;// = 1
private var _timers:Array;
private var _startButton:Sprite;
private var _animInLength:Number;// = 0.5
private var _pibooButton:Sprite;
public static const EASE_OUT:Function = Cubic.easeOut;
public static const EASE_IN:Function = Cubic.easeIn;
public function Menu():void{
_timers = new Array();
super();
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function hideInstructions():void{
TweenMax.to(_instructions, 0.5, {x:((Main.gameWidth + _instructions.width) + 50), ease:Menu.EASE_IN, onComplete:function ():void{
removeChild(_instructions);
_instructions = null;
showMenu();
}});
}
public function levelBrowser():void{
_levelBrowser = new LevelBrowser();
_levelBrowser.addEventListener(LevelBrowserEvent.SELECT_LEVEL, onLevelSelect, false, 0, true);
_levelBrowser.addEventListener(LevelBrowserEvent.MENU, onMenuButtonClick, false, 0, true);
addChild(_levelBrowser);
Utility.centerClip(_levelBrowser);
_levelBrowser.y = (_levelBrowser.y - 5);
TweenLite.from(_levelBrowser, 0.6, {x:(-(_levelBrowser.width) - 10), ease:Menu.EASE_OUT});
}
private function onLevelBrowserTweenComplete():void{
removeChild(_levelBrowser);
_levelBrowser = null;
showMenu();
}
private function onScoreButtonClick(_arg1:MouseEvent):void{
this.hideMenu();
_lbPanel = new LeaderboardPanel();
_lbPanel.addEventListener(LeaderboardPanel.EVENT_HIDE, onDoneButtonClick, false, 0, true);
addChild(_lbPanel);
}
public function showMenu():void{
var _local1:Point = new Point((Main.gameWidth / 2), (Main.gameHeight / 2));
Utility.centerClip(_logo);
_logo.visible = true;
_logo.y = -(_logo.height);
var _local2:Number = ((_local1.y - (_logo.height / 2)) - 90);
Utility.centerClip(_startButton);
_startButton.visible = true;
_startButton.y = Main.gameHeight;
var _local3:Number = ((_local2 + _logo.height) + 30);
Utility.centerClip(_howButton);
_howButton.visible = true;
_howButton.y = ((Main.gameHeight + _startButton.height) + _menuSpacing);
var _local4:Number = ((_local3 + _startButton.height) + _menuSpacing);
Utility.centerClip(_scoreButton);
_scoreButton.visible = true;
_scoreButton.y = (((Main.gameHeight + _startButton.height) + _howButton.height) + (_menuSpacing * 2));
var _local5:Number = ((_local4 + _howButton.height) + _menuSpacing);
TweenMax.to(_logo, _animInLength, {y:_local2, ease:Menu.EASE_OUT});
TweenMax.to(_startButton, _animInLength, {delay:0.1, y:_local3, ease:Menu.EASE_OUT});
TweenMax.to(_howButton, _animInLength, {delay:0.165, y:_local4, ease:Menu.EASE_OUT});
TweenMax.to(_scoreButton, _animInLength, {delay:0.23, y:_local5, ease:Menu.EASE_OUT});
TweenMax.to(_pibooButton, 0.4, {x:5, y:((Main.gameHeight - _pibooButton.height) - 20)});
}
private function onSelectTimerComplete(_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER, onSelectTimerComplete);
levelBrowser();
}
private function onPibooClick(_arg1:MouseEvent):void{
Main.log("Menu: Clicked Piboo");
}
private function onDoneButtonClick(_arg1:Event):void{
this.showMenu();
}
private function onMenuButtonClick(_arg1:LevelBrowserEvent):void{
TweenMax.to(_levelBrowser, 0.6, {x:-((_levelBrowser.width - 50)), ease:Menu.EASE_IN, onComplete:onLevelBrowserTweenComplete});
}
private function onHowTimerComplete(_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER, onHowTimerComplete);
showInstructions();
}
private function onInstructionsBackButton(_arg1:MouseEvent):void{
_arg1.target.removeEventListener(MouseEvent.CLICK, onInstructionsBackButton);
hideInstructions();
}
private function onLevelSelect(_arg1:LevelBrowserEvent):void{
Main.sound.stopSound(Assets.SOUND_MUSIC);
dispatchEvent(new MenuEvent(MenuEvent.STARTGAME, _arg1.level));
}
private function onFadeMusicComplete(_arg1:TimerEvent):void{
Main.sound.removeSound(Assets.SOUND_MUSIC);
_arg1.target.removeEventListener(TimerEvent.TIMER, onFadeMusicComplete);
}
public function draw(_arg1:Event):void{
Main.log("Menu: Begin draw");
removeEventListener(Event.ADDED_TO_STAGE, draw);
Main.sound.addSound(Main.assets.music, Assets.SOUND_MUSIC);
Main.sound.playSound(Assets.SOUND_MUSIC, 0.8, 0, 9999);
_logo = Main.assets.logo;
_gradient = Main.assets.menuGradient;
_grass = Main.assets.grass;
_grass.y = (480 - _grass.height);
var _local2:Sprite = Main.assets.acornPattern;
var _local3:BitmapData = new BitmapData(_local2.width, _local2.height, true, BitmapDataChannel.ALPHA);
_local3.draw(_local2);
_background = new SeamlessBackground(Main.gameWidth, Main.gameHeight, _local3);
_background.alpha = 0.3;
_background.blendMode = BlendMode.OVERLAY;
addChild(_gradient);
addChild(_background);
addChild(_logo);
addChild(_grass);
_pibooButton = Main.assets.pibooButton;
_pibooButton.buttonMode = true;
_pibooButton.x = 5;
_pibooButton.y = (Main.gameHeight + 5);
addChild(_pibooButton);
MochiServices.addLinkEvent("http://x.mochiads.com/link/5e8b8c3b07ed9a8b", "http://www.andkon.com/arcade/", _pibooButton);
_pibooButton.addEventListener(MouseEvent.CLICK, onPibooClick, false, 0, true);
_muteButton = new MuteButton(0.8);
addChild(_muteButton);
_muteButton.updateState();
_muteButton.x = ((Main.gameWidth - _muteButton.width) - 15);
_muteButton.y = ((Main.gameHeight - _muteButton.height) - 15);
_startButton = Main.assets.startButton;
_startButton.buttonMode = true;
var _local4:Sprite = new Sprite();
_local4.graphics.beginFill(0xFFFFFF);
_local4.graphics.drawRect(0, 0, _startButton.width, _startButton.height);
_local4.visible = false;
_startButton.addChild(_local4);
_startButton.hitArea = _local4;
addChild(_startButton);
_startButton.addEventListener(MouseEvent.CLICK, onStartButtonClick, false, 0, true);
_howButton = Main.assets.howButton;
_howButton.buttonMode = true;
var _local5:Sprite = new Sprite();
_local5.graphics.beginFill(0xFFFFFF);
_local5.graphics.drawRect(0, 0, _howButton.width, _howButton.height);
_local5.visible = false;
_howButton.addChild(_local5);
_howButton.hitArea = _local5;
addChild(_howButton);
_howButton.addEventListener(MouseEvent.CLICK, onHowButtonClick, false, 0, true);
_scoreButton = Main.assets.scoreButton;
_scoreButton.buttonMode = true;
var _local6:Sprite = new Sprite();
_local6.graphics.beginFill(0xFFFFFF);
_local6.graphics.drawRect(0, 0, _scoreButton.width, _scoreButton.height);
_local6.visible = false;
_scoreButton.addChild(_local6);
_scoreButton.hitArea = _local6;
addChild(_scoreButton);
_scoreButton.addEventListener(MouseEvent.CLICK, onScoreButtonClick, false, 0, true);
_logo.visible = false;
_startButton.visible = false;
_howButton.visible = false;
_scoreButton.visible = false;
}
private function onHowButtonClick(_arg1:MouseEvent):void{
hideMenu();
var _local2:Timer = new Timer(500, 1);
_local2.addEventListener(TimerEvent.TIMER, onHowTimerComplete, false, 0, true);
_timers.push(_local2);
_local2.start();
}
public function hideMenu():void{
TweenLite.to(_logo, 0.5, {y:-(_logo.height), ease:Menu.EASE_IN});
TweenLite.to(_scoreButton, 0.5, {delay:0.1, y:(((stage.height + _startButton.height) + _howButton.height) + (_menuSpacing * 2)), ease:Menu.EASE_IN});
TweenLite.to(_howButton, 0.5, {delay:0.15, y:((stage.height + _startButton.height) + _menuSpacing), ease:Menu.EASE_IN});
TweenLite.to(_startButton, 0.5, {delay:0.2, y:stage.height, ease:Menu.EASE_IN});
TweenMax.to(_pibooButton, 0.4, {y:(Main.gameHeight + 5)});
}
public function update(_arg1:Event):void{
if (_backgroundFrameChange == _backgroundFrameCount){
_backgroundYDirection = Rnd.sign();
_backgroundXDirection = Rnd.sign();
_backgroundFrameChange = Rnd.integer(120, 300);
_backgroundFrameCount = 1;
} else {
_backgroundFrameCount++;
};
_background.move((_backgroundSpeed * _backgroundXDirection), (_backgroundSpeed * _backgroundYDirection));
if (Main.debug){
_memoryText.text = (System.totalMemory / 0x0400).toString();
};
}
private function onStartButtonClick(_arg1:MouseEvent):void{
hideMenu();
var _local2:Timer = new Timer(500, 1);
_local2.addEventListener(TimerEvent.TIMER, onSelectTimerComplete, false, 0, true);
_timers.push(_local2);
_local2.start();
}
public function showInstructions():void{
_instructions = Main.assets.instructions;
_instructions.x = (-(_instructions.width) - 50);
var _local1:SimpleButton = (_instructions.getChildByName("menu_btn") as SimpleButton);
_local1.addEventListener(MouseEvent.CLICK, onInstructionsBackButton, false, 0, true);
addChild(_instructions);
Utility.centerClip(_instructions);
TweenMax.from(_instructions, 0.5, {x:((Main.gameWidth + _instructions.width) + 50), ease:Menu.EASE_OUT});
}
public function destroy(_arg1:Event):void{
var _local3:Timer;
Main.log("Menu: Begin destroy");
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
Main.sound.fadeSound(Assets.SOUND_MUSIC, 0);
var _local2:Timer = new Timer(1200, 1);
_local2.addEventListener(TimerEvent.TIMER, onFadeMusicComplete, false, 0, true);
_local2.start();
if (((_instructions) && (contains(_instructions)))){
removeChild(_instructions);
};
_instructions = null;
if (((_levelBrowser) && (contains(_levelBrowser)))){
removeChild(_levelBrowser);
_levelBrowser.removeEventListener(LevelBrowserEvent.SELECT_LEVEL, onLevelSelect);
_levelBrowser.removeEventListener(LevelBrowserEvent.MENU, onMenuButtonClick);
};
_levelBrowser = null;
removeChild(_muteButton);
_muteButton = null;
if (contains(_pibooButton)){
removeChild(_pibooButton);
};
_pibooButton.removeEventListener(MouseEvent.CLICK, onPibooClick);
_pibooButton = null;
if (_background){
removeChild(_background);
};
_background = null;
_gradient = null;
if (_grass){
removeChild(_grass);
};
_grass = null;
if (((_scoreButton) && (contains(_scoreButton)))){
removeChild(_scoreButton);
_scoreButton.removeEventListener(MouseEvent.CLICK, onScoreButtonClick);
};
_scoreButton = null;
if (_howButton){
removeChild(_howButton);
_howButton.removeEventListener(MouseEvent.CLICK, onHowButtonClick);
};
_howButton = null;
if (_startButton){
removeChild(_startButton);
_startButton.removeEventListener(MouseEvent.CLICK, onStartButtonClick);
};
_startButton = null;
for each (_local3 in _timers) {
_local3.stop();
};
_timers = null;
TweenMax.killAllTweens();
TweenMax.killAllDelayedCalls();
}
}
}//package
Section 206
//MenuEvent (MenuEvent)
package {
import flash.events.*;
public class MenuEvent extends Event {
public var level:Number;// = 1
public static const SCOREBOARD:String = "score";
public static const HOW:String = "instructions";
public static const STARTGAME:String = "play";
public function MenuEvent(_arg1:String, _arg2:Number, _arg3:Boolean=false, _arg4:Boolean=false){
if (_arg2){
level = _arg2;
};
super(_arg1, _arg3, _arg4);
}
}
}//package
Section 207
//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 208
//MuteButton (MuteButton)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
public class MuteButton extends SimpleButton {
private var _soundOff:Sprite;
private var _soundOn:Sprite;
private var _alpha:Number;// = 0.6
public function MuteButton(_arg1:Number=0.3):void{
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
if (_arg1){
_alpha = _arg1;
};
}
private function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
_soundOn = Main.assets.soundIcon;
_soundOff = Main.assets.soundIconOff;
this.upState = _soundOn;
this.overState = _soundOn;
this.downState = _soundOn;
this.hitTestState = _soundOn;
this.alpha = _alpha;
addEventListener(MouseEvent.MOUSE_OVER, onSoundButtonOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, onSoundButtonOut, false, 0, true);
addEventListener(MouseEvent.CLICK, onSoundButtonClick, false, 0, true);
}
public function updateState():void{
if (Main.sound.isMuted){
this.mute();
} else {
this.unmute();
};
}
public function update(_arg1:Event):void{
}
private function onSoundButtonOut(_arg1:MouseEvent):void{
TweenMax.to(this, 0.3, {alpha:_alpha});
}
public function unmute():void{
Main.sound.unmuteAllSounds();
this.upState = _soundOn;
this.overState = _soundOn;
this.downState = _soundOn;
}
private function onSoundButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
if (Main.sound.isMuted){
this.unmute();
} else {
this.mute();
};
}
private function onSoundButtonOver(_arg1:MouseEvent):void{
TweenMax.to(this, 0.3, {alpha:1});
}
public function mute():void{
Main.sound.muteAllSounds();
this.upState = _soundOff;
this.overState = _soundOff;
this.downState = _soundOff;
}
private function destroy(_arg1:Event):void{
Main.log("Mute Button: begin destroy");
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
_soundOn = null;
_soundOff = null;
removeEventListener(MouseEvent.MOUSE_OVER, onSoundButtonOver);
removeEventListener(MouseEvent.MOUSE_OUT, onSoundButtonOut);
removeEventListener(MouseEvent.CLICK, onSoundButtonClick);
}
}
}//package
Section 209
//ParticleEffects (ParticleEffects)
package {
import flash.display.*;
import org.flintparticles.twoD.emitters.*;
import flash.geom.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.common.displayObjects.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.common.energyEasing.*;
public class ParticleEffects {
public var _Star:Class;
public function ParticleEffects():void{
_Star = ParticleEffects__Star;
super();
}
public function bigNutStars(_arg1:Number=0, _arg2:Number=0):Emitter2D{
var _local3:Emitter2D = new Emitter2D();
var _local4:Sprite = Main.assets.star;
var _local5:BitmapData = new BitmapData(_local4.width, _local4.height);
_local5.draw(_local4);
_local3.x = _arg1;
_local3.y = _arg2;
_local3.counter = new Blast(8);
_local3.addInitializer(new SharedImage(_local4));
_local3.addInitializer(new Lifetime(0.5, 0.8));
_local3.addInitializer(new ColorInit(5591551, 16772753));
_local3.addInitializer(new Position(new PointZone(new Point(0, 0))));
_local3.addInitializer(new Velocity(new DiscSectorZone(new Point(0, 0), 200, 90, ((180 * Math.PI) / 180), ((0 * Math.PI) / 180))));
_local3.addInitializer(new ScaleAllInit(0.25, 0.75));
_local3.addAction(new Age(Quadratic.easeIn));
_local3.addAction(new Fade(1, 0));
_local3.addAction(new LinearDrag(1.5));
_local3.addAction(new Move());
_local3.addAction(new Rotate());
_local3.addAction(new RandomDrift(10, 10));
_local3.addAction(new Accelerate(0, 470));
return (_local3);
}
public function meterStarBurst(_arg1:Number, _arg2:Number):Emitter2D{
var _local3:Emitter2D = new Emitter2D();
_local3.counter = new TimePeriod(105, 2);
_local3.addInitializer(new SharedImage(new Dot(2)));
_local3.addInitializer(new ColorInit(5591551, 15610777));
_local3.addInitializer(new Position(new PointZone(new Point(0, 0))));
_local3.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 175, 25)));
_local3.addInitializer(new ScaleAllInit(0.9, 1.1));
_local3.addInitializer(new Lifetime(0.5));
_local3.addAction(new Age(Quadratic.easeIn));
_local3.addAction(new Move());
_local3.addAction(new Fade());
_local3.addAction(new Accelerate(0, 100));
_local3.addAction(new LinearDrag(0.5));
_local3.x = _arg1;
_local3.y = _arg2;
return (_local3);
}
public function cannonPuff(_arg1:Number, _arg2:Number):Emitter2D{
var _local3:Emitter2D = new Emitter2D();
_local3.x = _arg1;
_local3.y = _arg2;
_local3.counter = new Blast(9);
_local3.addInitializer(new Lifetime(1, 1.5));
_local3.addInitializer(new Position(new PointZone(new Point(0, 0))));
_local3.addInitializer(new Velocity(new RectangleZone(-20, -45, 50, -30)));
_local3.addInitializer(new SharedImage(new RadialDot(10)));
_local3.addInitializer(new ScaleAllInit(0.8, 1.2));
_local3.addAction(new Age(Cubic.easeIn));
_local3.addAction(new Move());
_local3.addAction(new LinearDrag(0.01));
_local3.addAction(new ScaleAll(1, 3));
_local3.addAction(new Fade(0.15, 0));
_local3.addAction(new RandomDrift(35, 15));
return (_local3);
}
public function cannonStream(_arg1:Number, _arg2:Number):Emitter2D{
var _local3:Emitter2D = new Emitter2D();
var _local4:BitmapRenderer = new BitmapRenderer(new Rectangle((_arg1 - 50), (_arg2 - 100), 100, 110));
_local4.addEmitter(_local3);
_local3.x = _arg1;
_local3.y = _arg2;
_local3.counter = new Steady(15);
_local3.addInitializer(new Lifetime(1, 2));
_local3.addInitializer(new Position(new PointZone(new Point(0, 0))));
_local3.addInitializer(new Velocity(new PointZone(new Point(0, -40))));
_local3.addInitializer(new SharedImage(new RadialDot(8)));
_local3.addInitializer(new ScaleAllInit(0.85, 1.2));
_local3.addAction(new Age());
_local3.addAction(new Move());
_local3.addAction(new LinearDrag(0.01));
_local3.addAction(new Fade(0.15, 0));
_local3.addAction(new RandomDrift(185, 0));
return (_local3);
}
public function starBurst(_arg1:Number=0, _arg2:Number=0, _arg3:Number=5):Emitter2D{
var _local4:Emitter2D = new Emitter2D();
var _local5:Sprite = Main.assets.star;
var _local6:BitmapData = new BitmapData(_local5.width, _local5.height);
_local6.draw(_local5);
_local4.x = _arg1;
_local4.y = _arg2;
_local4.counter = new Blast(_arg3);
_local4.addInitializer(new SharedImage(_local5));
_local4.addInitializer(new Lifetime(0.4, 0.6));
_local4.addInitializer(new Position(new PointZone(new Point(0, 0))));
_local4.addInitializer(new Velocity(new DiscSectorZone(new Point(0, -30), 100, 90, ((180 * Math.PI) / 180), ((0 * Math.PI) / 180))));
_local4.addInitializer(new ScaleAllInit(0.35, 0.65));
_local4.addAction(new Age(Quadratic.easeIn));
_local4.addAction(new Fade(1, 0));
_local4.addAction(new LinearDrag(1.5));
_local4.addAction(new Move());
_local4.addAction(new Rotate());
_local4.addAction(new RandomDrift(10, 10));
_local4.addAction(new Accelerate(0, 470));
return (_local4);
}
}
}//package
Section 210
//ParticleEffects__Star (ParticleEffects__Star)
package {
import flash.display.*;
import mx.core.*;
public class ParticleEffects__Star extends SpriteAsset {
public var multiplier_txt:DisplayObject;
public var target_txt:DisplayObject;
public var menu_btn:DisplayObject;
public var nut_txt:DisplayObject;
public var mask_mc:DisplayObject;
public var score_txt:DisplayObject;
public var nextlevel_btn:DisplayObject;
public var star_grey_mc:DisplayObject;
public var nutcount_mc:DisplayObject;
public var main_btn:DisplayObject;
public var title_txt:DisplayObject;
public var select_btn:DisplayObject;
public var starOff_mc:DisplayObject;
public var resume_btn:DisplayObject;
public var hang_txt:DisplayObject;
public var tail_mc:DisplayObject;
public var replay_btn:DisplayObject;
public var done_btn:DisplayObject;
public var shots_txt:DisplayObject;
public var more_btn:DisplayObject;
public var most_txt:DisplayObject;
public var submit_btn:DisplayObject;
public var star_mc:DisplayObject;
public var starOn_mc:DisplayObject;
public var time_txt:DisplayObject;
}
}//package
Section 211
//Peg (Peg)
package {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
public class Peg extends Sprite {
private var _group:Group;
private var _id:Number;
private var _acorn:Sprite;
private var _size:Number;// = 10
private var _phyPeg:CircleParticle;
private var _elasticity:Number;// = 0.8
private var _timers:Array;
public function Peg(_arg1:Group, _arg2:Number, _arg3:Number):void{
_timers = new Array();
super();
_group = _arg1;
this.x = _arg2;
this.y = _arg3;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function get size():Number{
return (_size);
}
private function draw(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, draw);
_acorn = Main.assets.acorn;
_acorn.cacheAsBitmap = true;
addChild(_acorn);
_phyPeg = new CircleParticle((this.x + (_acorn.width / 2)), (this.y + (_acorn.height / 2)), _size);
_phyPeg.fixed = true;
_phyPeg.elasticity = _elasticity;
_phyPeg.visible = false;
_phyPeg.addEventListener(CollisionEvent.COLLIDE, onCollision, false, 0, true);
_group.addParticle(_phyPeg);
}
private function destroy(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
removeEventListener(Event.ENTER_FRAME, update);
_phyPeg.removeEventListener(CollisionEvent.COLLIDE, onCollision);
_phyPeg.cleanup();
_group.removeParticle(_phyPeg);
_phyPeg = null;
removeChild(_acorn);
_acorn = null;
_group = null;
}
public function get id():Number{
return (_id);
}
public function onCollision(_arg1:CollisionEvent):void{
dispatchEvent(new PegEvent(PegEvent.HIT, false, false, this));
}
public function set id(_arg1:Number):void{
_id = _arg1;
}
private function update(_arg1:Event):void{
}
}
}//package
Section 212
//PegEvent (PegEvent)
package {
import flash.events.*;
public class PegEvent extends Event {
private var _peg:Peg;
public static const HIT:String = "hit";
public function PegEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Peg=null){
super(_arg1, _arg2, _arg3);
_peg = _arg4;
}
public function get peg():Peg{
return (_peg);
}
}
}//package
Section 213
//Player (Player)
package {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.net.*;
import flash.ui.*;
public class Player {
private var _so:SharedObject;
public function Player():void{
_so = SharedObject.getLocal("CGN_game");
if (_so.size == 0){
_so.data.levelData = new Array();
};
}
public function getLevelScore(_arg1:Number):Number{
if (!levelData[_arg1]){
return (0);
};
return (levelData[_arg1].score);
}
public function get levelData():Array{
return (_so.data.levelData);
}
public function saveLevel(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Object = (levelData[_arg1]) ? levelData[_arg1] : {};
_local4.id = _arg1;
if (((!(_local4.score)) || ((_arg2 > _local4.score)))){
_local4.score = _arg2;
};
if (((!(_local4.time)) || ((_arg3 < _local4.time)))){
_local4.time = _arg3;
};
levelData[_arg1] = _local4;
}
public function getLevel(_arg1:Number):Object{
if (!levelData[_arg1]){
return ({});
};
return (levelData[_arg1]);
}
}
}//package
Section 214
//SeamlessBackground (SeamlessBackground)
package {
import flash.events.*;
import flash.display.*;
public class SeamlessBackground extends Sprite {
private var _contWidth:Number;
private var _tileBitmap:BitmapData;
private var _contHeight:Number;
public function SeamlessBackground(_arg1:Number, _arg2:Number, _arg3:BitmapData):void{
_tileBitmap = _arg3;
_contWidth = _arg1;
_contHeight = _arg2;
addEventListener(Event.ADDED_TO_STAGE, draw, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
}
public function destroy(_arg1:Event):void{
_tileBitmap.dispose();
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
}
public function draw(_arg1:Event):void{
var _local3:int;
var _local4:Sprite;
removeEventListener(Event.ADDED_TO_STAGE, draw);
var _local2:int;
while (_local2 < 3) {
_local3 = 0;
while (_local3 < 3) {
_local4 = new Sprite();
_local4.graphics.beginBitmapFill(_tileBitmap);
_local4.graphics.drawRect(0, 0, _contWidth, _contHeight);
_local4.graphics.endFill();
_local4.x = (_local3 * _contWidth);
_local4.y = (_local2 * _contHeight);
addChild(_local4);
_local3++;
};
_local2++;
};
this.x = -(_contWidth);
this.y = -(_contHeight);
}
public function move(_arg1:Number=0, _arg2:Number=0):void{
var _local3:Number = (x + _arg1);
var _local4:Number = (y + _arg2);
var _local5:Boolean;
if ((((_local3 >= 0)) || ((_local3 <= -((_contWidth * 2)))))){
this.x = -(_contWidth);
};
if ((((_local4 >= 0)) || ((_local4 <= -((_contHeight * 2)))))){
this.y = -(_contHeight);
};
this.x = (this.x + _arg1);
this.y = (this.y + _arg2);
}
}
}//package
Section 215
//SoundManager (SoundManager)
package {
import flash.media.*;
import gs.*;
import flash.utils.*;
import flash.net.*;
public class SoundManager {
private var _soundsDict:Dictionary;
private var _soundToTime:Dictionary;
private var _sounds:Array;
private var _muted:Boolean;// = false
private static var _instance:SoundManager;
private static var _allowInstance:Boolean;
public function SoundManager(){
_soundToTime = new Dictionary(true);
super();
this._soundsDict = new Dictionary(true);
this._sounds = new Array();
if (!SoundManager._allowInstance){
throw (new Error("Error: Use SoundManager.getInstance() instead of the new keyword."));
};
}
public function fadeSound(_arg1:String, _arg2:Number=0, _arg3:Number=1):void{
var _local4:SoundChannel = this._soundsDict[_arg1].channel;
TweenLite.to(_local4, _arg3, {volume:_arg2});
}
public function get sounds():Array{
return (this._sounds);
}
public function setSoundVolume(_arg1:String, _arg2:Number):void{
var _local3:Object = this._soundsDict[_arg1];
var _local4:SoundTransform = _local3.channel.soundTransform;
_local4.volume = _arg2;
_local3.channel.soundTransform = _local4;
}
public function playSound(_arg1:String, _arg2:Number=1, _arg3:Number=0, _arg4:int=0, _arg5:int=50):void{
var _local7:Number;
var _local6:Object = this._soundsDict[_arg1];
_local6.volume = _arg2;
_local6.startTime = _arg3;
_local6.loops = _arg4;
if (_muted){
_local7 = 0;
} else {
_local7 = _local6.volume;
};
var _local8:Date = new Date();
if ((((_arg5 == 0)) || ((_soundToTime[_arg1] < (_local8.time - _arg5))))){
if (_local6.paused){
_local6.channel = _local6.sound.play(_local6.position, _local6.loops, new SoundTransform(_local7));
} else {
_local6.channel = _local6.sound.play(_arg3, _local6.loops, new SoundTransform(_local7));
};
_soundToTime[_arg1] = _local8.time;
_local6.paused = false;
};
}
public function getSoundDuration(_arg1:String):Number{
return (this._soundsDict[_arg1].sound.length);
}
public function toString():String{
return (getQualifiedClassName(this));
}
public function getSoundVolume(_arg1:String):Number{
return (this._soundsDict[_arg1].channel.soundTransform.volume);
}
public function addLibrarySound(_arg1, _arg2:String):Boolean{
var _local3:int;
while (_local3 < this._sounds.length) {
if (this._sounds[_local3].name == _arg2){
return (false);
};
_local3++;
};
var _local4:Object = new Object();
var _local5:Sound = new (_arg1);
_local4.name = _arg2;
_local4.sound = _local5;
_local4.channel = new SoundChannel();
_local4.position = 0;
_local4.paused = true;
_local4.volume = 1;
_local4.startTime = 0;
_local4.loops = 0;
_local4.pausedByAll = false;
this._soundsDict[_arg2] = _local4;
this._sounds.push(_local4);
return (true);
}
public function isSoundPaused(_arg1:String):Boolean{
return (this._soundsDict[_arg1].paused);
}
public function get isMuted():Boolean{
return (_muted);
}
public function getSoundPosition(_arg1:String):Number{
return (this._soundsDict[_arg1].channel.position);
}
public function removeAllSounds():void{
var _local1:int;
while (_local1 < this._sounds.length) {
this._sounds[_local1] = null;
_local1++;
};
this._sounds = new Array();
this._soundsDict = new Dictionary(true);
}
public function stopAllSounds(_arg1:Boolean=true):void{
var _local3:String;
var _local2:int;
while (_local2 < this._sounds.length) {
_local3 = this._sounds[_local2].name;
if (_arg1){
if (!this._soundsDict[_local3].paused){
this._soundsDict[_local3].pausedByAll = true;
this.stopSound(_local3);
};
} else {
this.stopSound(_local3);
};
_local2++;
};
}
public function removeSound(_arg1:String):void{
var _local2:int;
while (_local2 < this._sounds.length) {
if (this._sounds[_local2].name == _arg1){
this._sounds[_local2] = null;
this._sounds.splice(_local2, 1);
};
_local2++;
};
delete this._soundsDict[_arg1];
delete _soundToTime[_arg1];
}
public function muteAllSounds():void{
var _local2:String;
var _local1:int;
while (_local1 < this._sounds.length) {
_local2 = this._sounds[_local1].name;
this.setSoundVolume(_local2, 0);
_local1++;
};
_muted = true;
}
public function stopSound(_arg1:String):void{
var _local2:Object = this._soundsDict[_arg1];
_local2.paused = true;
_local2.channel.stop();
_local2.position = _local2.channel.position;
}
public function addSound(_arg1:Object, _arg2:String):Boolean{
var _local3:int;
while (_local3 < this._sounds.length) {
if (this._sounds[_local3].name == _arg2){
return (false);
};
_local3++;
};
var _local4:Object = new Object();
_local4.name = _arg2;
_local4.sound = _arg1;
_local4.channel = new SoundChannel();
_local4.position = 0;
_local4.paused = true;
_local4.volume = 1;
_local4.startTime = 0;
_local4.loops = 0;
_local4.pausedByAll = false;
this._soundsDict[_arg2] = _local4;
this._sounds.push(_local4);
_soundToTime[_arg2] = 0;
return (true);
}
public function pauseAllSounds(_arg1:Boolean=true):void{
var _local3:String;
var _local2:int;
while (_local2 < this._sounds.length) {
_local3 = this._sounds[_local2].name;
if (_arg1){
if (!this._soundsDict[_local3].paused){
this._soundsDict[_local3].pausedByAll = true;
this.pauseSound(_local3);
};
} else {
this.pauseSound(_local3);
};
_local2++;
};
}
public function playAllSounds(_arg1:Boolean=false):void{
var _local3:String;
var _local2:int;
while (_local2 < this._sounds.length) {
_local3 = this._sounds[_local2].name;
if (_arg1){
if (this._soundsDict[_local3].pausedByAll){
this._soundsDict[_local3].pausedByAll = false;
this.playSound(_local3);
};
} else {
this.playSound(_local3);
};
_local2++;
};
}
public function addExternalSound(_arg1:String, _arg2:String, _arg3:Number=1000, _arg4:Boolean=false):Boolean{
var _local5:int;
while (_local5 < this._sounds.length) {
if (this._sounds[_local5].name == _arg2){
return (false);
};
_local5++;
};
var _local6:Object = new Object();
var _local7:Sound = new Sound(new URLRequest(_arg1), new SoundLoaderContext(_arg3, _arg4));
_local6.name = _arg2;
_local6.sound = _local7;
_local6.channel = new SoundChannel();
_local6.position = 0;
_local6.paused = true;
_local6.volume = 1;
_local6.startTime = 0;
_local6.loops = 0;
_local6.pausedByAll = false;
this._soundsDict[_arg2] = _local6;
this._sounds.push(_local6);
return (true);
}
public function unmuteAllSounds():void{
var _local2:String;
var _local3:Object;
var _local4:SoundTransform;
var _local1:int;
while (_local1 < this._sounds.length) {
_local2 = this._sounds[_local1].name;
_local3 = this._soundsDict[_local2];
_local4 = _local3.channel.soundTransform;
_local4.volume = _local3.volume;
_local3.channel.soundTransform = _local4;
_local1++;
};
_muted = false;
}
public function isSoundPausedByAll(_arg1:String):Boolean{
return (this._soundsDict[_arg1].pausedByAll);
}
public function getSoundObject(_arg1:String):Sound{
return (this._soundsDict[_arg1].sound);
}
public function pauseSound(_arg1:String):void{
var _local2:Object = this._soundsDict[_arg1];
_local2.paused = true;
_local2.position = _local2.channel.position;
_local2.channel.stop();
}
public static function getInstance():SoundManager{
if (SoundManager._instance == null){
SoundManager._allowInstance = true;
SoundManager._instance = new (SoundManager);
SoundManager._allowInstance = false;
};
return (SoundManager._instance);
}
}
}//package
Section 216
//StringUtils (StringUtils)
package {
public class StringUtils {
private static function _swapCase(_arg1:String, ... _args):String{
var _local3:String = _arg1.toLowerCase();
var _local4:String = _arg1.toUpperCase();
switch (_arg1){
case _local3:
return (_local4);
case _local4:
return (_local3);
default:
return (_arg1);
};
}
public static function isEmpty(_arg1:String):Boolean{
if (_arg1 == null){
return (true);
};
return (!(_arg1.length));
}
public static function remove(_arg1:String, _arg2:String, _arg3:Boolean=true):String{
if (_arg1 == null){
return ("");
};
var _local4:String = escapePattern(_arg2);
var _local5:String = (_arg3) ? "g" : "ig";
return (_arg1.replace(new RegExp(_local4, _local5), ""));
}
public static function countOf(_arg1:String, _arg2:String, _arg3:Boolean=true):uint{
if (_arg1 == null){
return (0);
};
var _local4:String = escapePattern(_arg2);
var _local5:String = (_arg3) ? "g" : "ig";
return (_arg1.match(new RegExp(_local4, _local5)).length);
}
public static function between(_arg1:String, _arg2:String, _arg3:String):String{
var _local6:int;
var _local4 = "";
if (_arg1 == null){
return (_local4);
};
var _local5:int = _arg1.indexOf(_arg2);
if (_local5 != -1){
_local5 = (_local5 + _arg2.length);
_local6 = _arg1.indexOf(_arg3, _local5);
if (_local6 != -1){
_local4 = _arg1.substr(_local5, (_local6 - _local5));
};
};
return (_local4);
}
public static function padRight(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String = _arg1;
while (_local4.length < _arg3) {
_local4 = (_local4 + _arg2);
};
return (_local4);
}
public static function isNumeric(_arg1:String):Boolean{
if (_arg1 == null){
return (false);
};
var _local2:RegExp = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
return (_local2.test(_arg1));
}
public static function block(_arg1:String, _arg2:uint, _arg3:String="."):Array{
var _local8:String;
var _local4:Array = new Array();
if ((((_arg1 == null)) || (!(contains(_arg1, _arg3))))){
return (_local4);
};
var _local5:uint;
var _local6:uint = _arg1.length;
var _local7:RegExp = new RegExp((("[^" + escapePattern(_arg3)) + "]+$"));
while (_local5 < _local6) {
_local8 = _arg1.substr(_local5, _arg2);
if (!contains(_local8, _arg3)){
_local4.push(truncate(_local8, _local8.length));
_local5 = (_local5 + _local8.length);
};
_local8 = _local8.replace(_local7, "");
_local4.push(_local8);
_local5 = (_local5 + _local8.length);
};
return (_local4);
}
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
public static function beginsWith(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return ((_arg1.indexOf(_arg2) == 0));
}
public static function stripTags(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/<\/?[^>]+>/igm, ""));
}
public static function afterLast(_arg1:String, _arg2:String):String{
if (_arg1 == null){
return ("");
};
var _local3:int = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
private static function _minimum(_arg1:uint, _arg2:uint, _arg3:uint):uint{
return (Math.min(_arg1, Math.min(_arg2, Math.min(_arg3, _arg1))));
}
private static function escapePattern(_arg1:String):String{
return (_arg1.replace(/(\]|\[|\{|\}|\(|\)|\*|\+|\?|\.|\\)/g, "\\$1"));
}
public static function removeExtraWhitespace(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:String = trim(_arg1);
return (_local2.replace(/\s+/g, " "));
}
public static function trimRight(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/\s+$/, ""));
}
public static function endsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg1.lastIndexOf(_arg2) == (_arg1.length - _arg2.length)));
}
public static function contains(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return (!((_arg1.indexOf(_arg2) == -1)));
}
public static function properCase(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:String = _arg1.toLowerCase().replace(/\b([^.?;!]+)/, capitalize);
return (_local2.replace(/\b[i]\b/, "I"));
}
public static function trimLeft(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+/, ""));
}
public static function similarity(_arg1:String, _arg2:String):Number{
var _local3:uint = editDistance(_arg1, _arg2);
var _local4:uint = Math.max(_arg1.length, _arg2.length);
if (_local4 == 0){
return (100);
};
return (((1 - (_local3 / _local4)) * 100));
}
public static function wordCount(_arg1:String):uint{
if (_arg1 == null){
return (0);
};
return (_arg1.match(/\b\w+\b/g).length);
}
public static function editDistance(_arg1:String, _arg2:String):uint{
var _local3:uint;
var _local5:uint;
var _local8:uint;
var _local9:String;
var _local10:String;
if (_arg1 == null){
_arg1 = "";
};
if (_arg2 == null){
_arg2 = "";
};
if (_arg1 == _arg2){
return (0);
};
var _local4:Array = new Array();
var _local6:uint = _arg1.length;
var _local7:uint = _arg2.length;
if (_local6 == 0){
return (_local7);
};
if (_local7 == 0){
return (_local6);
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3] = new Array();
_local3++;
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3][0] = _local3;
_local3++;
};
_local8 = 0;
while (_local8 <= _local7) {
_local4[0][_local8] = _local8;
_local8++;
};
_local3 = 1;
while (_local3 <= _local6) {
_local9 = _arg1.charAt((_local3 - 1));
_local8 = 1;
while (_local8 <= _local7) {
_local10 = _arg2.charAt((_local8 - 1));
if (_local9 == _local10){
_local5 = 0;
} else {
_local5 = 1;
};
_local4[_local3][_local8] = _minimum((_local4[(_local3 - 1)][_local8] + 1), (_local4[_local3][(_local8 - 1)] + 1), (_local4[(_local3 - 1)][(_local8 - 1)] + _local5));
_local8++;
};
_local3++;
};
return (_local4[_local6][_local7]);
}
public static function hasText(_arg1:String):Boolean{
var _local2:String = removeExtraWhitespace(_arg1);
return (!(!(_local2.length)));
}
public static function reverse(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split("").reverse().join(""));
}
public static function swapCase(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/(\w)/, _swapCase));
}
public static function capitalize(_arg1:String, ... _args):String{
var _local3:String = trimLeft(_arg1);
trace("capl", _args[0]);
if (_args[0] === true){
return (_local3.replace(/^.|\b./g, _upperCase));
};
return (_local3.replace(/(^\w)/, _upperCase));
}
public static function truncate(_arg1:String, _arg2:uint, _arg3:String="..."):String{
if (_arg1 == null){
return ("");
};
_arg2 = (_arg2 - _arg3.length);
var _local4:String = _arg1;
if (_local4.length > _arg2){
_local4 = _local4.substr(0, _arg2);
if (/[^\s]/.test(_arg1.charAt(_arg2))){
_local4 = trimRight(_local4.replace(/\w+$|\s+$/, ""));
};
_local4 = (_local4 + _arg3);
};
return (_local4);
}
public static function reverseWords(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split(/\s+/).reverse().join(""));
}
public static function beforeFirst(_arg1:String, _arg2:String):String{
if (_arg1 == null){
return ("");
};
var _local3:int = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
private static function _upperCase(_arg1:String, ... _args):String{
trace("cap latter ", _arg1);
return (_arg1.toUpperCase());
}
public static function afterFirst(_arg1:String, _arg2:String):String{
if (_arg1 == null){
return ("");
};
var _local3:int = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
public static function beforeLast(_arg1:String, _arg2:String):String{
if (_arg1 == null){
return ("");
};
var _local3:int = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
public static function padLeft(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String = _arg1;
while (_local4.length < _arg3) {
_local4 = (_arg2 + _local4);
};
return (_local4);
}
public static function quote(_arg1:String):String{
var _local2:RegExp = /[\\"\r\n]/g;
return ((("\"" + _arg1.replace(_local2, _quote)) + "\""));
}
private static function _quote(_arg1:String, ... _args):String{
switch (_arg1){
case "\\":
return ("\\\\");
case "\r":
return ("\\r");
case "\n":
return ("\\n");
case "\"":
return ("\\\"");
default:
return ("");
};
}
}
}//package
Section 217
//Text (Text)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import org.cove.ape.*;
import flash.ui.*;
public class Text {
private var _endBallFormat:TextFormat;
private var _levelThumbFormat:TextFormat;
private var _pegFormat:TextFormat;
private var _scoreFormat:TextFormat;
public static const ORANGE_GRADIENT:String = "orange";
public static const PURPLE:String = "0xe1a0ff";
public static const ORANGE:String = "0xffdb8e";
public static const PURPLE_GRADIENT:String = "purple";
public static const BLUE_GRADIENT:String = "blue";
public static const BLUE:String = "0x54B5ED";
public function pegMultiplierText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:6, color:271678, font:Main.assets.base12Sans.fontName});
_local2.text = _arg1;
_local2.antiAliasType = AntiAliasType.ADVANCED;
_local2.thickness = 200;
createBorder(_local2, 2);
_local2.cacheAsBitmap = true;
return (_local2);
}
public function personalBestText2(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:24, color:Text.BLUE, border:false});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.BLUE_GRADIENT);
createBorder(_local3, 10, 271678);
return (_local3);
}
public function personalBestText3(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:52, color:Text.ORANGE, border:false});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.ORANGE_GRADIENT);
createBorder(_local3, 14, 271678);
return (_local3);
}
public function personalBestText1(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:38, color:Text.BLUE, border:false});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.BLUE_GRADIENT);
createBorder(_local3, 10, 271678);
return (_local3);
}
public function createBorder(_arg1:DisplayObject, _arg2:Number=4, _arg3:uint=0xFFFFFF):void{
var _local4:GlowFilter = new GlowFilter(_arg3, 1, _arg2, _arg2, 20);
_arg1.filters = [_local4];
}
public function endShotText(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:18, color:Text.BLUE, border:false});
_local2.multiline = true;
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.BLUE_GRADIENT);
return (_local3);
}
public function leaderboardText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:16, color:0xFFFFFF, align:TextFormatAlign.CENTER, autoSize:TextFieldAutoSize.CENTER});
_local2.text = _arg1;
return (_local2);
}
public function multiplierText(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:18, color:Text.PURPLE, border:false});
_local2.text = _arg1;
_local2.antiAliasType = AntiAliasType.ADVANCED;
var _local3:Sprite = createGradientOnText(_local2, Text.PURPLE_GRADIENT);
createBorder(_local3, 4, 1644058);
return (_local3);
}
public function startLevelText(_arg1:String=null):Sprite{
var _local2:TextField = getTextField({size:60, borderWidth:8, color:Text.PURPLE, border:false});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.PURPLE_GRADIENT);
createBorder(_local3, 10, 271678);
return (_local3);
}
public function levelBrowserText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:22, color:0xFFFFFF, align:TextFormatAlign.CENTER, autoSize:TextFieldAutoSize.CENTER});
_local2.text = _arg1;
return (_local2);
}
public function createButton(_arg1:String):SimpleButton{
var _local2:SimpleButton = new SimpleButton();
var _local3:Sprite = new Sprite();
var _local4:TextField = getTextField({size:22, color:0xFFFFFF});
_local4.text = _arg1;
_local3.addChild(_local4);
_local3.graphics.lineStyle(4, 0xFFFFFF);
_local3.graphics.beginFill(8214711);
_local3.graphics.drawRoundRect(0, 0, (_local4.width + 40), (_local4.height + 5), 8, 8);
Utility.centerClip(_local4, _local3);
_local2.upState = _local3;
_local2.hitTestState = _local3;
_local2.overState = _local3;
return (_local2);
}
public function getTextField(_arg1:Object=null):TextField{
var _local3:TextFormat;
var _local4:TextField;
var _local5:String;
var _local2:Object = {size:14, color:2237013, font:Main.assets.blockTHeavy.fontName, align:TextFormatAlign.LEFT, bold:false, autoSize:TextFieldAutoSize.LEFT, letterSpacing:0};
if (_arg1 == null){
_arg1 = _local2;
} else {
for (_local5 in _local2) {
if (!_arg1.hasOwnProperty(_local5)){
_arg1[_local5] = _local2[_local5];
};
};
};
_local3 = new TextFormat();
_local3.font = _arg1.font;
_local3.color = _arg1.color;
_local3.size = _arg1.size;
_local3.align = _arg1.align;
_local3.bold = _arg1.bold;
_local3.kerning = true;
_local3.letterSpacing = _arg1.letterSpacing;
_local4 = new TextField();
_local4.type = TextFieldType.DYNAMIC;
_local4.embedFonts = true;
_local4.autoSize = _arg1.autoSize;
_local4.selectable = false;
_local4.defaultTextFormat = _local3;
_local4.height = _local4.textHeight;
_local4.name = "text";
return (_local4);
}
public function levelText(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:18, color:Text.PURPLE, border:false});
_local2.text = _arg1;
_local2.antiAliasType = AntiAliasType.ADVANCED;
var _local3:Sprite = createGradientOnText(_local2, Text.PURPLE_GRADIENT);
createBorder(_local3, 4, 1644058);
return (_local3);
}
public function bubbleText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:14, color:3354930, font:"BlockTReg"});
_local2.embedFonts = true;
_local2.text = _arg1;
return (_local2);
}
public function pegText(_arg1:String, _arg2:uint=1118515):TextField{
var _local3:TextField = getTextField({size:14, color:_arg2, letterSpacing:-1, font:Main.assets.base12Sans.fontName});
_local3.text = _arg1;
_local3.antiAliasType = AntiAliasType.ADVANCED;
createBorder(_local3, 2);
_local3.cacheAsBitmap = true;
return (_local3);
}
public function scoreText(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:28, color:Text.ORANGE, border:false, align:TextFormatAlign.CENTER, autoSize:TextFieldAutoSize.LEFT});
_local2.text = _arg1;
_local2.antiAliasType = AntiAliasType.ADVANCED;
_local2.thickness = 200;
var _local3:Sprite = createGradientOnText(_local2, Text.ORANGE_GRADIENT);
createBorder(_local3, 7, 1644058);
return (_local3);
}
public function rewardMessage(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:40, color:Text.BLUE, borderWidth:8, border:false});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.BLUE_GRADIENT);
createBorder(_local3, 10);
return (_local3);
}
public function bubbleTitle(_arg1:String):TextField{
var _local2:TextField = getTextField({size:20, color:3354930});
_local2.text = _arg1;
return (_local2);
}
public function endLevelTitle(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:24, color:Text.BLUE, border:false, align:TextFormatAlign.CENTER, autoSize:TextFieldAutoSize.CENTER});
_local2.text = _arg1;
var _local3:Sprite = createGradientOnText(_local2, Text.BLUE_GRADIENT);
return (_local3);
}
public function createGradientOnText(_arg1:TextField, _arg2:String="orange"):Sprite{
var _local3:Sprite = new Sprite();
var _local4:Sprite = new Sprite();
_local4.x = _arg1.x;
_local4.y = _arg1.y;
var _local5:String = GradientType.LINEAR;
var _local6:Array;
switch (_arg2){
case Text.ORANGE_GRADIENT:
_local6 = [Text.ORANGE, 0xFFFFFF];
break;
case Text.PURPLE_GRADIENT:
_local6 = [Text.PURPLE, 0xFFFFFF];
break;
case Text.BLUE_GRADIENT:
_local6 = [Text.BLUE, 0xFFFFFF];
break;
};
var _local7:Sprite = new Sprite();
_local7.name = "gradient";
_local4.addChild(_arg1);
_local4.addChild(_local7);
_local7.x = _arg1.x;
_local7.y = _arg1.y;
_local7.cacheAsBitmap = true;
_arg1.cacheAsBitmap = true;
_local4.cacheAsBitmap = true;
return (_local4);
}
public function bestText(_arg1:String):Sprite{
var _local2:TextField = getTextField({size:12, color:Text.ORANGE, border:false});
_local2.text = _arg1;
_local2.antiAliasType = AntiAliasType.ADVANCED;
var _local3:Sprite = createGradientOnText(_local2, Text.ORANGE_GRADIENT);
createBorder(_local3, 4, 1644058);
return (_local3);
}
public function endLevelText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:18, border:false, color:0xFFFFFF});
_local2.multiline = true;
_local2.text = _arg1;
return (_local2);
}
public function levelBrowserThumbText(_arg1:String):TextField{
var _local2:TextField = getTextField({size:28, color:0xFFFFFF});
_local2.text = _arg1;
return (_local2);
}
}
}//package
Section 218
//Utility (Utility)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class Utility {
public static function deltaX(_arg1:Point, _arg2:Point):Number{
return (Math.abs((_arg1.x - _arg2.x)));
}
public static function deltaY(_arg1:Point, _arg2:Point):Number{
return (Math.abs((_arg1.y - _arg2.y)));
}
public static function formatTime(_arg1:Date):String{
return (((_arg1.minutes + ":") + Utility.numberToZeroPaddedString(_arg1.seconds)));
}
public static function centerClip(_arg1:DisplayObject, _arg2:DisplayObject=null):void{
if (!_arg2){
_arg1.x = ((Main.gameWidth / 2) - (_arg1.width / 2));
_arg1.y = ((Main.gameHeight / 2) - (_arg1.height / 2));
} else {
_arg1.x = ((_arg2.width / 2) - (_arg1.width / 2));
_arg1.y = ((_arg2.height / 2) - (_arg1.height / 2));
};
}
public static function degreesToRotation(_arg1:Number, _arg2:Number=0):Number{
_arg1 = Math.abs(_arg1);
if (_arg1 < 180){
return (_arg1);
};
return (((360 - _arg1) * -1));
}
public static function getAngleOfLine(_arg1:Point, _arg2:Point):Number{
var _local3:Number = Math.atan(((_arg1.y - _arg2.y) / (_arg1.x - _arg2.x)));
var _local4:Number = Utility.radiansToDegrees(_local3);
switch (Utility.quadrantOfLine(_arg1, _arg2)){
case 1:
_local4 = Math.abs(_local4);
break;
case 2:
_local4 = (180 - Math.abs(_local4));
break;
case 3:
_local4 = (180 + Math.abs(_local4));
break;
case 4:
_local4 = (360 - Math.abs(_local4));
break;
};
return (_local4);
}
public static function rotationOfLine(_arg1:Point, _arg2:Point):Number{
var _local3:Number = (_arg2.x - _arg1.x);
var _local4:Number = (_arg2.y - _arg1.y);
var _local5:Number = Utility.radiansToDegrees(Math.atan2(_local4, _local3));
return (_local5);
}
public static function countTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Function, _arg5:Function=null):void{
var current:Number;
var increment:Number;
var onTimer:Function;
var onTimerComplete:Function;
var timer:Timer;
var from = _arg1;
var to = _arg2;
var milSeconds = _arg3;
var update = _arg4;
var complete = _arg5;
current = from;
var speed:Number = 50;
var repeat:Number = Math.ceil((milSeconds / speed));
var diff:Number = (to - from);
increment = Math.ceil((diff / 10));
onTimer = function (_arg1:TimerEvent):void{
current = (current + increment);
if (current > to){
current = to;
timer.stop();
if (Boolean(complete)){
complete();
};
};
update(current);
};
onTimerComplete = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, onTimer);
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer = null;
};
timer = new Timer(speed, repeat);
timer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete, false, 0, true);
timer.start();
}
public static function getCenterPoint(_arg1:Sprite):Point{
var _local2:Point = new Point((_arg1.width / 2), (_arg1.height / 2));
var _local3:Point = new Point(0, 0);
var _local4:Number = Utility.rotationToDegrees(_arg1.rotation);
switch (Utility.quadrantOfAngle(_local4)){
case 1:
_local3.x = (_arg1.x - _local2.x);
_local3.y = (_arg1.y + _local2.y);
break;
case 2:
_local3.x = (_arg1.x - _local2.x);
_local3.y = (_arg1.y - _local2.y);
break;
case 3:
_local3.x = (_arg1.x + _local2.x);
_local3.y = (_arg1.y - _local2.y);
break;
case 4:
_local3.x = (_arg1.x + _local2.x);
_local3.y = (_arg1.y + _local2.y);
break;
};
return (_local3);
}
public static function playToFrame(_arg1:MovieClip, _arg2:Object, _arg3:String):void{
var f:Function;
var m = _arg1;
var start = _arg2;
var endLabel = _arg3;
f = function (_arg1:Event):void{
var _local2:MovieClip = (_arg1.target as MovieClip);
if (_local2.currentLabel == endLabel){
m.stop();
m.removeEventListener(Event.ENTER_FRAME, f);
};
};
m.gotoAndPlay(start);
m.addEventListener(Event.ENTER_FRAME, f, false, 0, true);
}
public static function rotationToDegrees(_arg1:Number):Number{
if (_arg1 > 0){
return (_arg1);
};
return ((360 + _arg1));
}
public static function commafy(_arg1:Number):String{
var _local7:Number;
var _local2:String = _arg1.toString();
if (_local2.length <= 3){
return (_local2);
};
var _local3 = "";
var _local4:String = StringUtils.reverse(_local2);
var _local5:Number = Math.floor((_local2.length / 3));
var _local6:Number = 1;
while (_local6 <= _local5) {
_local7 = ((_local6 * 3) - 3);
_local3 = (_local3 + _local4.substr(_local7, 3));
if (_local2.length != (_local6 * 3)){
_local3 = (_local3 + ",");
};
_local6++;
};
if ((_local5 * 3) != _local2.length){
_local3 = (_local3 + _local4.substr((_local5 * 3), (_local4.length - (_local5 * 3))));
};
_local3 = StringUtils.reverse(_local3);
return (_local3);
}
public static function degreesToRadians(_arg1:Number):Number{
return ((_arg1 * (Math.PI / 180)));
}
public static function reverseAngle(_arg1:Number):Number{
var _local2:Number;
if (_arg1 >= 180){
_local2 = (_arg1 - 180);
} else {
_local2 = (360 + (_arg1 - 180));
};
return (_local2);
}
public static function clearChildren(_arg1:Sprite):void{
var _local2:Number = 0;
while (_arg1.numChildren) {
_arg1.removeChildAt(_local2);
_local2++;
};
}
public static function getPointOnLine(_arg1:Point, _arg2:Number, _arg3:Number):Point{
var _local4:Number = Utility.degreesToRadians(_arg2);
var _local5:Number = (Math.sin(_local4) * _arg3);
var _local6:Number = (Math.cos(_local4) * _arg3);
var _local7:Point = new Point((_arg1.x + _local6), (_arg1.y + _local5));
return (_local7);
}
public static function distanceBetweenPoints(_arg1:Point, _arg2:Point):Number{
var _local3:Number = Utility.deltaX(_arg1, _arg2);
var _local4:Number = Utility.deltaY(_arg1, _arg2);
var _local5:Number = Math.sqrt(((_local4 * _local4) + (_local3 * _local3)));
return (_local5);
}
public static function convertToButton(_arg1:Sprite):SimpleButton{
var _local2:Sprite = new Sprite();
_local2.graphics.beginFill(0xFFCC00);
_local2.graphics.drawRect(0, 0, _arg1.width, _arg1.height);
_local2.mouseEnabled = false;
_local2.visible = true;
var _local3:SimpleButton = new SimpleButton();
_local3.upState = _arg1;
_local3.overState = _arg1;
_local3.downState = _arg1;
_local3.hitTestState = _local2;
_local3.x = _arg1.x;
_local3.y = _arg1.y;
_arg1.x = 0;
_arg1.y = 0;
return (_local3);
}
public static function quadrantOfAngle(_arg1:Number):Number{
var _local2:Number = 0;
if (_arg1 <= 90){
_local2 = 1;
} else {
if ((((_arg1 > 90)) && ((_arg1 <= 180)))){
_local2 = 2;
} else {
if ((((_arg1 > 180)) && ((_arg1 <= 270)))){
_local2 = 3;
} else {
if ((((_arg1 > 270)) && ((_arg1 <= 360)))){
_local2 = 4;
};
};
};
};
return (_local2);
}
public static function radiansToDegrees(_arg1:Number):Number{
return ((_arg1 * (180 / Math.PI)));
}
public static function quadrantOfLine(_arg1:Point, _arg2:Point):Number{
var _local3:Number = 0;
if ((((_arg1.x <= _arg2.x)) && ((_arg1.y >= _arg2.y)))){
_local3 = 4;
} else {
if ((((_arg1.x <= _arg2.x)) && ((_arg1.y <= _arg2.y)))){
_local3 = 1;
} else {
if ((((_arg1.x >= _arg2.x)) && ((_arg1.y <= _arg2.y)))){
_local3 = 2;
} else {
if ((((_arg1.x >= _arg2.x)) && ((_arg1.y >= _arg2.y)))){
_local3 = 3;
};
};
};
};
return (_local3);
}
public static function numberToZeroPaddedString(_arg1:Number, _arg2:Number=2):String{
if (_arg1 < 10){
return (("0" + _arg1.toString()));
};
if (_arg1 == 0){
return ("00");
};
return (_arg1.toString());
}
public static function rotateOnCenter(_arg1:Sprite, _arg2:Number):void{
var _local3:Point = Utility.getCenterPoint(_arg1);
_arg1.rotation = Utility.degreesToRotation(_arg2);
var _local4:Point = Utility.getCenterPoint(_arg1);
var _local5:Number = (_local3.x - _local4.x);
var _local6:Number = (_local3.y - _local4.y);
_arg1.x = (_arg1.x + _local5);
_arg1.y = (_arg1.y + _local6);
}
public static function outlineSprite(_arg1:Sprite):void{
_arg1.graphics.lineStyle(1, 0xFF0000);
_arg1.graphics.drawRect(0, 0, _arg1.width, _arg1.height);
}
}
}//package
Section 219
//Wall (Wall)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.cove.ape.*;
import com.gskinner.utils.*;
public class Wall extends EventDispatcher {
private var _group:Group;
private var _height:Number;// = 10
private var _wallSprite:Sprite;
private var _elasticity:Number;// = 0.6
private var _type:Number;// = 1
private var _friction:Number;// = 0
private var _phyRec:RectangleParticle;
private var _id:Number;
public function Wall(_arg1:Group):void{
_group = _arg1;
}
public function draw(_arg1:Point, _arg2:Point):void{
var _local3:Number = Utility.distanceBetweenPoints(_arg1, _arg2);
var _local4:Number = Utility.getAngleOfLine(_arg1, _arg2);
var _local5:Number = Utility.degreesToRadians(_local4);
var _local6:Number = Rnd.integer(1, 3);
switch (_local6){
case 1:
_wallSprite = Main.assets.woodWall1;
break;
case 2:
_wallSprite = Main.assets.woodWall2;
break;
};
_wallSprite.width = _local3;
var _local7:Point = Utility.getPointOnLine(new Point(_arg1.x, _arg1.y), _local4, (_local3 / 2));
_phyRec = new RectangleParticle(_local7.x, _local7.y, _local3, _wallSprite.height);
_phyRec.radian = _local5;
_phyRec.fixed = true;
_phyRec.elasticity = _elasticity;
_phyRec.friction = _friction;
_phyRec.setDisplay(_wallSprite, (-(_wallSprite.width) / 2), (-(_wallSprite.height) / 2));
_phyRec.addEventListener(CollisionEvent.COLLIDE, collision);
_group.addParticle(_phyRec);
}
public function update():void{
}
public function remove():void{
_phyRec.cleanup();
_group.removeParticle(_phyRec);
_phyRec = null;
_wallSprite = null;
}
public function get clip():Sprite{
return (_phyRec.sprite);
}
public function get type():Number{
return (_type);
}
public function get id():Number{
return (_id);
}
public function set type(_arg1:Number):void{
_type = _arg1;
}
public function set id(_arg1:Number):void{
_id = _arg1;
}
public function collision(_arg1:CollisionEvent):void{
Main.sound.playSound(Assets.SOUND_WALLHIT, 0.3);
}
}
}//package
Section 220
//WallEvent (WallEvent)
package {
import flash.events.*;
public class WallEvent extends Event {
private var _wall:Wall;
public static const HIT:String = "hit";
public function WallEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Wall=null){
super(_arg1, _arg2, _arg3);
_wall = _arg4;
}
public function get wall():Wall{
return (_wall);
}
}
}//package