Section 1
//BitString (com.adobe.images.BitString)
package com.adobe.images {
public class BitString {
public var val:int;// = 0
public var len:int;// = 0
public function BitString(){
len = 0;
val = 0;
super();
}
}
}//package com.adobe.images
Section 2
//JPGEncoder (com.adobe.images.JPGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class JPGEncoder {
private var fdtbl_UV:Array;
private var std_ac_chrominance_values:Array;
private var std_dc_chrominance_nrcodes:Array;
private var std_dc_chrominance_values:Array;
private var ZigZag:Array;
private var YDC_HT:Array;
private var bytenew:int;// = 0
private var fdtbl_Y:Array;
private var YAC_HT:Array;
private var std_ac_chrominance_nrcodes:Array;
private var DU:Array;
private var std_ac_luminance_values:Array;
private var UVTable:Array;
private var UDU:Array;
private var YDU:Array;
private var byteout:ByteArray;
private var UVAC_HT:Array;
private var UVDC_HT:Array;
private var bytepos:int;// = 7
private var VDU:Array;
private var std_ac_luminance_nrcodes:Array;
private var std_dc_luminance_values:Array;
private var YTable:Array;
private var std_dc_luminance_nrcodes:Array;
private var bitcode:Array;
private var category:Array;
public function JPGEncoder(quality:Number=50){
var sf:int;
ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];
YTable = new Array(64);
UVTable = new Array(64);
fdtbl_Y = new Array(64);
fdtbl_UV = new Array(64);
std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250];
std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250];
bitcode = new Array(0xFFFF);
category = new Array(0xFFFF);
bytenew = 0;
bytepos = 7;
DU = new Array(64);
YDU = new Array(64);
UDU = new Array(64);
VDU = new Array(64);
super();
if (quality <= 0){
quality = 1;
};
if (quality > 100){
quality = 100;
};
sf = 0;
if (quality < 50){
sf = int((5000 / quality));
} else {
sf = int((200 - (quality * 2)));
};
initHuffmanTbl();
initCategoryNumber();
initQuantTables(sf);
}
private function RGB2YUV(img:BitmapData, xpos:int, ypos:int):void{
var pos:int;
var y:int;
var x:int;
var P:uint;
var R:Number;
var G:Number;
var B:Number;
pos = 0;
y = 0;
while (y < 8) {
x = 0;
while (x < 8) {
P = img.getPixel32((xpos + x), (ypos + y));
R = Number(((P >> 16) & 0xFF));
G = Number(((P >> 8) & 0xFF));
B = Number((P & 0xFF));
YDU[pos] = ((((0.299 * R) + (0.587 * G)) + (0.114 * B)) - 128);
UDU[pos] = (((-0.16874 * R) + (-0.33126 * G)) + (0.5 * B));
VDU[pos] = (((0.5 * R) + (-0.41869 * G)) + (-0.08131 * B));
pos++;
x++;
};
y++;
};
}
private function writeWord(value:int):void{
writeByte(((value >> 8) & 0xFF));
writeByte((value & 0xFF));
}
private function writeByte(value:int):void{
byteout.writeByte(value);
}
private function writeDHT():void{
var i:int;
writeWord(65476);
writeWord(418);
writeByte(0);
i = 0;
while (i < 16) {
writeByte(std_dc_luminance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 11) {
writeByte(std_dc_luminance_values[i]);
i++;
};
writeByte(16);
i = 0;
while (i < 16) {
writeByte(std_ac_luminance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 161) {
writeByte(std_ac_luminance_values[i]);
i++;
};
writeByte(1);
i = 0;
while (i < 16) {
writeByte(std_dc_chrominance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 11) {
writeByte(std_dc_chrominance_values[i]);
i++;
};
writeByte(17);
i = 0;
while (i < 16) {
writeByte(std_ac_chrominance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 161) {
writeByte(std_ac_chrominance_values[i]);
i++;
};
}
private function writeBits(bs:BitString):void{
var value:int;
var posval:int;
value = bs.val;
posval = (bs.len - 1);
while (posval >= 0) {
if ((value & uint((1 << posval)))){
bytenew = (bytenew | uint((1 << bytepos)));
};
posval--;
bytepos--;
if (bytepos < 0){
if (bytenew == 0xFF){
writeByte(0xFF);
writeByte(0);
} else {
writeByte(bytenew);
};
bytepos = 7;
bytenew = 0;
};
};
}
private function initHuffmanTbl():void{
YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);
UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);
YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);
UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);
}
public function encode(image:BitmapData):ByteArray{
var DCY:Number;
var DCU:Number;
var DCV:Number;
var ypos:int;
var xpos:int;
var fillbits:BitString;
byteout = new ByteArray();
bytenew = 0;
bytepos = 7;
writeWord(65496);
writeAPP0();
writeDQT();
writeSOF0(image.width, image.height);
writeDHT();
writeSOS();
DCY = 0;
DCU = 0;
DCV = 0;
bytenew = 0;
bytepos = 7;
ypos = 0;
while (ypos < image.height) {
xpos = 0;
while (xpos < image.width) {
RGB2YUV(image, xpos, ypos);
DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);
DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);
DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);
xpos = (xpos + 8);
};
ypos = (ypos + 8);
};
if (bytepos >= 0){
fillbits = new BitString();
fillbits.len = (bytepos + 1);
fillbits.val = ((1 << (bytepos + 1)) - 1);
writeBits(fillbits);
};
writeWord(65497);
return (byteout);
}
private function initCategoryNumber():void{
var nrlower:int;
var nrupper:int;
var nr:int;
var cat:int;
nrlower = 1;
nrupper = 2;
cat = 1;
while (cat <= 15) {
nr = nrlower;
while (nr < nrupper) {
category[(32767 + nr)] = cat;
bitcode[(32767 + nr)] = new BitString();
bitcode[(32767 + nr)].len = cat;
bitcode[(32767 + nr)].val = nr;
nr++;
};
nr = -((nrupper - 1));
while (nr <= -(nrlower)) {
category[(32767 + nr)] = cat;
bitcode[(32767 + nr)] = new BitString();
bitcode[(32767 + nr)].len = cat;
bitcode[(32767 + nr)].val = ((nrupper - 1) + nr);
nr++;
};
nrlower = (nrlower << 1);
nrupper = (nrupper << 1);
cat++;
};
}
private function writeDQT():void{
var i:int;
writeWord(65499);
writeWord(132);
writeByte(0);
i = 0;
while (i < 64) {
writeByte(YTable[i]);
i++;
};
writeByte(1);
i = 0;
while (i < 64) {
writeByte(UVTable[i]);
i++;
};
}
private function writeAPP0():void{
writeWord(65504);
writeWord(16);
writeByte(74);
writeByte(70);
writeByte(73);
writeByte(70);
writeByte(0);
writeByte(1);
writeByte(1);
writeByte(0);
writeWord(1);
writeWord(1);
writeByte(0);
writeByte(0);
}
private function writeSOS():void{
writeWord(65498);
writeWord(12);
writeByte(3);
writeByte(1);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(3);
writeByte(17);
writeByte(0);
writeByte(63);
writeByte(0);
}
private function processDU(CDU:Array, fdtbl:Array, DC:Number, HTDC:Array, HTAC:Array):Number{
var EOB:BitString;
var M16zeroes:BitString;
var i:int;
var DU_DCT:Array;
var Diff:int;
var end0pos:int;
var startpos:int;
var nrzeroes:int;
var nrmarker:int;
EOB = HTAC[0];
M16zeroes = HTAC[240];
DU_DCT = fDCTQuant(CDU, fdtbl);
i = 0;
while (i < 64) {
DU[ZigZag[i]] = DU_DCT[i];
i++;
};
Diff = (DU[0] - DC);
DC = DU[0];
if (Diff == 0){
writeBits(HTDC[0]);
} else {
writeBits(HTDC[category[(32767 + Diff)]]);
writeBits(bitcode[(32767 + Diff)]);
};
end0pos = 63;
while ((((end0pos > 0)) && ((DU[end0pos] == 0)))) {
end0pos--;
};
if (end0pos == 0){
writeBits(EOB);
return (DC);
};
i = 1;
while (i <= end0pos) {
startpos = i;
while ((((DU[i] == 0)) && ((i <= end0pos)))) {
i++;
};
nrzeroes = (i - startpos);
if (nrzeroes >= 16){
nrmarker = 1;
while (nrmarker <= (nrzeroes / 16)) {
writeBits(M16zeroes);
nrmarker++;
};
nrzeroes = int((nrzeroes & 15));
};
writeBits(HTAC[((nrzeroes * 16) + category[(32767 + DU[i])])]);
writeBits(bitcode[(32767 + DU[i])]);
i++;
};
if (end0pos != 63){
writeBits(EOB);
};
return (DC);
}
private function initQuantTables(sf:int):void{
var i:int;
var t:Number;
var YQT:Array;
var UVQT:Array;
var aasf:Array;
var row:int;
var col:int;
YQT = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99];
i = 0;
while (i < 64) {
t = Math.floor((((YQT[i] * sf) + 50) / 100));
if (t < 1){
t = 1;
} else {
if (t > 0xFF){
t = 0xFF;
};
};
YTable[ZigZag[i]] = t;
i++;
};
UVQT = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99];
i = 0;
while (i < 64) {
t = Math.floor((((UVQT[i] * sf) + 50) / 100));
if (t < 1){
t = 1;
} else {
if (t > 0xFF){
t = 0xFF;
};
};
UVTable[ZigZag[i]] = t;
i++;
};
aasf = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379];
i = 0;
row = 0;
while (row < 8) {
col = 0;
while (col < 8) {
fdtbl_Y[i] = (1 / (((YTable[ZigZag[i]] * aasf[row]) * aasf[col]) * 8));
fdtbl_UV[i] = (1 / (((UVTable[ZigZag[i]] * aasf[row]) * aasf[col]) * 8));
i++;
col++;
};
row++;
};
}
private function writeSOF0(width:int, height:int):void{
writeWord(65472);
writeWord(17);
writeByte(8);
writeWord(height);
writeWord(width);
writeByte(3);
writeByte(1);
writeByte(17);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(1);
writeByte(3);
writeByte(17);
writeByte(1);
}
private function computeHuffmanTbl(nrcodes:Array, std_table:Array):Array{
var codevalue:int;
var pos_in_table:int;
var HT:Array;
var k:int;
var j:int;
codevalue = 0;
pos_in_table = 0;
HT = new Array();
k = 1;
while (k <= 16) {
j = 1;
while (j <= nrcodes[k]) {
HT[std_table[pos_in_table]] = new BitString();
HT[std_table[pos_in_table]].val = codevalue;
HT[std_table[pos_in_table]].len = k;
pos_in_table++;
codevalue++;
j++;
};
codevalue = (codevalue * 2);
k++;
};
return (HT);
}
private function fDCTQuant(data:Array, fdtbl:Array):Array{
var tmp0:Number;
var tmp1:Number;
var tmp2:Number;
var tmp3:Number;
var tmp4:Number;
var tmp5:Number;
var tmp6:Number;
var tmp7:Number;
var tmp10:Number;
var tmp11:Number;
var tmp12:Number;
var tmp13:Number;
var z1:Number;
var z2:Number;
var z3:Number;
var z4:Number;
var z5:Number;
var z11:Number;
var z13:Number;
var i:int;
var dataOff:int;
dataOff = 0;
i = 0;
while (i < 8) {
tmp0 = (data[(dataOff + 0)] + data[(dataOff + 7)]);
tmp7 = (data[(dataOff + 0)] - data[(dataOff + 7)]);
tmp1 = (data[(dataOff + 1)] + data[(dataOff + 6)]);
tmp6 = (data[(dataOff + 1)] - data[(dataOff + 6)]);
tmp2 = (data[(dataOff + 2)] + data[(dataOff + 5)]);
tmp5 = (data[(dataOff + 2)] - data[(dataOff + 5)]);
tmp3 = (data[(dataOff + 3)] + data[(dataOff + 4)]);
tmp4 = (data[(dataOff + 3)] - data[(dataOff + 4)]);
tmp10 = (tmp0 + tmp3);
tmp13 = (tmp0 - tmp3);
tmp11 = (tmp1 + tmp2);
tmp12 = (tmp1 - tmp2);
data[(dataOff + 0)] = (tmp10 + tmp11);
data[(dataOff + 4)] = (tmp10 - tmp11);
z1 = ((tmp12 + tmp13) * 0.707106781);
data[(dataOff + 2)] = (tmp13 + z1);
data[(dataOff + 6)] = (tmp13 - z1);
tmp10 = (tmp4 + tmp5);
tmp11 = (tmp5 + tmp6);
tmp12 = (tmp6 + tmp7);
z5 = ((tmp10 - tmp12) * 0.382683433);
z2 = ((0.5411961 * tmp10) + z5);
z4 = ((1.306562965 * tmp12) + z5);
z3 = (tmp11 * 0.707106781);
z11 = (tmp7 + z3);
z13 = (tmp7 - z3);
data[(dataOff + 5)] = (z13 + z2);
data[(dataOff + 3)] = (z13 - z2);
data[(dataOff + 1)] = (z11 + z4);
data[(dataOff + 7)] = (z11 - z4);
dataOff = (dataOff + 8);
i++;
};
dataOff = 0;
i = 0;
while (i < 8) {
tmp0 = (data[(dataOff + 0)] + data[(dataOff + 56)]);
tmp7 = (data[(dataOff + 0)] - data[(dataOff + 56)]);
tmp1 = (data[(dataOff + 8)] + data[(dataOff + 48)]);
tmp6 = (data[(dataOff + 8)] - data[(dataOff + 48)]);
tmp2 = (data[(dataOff + 16)] + data[(dataOff + 40)]);
tmp5 = (data[(dataOff + 16)] - data[(dataOff + 40)]);
tmp3 = (data[(dataOff + 24)] + data[(dataOff + 32)]);
tmp4 = (data[(dataOff + 24)] - data[(dataOff + 32)]);
tmp10 = (tmp0 + tmp3);
tmp13 = (tmp0 - tmp3);
tmp11 = (tmp1 + tmp2);
tmp12 = (tmp1 - tmp2);
data[(dataOff + 0)] = (tmp10 + tmp11);
data[(dataOff + 32)] = (tmp10 - tmp11);
z1 = ((tmp12 + tmp13) * 0.707106781);
data[(dataOff + 16)] = (tmp13 + z1);
data[(dataOff + 48)] = (tmp13 - z1);
tmp10 = (tmp4 + tmp5);
tmp11 = (tmp5 + tmp6);
tmp12 = (tmp6 + tmp7);
z5 = ((tmp10 - tmp12) * 0.382683433);
z2 = ((0.5411961 * tmp10) + z5);
z4 = ((1.306562965 * tmp12) + z5);
z3 = (tmp11 * 0.707106781);
z11 = (tmp7 + z3);
z13 = (tmp7 - z3);
data[(dataOff + 40)] = (z13 + z2);
data[(dataOff + 24)] = (z13 - z2);
data[(dataOff + 8)] = (z11 + z4);
data[(dataOff + 56)] = (z11 - z4);
dataOff++;
i++;
};
i = 0;
while (i < 64) {
data[i] = Math.round((data[i] * fdtbl[i]));
i++;
};
return (data);
}
}
}//package com.adobe.images
Section 3
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public function JSON(){
super();
}
public static function decode(s:String){
var decoder:JSONDecoder;
decoder = new JSONDecoder(s);
return (decoder.getValue());
}
public static function encode(o:Object):String{
var encoder:JSONEncoder;
encoder = new JSONEncoder(o);
return (encoder.getString());
}
}
}//package com.adobe.serialization.json
Section 4
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(s:String){
super();
tokenizer = new JSONTokenizer(s);
nextToken();
value = parseValue();
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
private function parseObject():Object{
var o:Object;
var key:String;
o = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
while (true) {
if (token.type == JSONTokenType.STRING){
key = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
o[key] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseArray():Array{
var a:Array;
a = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
while (true) {
a.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
public function getValue(){
return (value);
}
private function parseValue():Object{
if (token == null){
tokenizer.parseError("Unexpected end of input");
};
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 5
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(value){
super();
jsonString = convertToString(value);
}
private function arrayToString(a:Array):String{
var s:String;
var i:int;
s = "";
i = 0;
while (i < a.length) {
if (s.length > 0){
s = (s + ",");
};
s = (s + convertToString(a[i]));
i++;
};
return ((("[" + s) + "]"));
}
private function convertToString(value):String{
if ((value is String)){
return (escapeString((value as String)));
};
if ((value is Number)){
return ((isFinite((value as Number))) ? value.toString() : "null");
} else {
if ((value is Boolean)){
return ((value) ? "true" : "false");
} else {
if ((value is Array)){
return (arrayToString((value as Array)));
};
if ((((value is Object)) && (!((value == null))))){
return (objectToString(value));
};
};
};
return ("null");
}
private function escapeString(str:String):String{
var s:String;
var ch:String;
var len:Number;
var i:int;
var hexCode:String;
var zeroPad:String;
s = "";
len = str.length;
i = 0;
while (i < len) {
ch = str.charAt(i);
switch (ch){
case "\"":
s = (s + "\\\"");
break;
case "\\":
s = (s + "\\\\");
break;
case "\b":
s = (s + "\\b");
break;
case "\f":
s = (s + "\\f");
break;
case "\n":
s = (s + "\\n");
break;
case "\r":
s = (s + "\\r");
break;
case "\t":
s = (s + "\\t");
break;
default:
if (ch < " "){
hexCode = ch.charCodeAt(0).toString(16);
zeroPad = ((hexCode.length == 2)) ? "00" : "000";
s = (s + (("\\u" + zeroPad) + hexCode));
} else {
s = (s + ch);
};
};
i++;
};
return ((("\"" + s) + "\""));
}
private function objectToString(o:Object):String{
var s:String;
var classInfo:XML;
var value:Object;
var key:String;
var v:XML;
var o = o;
s = "";
classInfo = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
public function getString():String{
return (jsonString);
}
}
}//package com.adobe.serialization.json
Section 6
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _text:String;
private var _location:int;
public function JSONParseError(message:String="", location:int=0, text:String=""){
super(message);
name = "JSONParseError";
_location = location;
_text = text;
}
public function get text():String{
return (_text);
}
public function get location():int{
return (_location);
}
}
}//package com.adobe.serialization.json
Section 7
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(type:int=-1, value:Object=null){
super();
_type = type;
_value = value;
}
public function set value(v:Object):void{
_value = v;
}
public function get value():Object{
return (_value);
}
public function set type(value:int):void{
_type = value;
}
public function get type():int{
return (_type);
}
}
}//package com.adobe.serialization.json
Section 8
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(s:String){
super();
jsonString = s;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(ch:String):Boolean{
return ((((ch >= "0")) && ((ch <= "9"))));
}
private function readNumber():JSONToken{
var token:JSONToken;
var input:String;
var num:Number;
token = new JSONToken();
token.type = JSONTokenType.NUMBER;
input = "";
if (ch == "-"){
input = (input + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
input = (input + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if (ch == "."){
input = (input + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
input = (input + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
input = (input + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
num = Number(input);
if (((isFinite(num)) && (!(isNaN(num))))){
token.value = num;
return (token);
};
parseError((("Number " + num) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var token:JSONToken;
var _local2:String;
var _local3:String;
var _local4:String;
token = new JSONToken();
skipIgnored();
switch (ch){
case "{":
token.type = JSONTokenType.LEFT_BRACE;
token.value = "{";
nextChar();
break;
case "}":
token.type = JSONTokenType.RIGHT_BRACE;
token.value = "}";
nextChar();
break;
case "[":
token.type = JSONTokenType.LEFT_BRACKET;
token.value = "[";
nextChar();
break;
case "]":
token.type = JSONTokenType.RIGHT_BRACKET;
token.value = "]";
nextChar();
break;
case ",":
token.type = JSONTokenType.COMMA;
token.value = ",";
nextChar();
break;
case ":":
token.type = JSONTokenType.COLON;
token.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
token.type = JSONTokenType.TRUE;
token.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
token.type = JSONTokenType.FALSE;
token.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
token.type = JSONTokenType.NULL;
token.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
token = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
token = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (token);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
private function isWhiteSpace(ch:String):Boolean{
return ((((((((ch == " ")) || ((ch == "\t")))) || ((ch == "\n")))) || ((ch == "\r"))));
}
public function parseError(message:String):void{
throw (new JSONParseError(message, loc, jsonString));
}
private function skipIgnored():void{
var originalLoc:int;
do {
originalLoc = loc;
skipWhite();
skipComments();
} while (originalLoc != loc);
}
private function isHexDigit(ch:String):Boolean{
var uc:String;
uc = ch.toUpperCase();
return (((isDigit(ch)) || ((((uc >= "A")) && ((uc <= "F"))))));
}
private function readString():JSONToken{
var token:JSONToken;
var string:String;
var _local5:String;
var i:int;
token = new JSONToken();
token.type = JSONTokenType.STRING;
string = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
string = (string + "\"");
break;
case "/":
string = (string + "/");
break;
case "\\":
string = (string + "\\");
break;
case "b":
string = (string + "\b");
break;
case "f":
string = (string + "\f");
break;
case "n":
string = (string + "\n");
break;
case "r":
string = (string + "\r");
break;
case "t":
string = (string + "\t");
break;
case "u":
_local5 = "";
i = 0;
while (i < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local5 = (_local5 + ch);
i++;
};
string = (string + String.fromCharCode(parseInt(_local5, 16)));
break;
default:
string = (string + ("\\" + ch));
};
} else {
string = (string + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
token.value = string;
return (token);
}
}
}//package com.adobe.serialization.json
Section 9
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
public function JSONTokenType(){
super();
}
}
}//package com.adobe.serialization.json
Section 10
//SimpleButton (com.aga.api.controls.buttons.SimpleButton)
package com.aga.api.controls.buttons {
import flash.events.*;
import com.aga.api.core.*;
public class SimpleButton extends ApiUI {
protected var __toggle:Boolean;
protected var __data:Object;
protected var __selected:Boolean;
public function SimpleButton(){
super();
buttonMode = true;
mouseChildren = false;
__enabled = true;
__selected = false;
__toggle = false;
setEnabled(__enabled);
setSelected(__selected);
}
private function outEvent(e:Event):void{
out();
}
protected function drawSelected():void{
setFrame("selected");
}
public function select():void{
press();
}
protected function release():void{
var val:Boolean;
if (!__toggle){
over();
} else {
val = (__selected) ? false : true;
setSelected(val);
};
}
private function pressEvent(e:Event):void{
press();
}
protected function setSelected(val:Boolean):void{
__selected = val;
if (val){
drawSelected();
} else {
if (__enabled){
drawDeselected();
};
};
}
private function overEvent(e:Event):void{
over();
}
protected function setFrame(frame:String):void{
var val:Boolean;
if (this.currentLabel == null){
val = checkForLabel(frame);
if (!val){
return;
};
};
if (frame != this.currentLabel){
if (stage != null){
addEventListener(Event.RENDER, handleRender);
stage.invalidate();
};
this.gotoAndStop(frame);
};
}
function disableStates():void{
mouseEnabled = false;
removeEventListener(MouseEvent.MOUSE_OVER, overEvent);
removeEventListener(MouseEvent.ROLL_OUT, outEvent);
removeEventListener(MouseEvent.CLICK, releaseEvent);
removeEventListener(MouseEvent.MOUSE_DOWN, pressEvent);
}
protected function press():void{
setFrame("down");
}
protected function draw():void{
}
public function get toggle():Boolean{
return (__toggle);
}
protected function out():void{
if (__selected){
drawSelected();
} else {
drawDeselected();
};
}
public function set data(val:Object):void{
__data = val;
}
public function set selected(val:Boolean):void{
setSelected(val);
}
override protected function setEnabled(val:Boolean):void{
if (val){
enableStates();
if (!__selected){
out();
} else {
drawSelected();
};
} else {
disableStates();
setFrame("disabled");
};
mouseEnabled = val;
super.setEnabled(val);
}
protected function drawDeselected():void{
setFrame("out");
}
public function set toggle(val:Boolean):void{
__toggle = val;
}
public function get selected():Boolean{
return (__selected);
}
public function get data():Object{
return (__data);
}
private function releaseEvent(e:Event):void{
release();
}
protected function over():void{
setFrame("over");
}
private function checkForLabel(label:String):Boolean{
var labels:Array;
var i:int;
labels = this.currentLabels;
i = 0;
while (i < labels.length) {
if (labels[i] == label){
return (true);
};
i++;
};
return (false);
}
private function handleRender(e:Event):void{
removeEventListener(Event.RENDER, handleRender);
draw();
}
function enableStates():void{
mouseEnabled = true;
addEventListener(MouseEvent.MOUSE_OVER, overEvent, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, outEvent, false, 0, true);
addEventListener(MouseEvent.CLICK, releaseEvent, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, pressEvent, false, 0, true);
}
}
}//package com.aga.api.controls.buttons
Section 11
//SoundToggleButton (com.aga.api.controls.buttons.SoundToggleButton)
package com.aga.api.controls.buttons {
import flash.utils.*;
import com.aga.api.media.sound.*;
public class SoundToggleButton extends SimpleButton {
private static var __amList:Dictionary;
private static var __soundOn:Boolean = true;
public function SoundToggleButton(){
super();
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
doLater(out);
}
override protected function release():void{
__soundOn = !(__soundOn);
applyToggle();
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function press():void{
gotoAndStop((__soundOn) ? "onOver" : "offOver");
}
public function updateState():void{
out();
}
override protected function out():void{
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function over():void{
gotoAndPlay((__soundOn) ? "onOver" : "offOver");
}
public static function addToList(am:AudioManager):void{
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
__amList[am] = am;
am.toggleSound(__soundOn);
}
public static function removeFromList(am:AudioManager):void{
delete __amList[am];
}
private static function applyToggle():void{
var am:AudioManager;
for each (am in __amList) {
am.toggleSound(__soundOn);
};
}
}
}//package com.aga.api.controls.buttons
Section 12
//ApiUI (com.aga.api.core.ApiUI)
package com.aga.api.core {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.aga.api.tween.*;
import com.aga.api.utils.*;
import flash.ui.*;
public class ApiUI extends MovieClip {
protected var __enabled:Boolean;
private var __mm:MotionManager;
public function ApiUI(){
super();
initMotionManager();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedEvent);
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedEvent);
}
public function attachMovie(classname:String, index:int=-1):MovieClip{
var classRef:Class;
var instance:MovieClip;
classRef = (getDefinitionByName(classname) as Class);
instance = (new (classRef) as MovieClip);
if (index == -1){
addChild(instance);
} else {
addChildAt(instance, index);
};
return (instance);
}
public function slideTo(x, y, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(y);
_args.unshift(x);
_args.unshift(this);
__mm.slideTo.apply(__mm, _args);
}
public function pauseTween(type:String="all"):void{
__mm.pauseTween(this, type);
}
public function cancelTween(type:String="all"):void{
__mm.cancelTween(this, type);
}
public function volumeTo(volume:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(volume);
_args.unshift(this);
__mm.volumeTo.apply(__mm, _args);
}
public function rotateTo(degrees:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(degrees);
_args.unshift(this);
__mm.rotateTo.apply(__mm, _args);
}
public function resumeTween(type:String="all"):void{
__mm.resumeTween(this, type);
}
override public function get enabled():Boolean{
return (__enabled);
}
public function getURL(url:String, window:String=null):void{
var request:URLRequest;
request = new URLRequest(url);
navigateToURL(request, window);
}
override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=true):void{
super.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public function sizeTo(width, height, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(height);
_args.unshift(width);
_args.unshift(this);
__mm.sizeTo.apply(__mm, _args);
}
public function debug(msg:Object, ... _args):void{
var message:String;
message = ((msg + " ") + _args.join(" "));
}
protected function initStageDefaults():void{
if (this.stage != null){
this.stage.align = StageAlign.TOP_LEFT;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.displayState = StageDisplayState.NORMAL;
};
}
public function blurTo(x, y, quality:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(quality);
_args.unshift(y);
_args.unshift(x);
_args.unshift(this);
__mm.blurTo.apply(__mm, _args);
}
protected function setEnabled(val:Boolean):void{
__enabled = val;
}
override public function set enabled(val:Boolean):void{
setEnabled(val);
}
protected function onAdded():void{
}
public function debugObject(obj:Object):void{
}
protected function onRemoved():void{
}
public function alphaTo(alpha:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(alpha);
_args.unshift(this);
__mm.alphaTo.apply(__mm, _args);
}
private function onRemovedEvent(e:Event):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedEvent);
onRemoved();
}
public function tweenTo(start:Array, end:Array, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(end);
_args.unshift(start);
_args.unshift(this);
__mm.tweenTo.apply(__mm, _args);
}
public function bendTo(cx, cy, ax, ay, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(ay);
_args.unshift(ax);
_args.unshift(cy);
_args.unshift(cx);
_args.unshift(this);
__mm.bendTo.apply(__mm, _args);
}
public function onTweenUpdate(... _args):void{
}
private function onAddedEvent(e:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedEvent);
onAdded();
initStageDefaults();
initContextMenuDefaults();
}
public function doLater(func:Function, ... _args):void{
_args.splice(0, 0, 1);
_args.unshift(func);
IntervalManager.skipFrames.apply(IntervalManager, _args);
}
public function frameTo(frame, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(frame);
_args.unshift(this);
__mm.frameTo.apply(__mm, _args);
}
public function scaleTo(x, y, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(y);
_args.unshift(x);
_args.unshift(this);
__mm.scaleTo.apply(__mm, _args);
}
private function initMotionManager():void{
__mm = MotionManager.getInstance();
}
protected function initContextMenuDefaults():void{
var menu:ContextMenu;
menu = new ContextMenu();
menu.hideBuiltInItems();
this.contextMenu = menu;
}
}
}//package com.aga.api.core
Section 13
//Award (com.aga.api.data.Award)
package com.aga.api.data {
import com.aga.api.*;
import com.aga.api.net.*;
public class Award {
private var __new:Boolean;
private var __id:Number;
private var __val:Number;
private var __iconL:String;
private var __iconS:String;
private var __descr:String;
private var __level:Number;
private var __type:Number;
private var __won:Boolean;
private var __notified:Boolean;
private var __credits:Number;
private var __title:String;
public static const GAME_PLAY:Number = 5;
public static const POINTS:Number = 1;
public static const TIME_OVER:Number = 4;
public static const MULTIPLIER:Number = 6;
public static const COLLECT:Number = 2;
public static const OTHER:Number = 0;
public static const TIME_UNDER:Number = 3;
public static const NONE:Number = -1;
public static const ANYTHING:Number = 8;
public static const LEVEL_REACHED:Number = 7;
public function Award(id:Number, won:Boolean, title:String, descr:String, credits:Number, iconS:String, iconL:String, show:Boolean=false){
super();
__won = won;
__new = show;
__notified = ((won) && (!(show)));
__id = id;
__title = fixNewLineChar(title);
__descr = fixNewLineChar(descr);
__credits = credits;
__iconS = iconS;
__iconL = iconL;
__type = NONE;
__val = -1;
__level = -1;
}
public function toString():String{
var str:String;
str = "[Award ";
str = (str + (((((((((((" '" + __title) + "' id: ") + __id) + ", new: ") + __new) + ", won: ") + __won) + ", notified: ") + __notified) + ", $") + __credits));
if (__type != NONE){
str = (str + " [goal ");
str = (str + ("type: " + __type));
str = (str + (", val: " + __val));
if (__level >= 0){
str = (str + (", level: " + __level));
};
str = (str + "]");
};
str = (str + "]");
return (str);
}
public function get notified():Boolean{
return (__notified);
}
public function notNew():void{
__new = false;
}
public function achieve(pos:Number=-1):void{
if (pos == -1){
pos = Math.floor((Math.random() * 2));
};
if (!__won){
__new = true;
__won = true;
Awards.creditsEarned = (Awards.creditsEarned + __credits);
if (((Parser.loggedIn) && (!(__notified)))){
notify();
if (((!((__type == NONE))) && (!((__type == OTHER))))){
API.showNotice(title, descr, pos);
};
};
};
}
public function get iconS():String{
return (__iconS);
}
private function fixNewLineChar(str:String):String{
var pos:Number;
do {
pos = Math.max(str.indexOf("\\n"), str.indexOf("\\N"));
str = ((pos < 0)) ? str : ((str.substring(0, pos) + "\n") + str.substring((pos + 2)));
} while (pos >= 0);
return (str);
}
public function isNew():Boolean{
return (__new);
}
public function notify():void{
__notified = true;
if (__type != OTHER){
API.sendEvent(Messenger.AWARD, {v:__id});
};
}
public function get descr():String{
return (__descr);
}
public function get id():Number{
return (__id);
}
public function setGoal(type:Number, val:Number, level:Number=-1):void{
__type = type;
__val = val;
__level = level;
}
public function get won():Boolean{
return (__won);
}
public function get title():String{
return (__title);
}
public function get iconL():String{
return (__iconL);
}
public function get type():Number{
return (__type);
}
public function get val():Number{
return (__val);
}
public function get level():Number{
return (__level);
}
public function get credits():Number{
return (__credits);
}
}
}//package com.aga.api.data
Section 14
//Awards (com.aga.api.data.Awards)
package com.aga.api.data {
import com.aga.api.*;
public class Awards {
private static var __winBonus:Number = 0;
private static var __creditsEarned:Number = 0;
private static var __awards:Array = [];
private static var __loadAwardsFlag:Boolean = false;
public function Awards(){
super();
}
private static function formatData(data:XML):void{
var len:Number;
var xml:XML;
var aw:Award;
var winBonus:Number;
var id:Number;
var won:Boolean;
var show:Boolean;
var title:String;
var descr:String;
var credits:Number;
var iconS:String;
var iconL:String;
var type:Number;
var val:Number;
var level:Number;
var i:Number;
__awards = [];
len = data.*.length();
i = 0;
xml = data.*[i];
if (xml.@winbonus.toXMLString().length){
i++;
__winBonus = Number(xml.@winbonus);
};
while (i < len) {
xml = data.*[i];
id = Number(xml.@id);
won = Boolean(Number(xml.@won));
show = (xml.@show.toXMLString().length) ? Boolean(Number(xml.@show)) : false;
credits = Number(xml.@starbucks);
title = xml.title;
descr = xml.description;
iconS = xml.icon.@small;
iconL = xml.icon.@large;
aw = new Award(id, won, title, descr, credits, iconS, iconL, show);
if (xml.goal.toXMLString().length){
type = Number(xml.goal.@type);
val = Number(xml.goal.@val);
level = Number(xml.goal.@level);
if (xml.goal.@level.toXMLString().length){
aw.setGoal(type, val, level);
} else {
aw.setGoal(type, val);
};
};
__awards.push(aw);
i++;
};
}
public static function greaterThan(a:Number, b:Number):Boolean{
return (((((!(isNaN(a))) && (!(isNaN(b))))) && ((a > b))));
}
public static function checkAwardByType(type:Number, val=null, compareFunction:Function=null):void{
var len:Number;
var aw:Award;
var i:Number;
len = __awards.length;
i = 0;
while (i < len) {
aw = __awards[i];
if (((!(aw.won)) && ((aw.type == type)))){
if ((((val == null)) || (compareFunction(val, aw.val)))){
aw.achieve();
};
};
i++;
};
}
public static function loadAwards():void{
if (!Awards.__loadAwardsFlag){
Awards.__loadAwardsFlag = true;
XMLLoader.addListener(XMLLoader.COMPLETE, loadAwardsComplete);
XMLLoader.loadXML(Parser.xmlURL);
};
}
public static function checkTimeOverAwards(time:Number):void{
checkAwardByType(Award.TIME_OVER, time, greaterEqualTo);
}
public static function equalTo(a, b):Boolean{
return ((((typeof(a) == typeof(b))) && ((a == b))));
}
public static function checkAnythingAward():void{
checkAwardByType(Award.ANYTHING);
}
private static function loadAwardsComplete(e:Object):void{
XMLLoader.removeListener(XMLLoader.COMPLETE, loadAwardsComplete);
formatData(e.data);
}
public static function checkCollectAwards(count:Number):void{
checkAwardByType(Award.COLLECT, count, greaterEqualTo);
}
public static function getCount():Number{
return (__awards.length);
}
public static function lessThan(a:Number, b:Number):Boolean{
return (((((!(isNaN(a))) && (!(isNaN(b))))) && ((a < b))));
}
public static function getWonAward(index:Number):Award{
var len:Number;
var count:Number;
var aw:Award;
var i:Number;
len = __awards.length;
count = 0;
i = 0;
while (i < len) {
aw = __awards[i];
if (aw.won){
var _temp1 = count;
count = (count + 1);
if (_temp1 == index){
return (aw);
};
};
i++;
};
return (null);
}
public static function getWonCount():Number{
var len:Number;
var count:Number;
var aw:Award;
var i:Number;
len = __awards.length;
count = 0;
i = 0;
while (i < len) {
aw = __awards[i];
if (aw.won){
count++;
};
i++;
};
return (count);
}
public static function awardWinBonus():void{
__creditsEarned = (__creditsEarned + __winBonus);
}
public static function checkPointsAwards(points:Number):void{
checkAwardByType(Award.POINTS, points, greaterEqualTo);
}
public static function checkAwardById(id:String):void{
var len:Number;
var aw:Award;
var i:Number;
len = __awards.length;
i = 0;
while (i < len) {
aw = __awards[i];
if (((!(aw.won)) && ((String(aw.id) == id)))){
aw.achieve();
};
i++;
};
}
public static function checkGameCompleteAward():void{
checkAwardByType(Award.GAME_PLAY);
}
public static function getNewAward():Award{
var len:Number;
var aw:Award;
var i:Number;
len = __awards.length;
i = 0;
while (i < len) {
aw = __awards[i];
if (aw.isNew()){
return (aw);
};
i++;
};
return (null);
}
public static function getAwards():Array{
return (__awards);
}
public static function getAward(i:Number):Award{
return (__awards[i]);
}
public static function get creditsEarned():Number{
return (__creditsEarned);
}
public static function greaterEqualTo(a:Number, b:Number):Boolean{
return (((((!(isNaN(a))) && (!(isNaN(b))))) && ((a >= b))));
}
public static function lessEqualTo(a:Number, b:Number):Boolean{
return (((((!(isNaN(a))) && (!(isNaN(b))))) && ((a <= b))));
}
public static function checkTimeUnderAwards(time:Number):void{
checkAwardByType(Award.TIME_UNDER, time, lessEqualTo);
}
public static function set creditsEarned(n:Number){
__creditsEarned = n;
}
public static function checkLevelReachedAwards(count:Number):void{
checkAwardByType(Award.LEVEL_REACHED, count, greaterEqualTo);
}
public static function hasNewAwards():Boolean{
var len:Number;
var aw:Award;
var i:Number;
len = __awards.length;
i = 0;
while (i < len) {
if (__awards[i].isNew()){
return (true);
};
i++;
};
return (false);
}
public static function checkMultiplierAwards(count:Number):void{
checkAwardByType(Award.MULTIPLIER, count, greaterEqualTo);
}
}
}//package com.aga.api.data
Section 15
//XMLLoader (com.aga.api.data.XMLLoader)
package com.aga.api.data {
import flash.utils.*;
import flash.events.*;
import flash.net.*;
public class XMLLoader {
public static const COMPLETE:String = "Complete";
private static var __urlLoader:URLLoader;
private static var __data:XML;
private static var __listeners:Dictionary;
public function XMLLoader(){
super();
}
private static function dispatchEvent(type:String, event:Object):void{
var func:Function;
if (__listeners[type] != null){
for each (func in __listeners[type]) {
func(event);
};
};
}
private static function completeListener(e:Event):void{
__data = new XML(__urlLoader.data);
dispatchEvent(COMPLETE, {data:__data});
}
public static function loadXML(url:String="data/level.xml"):void{
var urlRequest:URLRequest;
urlRequest = new URLRequest(url);
__urlLoader = new URLLoader();
__urlLoader.addEventListener(Event.COMPLETE, completeListener);
__urlLoader.load(urlRequest);
}
public static function addListener(type:String, listenerFunc:Function):void{
if (type == COMPLETE){
if (__listeners == null){
__listeners = new Dictionary();
};
if (__listeners[type] == null){
__listeners[type] = new Dictionary();
};
__listeners[type][listenerFunc] = listenerFunc;
};
}
public static function removeListener(type:String, listenerFunc:Function):void{
if (type == COMPLETE){
if ((((__listeners == null)) || ((__listeners[type] == null)))){
return;
};
delete __listeners[type][listenerFunc];
};
}
}
}//package com.aga.api.data
Section 16
//APIAwardsEvent (com.aga.api.events.APIAwardsEvent)
package com.aga.api.events {
import flash.events.*;
public class APIAwardsEvent extends Event {
public static const AWARDS_COMPLETE:String = "awardsComplete";
public function APIAwardsEvent(type:String){
super(type, true, true);
}
override public function toString():String{
return (formatToString("APIAwardsEvent", "type"));
}
override public function clone():Event{
return (new APIAwardsEvent(type));
}
}
}//package com.aga.api.events
Section 17
//APIChanceEvent (com.aga.api.events.APIChanceEvent)
package com.aga.api.events {
import flash.events.*;
public class APIChanceEvent extends Event {
private var __credits:Number;
public static const CHANCE_COMPLETE:String = "chanceComplete";
public function APIChanceEvent(type:String, c:Number){
__credits = c;
super(type, true, true);
}
override public function toString():String{
return (formatToString("APIChanceEvent", "type", "credits"));
}
public function get credits():Number{
return (__credits);
}
override public function clone():Event{
return (new APIChanceEvent(type, credits));
}
}
}//package com.aga.api.events
Section 18
//APIEvent (com.aga.api.events.APIEvent)
package com.aga.api.events {
import flash.events.*;
public class APIEvent extends Event {
private var __resumeType:String;
public static const CHANCE_COMPLETE:String = "chanceComplete";
public static const PAUSE:String = "pause";
public function APIEvent(type:String, resume:String=""){
__resumeType = resume;
super(type, true, true);
}
override public function toString():String{
return (formatToString("APIEvent", "type", "resumeType"));
}
override public function clone():Event{
return (new APIEvent(type, resumeType));
}
public function get resumeType():String{
return (__resumeType);
}
}
}//package com.aga.api.events
Section 19
//ViewEvent (com.aga.api.events.ViewEvent)
package com.aga.api.events {
import flash.events.*;
public class ViewEvent extends Event {
private var __section:String;
public static const CHANGE:String = "changeSection";
public static const OUT_COMPLETE:String = "outComplete";
public function ViewEvent(type:String, asection:String=null){
__section = asection;
super(type, true, true);
}
override public function toString():String{
return (formatToString("ViewEvent", "type", "section"));
}
public function get section():String{
return (__section);
}
override public function clone():Event{
return (new ViewEvent(type, section));
}
}
}//package com.aga.api.events
Section 20
//AudioManager (com.aga.api.media.sound.AudioManager)
package com.aga.api.media.sound {
public class AudioManager {
private var __uniqueID:int;// = 0
private var __soundVolumeList:Object;
private var __soundList:Object;
private var __toggle:Boolean;// = true
private var __debug:Boolean;// = false
public function AudioManager(){
__uniqueID = 0;
__toggle = true;
__debug = false;
super();
__soundList = new Object();
__soundVolumeList = new Object();
}
public function setDefaultVolume(sndName:String, vol:Number):void{
__soundVolumeList[sndName] = vol;
}
public function fadeSound(fsID:String, vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((((((((((((("AM.fadeSound( " + fsID) + ", ") + vol) + ", ") + duration) + ", ") + type) + ", ") + callback) + ", ") + _args) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
fs.fadeTo.apply(fs, _args);
} else {
doDebug(" ---- need loop");
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
_args.unshift("fakeID");
for (id in __soundList) {
if (startsWidth(id, fsID)){
_args.splice(0, 1, id);
fadeSound.apply(null, _args);
};
};
};
};
}
private function startsWidth(haystack:String, needle:String):Boolean{
return ((haystack.indexOf(needle) == 0));
}
private function doDebug(str:String):void{
if (__debug){
};
}
public function pauseSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
pauseSound(id);
};
};
};
}
public function cancelFadeSound(fsID:String):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AM.cancelFadeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.cancelFade();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
cancelFadeSound(id);
};
};
};
};
}
public function toggleSound(b:Boolean=false):Boolean{
var fs:FuelSound;
__toggle = (arguments.length) ? b : !(__toggle);
doDebug((("AudioManager.toggleSound( " + __toggle) + " )"));
for each (fs in __soundList) {
fs.toggle(__toggle);
};
return (__toggle);
}
public function setVolume(fsID:String="", vol:Number=1):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.setVolume( " + arguments) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.setVolume(vol);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
setVolume(id, vol);
};
};
};
};
}
public function stopSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
stopSound(id);
};
};
};
}
public function resumeSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.resumeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.resume();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
resumeSound(id);
};
};
};
};
}
private function getUniqueID():String{
return (("###" + ++__uniqueID));
}
public function get debug():Boolean{
return (__debug);
}
private function removeSound(id:String):void{
if (((!((__soundList == null))) && (!((__soundList[id] == null))))){
__soundList[id].stop();
delete __soundList[id];
} else {
doDebug((("AudioManager.removeSound( " + id) + " )"));
doDebug(" sound not found");
};
}
public function set debug(b:Boolean){
__debug = b;
}
public function pauseSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.pauseSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.pause();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
pauseSound(id);
};
};
};
};
}
public function playSound(sndName:String, startPos:Number=0, loops:Number=0, callback:Function=null, ... _args):String{
var fsID:String;
var fs:FuelSound;
var vol:Number;
var each:String;
doDebug((((((((((("AudioManager.playSound( " + sndName) + ", ") + startPos) + ", ") + loops) + ", ") + callback) + ", ") + _args) + " )"));
if (__soundList == null){
__soundList = new Object();
};
fsID = (sndName + getUniqueID());
fs = new FuelSound(sndName, removeSound, fsID);
if (fs.exists){
_args.splice(0, 0, startPos, loops, callback);
fs.play.apply(null, _args);
vol = 1;
for (each in __soundVolumeList) {
if (each == sndName){
vol = __soundVolumeList[each];
break;
};
};
fs.setVolume(vol);
fs.toggle(__toggle);
__soundList[fsID] = fs;
} else {
doDebug("~~~~~~~~~~~~~ playSound failed");
};
return (fsID);
}
public function stopSound(fsID:String=""):void{
var id:String;
if (__soundList){
doDebug((("AudioManager.stopSound( " + fsID) + " )"));
if (__soundList[fsID]){
removeSound(fsID);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
stopSound(id);
};
};
};
};
}
}
}//package com.aga.api.media.sound
Section 21
//FuelSound (com.aga.api.media.sound.FuelSound)
package com.aga.api.media.sound {
import flash.utils.*;
import flash.events.*;
import flash.media.*;
import com.aga.api.tween.*;
import com.aga.api.utils.*;
public class FuelSound {
private var __mutedVolume:Number;
private var __snd:Sound;
private var __uniqueID:String;
private var __int:Number;
private var __callbackFunc:Function;
private var __callbackArgs:Array;
private var __channel:SoundChannel;
private var __exists:Boolean;
private var __destVolume:Number;
private var __removeFunc:Function;
private var __soundName:String;
private var __pausedPos:Number;
private var __loops:Number;
public function FuelSound(sndName:String, func:Function, uniqueID:String){
var sndClass:Class;
var sndName = sndName;
var func = func;
var uniqueID = uniqueID;
super();
sndClass = (getDefinitionByName(sndName) as Class);
//unresolved jump
var _slot1 = e;
__exists = false;
return;
__snd = (new (sndClass) as Sound);
__soundName = sndName;
__removeFunc = func;
__uniqueID = uniqueID;
__mutedVolume = -1;
__destVolume = -1;
__pausedPos = 0;
__exists = true;
__loops = 0;
__callbackArgs = [];
__callbackFunc = null;
}
public function stop():void{
if (__channel != null){
cancelFade();
__channel.stop();
__channel.removeEventListener(Event.SOUND_COMPLETE, soundComplete);
};
IntervalManager.clearInterval(__int);
}
public function get channel():SoundChannel{
return (__channel);
}
public function fadeTo(vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var mm:MotionManager;
vol = Math.max(0, Math.min(1, vol));
if (!muted){
cancelFade();
if (channel != null){
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift((vol * 100));
_args.unshift(channel);
mm = MotionManager.getInstance();
mm.volumeTo.apply(mm, _args);
};
__destVolume = vol;
} else {
__destVolume = -1;
__mutedVolume = vol;
};
}
public function get volume():Number{
return (getVolume());
}
public function setVolume(vol:Number):void{
var sndTransform:SoundTransform;
vol = Math.max(0, Math.min(1, vol));
if (muted){
__mutedVolume = vol;
} else {
cancelFade();
sndTransform = new SoundTransform(vol);
if (channel != null){
channel.soundTransform = sndTransform;
};
};
}
public function cancelFade():void{
var mm:MotionManager;
if (channel != null){
mm = MotionManager.getInstance();
mm.cancelTween(channel, "volumeTo");
};
__destVolume = -1;
}
private function getVolume():Number{
if (((((!((channel == null))) && (!((channel.soundTransform == null))))) && (!(isNaN(channel.soundTransform.volume))))){
return (channel.soundTransform.volume);
};
return (1);
}
private function getPosition():Number{
if (channel != null){
return (channel.position);
};
return (0);
}
public function get position():Number{
return (getPosition());
}
private function reduceLoops(... _args):void{
__loops--;
}
public function resume():void{
if (paused){
__callbackArgs.splice(0, 0, __pausedPos, __loops, __callbackFunc);
play.apply(null, __callbackArgs);
};
}
public function get paused():Boolean{
return (!(!(pausedPos)));
}
public function get fading():Boolean{
return (!((__destVolume == -1)));
}
public function get soundName():String{
return (__soundName);
}
public function play(startPos:Number, loops:Number, callback:Function=null, ... _args):void{
var sndTransform:SoundTransform;
var time:Number;
__callbackFunc = callback;
__callbackArgs = _args;
__pausedPos = 0;
__loops = loops;
sndTransform = new SoundTransform((fading) ? __destVolume : volume);
__channel = __snd.play(startPos, loops, sndTransform);
if (__channel != null){
__channel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
};
time = (__snd.length - startPos);
__int = IntervalManager.setInterval(reduceLoops, time);
}
public function get pausedPos():Number{
return (__pausedPos);
}
public function toggle(on:Boolean):void{
var vol:Number;
if (on){
if (muted){
vol = __mutedVolume;
__mutedVolume = -1;
setVolume(vol);
};
} else {
if (!muted){
if (fading){
setVolume(__destVolume);
cancelFade();
};
vol = volume;
setVolume(0);
__mutedVolume = vol;
};
};
}
public function get destVolume():Number{
return (__destVolume);
}
public function get exists():Boolean{
return (__exists);
}
public function get mutedVolume():Number{
return (__mutedVolume);
}
private function soundComplete(e:Event):void{
if (__callbackFunc != null){
__callbackFunc.apply(null, __callbackArgs);
__callbackFunc = null;
};
IntervalManager.clearInterval(__int);
__removeFunc(__uniqueID);
}
public function get muted():Boolean{
return (!((mutedVolume == -1)));
}
public function pause():void{
if (!paused){
__pausedPos = position;
if (fading){
setVolume(__destVolume);
cancelFade();
};
stop();
IntervalManager.clearInterval(__int);
};
}
}
}//package com.aga.api.media.sound
Section 22
//HashCheck (com.aga.api.net.HashCheck)
package com.aga.api.net {
import flash.net.*;
public class HashCheck {
private static var __key:String = "DrPepper";
public function HashCheck(){
super();
}
private static function makeSignature(vars:URLVariables):String{
var arr:Array;
var i:String;
var str:String;
var len:int;
var j:Number;
var hashed:String;
arr = new Array();
for (i in vars) {
arr.push({name:i, data:vars[i]});
};
arr.sortOn("name");
str = "";
len = arr.length;
j = 0;
while (j < len) {
str = (str + ((arr[j].name + "=") + arr[j].data));
j++;
};
str = (str + __key);
hashed = MD5.hash(str);
return (hashed);
}
public static function addHash(vars:URLVariables):URLVariables{
vars.h = makeSignature(vars);
return (vars);
}
public static function checkHash(obj:Object):Boolean{
return (true);
}
}
}//package com.aga.api.net
Section 23
//MD5 (com.aga.api.net.MD5)
package com.aga.api.net {
public class MD5 {
public function MD5(){
super();
}
private static function ff(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(f, a, b, c, d, x, s, t));
}
private static function createBlocks(s:String):Array{
var blocks:Array;
var len:int;
var mask:int;
var i:int;
blocks = new Array();
len = (s.length * 8);
mask = 0xFF;
i = 0;
while (i < len) {
blocks[(i >> 5)] = (blocks[(i >> 5)] | ((s.charCodeAt((i / 8)) & mask) << (i % 32)));
i = (i + 8);
};
blocks[(len >> 5)] = (blocks[(len >> 5)] | (128 << (len % 32)));
blocks[((((len + 64) >>> 9) << 4) + 14)] = len;
return (blocks);
}
private static function ii(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(i, a, b, c, d, x, s, t));
}
private static function f(x:int, y:int, z:int):int{
return (((x & y) | (~(x) & z)));
}
private static function g(x:int, y:int, z:int):int{
return (((x & z) | (y & ~(z))));
}
private static function h(x:int, y:int, z:int):int{
return (((x ^ y) ^ z));
}
private static function i(x:int, y:int, z:int):int{
return ((y ^ (x | ~(z))));
}
private static function transform(func:Function, a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
var tmp:int;
tmp = (((a + int(func(b, c, d))) + x) + t);
return ((IntUtil.rol(tmp, s) + b));
}
private static function hh(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(h, a, b, c, d, x, s, t));
}
public static function hash(s:String):String{
var a:int;
var b:int;
var c:int;
var d:int;
var aa:int;
var bb:int;
var cc:int;
var dd:int;
var x:Array;
var len:int;
var i:int;
a = 1732584193;
b = -271733879;
c = -1732584194;
d = 271733878;
x = createBlocks(s);
len = x.length;
i = 0;
while (i < len) {
aa = a;
bb = b;
cc = c;
dd = d;
a = ff(a, b, c, d, x[(i + 0)], 7, -680876936);
d = ff(d, a, b, c, x[(i + 1)], 12, -389564586);
c = ff(c, d, a, b, x[(i + 2)], 17, 606105819);
b = ff(b, c, d, a, x[(i + 3)], 22, -1044525330);
a = ff(a, b, c, d, x[(i + 4)], 7, -176418897);
d = ff(d, a, b, c, x[(i + 5)], 12, 1200080426);
c = ff(c, d, a, b, x[(i + 6)], 17, -1473231341);
b = ff(b, c, d, a, x[(i + 7)], 22, -45705983);
a = ff(a, b, c, d, x[(i + 8)], 7, 1770035416);
d = ff(d, a, b, c, x[(i + 9)], 12, -1958414417);
c = ff(c, d, a, b, x[(i + 10)], 17, -42063);
b = ff(b, c, d, a, x[(i + 11)], 22, -1990404162);
a = ff(a, b, c, d, x[(i + 12)], 7, 1804603682);
d = ff(d, a, b, c, x[(i + 13)], 12, -40341101);
c = ff(c, d, a, b, x[(i + 14)], 17, -1502002290);
b = ff(b, c, d, a, x[(i + 15)], 22, 1236535329);
a = gg(a, b, c, d, x[(i + 1)], 5, -165796510);
d = gg(d, a, b, c, x[(i + 6)], 9, -1069501632);
c = gg(c, d, a, b, x[(i + 11)], 14, 643717713);
b = gg(b, c, d, a, x[(i + 0)], 20, -373897302);
a = gg(a, b, c, d, x[(i + 5)], 5, -701558691);
d = gg(d, a, b, c, x[(i + 10)], 9, 38016083);
c = gg(c, d, a, b, x[(i + 15)], 14, -660478335);
b = gg(b, c, d, a, x[(i + 4)], 20, -405537848);
a = gg(a, b, c, d, x[(i + 9)], 5, 568446438);
d = gg(d, a, b, c, x[(i + 14)], 9, -1019803690);
c = gg(c, d, a, b, x[(i + 3)], 14, -187363961);
b = gg(b, c, d, a, x[(i + 8)], 20, 1163531501);
a = gg(a, b, c, d, x[(i + 13)], 5, -1444681467);
d = gg(d, a, b, c, x[(i + 2)], 9, -51403784);
c = gg(c, d, a, b, x[(i + 7)], 14, 1735328473);
b = gg(b, c, d, a, x[(i + 12)], 20, -1926607734);
a = hh(a, b, c, d, x[(i + 5)], 4, -378558);
d = hh(d, a, b, c, x[(i + 8)], 11, -2022574463);
c = hh(c, d, a, b, x[(i + 11)], 16, 1839030562);
b = hh(b, c, d, a, x[(i + 14)], 23, -35309556);
a = hh(a, b, c, d, x[(i + 1)], 4, -1530992060);
d = hh(d, a, b, c, x[(i + 4)], 11, 1272893353);
c = hh(c, d, a, b, x[(i + 7)], 16, -155497632);
b = hh(b, c, d, a, x[(i + 10)], 23, -1094730640);
a = hh(a, b, c, d, x[(i + 13)], 4, 681279174);
d = hh(d, a, b, c, x[(i + 0)], 11, -358537222);
c = hh(c, d, a, b, x[(i + 3)], 16, -722521979);
b = hh(b, c, d, a, x[(i + 6)], 23, 76029189);
a = hh(a, b, c, d, x[(i + 9)], 4, -640364487);
d = hh(d, a, b, c, x[(i + 12)], 11, -421815835);
c = hh(c, d, a, b, x[(i + 15)], 16, 530742520);
b = hh(b, c, d, a, x[(i + 2)], 23, -995338651);
a = ii(a, b, c, d, x[(i + 0)], 6, -198630844);
d = ii(d, a, b, c, x[(i + 7)], 10, 1126891415);
c = ii(c, d, a, b, x[(i + 14)], 15, -1416354905);
b = ii(b, c, d, a, x[(i + 5)], 21, -57434055);
a = ii(a, b, c, d, x[(i + 12)], 6, 1700485571);
d = ii(d, a, b, c, x[(i + 3)], 10, -1894986606);
c = ii(c, d, a, b, x[(i + 10)], 15, -1051523);
b = ii(b, c, d, a, x[(i + 1)], 21, -2054922799);
a = ii(a, b, c, d, x[(i + 8)], 6, 1873313359);
d = ii(d, a, b, c, x[(i + 15)], 10, -30611744);
c = ii(c, d, a, b, x[(i + 6)], 15, -1560198380);
b = ii(b, c, d, a, x[(i + 13)], 21, 1309151649);
a = ii(a, b, c, d, x[(i + 4)], 6, -145523070);
d = ii(d, a, b, c, x[(i + 11)], 10, -1120210379);
c = ii(c, d, a, b, x[(i + 2)], 15, 718787259);
b = ii(b, c, d, a, x[(i + 9)], 21, -343485551);
a = (a + aa);
b = (b + bb);
c = (c + cc);
d = (d + dd);
i = (i + 16);
};
return ((((IntUtil.toHex(a) + IntUtil.toHex(b)) + IntUtil.toHex(c)) + IntUtil.toHex(d)));
}
private static function gg(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(g, a, b, c, d, x, s, t));
}
}
}//package com.aga.api.net
class IntUtil {
private static var hexChars:String = "0123456789abcdef";
private function IntUtil(){
super();
}
public static function toHex(n:int, bigEndian:Boolean=false):String{
var s:String;
var i:int;
var x:int;
s = "";
if (bigEndian){
i = 0;
while (i < 4) {
s = (s + (hexChars.charAt(((n >> (((3 - i) * 8) + 4)) & 15)) + hexChars.charAt(((n >> ((3 - i) * 8)) & 15))));
i++;
};
} else {
x = 0;
while (x < 4) {
s = (s + (hexChars.charAt(((n >> ((x * 8) + 4)) & 15)) + hexChars.charAt(((n >> (x * 8)) & 15))));
x++;
};
};
return (s);
}
public static function rol(x:int, n:int):int{
return (((x << n) | (x >>> (32 - n))));
}
}
Section 24
//Message (com.aga.api.net.Message)
package com.aga.api.net {
import flash.events.*;
import flash.net.*;
import com.aga.api.*;
public class Message {
protected var __callback:Function;
protected var __doDebug:Boolean;
protected var __url:String;
protected var __loader:URLLoader;
public function Message(url:String, vars:URLVariables=null, func:Function=null, doDebug:Boolean=false){
var req:URLRequest;
super();
__url = url;
__callback = func;
__doDebug = doDebug;
myDebug("---------------------------");
myDebug("Message.CONSTR");
myDebug((" url: " + url));
myDebug((" vars: " + vars));
req = new URLRequest(url);
req.method = URLRequestMethod.POST;
if (vars != null){
req.data = vars;
};
__loader = new URLLoader();
__loader.addEventListener(Event.COMPLETE, sendEventComplete);
__loader.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
__loader.load(req);
}
private function handleIOError(e:IOErrorEvent):void{
myDebug("Message.handleIOError");
myDebug((" >>> EVENT: " + e));
}
protected function sendEventComplete(e:Event):void{
var data:Object;
var each:String;
myDebug("---------------------------");
myDebug("Message.sendEventComplete");
myDebug((" EVENT: " + e));
myDebug((" orig url: " + __url));
myDebug((" __loader: " + __loader));
myDebug((" __loader.data: " + __loader.data));
data = new Object();
if (__loader.data != undefined){
data = Parser.parseQuery(__loader.data);
};
for (each in data) {
data[each] = Parser.unescapePlus(data[each]);
myDebug((((" " + each) + ": ") + data[each]));
};
if (__callback != null){
__callback(data);
};
}
protected function myDebug(str):void{
if (__doDebug){
};
}
}
}//package com.aga.api.net
Section 25
//MessageBoolean (com.aga.api.net.MessageBoolean)
package com.aga.api.net {
import flash.events.*;
import flash.net.*;
public class MessageBoolean extends Message {
public function MessageBoolean(url:String, vars:URLVariables=null, func:Function=null, doDebug:Boolean=false){
super(url, vars, func, doDebug);
}
override protected function sendEventComplete(e:Event):void{
var obj:Object;
myDebug("---------------------------");
myDebug("MessageBoolean.sendEventComplete");
myDebug((" EVENT: " + e));
myDebug((" __loader: " + __loader));
myDebug((" __loader.data: " + __loader.data));
obj = {};
obj.success = Boolean(Number(__loader.data));
if (__callback != null){
__callback(obj);
};
}
}
}//package com.aga.api.net
Section 26
//MessageUnencrypted (com.aga.api.net.MessageUnencrypted)
package com.aga.api.net {
import flash.events.*;
import flash.net.*;
import com.aga.api.*;
public class MessageUnencrypted extends Message {
public function MessageUnencrypted(url:String, vars:URLVariables=null, func:Function=null){
super(url, vars, func);
}
override protected function sendEventComplete(e:Event):void{
var obj:Object;
obj = new Object();
if (__loader.data != undefined){
obj = Parser.parseQuery(Parser.unescapePlus(__loader.data));
};
if (__callback != null){
__callback(obj);
};
}
}
}//package com.aga.api.net
Section 27
//Messenger (com.aga.api.net.Messenger)
package com.aga.api.net {
import flash.events.*;
import flash.net.*;
import com.aga.api.*;
public class Messenger {
public static const PRESTITIAL:Number = 1;
public static const RENDER:Number = 2;
public static const LEVEL_END:Number = 5;
public static const GAME_PLAY:Number = 4;
public static const GAME_END:Number = 6;
public static const GAME_LOADED:Number = 3;
public static const AWARD:Number = 7;
public function Messenger(){
super();
}
public static function buildVars(queryObj:Object):URLVariables{
var vars:URLVariables;
var each:String;
vars = new URLVariables();
for (each in queryObj) {
vars[each] = queryObj[each];
};
return (vars);
}
public static function refreshAll():void{
var url:String;
if (((API.scriptsEnabled) && (!(API.mmo)))){
url = "javascript:AGA.games.refresh_all()";
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
public static function logIn(username:String, password:String, remember:Number, func:Function=null):void{
var obj:Object;
obj = {lusername:username, lpassword:password, lremember:remember, flash:1};
new Message(Parser.loginURL, buildVars(obj), func);
}
public static function refreshHTML():void{
var url:String;
if (((API.scriptsEnabled) && (!(API.mmo)))){
url = "javascript:AGA.games.refresh_user()";
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
private static function buildEncryptedVars(queryObj:Object):URLVariables{
var vars:URLVariables;
vars = buildVars(queryObj);
vars = HashCheck.addHash(vars);
return (vars);
}
public static function sendSafeMessage(scriptName:String, args:Object=null, func:Function=null):void{
new MessageUnencrypted((Parser.servicesURL + scriptName), buildVars(args), func);
}
public static function submitScore(score:Number, time:Number, func:Function=null):void{
var obj:Object;
obj = new Object();
obj.sc = String(score);
obj.ti = String(time);
obj.gameid = String(Parser.gameID);
new Message((Parser.servicesURL + "s.php"), buildEncryptedVars(obj), func);
}
public static function forgotPassword(email:String, func:Function=null):void{
new MessageBoolean(Parser.forgetURL, buildVars({forgotemail:email, flash:1}), func);
}
public static function getFriends(func:Function=null):void{
new Message((Parser.servicesURL + "get_friends.php"), buildVars({flash:1}), func);
}
public static function sendAction(action:Number, args:Object=null, func:Function=null):void{
var obj:Object;
var each:String;
obj = new Object();
obj.t = String(action);
for (each in args) {
if ((((action == LEVEL_END)) && ((each == "level")))){
obj["v"] = args[each];
} else {
if ((((action == GAME_END)) && ((each == "win")))){
obj["v"] = args[each];
} else {
obj[each] = args[each];
};
};
};
obj.gameid = String(Parser.gameID);
new Message((Parser.servicesURL + "t.php"), buildEncryptedVars(obj), func);
}
private static function handleIOError(e:IOErrorEvent):void{
}
public static function backToMMO():void{
var url:String;
if (API.scriptsEnabled){
url = ("javascript:" + API.mmoBack);
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
public static function refreshAwards():void{
var url:String;
if (((API.scriptsEnabled) && (!(API.mmo)))){
url = "javascript:AGA.games.refresh_awards()";
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
public static function updateCounter(credits:Number):void{
var url:String;
var credits = credits;
if (((API.scriptsEnabled) && (!(API.mmo)))){
url = (("javascript:AGA.credits.add( " + credits) + " )");
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
public static function refreshScore():void{
var url:String;
if (((API.scriptsEnabled) && (!(API.mmo)))){
url = "javascript:AGA.games.refresh_score()";
navigateToURL(new URLRequest(url), "_self");
//unresolved jump
var _slot1 = e;
};
}
}
}//package com.aga.api.net
Section 28
//TestSettings (com.aga.api.test.TestSettings)
package com.aga.api.test {
import flash.display.*;
public class TestSettings extends MovieClip {
private var __localURL:String;// = "///"
private var __loggedIn:Boolean;// = true
private var __stingerURL:String;// = "///"
private var __noEnd:Boolean;// = false
private var __customloader:Boolean;// = true
private var __prestitialURL:String;// = "///"
public function TestSettings(){
__localURL = "///";
__stingerURL = "///";
__prestitialURL = "///";
__loggedIn = true;
__noEnd = false;
__customloader = true;
super();
}
public function get localURL():String{
return (__localURL);
}
public function set localURL(s:String){
__localURL = s;
}
public function get stingerURL():String{
return (__stingerURL);
}
public function set prestitialURL(s:String){
__prestitialURL = s;
}
public function get loggedIn():Boolean{
return (__loggedIn);
}
public function get noEnd():Boolean{
return (__noEnd);
}
public function set stingerURL(s:String){
__stingerURL = s;
}
public function set loggedIn(b:Boolean){
__loggedIn = b;
}
public function set customloader(b:Boolean){
__customloader = b;
}
public function get prestitialURL():String{
return (__prestitialURL);
}
public function set noEnd(b:Boolean){
__noEnd = b;
}
public function get customloader():Boolean{
return (__customloader);
}
}
}//package com.aga.api.test
Section 29
//AlphaItem (com.aga.api.tween.items.AlphaItem)
package com.aga.api.tween.items {
import flash.display.*;
public class AlphaItem extends MotionItem implements IMotionItem {
private var __startAlpha:Number;
private var __destAlpha:int;
public function AlphaItem(mc:MovieClip, alpha:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destAlpha = alpha;
__startAlpha = (mc.alpha * 100);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var mc:DisplayObject;
var currentTime:int;
var timePassed:int;
var newalpha:Number;
completed = false;
if (__paused){
return (completed);
};
mc = (__mc as DisplayObject);
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
newalpha = __easeFunction((timePassed / 1000), __startAlpha, (__destAlpha - __startAlpha), (__duration / 1000));
mc.alpha = (newalpha / 100);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
mc.alpha = (__destAlpha / 100);
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 30
//BendItem (com.aga.api.tween.items.BendItem)
package com.aga.api.tween.items {
import flash.display.*;
import flash.geom.*;
public class BendItem extends MotionItem implements IMotionItem {
private var __controlx;
private var __controly;
private var __startx:int;
private var __anchorx;
private var __anchory;
private var __starty:int;
public function BendItem(mc:MovieClip, cx, cy, ax, ay, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__controlx = cx;
__controly = cy;
__anchorx = ax;
__anchory = ay;
__startx = mc.x;
__starty = mc.y;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:DisplayObject;
var percent:Number;
var p0:Point;
var p1:Point;
var p2:Point;
var t:Number;
var t1:Number;
var t1_2:Number;
var t2:Number;
var tt12:Number;
var x:Number;
var y:Number;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as DisplayObject);
percent = __easeFunction((timePassed / 1000), 0, 1, (__duration / 1000));
p0 = new Point(__startx, __starty);
p1 = new Point(__anchorx, __anchory);
p2 = new Point(__controlx, __controly);
t = percent;
t1 = (1 - t);
t1_2 = (t1 * t1);
t2 = (t * t);
tt12 = ((2 * t) * t1);
x = (((t1_2 * p0.x) + (tt12 * p1.x)) + (t2 * p2.x));
y = (((t1_2 * p0.y) + (tt12 * p1.y)) + (t2 * p2.y));
mc.x = x;
mc.y = y;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
mc.x = __controlx;
mc.y = __controly;
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 31
//BlurItem (com.aga.api.tween.items.BlurItem)
package com.aga.api.tween.items {
import flash.display.*;
import flash.filters.*;
public class BlurItem extends MotionItem implements IMotionItem {
private var __destx;
private var __quality:int;
private var __startx:int;
private var __desty;
private var __starty:int;
public function BlurItem(mc:MovieClip, ex, ey, quality:int, duration:int, ease, callback:Function, callbackArgs:Array){
var filters:Array;
var i:int;
var filter:Object;
var blur:BlurFilter;
super(mc, duration, ease, callback, callbackArgs);
__destx = ((((__destx == null)) || ((__destx == undefined)))) ? ex : 0;
__desty = ((((__desty == null)) || ((__desty == undefined)))) ? ey : 0;
__startx = 0;
__starty = 0;
__quality = quality;
filters = mc.filters;
i = 0;
while (i < filters.length) {
filter = filters[i];
if ((filter is BlurFilter)){
blur = (filter as BlurFilter);
__startx = blur.blurX;
__starty = blur.blurY;
};
i++;
};
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var filter:BlurFilter;
var newx:int;
var newy:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
filter = new BlurFilter();
filter.quality = __quality;
newx = __easeFunction((timePassed / 1000), __startx, (__destx - __startx), (__duration / 1000));
filter.blurX = Math.round(newx);
newy = __easeFunction((timePassed / 1000), __starty, (__desty - __starty), (__duration / 1000));
filter.blurY = Math.round(newy);
addFilter(filter);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var filter:BlurFilter;
diffTime = (__currenttime - __endtime);
filter = new BlurFilter(__destx, __desty, __quality);
addFilter(filter);
__timeDiff = diffTime;
}
private function addFilter(filter:BlurFilter):void{
var mc:DisplayObject;
var filters:Array;
var newfilters:Array;
var i:int;
var currentFilter:Object;
mc = (__mc as DisplayObject);
filters = mc.filters;
newfilters = [];
i = 0;
while (i < filters.length) {
currentFilter = filters[i];
if (!(currentFilter is BlurFilter)){
newfilters.push(currentFilter);
};
i++;
};
newfilters.push(filter);
mc.filters = newfilters;
}
}
}//package com.aga.api.tween.items
Section 32
//ColorItem (com.aga.api.tween.items.ColorItem)
package com.aga.api.tween.items {
import flash.display.*;
import flash.geom.*;
public class ColorItem extends MotionItem implements IMotionItem {
private var __endValue:Number;
private var __startValue:Number;
private var __destColorTransform:ColorTransform;
private var __startAlpha:Number;
public function ColorItem(mc:MovieClip, color, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destColorTransform = new ColorTransform();
if (color != null){
__destColorTransform.color = color;
};
__startValue = 0;
__endValue = 1;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var mc:DisplayObject;
var currentTime:int;
var timePassed:int;
var value:Number;
completed = false;
if (__paused){
return (completed);
};
mc = (__mc as DisplayObject);
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
value = __easeFunction((timePassed / 1000), __startValue, (__endValue - __startValue), (__duration / 1000));
mc.transform.colorTransform = getColor(mc.transform.colorTransform, __destColorTransform, value);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
__timeDiff = diffTime;
}
private function getColor(start:ColorTransform, end:ColorTransform, t:Number):ColorTransform{
var result:ColorTransform;
result = new ColorTransform();
result.redMultiplier = (start.redMultiplier + ((end.redMultiplier - start.redMultiplier) * t));
result.greenMultiplier = (start.greenMultiplier + ((end.greenMultiplier - start.greenMultiplier) * t));
result.blueMultiplier = (start.blueMultiplier + ((end.blueMultiplier - start.blueMultiplier) * t));
result.alphaMultiplier = (start.alphaMultiplier + ((end.alphaMultiplier - start.alphaMultiplier) * t));
result.redOffset = (start.redOffset + ((end.redOffset - start.redOffset) * t));
result.greenOffset = (start.greenOffset + ((end.greenOffset - start.greenOffset) * t));
result.blueOffset = (start.blueOffset + ((end.blueOffset - start.blueOffset) * t));
result.alphaOffset = (start.alphaOffset + ((end.alphaOffset - start.alphaOffset) * t));
return (result);
}
}
}//package com.aga.api.tween.items
Section 33
//FrameItem (com.aga.api.tween.items.FrameItem)
package com.aga.api.tween.items {
import flash.display.*;
public class FrameItem extends MotionItem implements IMotionItem {
private var __startFrame:Number;
private var __destFrame:int;
public function FrameItem(mc:MovieClip, frame, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__startFrame = mc.currentFrame;
__destFrame = getDestFrame(frame);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:MovieClip;
var frame:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as MovieClip);
frame = __easeFunction((timePassed / 1000), __startFrame, (__destFrame - __startFrame), (__duration / 1000));
mc.gotoAndStop(frame);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:MovieClip;
diffTime = (__currenttime - __endtime);
mc = (__mc as MovieClip);
mc.gotoAndStop(__destFrame);
__timeDiff = diffTime;
}
private function getDestFrame(targetframe):int{
var frame:int;
var type:String;
var mc:MovieClip;
var _local7:Array;
var i:int;
var label:FrameLabel;
frame = __startFrame;
type = ((typeof(targetframe))=="string") ? "label" : "frame";
mc = (__mc as MovieClip);
switch (type){
case "frame":
if (targetframe <= 1){
frame = Math.max(1, Math.round((targetframe * mc.totalFrames)));
} else {
frame = targetframe;
};
break;
case "label":
_local7 = mc.currentLabels;
i = 0;
while (i < _local7.length) {
label = _local7[i];
if (label.name == targetframe){
return (label.frame);
};
i++;
};
break;
};
return (frame);
}
}
}//package com.aga.api.tween.items
Section 34
//IMotionItem (com.aga.api.tween.items.IMotionItem)
package com.aga.api.tween.items {
interface IMotionItem {
function tweenComplete():void;
function update(:int):Boolean;
}
}//package com.aga.api.tween.items
Section 35
//MotionItem (com.aga.api.tween.items.MotionItem)
package com.aga.api.tween.items {
import flash.utils.*;
public class MotionItem implements IMotionItem {
var __pauseTime:int;
var __paused:Boolean;
var __callbackArgs:Array;
var __callback:Function;
var __easeFunction:Function;
var __endtime:int;
var __starttime:int;
var __timeDiff:int;
var __currenttime:int;
var __completed:Boolean;
var __duration:int;
var __mc:Object;
public function MotionItem(mc:Object, duration:Number, type, callback:Function, callbackArgs:Array){
super();
__duration = duration;
__starttime = getTimer();
__endtime = (__starttime + __duration);
__currenttime = __starttime;
__paused = false;
__completed = false;
__mc = mc;
__callback = callback;
__callbackArgs = callbackArgs;
setEaseFunction(type);
}
private function easeInOutQuad(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return (((((c / 2) * t) * t) + b));
};
--t;
return ((((-(c) / 2) * ((t * (t - 2)) - 1)) + b));
}
private function easeOutInCubic(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutCubic((t * 2), b, (c / 2), d));
};
return (easeInCubic(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function bounce(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
if (t < (1 / 2.75)){
return (((c * ((7.5625 * t) * t)) + b));
};
if (t < (2 / 2.75)){
t = (t - (1.5 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.75)) + b));
};
if (t < (2.5 / 2.75)){
t = (t - (2.25 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.9375)) + b));
};
t = (t - (2.625 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.984375)) + b));
}
private function easeInOutBounce(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (((easeInBounce((t * 2), 0, c, d) * 0.5) + b));
};
return ((((easeOutBounce(((t * 2) - d), 0, c, d) * 0.5) + (c * 0.5)) + b));
}
private function easeOutInQuint(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutQuint((t * 2), b, (c / 2), d));
};
return (easeInQuint(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutExpo(t:Number, b:Number, c:Number, d:Number):Number{
return (((t)==d) ? (b + c) : (((c * 1.001) * (-(Math.pow(2, ((-10 * t) / d))) + 1)) + b));
}
private function easeInOutBack(t:Number, b:Number, c:Number, d:Number, overshoot:Number):Number{
var s:Number;
s = (((!(Boolean(overshoot))) || (isNaN(overshoot)))) ? 1.70158 : overshoot;
t = (t / (d / 2));
if (t < 1){
s = (s * 1.525);
return ((((c / 2) * ((t * t) * (((s + 1) * t) - s))) + b));
};
t = (t - 2);
s = (s * 1.525);
return ((((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 2)) + b));
}
public function get mc():Object{
return (__mc);
}
private function easeInQuad(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((c * t) * t) + b));
}
private function easeInBounce(t:Number, b:Number, c:Number, d:Number):Number{
return (((c - easeOutBounce((d - t), 0, c, d)) + b));
}
private function easeOutQuart(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((-(c) * ((((t * t) * t) * t) - 1)) + b));
}
private function easeOutBounce(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
if (t < (1 / 2.75)){
return (((c * ((7.5625 * t) * t)) + b));
};
if (t < (2 / 2.75)){
t = (t - (1.5 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.75)) + b));
};
if (t < (2.5 / 2.75)){
t = (t - (2.25 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.9375)) + b));
};
t = (t - (2.625 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.984375)) + b));
}
public function pauseItem():void{
if (!__paused){
__paused = true;
__pauseTime = getTimer();
};
}
private function easeOutCubic(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((c * (((t * t) * t) + 1)) + b));
}
private function easeOutQuint(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((c * (((((t * t) * t) * t) * t) + 1)) + b));
}
private function linear(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
private function easeOutSine(t:Number, b:Number, c:Number, d:Number):Number{
return (((c * Math.sin(((t / d) * (Math.PI / 2)))) + b));
}
public function get paused():Boolean{
return (__paused);
}
private function easeInElastic(t:Number, b:Number, c:Number, d:Number, period, amplitude):Number{
var p:Number;
var s:Number;
var a:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
p = (((!(Boolean(period))) || (isNaN(period)))) ? (d * 0.3) : period;
a = (((!(Boolean(amplitude))) || (isNaN(amplitude)))) ? 0 : amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
--t;
return ((-(((a * Math.pow(2, (10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p)))) + b));
}
private function easeInOutExpo(t:Number, b:Number, c:Number, d:Number):Number{
if (t == 0){
return (b);
};
if (t == d){
return ((b + c));
};
t = (t / (d / 2));
if (t < 1){
return (((((c / 2) * Math.pow(2, (10 * (t - 1)))) + b) - (c * 0.0005)));
};
--t;
return (((((c / 2) * 1.0005) * (-(Math.pow(2, (-10 * t))) + 2)) + b));
}
private function easeOutElastic(t:Number, b:Number, c:Number, d:Number, period, amplitude):Number{
var p:Number;
var s:Number;
var a:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
p = (((!(Boolean(period))) || (isNaN(period)))) ? (d * 0.3) : period;
a = (((!(Boolean(amplitude))) || (isNaN(amplitude)))) ? 0 : amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
return (((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) + c) + b));
}
private function easeOutCirc(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((c * Math.sqrt((1 - (t * t)))) + b));
}
private function easeInOutElastic(t:Number, b:Number, c:Number, d:Number, period:Number, amplitude:Number):Number{
var p:Number;
var s:Number;
var a:Number;
if (t == 0){
return (b);
};
t = (t / (d / 2));
if (t == 2){
return ((b + c));
};
p = (((!(Boolean(period))) || (isNaN(period)))) ? (d * (0.3 * 1.5)) : period;
a = (((!(Boolean(amplitude))) || (isNaN(amplitude)))) ? 0 : amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
if (t < 1){
--t;
return (((-0.5 * ((a * Math.pow(2, (10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p)))) + b));
};
--t;
return ((((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) * 0.5) + c) + b));
}
private function easeOutInQuad(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutQuad((t * 2), b, (c / 2), d));
};
return (easeInQuad(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutInBounce(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutBounce((t * 2), b, (c / 2), d));
};
return (easeInBounce(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutBack(t:Number, b:Number, c:Number, d:Number, overshoot):Number{
var s:Number;
s = (((!(Boolean(overshoot))) || (isNaN(overshoot)))) ? 1.70158 : overshoot;
t = ((t / d) - 1);
return (((c * (((t * t) * (((s + 1) * t) + s)) + 1)) + b));
}
private function easeInBack(t:Number, b:Number, c:Number, d:Number, overshoot:Number=1.70158):Number{
var s:Number;
s = overshoot;
t = (t / d);
return (((((c * t) * t) * (((s + 1) * t) - s)) + b));
}
private function easeInExpo(t:Number, b:Number, c:Number, d:Number):Number{
return (((t)==0) ? b : (((c * Math.pow(2, (10 * ((t / d) - 1)))) + b) - (c * 0.001)));
}
public function update(motiontime:int):Boolean{
return (false);
}
public function tweenComplete():void{
}
private function elastic(t:Number, b:Number, c:Number, d:Number, a:Number, p:Number):Number{
var s:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
if (!p){
p = (d * 0.3);
};
if (((!(a)) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
return (((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) + c) + b));
}
private function easeInCubic(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return (((((c * t) * t) * t) + b));
}
private function easeInQuint(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return (((((((c * t) * t) * t) * t) * t) + b));
}
private function easeInOutCirc(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return ((((-(c) / 2) * (Math.sqrt((1 - (t * t))) - 1)) + b));
};
t = (t - 2);
return ((((c / 2) * (Math.sqrt((1 - (t * t))) + 1)) + b));
}
public function executeCallback():void{
if (__callback != null){
__callbackArgs.push(__timeDiff);
__callback.apply(null, __callbackArgs);
};
}
private function easeInQuart(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((((c * t) * t) * t) * t) + b));
}
private function easeOutInExpo(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutExpo((t * 2), b, (c / 2), d));
};
return (easeInExpo(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutInElastic(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutElastic((t * 2), b, (c / 2), d, null, null));
};
return (easeInElastic(((t * 2) - d), (b + (c / 2)), (c / 2), d, null, null));
}
public function resumeItem():void{
var resumeTime:int;
var elapsedTime:int;
if (__paused){
resumeTime = getTimer();
elapsedTime = (resumeTime - __pauseTime);
__starttime = (__starttime + elapsedTime);
__endtime = (__endtime + elapsedTime);
__currenttime = (__currenttime + elapsedTime);
__paused = false;
};
}
private function easeInOutQuart(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return (((((((c / 2) * t) * t) * t) * t) + b));
};
t = (t - 2);
return ((((-(c) / 2) * ((((t * t) * t) * t) - 2)) + b));
}
private function easeOutQuad(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((-(c) * t) * (t - 2)) + b));
}
private function easeInOutSine(t:Number, b:Number, c:Number, d:Number):Number{
return ((((-(c) / 2) * (Math.cos(((Math.PI * t) / d)) - 1)) + b));
}
private function ease(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((-(c) * t) * (t - 2)) + b));
}
private function setEaseFunction(type):void{
if (typeof(type) == "function"){
__easeFunction = type;
} else {
switch (type){
case "ease":
__easeFunction = ease;
break;
case "elastic":
__easeFunction = elastic;
break;
case "bounce":
__easeFunction = bounce;
break;
case "linear":
case "easenone":
__easeFunction = linear;
case "easeinquad":
__easeFunction = easeInQuad;
case "easeoutquad":
__easeFunction = easeOutQuad;
break;
case "easeinoutquad":
__easeFunction = easeInOutQuad;
break;
case "easeoutinquad":
__easeFunction = easeOutInQuad;
break;
case "easeincubic":
__easeFunction = easeInCubic;
break;
case "easeoutcubic":
__easeFunction = easeOutCubic;
break;
case "easeinoutcubic":
__easeFunction = easeInOutCubic;
break;
case "easeoutincubic":
__easeFunction = easeOutInCubic;
break;
case "easeinquart":
__easeFunction = easeInQuart;
break;
case "easeoutquart":
__easeFunction = easeOutQuart;
break;
case "easeinoutquart":
__easeFunction = easeInOutQuart;
break;
case "easeoutinquart":
__easeFunction = easeOutInQuart;
break;
case "easeinquint":
__easeFunction = easeInQuint;
break;
case "easeoutquint":
__easeFunction = easeOutQuint;
break;
case "easeinoutquint":
__easeFunction = easeInOutQuint;
break;
case "easeoutinquint":
__easeFunction = easeOutInQuint;
break;
case "easeinsine":
__easeFunction = easeInSine;
break;
case "easeoutsine":
__easeFunction = easeOutSine;
break;
case "easeinoutsine":
__easeFunction = easeInOutSine;
break;
case "easeoutinsine":
__easeFunction = easeOutInSine;
break;
case "easeincirc":
__easeFunction = easeInCirc;
break;
case "easeoutcirc":
__easeFunction = easeOutCirc;
break;
case "easeinoutcirc":
__easeFunction = easeInOutCirc;
break;
case "easeoutincirc":
__easeFunction = easeOutInCirc;
break;
case "easeinexpo":
__easeFunction = easeInExpo;
break;
case "easeoutexpo":
__easeFunction = easeOutExpo;
break;
case "easeinoutexpo":
__easeFunction = easeInOutExpo;
break;
case "easeoutinexpo":
__easeFunction = easeOutInExpo;
break;
case "easeinelastic":
__easeFunction = easeInElastic;
break;
case "easeoutelastic":
__easeFunction = easeOutElastic;
break;
case "easeinoutelastic":
__easeFunction = easeInOutElastic;
break;
case "easeoutinelastic":
__easeFunction = easeOutInElastic;
break;
case "easeinback":
__easeFunction = easeInBack;
break;
case "easeoutback":
__easeFunction = easeOutBack;
break;
case "easeinoutback":
__easeFunction = easeInOutBack;
break;
case "easeoutinback":
__easeFunction = easeOutInBack;
break;
case "easeinbounce":
__easeFunction = easeInBounce;
break;
case "easeoutbounce":
__easeFunction = easeOutBounce;
break;
case "easeinoutbounce":
__easeFunction = easeInOutBounce;
break;
case "easeoutinbounce":
__easeFunction = easeOutInBounce;
break;
default:
__easeFunction = linear;
break;
};
};
}
private function easeInOutQuint(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return ((((((((c / 2) * t) * t) * t) * t) * t) + b));
};
t = (t - 2);
return ((((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b));
}
private function easeInCirc(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return (((-(c) * (Math.sqrt((1 - (t * t))) - 1)) + b));
}
private function easeOutInSine(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutSine((t * 2), b, (c / 2), d));
};
return (easeInSine(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeInSine(t:Number, b:Number, c:Number, d:Number):Number{
return ((((-(c) * Math.cos(((t / d) * (Math.PI / 2)))) + c) + b));
}
private function easeOutInBack(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutBack((t * 2), b, (c / 2), d, null));
};
return (easeInBack(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutInQuart(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutQuart((t * 2), b, (c / 2), d));
};
return (easeInQuart(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
private function easeOutInCirc(t:Number, b:Number, c:Number, d:Number):Number{
if (t < (d / 2)){
return (easeOutCirc((t * 2), b, (c / 2), d));
};
return (easeInCirc(((t * 2) - d), (b + (c / 2)), (c / 2), d));
}
public function pause():void{
if (!__paused){
pauseItem();
} else {
resumeItem();
};
}
private function easeInOutCubic(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return ((((((c / 2) * t) * t) * t) + b));
};
t = (t - 2);
return ((((c / 2) * (((t * t) * t) + 2)) + b));
}
}
}//package com.aga.api.tween.items
Section 36
//RotationItem (com.aga.api.tween.items.RotationItem)
package com.aga.api.tween.items {
import flash.display.*;
public class RotationItem extends MotionItem implements IMotionItem {
private var __destRotation:int;
private var __startRotation:Number;
public function RotationItem(mc:MovieClip, rotation:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destRotation = rotation;
__startRotation = mc.rotation;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:MovieClip;
var newrotation:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as MovieClip);
newrotation = __easeFunction((timePassed / 1000), __startRotation, (__destRotation - __startRotation), (__duration / 1000));
mc.rotation = newrotation;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:MovieClip;
diffTime = (__currenttime - __endtime);
mc = (__mc as MovieClip);
mc.rotation = __destRotation;
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 37
//ScaleItem (com.aga.api.tween.items.ScaleItem)
package com.aga.api.tween.items {
import flash.display.*;
public class ScaleItem extends MotionItem implements IMotionItem {
private var __destx;
private var __startx:Number;
private var __desty;
private var __starty:Number;
public function ScaleItem(mc:MovieClip, ex, ey, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destx = (ex / 100);
__desty = (ey / 100);
__startx = mc.scaleX;
__starty = mc.scaleY;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:DisplayObject;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as DisplayObject);
if (((!((__destx == null))) || (!((__destx == undefined))))){
mc.scaleX = __easeFunction((timePassed / 1000), __startx, (__destx - __startx), (__duration / 1000));
};
if (((!((__desty == null))) || (!((__desty == undefined))))){
mc.scaleY = __easeFunction((timePassed / 1000), __starty, (__desty - __starty), (__duration / 1000));
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
if (((!((__desty == null))) || (!((__desty == undefined))))){
mc.scaleY = __desty;
};
if (((!((__destx == null))) || (!((__destx == undefined))))){
mc.scaleX = __destx;
};
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 38
//SizeItem (com.aga.api.tween.items.SizeItem)
package com.aga.api.tween.items {
import flash.display.*;
public class SizeItem extends MotionItem implements IMotionItem {
private var __starth:int;
private var __destw;
private var __startw:int;
private var __desth;
public function SizeItem(mc:MovieClip, ew, eh, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destw = ew;
__desth = eh;
__startw = Math.round(mc.width);
__starth = Math.round(mc.height);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:DisplayObject;
var neww:Number;
var newh:Number;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as DisplayObject);
if (((!((__destw == null))) || (!((__destw == undefined))))){
neww = __easeFunction((timePassed / 1000), __startw, (__destw - __startw), (__duration / 1000));
mc.width = Math.round(neww);
};
if (((!((__desth == null))) || (!((__desth == undefined))))){
newh = __easeFunction((timePassed / 1000), __starth, (__desth - __starth), (__duration / 1000));
mc.height = Math.round(newh);
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
if (((!((__desth == null))) || (!((__desth == undefined))))){
mc.height = __desth;
};
if (((!((__destw == null))) || (!((__destw == undefined))))){
mc.width = __destw;
};
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 39
//SlideItem (com.aga.api.tween.items.SlideItem)
package com.aga.api.tween.items {
import flash.display.*;
public class SlideItem extends MotionItem implements IMotionItem {
private var __destx;
private var __startx:int;
private var __desty;
private var __starty:int;
public function SlideItem(mc:MovieClip, ex, ey, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destx = ex;
__desty = ey;
__startx = Math.round(mc.x);
__starty = Math.round(mc.y);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var mc:DisplayObject;
var newx:int;
var newy:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
mc = (__mc as DisplayObject);
if (((!((__destx == null))) || (!((__destx == undefined))))){
newx = __easeFunction((timePassed / 1000), __startx, (__destx - __startx), (__duration / 1000));
mc.x = Math.round(newx);
};
if (((!((__desty == null))) || (!((__desty == undefined))))){
newy = __easeFunction((timePassed / 1000), __starty, (__desty - __starty), (__duration / 1000));
mc.y = Math.round(newy);
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var mc:DisplayObject;
diffTime = (__currenttime - __endtime);
mc = (__mc as DisplayObject);
if (((!((__desty == null))) || (!((__desty == undefined))))){
mc.y = __desty;
};
if (((!((__destx == null))) || (!((__destx == undefined))))){
mc.x = __destx;
};
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 40
//TweenItem (com.aga.api.tween.items.TweenItem)
package com.aga.api.tween.items {
public class TweenItem extends MotionItem implements IMotionItem {
private var __endValues:Array;
private var __startValues:Array;
public function TweenItem(mc, start:Array, end:Array, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__startValues = start;
__endValues = end;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var returnArray:Array;
var i:int;
var startval:*;
var endval:*;
var val:*;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
returnArray = [];
i = 0;
while (i < __startValues.length) {
startval = __startValues[i];
endval = __endValues[i];
val = __easeFunction((timePassed / 1000), startval, (endval - startval), (__duration / 1000));
returnArray.push(val);
i++;
};
__mc.onTweenUpdate.apply(__mc, returnArray);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.onTweenUpdate.apply(__mc, __endValues);
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 41
//VolumeItem (com.aga.api.tween.items.VolumeItem)
package com.aga.api.tween.items {
import flash.media.*;
public class VolumeItem extends MotionItem implements IMotionItem {
private var __startVolume:Number;
private var __destVolume:int;
public function VolumeItem(mc, volume:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destVolume = volume;
if (mc.soundTransform != null){
__startVolume = (mc.soundTransform.volume * 100);
} else {
__startVolume = 1;
};
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newvolume:Number;
var sndTransform:SoundTransform;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
newvolume = __easeFunction((timePassed / 1000), __startVolume, (__destVolume - __startVolume), (__duration / 1000));
sndTransform = new SoundTransform((newvolume / 100));
__mc.soundTransform = sndTransform;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var sndTransform:SoundTransform;
diffTime = (__currenttime - __endtime);
sndTransform = new SoundTransform((__destVolume / 100));
__mc.soundTransform = sndTransform;
__timeDiff = diffTime;
}
}
}//package com.aga.api.tween.items
Section 42
//MotionList (com.aga.api.tween.MotionList)
package com.aga.api.tween {
import flash.utils.*;
import com.aga.api.tween.items.*;
public class MotionList {
private var __items:Dictionary;
private var __length:int;
public function MotionList(){
super();
__length = 0;
__items = new Dictionary(true);
}
public function resumeItem(mc):void{
var item:MotionItem;
item = __items[mc];
if (item != null){
item.resumeItem();
};
}
public function pauseItem(mc):void{
var item:MotionItem;
item = __items[mc];
if (item != null){
item.pauseItem();
};
}
public function get length():int{
return (__length);
}
public function addItem(item:MotionItem):void{
var mc:Object;
mc = item.mc;
if (__items[mc] == null){
__length++;
};
__items[mc] = item;
}
public function removeItem(mc):void{
var item:MotionItem;
item = __items[mc];
if (item != null){
delete __items[mc];
__length--;
};
}
public function get items():Dictionary{
return (__items);
}
public function pause(paused:Boolean):void{
var each:Object;
var item:MotionItem;
for (each in __items) {
item = __items[each];
if (paused){
item.resumeItem();
} else {
item.pauseItem();
};
};
}
}
}//package com.aga.api.tween
Section 43
//MotionManager (com.aga.api.tween.MotionManager)
package com.aga.api.tween {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import com.aga.api.tween.items.*;
public class MotionManager extends EventDispatcher {
private var __blurList:MotionList;
private var __paused:Boolean;
private var __timeDif:int;
private var __slideList:MotionList;
private var __rotationList:MotionList;
private var __sizeList:MotionList;
private var __scaleList:MotionList;
private var __volumeList:MotionList;
private var __alphaList:MotionList;
private var __colorList:MotionList;
private var __tweenList:MotionList;
private var __frameList:MotionList;
private var __bendList:MotionList;
private var __timeLast:int;
private static var allowInstantiation:Boolean;
private static var __instance:MotionManager;
public function MotionManager():void{
super();
if (!allowInstantiation){
throw (new Error("MotionManager.allowInstantiation == false"));
};
}
private function __color():void{
var items:Dictionary;
var mc:Object;
var item:ColorItem;
var completed:Boolean;
items = __colorList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__colorList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function __tween():void{
var items:Dictionary;
var mc:Object;
var item:TweenItem;
var completed:Boolean;
items = __tweenList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__tweenList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function slideTo(mc:MovieClip, x, y, duration:int, type=null, callback:Function=null, ... _args):void{
var item:SlideItem;
item = new SlideItem(mc, x, y, duration, type, callback, _args);
__slideList.addItem(item);
}
public function initialize():void{
__slideList = new MotionList();
__scaleList = new MotionList();
__alphaList = new MotionList();
__rotationList = new MotionList();
__sizeList = new MotionList();
__frameList = new MotionList();
__bendList = new MotionList();
__tweenList = new MotionList();
__volumeList = new MotionList();
__blurList = new MotionList();
__colorList = new MotionList();
MovieClip.prototype.slideTo = function (x, y, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.slideTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.blurTo = function (x, y, quality:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.blurTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.tweenTo = function (start:Array, end:Array, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.tweenTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.frameTo = function (frame, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.frameTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.scaleTo = function (x, y, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.scaleTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.sizeTo = function (w, h, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.sizeTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.alphaTo = function (alpha:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.alphaTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.rotateTo = function (rotation:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.rotateTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.bendTo = function (cx, cy, ax, ay, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.bendTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.colorTo = function (destColor, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.colorTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.volumeTo = function (volume:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.bendTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.cancelTween = function (type:String="all"):void{
arguments.unshift(this);
this.motionManager.cancelTween.apply(this.motionManager, arguments);
};
MovieClip.prototype.pauseTween = function (type:String="all"):void{
arguments.unshift(this);
this.motionManager.pauseTween.apply(this.motionManager, arguments);
};
TweenEnterFrame.addListener(onEnterFrame);
__timeLast = getTimer();
}
public function cancelTween(mc, type:String="all"):void{
switch (type){
case "frameTo":
__frameList.removeItem(mc);
break;
case "slideTo":
__slideList.removeItem(mc);
break;
case "scaleTo":
__scaleList.removeItem(mc);
break;
case "alphaTo":
__alphaList.removeItem(mc);
break;
case "sizeTo":
__sizeList.removeItem(mc);
break;
case "rotateTo":
__rotationList.removeItem(mc);
break;
case "bendTo":
__bendList.removeItem(mc);
break;
case "tweenTo":
__tweenList.removeItem(mc);
break;
case "volumeTo":
__volumeList.removeItem(mc);
break;
case "blurTo":
__blurList.removeItem(mc);
break;
case "colorTo":
__colorList.removeItem(mc);
break;
case "all":
__bendList.removeItem(mc);
__tweenList.removeItem(mc);
__frameList.removeItem(mc);
__slideList.removeItem(mc);
__scaleList.removeItem(mc);
__alphaList.removeItem(mc);
__sizeList.removeItem(mc);
__rotationList.removeItem(mc);
__volumeList.removeItem(mc);
__blurList.removeItem(mc);
__colorList.removeItem(mc);
break;
};
}
public function pauseTween(mc, type:String="all"):void{
switch (type){
case "frameTo":
__frameList.pauseItem(mc);
break;
case "slideTo":
__slideList.pauseItem(mc);
break;
case "scaleTo":
__scaleList.pauseItem(mc);
break;
case "alphaTo":
__alphaList.pauseItem(mc);
break;
case "sizeTo":
__sizeList.pauseItem(mc);
break;
case "rotateTo":
__rotationList.pauseItem(mc);
break;
case "bendTo":
__bendList.pauseItem(mc);
break;
case "tweenTo":
__tweenList.pauseItem(mc);
break;
case "volumeTo":
__volumeList.pauseItem(mc);
break;
case "blurTo":
__blurList.pauseItem(mc);
break;
case "colorTo":
__colorList.pauseItem(mc);
break;
case "all":
__tweenList.pauseItem(mc);
__bendList.pauseItem(mc);
__frameList.pauseItem(mc);
__slideList.pauseItem(mc);
__scaleList.pauseItem(mc);
__alphaList.pauseItem(mc);
__sizeList.pauseItem(mc);
__rotationList.pauseItem(mc);
__volumeList.pauseItem(mc);
__blurList.pauseItem(mc);
__colorList.pauseItem(mc);
__tweenList.pauseItem(mc);
break;
};
}
private function __bend():void{
var items:Dictionary;
var mc:Object;
var item:BendItem;
var completed:Boolean;
items = __bendList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__bendList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function bendTo(mc:MovieClip, cx, cy, ax, ay, duration:int, type=null, callback:Function=null, ... _args):void{
var item:BendItem;
item = new BendItem(mc, cx, cy, ax, ay, duration, type, callback, _args);
__bendList.addItem(item);
}
private function __frame():void{
var items:Dictionary;
var mc:Object;
var item:FrameItem;
var completed:Boolean;
items = __frameList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__frameList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function onEnterFrame(eventObj:Event):void{
var currTime:int;
currTime = getTimer();
__timeDif = (currTime - __timeLast);
if (__slideList.length > 0){
__slide();
};
if (__scaleList.length > 0){
__scale();
};
if (__alphaList.length > 0){
__alpha();
};
if (__rotationList.length > 0){
__rotate();
};
if (__sizeList.length > 0){
__size();
};
if (__frameList.length > 0){
__frame();
};
if (__bendList.length > 0){
__bend();
};
if (__tweenList.length > 0){
__tween();
};
if (__volumeList.length > 0){
__volume();
};
if (__blurList.length > 0){
__blur();
};
if (__colorList.length > 0){
__color();
};
__timeLast = currTime;
}
public function volumeTo(mc, vol:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:VolumeItem;
item = new VolumeItem(mc, vol, duration, type, callback, _args);
__volumeList.addItem(item);
}
public function rotateTo(mc:MovieClip, rotation:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:RotationItem;
item = new RotationItem(mc, rotation, duration, type, callback, _args);
__rotationList.addItem(item);
}
private function __rotate():void{
var items:Dictionary;
var mc:Object;
var item:RotationItem;
var completed:Boolean;
items = __rotationList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__rotationList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function colorTo(mc:MovieClip, color, duration:int, type=null, callback:Function=null, ... _args):void{
var item:ColorItem;
item = new ColorItem(mc, color, duration, type, callback, _args);
__colorList.addItem(item);
}
public function blurTo(mc:MovieClip, x, y, quality:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:BlurItem;
item = new BlurItem(mc, x, y, quality, duration, type, callback, _args);
__blurList.addItem(item);
}
private function __pause():void{
__tweenList.pause(__paused);
__bendList.pause(__paused);
__frameList.pause(__paused);
__slideList.pause(__paused);
__scaleList.pause(__paused);
__alphaList.pause(__paused);
__sizeList.pause(__paused);
__rotationList.pause(__paused);
__volumeList.pause(__paused);
__colorList.pause(__paused);
__blurList.pause(__paused);
__paused = !(__paused);
}
public function tweenTo(mc, start:Array, end:Array, duration:int, type=null, callback:Function=null, ... _args):void{
var item:TweenItem;
item = new TweenItem(mc, start, end, duration, type, callback, _args);
__tweenList.addItem(item);
}
public function frameTo(mc:MovieClip, frame, duration:int, type=null, callback:Function=null, ... _args):void{
var item:FrameItem;
item = new FrameItem(mc, frame, duration, type, callback, _args);
__frameList.addItem(item);
}
private function __blur():void{
var items:Dictionary;
var mc:Object;
var item:BlurItem;
var completed:Boolean;
items = __blurList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__blurList.removeItem(mc);
item.executeCallback();
};
};
}
public function resumeTween(mc, type:String="all"):void{
switch (type){
case "frameTo":
__frameList.resumeItem(mc);
break;
case "slideTo":
__slideList.resumeItem(mc);
break;
case "scaleTo":
__scaleList.resumeItem(mc);
break;
case "alphaTo":
__alphaList.resumeItem(mc);
break;
case "sizeTo":
__sizeList.resumeItem(mc);
break;
case "rotateTo":
__rotationList.resumeItem(mc);
break;
case "bendTo":
__bendList.resumeItem(mc);
break;
case "tweenTo":
__tweenList.resumeItem(mc);
break;
case "volumeTo":
__volumeList.resumeItem(mc);
break;
case "blurTo":
__blurList.resumeItem(mc);
break;
case "colorTo":
__colorList.resumeItem(mc);
break;
case "all":
__tweenList.resumeItem(mc);
__bendList.resumeItem(mc);
__frameList.resumeItem(mc);
__slideList.resumeItem(mc);
__scaleList.resumeItem(mc);
__alphaList.resumeItem(mc);
__sizeList.resumeItem(mc);
__rotationList.resumeItem(mc);
__volumeList.resumeItem(mc);
__blurList.resumeItem(mc);
__tweenList.resumeItem(mc);
__colorList.resumeItem(mc);
break;
};
}
private function __slide():void{
var items:Dictionary;
var mc:Object;
var item:SlideItem;
var completed:Boolean;
items = __slideList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__slideList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function sizeTo(mc:MovieClip, w, h, duration:int, type=null, callback:Function=null, ... _args):void{
var item:SizeItem;
item = new SizeItem(mc, w, h, duration, type, callback, _args);
__sizeList.addItem(item);
}
private function __size():void{
var items:Dictionary;
var mc:Object;
var item:SizeItem;
var completed:Boolean;
items = __sizeList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__sizeList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function scaleTo(mc:MovieClip, x, y, duration:int, type=null, callback:Function=null, ... _args):void{
var item:ScaleItem;
item = new ScaleItem(mc, x, y, duration, type, callback, _args);
__scaleList.addItem(item);
}
private function __scale():void{
var items:Dictionary;
var mc:Object;
var item:ScaleItem;
var completed:Boolean;
items = __scaleList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__scaleList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function alphaTo(mc:MovieClip, alpha:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:AlphaItem;
item = new AlphaItem(mc, alpha, duration, type, callback, _args);
__alphaList.addItem(item);
}
private function __volume():void{
var items:Dictionary;
var mc:Object;
var item:VolumeItem;
var completed:Boolean;
items = __volumeList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__volumeList.removeItem(mc);
item.executeCallback();
};
};
}
private function __alpha():void{
var items:Dictionary;
var mc:Object;
var item:AlphaItem;
var completed:Boolean;
items = __alphaList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__alphaList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public static function pause():void{
__instance.__pause();
}
public static function getInstance():MotionManager{
if (__instance == null){
allowInstantiation = true;
__instance = new (MotionManager);
MovieClip.prototype.motionManager = __instance;
__instance.initialize();
allowInstantiation = false;
};
return (__instance);
}
}
}//package com.aga.api.tween
Section 44
//TweenEnterFrame (com.aga.api.tween.TweenEnterFrame)
package com.aga.api.tween {
import flash.display.*;
import flash.events.*;
public class TweenEnterFrame {
public static var mc:MovieClip;
public function TweenEnterFrame(){
super();
}
private static function init():void{
if (!exists()){
mc = new MovieClip();
};
}
public static function addListener(func:Function, weakReference:Boolean=true):void{
if (!exists()){
init();
};
mc.addEventListener(Event.ENTER_FRAME, func, false, 0, weakReference);
}
public static function removeListener(func:Function):void{
if (!exists()){
init();
};
mc.removeEventListener(Event.ENTER_FRAME, func);
}
private static function exists():Boolean{
var val:Boolean;
val = ((mc)==null) ? false : true;
return (val);
}
}
}//package com.aga.api.tween
Section 45
//FPS (com.aga.api.utils.FPS)
package com.aga.api.utils {
import flash.utils.*;
import flash.events.*;
import flash.text.*;
import com.aga.api.core.*;
import flash.ui.*;
public class FPS extends ApiUI {
private var min_txt:TextField;
private var fps_txt:TextField;
private var __minFrame:Number;
private var max_txt:TextField;
private var __maxFrame:Number;
private var __lastTime:Number;
private var __lastFrame:Number;
private var __frameCount:Number;
public function FPS(){
super();
fps_txt = createTextField(5, 5, 35, 20);
min_txt = createTextField(45, 5, 35, 20);
max_txt = createTextField(85, 5, 35, 20);
__lastTime = getTimer();
__frameCount = 0;
__lastFrame = __lastTime;
__minFrame = (__maxFrame = -1);
addEventListener(Event.ENTER_FRAME, oef);
doLater(addKeyEvent);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number, border:Boolean=true, background:Boolean=true):TextField{
var result:TextField;
result = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.border = border;
result.background = background;
addChild(result);
return (result);
}
private function addKeyEvent():void{
if (stage != null){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
};
}
private function oef(e:Event):void{
var thisFrame:Number;
var frameTime:Number;
var rate:Number;
var now:Number;
var fps:Number;
thisFrame = getTimer();
frameTime = (thisFrame - __lastFrame);
rate = ((10000 / frameTime) / 10);
__minFrame = ((__minFrame < 0)) ? rate : Math.min(__minFrame, rate);
__maxFrame = ((((__maxFrame < 0)) || ((__maxFrame == Infinity)))) ? rate : Math.max(__maxFrame, rate);
min_txt.text = String(__minFrame);
max_txt.text = String(__maxFrame);
__frameCount++;
if (__frameCount >= 15){
now = getTimer();
fps = (Math.round((10000 / ((now - __lastTime) / __frameCount))) / 10);
fps_txt.text = String(fps);
__lastTime = now;
__frameCount = 0;
};
__lastFrame = thisFrame;
}
private function keyPressed(ke:KeyboardEvent):void{
if (((ke.shiftKey) && ((ke.charCode == Keyboard.ESCAPE)))){
__minFrame = (__maxFrame = -1);
};
}
}
}//package com.aga.api.utils
Section 46
//FrameCall (com.aga.api.utils.FrameCall)
package com.aga.api.utils {
import flash.events.*;
import com.aga.api.tween.*;
public class FrameCall extends EventDispatcher {
private var __callbackArgs:Array;
private var __currentframe:int;
private var __frames:int;
private var __callback:Function;
public function FrameCall(func:Function, frames:int, callbackArgs:Array){
super();
__callback = func;
__frames = frames;
__callbackArgs = callbackArgs;
__currentframe = 0;
TweenEnterFrame.addListener(onEnterFrame, false);
}
public function cancel():void{
TweenEnterFrame.removeListener(onEnterFrame);
delete ??getglobalscope
[this];
}
private function onEnterFrame(event:Event):void{
__currentframe++;
if (__currentframe == __frames){
__callback.apply(null, __callbackArgs);
cancel();
};
}
}
}//package com.aga.api.utils
Section 47
//IntervalCall (com.aga.api.utils.IntervalCall)
package com.aga.api.utils {
import flash.utils.*;
import flash.events.*;
import com.aga.api.tween.*;
public class IntervalCall extends EventDispatcher {
private var __timesExecuted:int;
private var __callback:Function;
private var __callbackArgs:Array;
private var __startTime:int;
private var __timediff:int;
var __id:int;
private var __interval:int;
public function IntervalCall(id:int, func:Function, interval:int, callbackArgs:Array){
super();
__callback = func;
__interval = interval;
__id = id;
__callbackArgs = callbackArgs;
__callbackArgs.push(this);
__timesExecuted = 0;
TweenEnterFrame.addListener(onEnterFrame);
}
private function onEnterFrame(event:Event):void{
var currenttime:int;
if (__startTime == 0){
__startTime = getTimer();
return;
};
currenttime = (getTimer() - __startTime);
if (currenttime >= __interval){
__startTime = getTimer();
__timediff = (currenttime - __interval);
execute();
};
}
public function get id():int{
return (__id);
}
public function get timesExecuted():int{
return (__timesExecuted);
}
public function get timeDiff():int{
return (__timediff);
}
public function cancel(fromManager:Boolean=false):void{
if (!fromManager){
IntervalManager.clearInterval(__id);
} else {
TweenEnterFrame.removeListener(onEnterFrame);
};
}
function execute():void{
__timesExecuted++;
__callback.apply(null, __callbackArgs);
}
}
}//package com.aga.api.utils
Section 48
//IntervalManager (com.aga.api.utils.IntervalManager)
package com.aga.api.utils {
import flash.utils.*;
import flash.events.*;
public class IntervalManager extends EventDispatcher {
private static var __intervalId:int = 0;
private static var __timeoutId:int = 0;
private static var __intervals:Dictionary = new Dictionary(true);
private static var __timeouts:Dictionary = new Dictionary(true);
public function IntervalManager(){
super();
}
public static function skipFrames(func:Function, frames:int=1, ... _args):FrameCall{
var sf:FrameCall;
sf = new FrameCall(func, frames, _args);
return (sf);
}
public static function setInterval(func:Function, interval:int, ... _args):int{
var intcall:IntervalCall;
__intervalId++;
intcall = new IntervalCall(__intervalId, func, interval, _args);
__intervals[__intervalId] = intcall;
return (__intervalId);
}
public static function clearInterval(id:int):void{
var intcall:IntervalCall;
if (id != 0){
intcall = __intervals[id];
if (intcall != null){
intcall.cancel(true);
delete __intervals[id];
};
};
}
public static function clearTimeout(id:int):void{
var timeCall:TimeoutCall;
if (id != 0){
timeCall = __timeouts[id];
if (timeCall != null){
timeCall.cancel(true);
delete __timeouts[id];
};
};
}
public static function setTimeout(func:Function, interval:int, ... _args):int{
var timeCall:TimeoutCall;
__timeoutId++;
timeCall = new TimeoutCall(__timeoutId, func, interval, _args);
__timeouts[__timeoutId] = timeCall;
return (__timeoutId);
}
}
}//package com.aga.api.utils
Section 49
//TimeoutCall (com.aga.api.utils.TimeoutCall)
package com.aga.api.utils {
public class TimeoutCall extends IntervalCall {
public function TimeoutCall(id:int, func:Function, interval:int, callbackArgs:Array){
super(id, func, interval, callbackArgs);
}
override function execute():void{
super.execute();
IntervalManager.clearTimeout(__id);
}
}
}//package com.aga.api.utils
Section 50
//AbstractView (com.aga.api.views.AbstractView)
package com.aga.api.views {
import com.aga.api.events.*;
import com.aga.api.core.*;
public class AbstractView extends ApiUI {
public function AbstractView(){
super();
}
public function changeSection(section:String):void{
var event:ViewEvent;
event = new ViewEvent(ViewEvent.CHANGE, section);
dispatchEvent(event);
}
public function playOut():void{
this.gotoAndPlay("out");
}
public function outComplete():void{
var event:ViewEvent;
event = new ViewEvent(ViewEvent.OUT_COMPLETE);
dispatchEvent(event);
}
}
}//package com.aga.api.views
Section 51
//AbstractViewManager (com.aga.api.views.AbstractViewManager)
package com.aga.api.views {
import flash.utils.*;
import com.aga.api.events.*;
import com.aga.api.core.*;
public class AbstractViewManager extends ApiUI {
private var __currentSection:String;
public var currentView:AbstractView;
public function AbstractViewManager(){
super();
}
public function changeSection(section:String):void{
if (section != null){
if (currentView == null){
doLater(attachSection, section);
} else {
currentView.playOut();
};
};
currentSection = section;
}
public function get currentSection():String{
return (__currentSection);
}
protected function onOutComplete(event:ViewEvent):void{
currentView.removeEventListener(ViewEvent.OUT_COMPLETE, onOutComplete);
currentView.removeEventListener(ViewEvent.CHANGE, onSectionChange);
removeChild(currentView);
doLater(attachSection, __currentSection);
}
protected function onSectionChange(event:ViewEvent):void{
var section:String;
section = event.section;
if (section != __currentSection){
changeSection(section);
};
}
public function set currentSection(section:String):void{
__currentSection = section;
}
protected function attachSection(p_section:String):void{
var classRef:Class;
var instance:AbstractView;
classRef = (getDefinitionByName(__currentSection) as Class);
instance = new (classRef);
currentView = (instance as AbstractView);
currentView.addEventListener(ViewEvent.OUT_COMPLETE, onOutComplete);
currentView.addEventListener(ViewEvent.CHANGE, onSectionChange);
addChild(currentView);
}
}
}//package com.aga.api.views
Section 52
//BaseView (com.aga.api.views.BaseView)
package com.aga.api.views {
import flash.display.*;
import flash.geom.*;
import com.aga.api.*;
public class BaseView extends AbstractView {
public var modal_mc:MovieClip;
protected var __w:Number;// = 0
protected var __h:Number;// = 0
public function BaseView(){
__w = 0;
__h = 0;
super();
playIn();
doLater(resize);
}
protected function leftAlign(mc:MovieClip):void{
mc.x = 0;
}
protected function rightAlign(mc:MovieClip):void{
mc.x = Math.round((__w - mc.width));
}
private function drawRect(gr:Graphics, x:Number, y:Number, w:Number, h:Number, col:Number):void{
gr.beginFill(col);
gr.drawRect(x, y, w, h);
gr.endFill();
}
public function resizeMc(mc:MovieClip, vertically:Boolean=true, horizontally:Boolean=true):void{
if (horizontally){
mc.scaleX = (mc.scaleX * (__w / mc.width));
};
if (vertically){
mc.scaleY = (mc.scaleY * (__h / mc.height));
};
}
public function get viewManager():ViewManager{
return ((parent as ViewManager));
}
protected function playIn():void{
this.play();
}
override public function playOut():void{
var time:Number;
time = (totalFrames * 33);
frameTo(0, time, "none", tellOut);
}
public function resize():void{
__w = Parser.gameWidth;
__h = Parser.gameHeight;
if (modal_mc){
resizeMc(modal_mc);
};
}
protected function getPixelColour(mc:MovieClip, left:Boolean=true, top:Boolean=true):Number{
var w:Number;
var h:Number;
var x:Number;
var y:Number;
var col:Number;
var bmpData:BitmapData;
w = (left) ? 2 : mc.width;
h = (top) ? 2 : mc.height;
x = (left) ? 1 : (mc.width - 1);
y = (top) ? 1 : (mc.height - 1);
bmpData = new BitmapData(w, h);
bmpData.draw(mc);
col = bmpData.getPixel(x, y);
bmpData.dispose();
return (col);
}
protected function centre(mc:MovieClip, vertically:Boolean=true, horizontally:Boolean=true):void{
if (horizontally){
mc.x = Math.round(((__w - mc.width) * 0.5));
};
if (vertically){
mc.y = Math.round(((__h - mc.height) * 0.5));
};
}
public function tellOut(... _args):void{
super.outComplete();
}
protected function getFrameNumber(strLabel:String, mc:MovieClip=null):Number{
var frame:Number;
var labels:Array;
var i:int;
var label:FrameLabel;
mc = ((mc == null)) ? this : mc;
frame = 0;
labels = mc.currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
public function fillAroundMc(target:MovieClip, mc:MovieClip, col:Number=0xFF0000):void{
var pt:Point;
var gr:Graphics;
pt = target.globalToLocal(mc.localToGlobal(new Point()));
gr = target.graphics;
gr.clear();
if (pt.x > 0){
drawRect(gr, 0, 0, pt.x, __h, col);
};
if (mc.width < __w){
drawRect(gr, (pt.x + mc.width), 0, ((__w - mc.width) - pt.x), __h, col);
};
if (pt.y > 0){
drawRect(gr, pt.x, 0, mc.width, pt.y, col);
};
if (mc.height < __h){
drawRect(gr, pt.x, (pt.y + mc.height), mc.width, ((__h - mc.height) - pt.y), col);
};
}
}
}//package com.aga.api.views
Section 53
//ViewManager (com.aga.api.views.ViewManager)
package com.aga.api.views {
import flash.display.*;
import com.aga.api.utils.*;
import flash.geom.*;
import com.aga.api.events.*;
import com.aga.api.*;
public class ViewManager extends AbstractViewManager {
private var __drawOL:MovieClip;
private var __viewHeight:Number;
private var __draw:MovieClip;
private var __viewWidth:Number;
private var __timeoutID:Number;
public var bg_mc:MovieClip;
private var __initObj:Object;
public function ViewManager(){
__initObj = new Object();
__viewWidth = 600;
__viewHeight = 400;
__draw = new MovieClip();
addChild(__draw);
__drawOL = new MovieClip();
addChild(__drawOL);
super();
bg_mc.visible = false;
centre(bg_mc.bg_mc);
resize(Parser.gameWidth, Parser.gameHeight);
}
public function hideBG():void{
bg_mc.visible = false;
}
override public function changeSection(section:String):void{
currentSection = section;
if (!section.length){
hideBG();
};
if (section != null){
if (currentView == null){
IntervalManager.clearTimeout(__timeoutID);
__timeoutID = IntervalManager.setTimeout(timeoutHandler, 50, section);
} else {
currentView.playOut();
};
};
}
public function drawBox():void{
}
public function showBG():void{
bg_mc.visible = true;
}
public function get viewWidth():Number{
return (__viewWidth);
}
public function get viewHeight():Number{
return (__viewHeight);
}
override protected function onOutComplete(event:ViewEvent):void{
super.onOutComplete(event);
}
public function changeView(newView:String, initObj:Object=null):void{
__initObj = ((initObj == null)) ? new Object() : initObj;
changeSection(newView);
}
private function timeoutHandler(section:String, ... _args):void{
attachSection(section);
}
override public function onTweenUpdate(... _args):void{
var col:Number;
__viewWidth = _args[0];
__viewHeight = _args[1];
drawBox();
centre(bg_mc.bg_mc);
col = getPixelColour(bg_mc.bg_mc);
fillAroundMc(bg_mc, bg_mc.bg_mc, col);
if (currentView != null){
(currentView as BaseView).resize();
};
}
public function resize(w:Number, h:Number):void{
var time:Number;
if (((!((__viewWidth == w))) || (!((__viewHeight == h))))){
time = (0.85 * Math.max(Math.abs((__viewWidth - w)), Math.abs((__viewHeight - h))));
tweenTo([__viewWidth, __viewHeight], [w, h], time, "Regular.easeOut");
} else {
drawBox();
};
}
protected function getPixelColour(mc:MovieClip, left:Boolean=true, top:Boolean=true):Number{
var w:Number;
var h:Number;
var x:Number;
var y:Number;
var col:Number;
var bmpData:BitmapData;
w = (left) ? 2 : mc.width;
h = (top) ? 2 : mc.height;
x = (left) ? 1 : (mc.width - 1);
y = (top) ? 1 : (mc.height - 1);
bmpData = new BitmapData(w, h);
bmpData.draw(mc);
col = bmpData.getPixel(x, y);
bmpData.dispose();
return (col);
}
private function drawRect(gr:Graphics, x:Number, y:Number, w:Number, h:Number, col:Number):void{
gr.beginFill(col);
gr.drawRect(x, y, w, h);
gr.endFill();
}
public function fillBgFromMc(mc:MovieClip, target:MovieClip=null):void{
var col:Number;
var bmpData:BitmapData;
bmpData = new BitmapData(2, 2);
bmpData.draw(mc);
col = bmpData.getPixel(1, 1);
fillBg(col, target);
}
protected function centre(mc:MovieClip, vertically:Boolean=true, horizontally:Boolean=true):void{
if (horizontally){
mc.x = Math.round(((__viewWidth - mc.width) * 0.5));
};
if (vertically){
mc.y = Math.round(((__viewHeight - mc.height) * 0.5));
};
}
override protected function attachSection(section:String):void{
var each:String;
if (!section.length){
hideBG();
currentView = null;
} else {
super.attachSection(section);
for (each in __initObj) {
currentView[each] = __initObj[each];
};
};
}
public function fillBg(col:Number, target:MovieClip=null):void{
var gr:Graphics;
target = ((target == null)) ? __draw : target;
gr = target.graphics;
gr.clear();
gr.beginFill(col);
gr.moveTo(0, 0);
gr.lineTo(0, __viewHeight);
gr.lineTo(__viewWidth, __viewHeight);
gr.lineTo(__viewWidth, 0);
gr.lineTo(0, 0);
gr.endFill();
}
public function fillAroundMc(target:MovieClip, mc:MovieClip, col:Number=0xFF0000):void{
var pt:Point;
var gr:Graphics;
pt = target.globalToLocal(mc.localToGlobal(new Point()));
gr = target.graphics;
gr.clear();
if (pt.x > 0){
drawRect(gr, 0, 0, pt.x, __viewHeight, col);
};
if (mc.width < __viewWidth){
drawRect(gr, (pt.x + mc.width), 0, ((__viewWidth - mc.width) - pt.x), __viewHeight, col);
};
if (pt.y > 0){
drawRect(gr, pt.x, 0, mc.width, pt.y, col);
};
if (mc.height < __viewHeight){
drawRect(gr, pt.x, (pt.y + mc.height), mc.width, ((__viewHeight - mc.height) - pt.y), col);
};
}
public function removeCurrentSection():void{
changeView("");
}
}
}//package com.aga.api.views
Section 54
//API (com.aga.api.API)
package com.aga.api {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.aga.api.data.*;
import com.aga.api.utils.*;
import com.aga.api.events.*;
import com.aga.api.media.sound.*;
import com.aga.framework.events.*;
import com.aga.api.views.*;
import com.aga.framework.interfaces.*;
import com.aga.api.net.*;
import com.aga.api.core.*;
import com.aga.api.test.*;
import com.aga.api.controls.buttons.*;
import flash.profiler.*;
public class API extends APILoader {
public var error_mc:MovieClip;
public var settings_mc:TestSettings;
private var __redrawCount:int;
private var __outgoing_lc:LocalConnection;
private var __reply_lc:LocalConnection;
public var noticeViewManager_mc:ViewManager;
public var galleryViewManager_mc:ViewManager;
public var viewManager_mc:ViewManager;
public static const RESUME:String = "resume";
public static const STATUS_PLAYING:String = "1";
public static const QUIT:String = "quit";
public static const LEVEL_END:Number = 5;
public static const GAME_PLAY:Number = 4;
public static const STATUS_NOTPLAYING:String = "0";
public static const GAME_END:Number = 6;
private static const __DEFAULT_PAUSE_KEY_CODE:Number = 112;
public static const RESTART:String = "restart";
private static var __gvm:ViewManager;
private static var __dispatcher:ApiUI;
private static var __fps:FPS;
private static var __am:AudioManager;
private static var __mainInitialize:Function;
private static var __PAUSE_KEY_CODE:Number = 112;
private static var __vm:ViewManager;
private static var __localTest:Boolean = false;
private static var __nvm:ViewManager;
private static var __showViewAwardsButton:Boolean = true;
public function API(){
var url:String;
super();
error_mc.visible = false;
url = LoaderInfo(this.root.loaderInfo).url;
__localTest = checkLocal(url);
__redrawCount = 0;
__am = new AudioManager();
SoundToggleButton.addToList(__am);
__dispatcher = new ApiUI();
__vm = viewManager_mc;
__gvm = galleryViewManager_mc;
__nvm = noticeViewManager_mc;
doLater(startParse);
}
override protected function mainComplete():void{
super.mainComplete();
if (__mainInitialize != null){
__mainInitialize();
__mainInitialize = null;
};
if ((__main is AGADocument)){
(__main as AGADocument).version = String(API.v);
(__main as AGADocument).swfURL = API.swfURL;
(__main as AGADocument).fromMmo = API.mmo;
(__main as AGADocument).loggedIn = API.loggedIn;
(__main as AGADocument).servicesURL = Parser.servicesURL;
};
__main.addEventListener(AGAGameEvent.EVENT, onAGAGameEvent, false, 0, true);
__main.addEventListener(AGASubmitFinalScoreEvent.EVENT, onAGASubmitFinalScore, false, 0, true);
__main.addEventListener(AGAAwardEvent.EVENT, onAGAAwardEvent, false, 0, true);
__main.addEventListener(AGAGamePlayEvent.EVENT, onAGAGamePlayEvent, false, 0, true);
}
private function startParse():void{
var paramObj:Object;
var query:String;
paramObj = LoaderInfo(this.root.loaderInfo).parameters;
if (__localTest){
if (settings_mc != null){
query = (((((((((((((((((((((((((((((((((((((((((((((((((((((("a=" + "&") + "b=") + settings_mc.localURL) + "&") + "e=") + (settings_mc.loggedIn) ? 1 : 0) + "&") + "lo=") + "&") + "re=") + "&") + "w=") + 600) + "&") + "h=") + 400) + "&") + "xmlurl=") + settings_mc.localURL) + "awards.xml") + "&") + "preurl=") + settings_mc.prestitialURL) + "&") + "stingurl=") + settings_mc.stingerURL) + "&") + "allgamesurl=") + "&") + "assetsurl=") + "&") + "noend=") + (settings_mc.noEnd) ? 1 : 0) + "&") + "pause=") + 1) + "&") + "debug=") + 1) + "&") + "forgeturl=") + "&") + "avatar=") + "&") + "username=ClumsyCricket978") + "&") + "customloader=") + (settings_mc.customloader) ? 1 : 0) + "&") + "gameid=1") + "&") + "v=0") + " &") + "wontoday=0");
} else {
query = "a=http%3A%2F%2Faga-dev.fuelindustries.com%2Fservices%2F&b=http%3A%2F%2Faga-dev.fuelindustries.com%2Fgames%2Fgalaxyslider%2F&e=1&lo=http%3A%2F%2Faga-dev.fuelindustries.com%2Flogin&re=http%3A%2F%2Faga-dev.fuelindustries.com%2Fregister&w=600&h=400&xmlurl=http%3A%2F%2Faga-dev.fuelindustries.com%2Fassets%2Fswf%2Fapi%2Fawards.php%3Fmapping%3Dgalaxyslider&preurl=&stingurl=http%3A%2F%2Faga-dev.fuelindustries.com%2Fassets%2Fswf%2Fstinger.swf&allgamesurl=http%3A%2F%2Faga-dev.fuelindustries.com%2Fgames&assetsurl=http%3A%2F%2Faga-dev.fuelindustries.com%2Fassets%2Fswf%2Fapi%2F&noend=0&forgeturl=http%3A%2F%2Faga-dev.fuelindustries.com%2Fforgot&avatar=http%3A%2F%2Faga-dev.fuelindustries.com%2Fassets%2Fimages%2Favatars%2Flarge%2F38.jpg&username=ClumsyCricket978&v=0&wontoday=0&customloader=0";
};
paramObj = Parser.parseQuery(query, true);
};
Parser.parseParams(paramObj);
parseComplete();
}
override protected function audioLoaded(e:Event):void{
}
private function enableDebug():void{
Parser.debugMode = true;
if (__fps == null){
__fps = new FPS();
addChild(__fps);
this.addEventListener(Event.ENTER_FRAME, redrawEnterFrame);
};
}
override protected function securityCheck():Boolean{
var url:String;
var paramObj:Object;
var successFlag:Boolean;
url = LoaderInfo(this.root.loaderInfo).url;
paramObj = LoaderInfo(this.root.loaderInfo).parameters;
successFlag = API.verifyLocation(url, paramObj);
return (successFlag);
}
private function onAGASubmitFinalScore(evt:AGASubmitFinalScoreEvent):void{
__showViewAwardsButton = evt.showViewAwardsButton;
submitScore(evt.score, evt.gameTime);
}
private function onAGAGameEvent(evt:AGAGameEvent):void{
switch (evt.eventType){
case AGAGameEvent.TYPE_GAMEREADYTOSTART:
mainReady(null);
if ((__main is AGADocument)){
__main.startGame();
};
break;
case AGAGameEvent.TYPE_SHOWPAUSE:
showPause();
break;
case AGAGameEvent.TYPE_GOTOALLGAMES:
gotoAllGames();
break;
case AGAGameEvent.TYPE_GOTOMMO:
gotoMMO();
break;
case AGAGameEvent.TYPE_SHOW_SIGN_IN:
showSignIn();
break;
};
}
private function parseComplete():void{
viewManager_mc.resize(Parser.gameWidth, Parser.gameHeight);
galleryViewManager_mc.resize(Parser.gameWidth, Parser.gameHeight);
noticeViewManager_mc.resize(Parser.gameWidth, Parser.gameHeight);
if (API.loggedIn){
Awards.loadAwards();
};
__skipPrestitial = !(Boolean(Parser.prestitialURL.length));
__skipStinger = !(Boolean(Parser.stingerURL.length));
if (!__localTest){
};
if (Parser.debugMode){
enableDebug();
};
loadStinger();
}
private function onAGAGamePlayEvent(evt:AGAGamePlayEvent):void{
API.sendEvent(API.GAME_PLAY);
}
private function redrawEnterFrame(evt:Event):void{
if (__redrawCount++ > 5){
__redrawCount = 0;
};
showRedrawRegions(Boolean(__redrawCount));
}
private function onAGAAwardEvent(evt:AGAAwardEvent):void{
if (Parser.loggedIn){
Awards.checkAwardById(evt.id);
};
}
public static function showNewAwards(finishWithModal:Boolean=true):void{
if (Awards.hasNewAwards()){
__vm.changeView("AwardView", {finishWithModal:finishWithModal});
} else {
API.dispatchEvent(new APIAwardsEvent(APIAwardsEvent.AWARDS_COMPLETE));
};
}
public static function hideJewels():void{
if (((!((__vm == null))) && ((__vm.currentSection == "ResultsView")))){
__vm.removeCurrentSection();
};
}
public static function checkMultiplierAwards(count:Number):void{
if (Parser.loggedIn){
Awards.checkMultiplierAwards(count);
};
}
public static function showPause():void{
if (((!((__vm == null))) && (!((__vm.currentSection == "PauseView"))))){
disallowPause();
__vm.changeView("PauseView");
};
}
public static function get swfURL():String{
return (((Parser.swfURL)!=null) ? Parser.swfURL : "");
}
public static function disallowPause():void{
__PAUSE_KEY_CODE = -1;
}
public static function moveDebug(x:int, y:int):void{
if (__fps == null){
__fps.x = x;
__fps.y = y;
};
}
public static function submitScore(score:Number, time:Number=-1):void{
if (Parser.loggedIn){
if (__vm != null){
if (Awards.hasNewAwards()){
__vm.changeView("AwardView");
} else {
__vm.changeView("ModalView");
};
};
if (scriptsEnabled){
Messenger.submitScore(score, time, scoreSubmitComplete);
} else {
IntervalManager.skipFrames(scoreSubmitComplete, 5, {cr:234});
};
} else {
if (__vm != null){
__vm.changeView("SignInView", {score:score});
};
};
}
public static function get gameID():Number{
return (Parser.gameID);
}
public static function specificChance(gemid:String):void{
var cr:Number;
if (scriptsEnabled){
disallowPause();
if (wontoday){
chanceComplete({credits:0});
} else {
if (!loggedIn){
chanceComplete({credits:-1});
} else {
Messenger.sendSafeMessage("set_chance.php", {gameid:Parser.gameID, gemid:gemid}, chanceComplete);
};
};
} else {
cr = 0;
chanceComplete({credits:cr});
};
}
public static function restartPressed():void{
if ((__main is AGADocument)){
(__main as AGADocument).startGame();
};
}
private static function chanceComplete(obj:Object):void{
var credits:Number;
credits = obj.credits;
if (credits > 0){
Parser.wontoday = true;
};
allowPause();
dispatchEvent(new APIChanceEvent(APIChanceEvent.CHANCE_COMPLETE, credits));
}
public static function showSignIn():void{
if (__vm != null){
__vm.changeView("SignInView", {doSubmit:false});
};
}
public static function get scriptsEnabled():Boolean{
return (!(__localTest));
}
public static function checkPointsAwards(points:Number):void{
if (Parser.loggedIn){
Awards.checkPointsAwards(points);
};
}
public static function gotoAllGames():void{
var req:URLRequest;
req = new URLRequest(allGamesURL);
navigateToURL(req, "_self");
}
public static function showGallery():void{
var buff:Number;
buff = (((!((__vm == null))) && ((__vm.currentSection == "PauseView")))) ? 51 : 0;
__gvm.changeView("GalleryView", {bufferY:buff});
}
public static function gotoRegister():void{
var req:URLRequest;
req = new URLRequest(Parser.registerURL);
navigateToURL(req, "_self");
}
public static function checkGameCompleteAward():void{
if (Parser.loggedIn){
Awards.checkGameCompleteAward();
};
}
public static function logIn():void{
Parser.logIn();
if (__localTest){
Messenger.refreshHTML();
} else {
Awards.loadAwards();
Messenger.refreshAll();
};
}
public static function get allGamesURL():String{
return (Parser.allGamesURL);
}
public static function updateMultiplayerStatus(status:String):void{
var mc:*;
if (__ldrMultiplayer != null){
mc = __ldrMultiplayer.content;
mc.updateMultiplayerStatus(status);
};
}
public static function checkLevelReachedAwards(count:Number):void{
if (Parser.loggedIn){
Awards.checkLevelReachedAwards(count);
};
}
public static function sendSafeMessage(scriptName:String, args:Object=null, func:Function=null):void{
if (scriptsEnabled){
Messenger.sendSafeMessage(scriptName, args, func);
};
}
public static function showNotice(title:String, descr:String, pos:Number):void{
__nvm.changeView("NoticeView", {title:title, descr:descr, pos:pos});
}
public static function get PAUSE_KEY_CODE():Number{
return ((Parser.pause) ? __PAUSE_KEY_CODE : -1);
}
public static function chance():void{
var cr:Number;
if (scriptsEnabled){
disallowPause();
if (wontoday){
chanceComplete({credits:0});
} else {
if (!loggedIn){
chanceComplete({credits:-1});
} else {
sendChance();
};
};
} else {
cr = 0;
chanceComplete({credits:cr});
};
}
public static function allowPause():void{
__PAUSE_KEY_CODE = __DEFAULT_PAUSE_KEY_CODE;
}
public static function checkLocal(url:String):Boolean{
var domainList:Array;
var domain:String;
var len:Number;
var domainPos:Number;
var slashPos:Number;
var httpLen:Number;
var i:Number;
domainList = ["file:"];
len = domainList.length;
httpLen = ((url.indexOf("http://") >= 0)) ? "http://".length : "https://".length;
i = 0;
while (i < len) {
domain = domainList[i];
domainPos = url.indexOf(domain);
slashPos = url.indexOf("/", httpLen);
if ((((domainPos >= 0)) && ((((slashPos == -1)) || ((slashPos > domainPos)))))){
return (true);
};
i++;
};
return (false);
}
public static function dispatchEvent(event:Event):void{
if (__dispatcher == null){
__dispatcher = new ApiUI();
};
__dispatcher.dispatchEvent(event);
}
public static function get loggedIn():Boolean{
return (Parser.loggedIn);
}
public static function updateMultiplayerScore(score:int):void{
var mc:*;
if (__ldrMultiplayer != null){
mc = __ldrMultiplayer.content;
mc.updateMultiplayerScore(String(score));
};
}
public static function setLoggedIn(f:Boolean):void{
Parser.loggedIn = true;
if ((__main is AGADocument)){
(__main as AGADocument).loggedIn = API.loggedIn;
};
if ((__main is AGADocument)){
(__main as AGADocument).afterLoggedIn();
};
}
public static function addEventListener(type:String, listener:Function):void{
if (__dispatcher == null){
__dispatcher = new ApiUI();
};
__dispatcher.addEventListener(type, listener);
}
public static function verifyLocation(url:String, paramObj):Boolean{
var domainList:Array;
var domain:String;
var len:Number;
var domainPos:Number;
var slashPos:Number;
var httpLen:Number;
var i:Number;
var vars:URLVariables;
var error:String;
domainList = ["allgirlarcade.com", "fuelindustries.com", "aga.dev", "file:"];
len = domainList.length;
httpLen = ((url.indexOf("http://") >= 0)) ? "http://".length : "https://".length;
i = 0;
while (i < len) {
domain = domainList[i];
domainPos = url.indexOf(domain);
slashPos = url.indexOf("/", httpLen);
if ((((domainPos >= 0)) && ((((slashPos == -1)) || ((slashPos > domainPos)))))){
return (true);
};
i++;
};
vars = new URLVariables();
vars.site = escape("AllGirlArcade");
vars.url = escape(url);
vars.ip = escape("N/A");
vars.agent = escape("N/A");
vars.server = escape("N/A");
vars.type = 5;
error = "Someone Is Stealing Aga! ";
error = (error + (("Game ID: " + paramObj.gameid) + ", "));
error = (error + (("Version: " + paramObj.v) + ", "));
error = (error + (("SwfURL: " + paramObj.b) + ", "));
error = (error + (("ServicesURL: " + paramObj.a) + " "));
vars.message = escape(error);
new Message("http://fmon.fuelindustries.com/a.php", vars);
return (false);
}
public static function removeEventListener(type:String, listener:Function):void{
if (__dispatcher == null){
__dispatcher = new ApiUI();
};
__dispatcher.removeEventListener(type, listener);
}
public static function checkAnythingAward():void{
if (Parser.loggedIn){
Awards.checkAnythingAward();
};
}
public static function hidePause():void{
if (((!((__vm == null))) && ((__vm.currentSection == "PauseView")))){
allowPause();
__vm.removeCurrentSection();
if (__gvm != null){
if (__gvm.currentSection == "GalleryView"){
__gvm.removeCurrentSection();
};
};
};
}
public static function get username():String{
return (Parser.username);
}
public static function resumePressed():void{
if ((__main is AGADocument)){
(__main as AGADocument).unpauseGame();
};
}
public static function checkCollectAwards(count:Number):void{
if (Parser.loggedIn){
Awards.checkCollectAwards(count);
};
}
public static function get avatar():String{
return ("./avatar.jpg");
}
public static function get mmoBack():String{
return (Parser.mmoBack);
}
public static function sendChance():void{
Messenger.sendSafeMessage("chance.php", {gameid:Parser.gameID}, chanceComplete);
}
public static function get mmo():Boolean{
return (Parser.mmo);
}
public static function get noEnd():Boolean{
return (Parser.noEnd);
}
public static function mainReady(initFunc:Function):void{
__mainInitialize = initFunc;
if (__mainLoaded){
if (__mainInitialize != null){
__mainInitialize();
};
__mainInitialize = null;
};
}
public static function get wontoday():Boolean{
return (Parser.wontoday);
}
public static function get assetsURL():String{
return (((Parser.assetsURL)!=null) ? Parser.assetsURL : "");
}
public static function showJewels(credits:Number, doShowBar:Boolean=true):void{
__vm.changeView("ResultsView", {credits:credits, doPlay:false, doShowBar:doShowBar});
}
public static function sendEvent(type:Number, args:Object=null, func:Function=null):void{
if (scriptsEnabled){
Messenger.sendAction(type, args, func);
if (type == GAME_END){
if (Boolean(Number(args.win))){
Awards.awardWinBonus();
};
checkGameCompleteAward();
} else {
if (type == Messenger.AWARD){
Messenger.refreshAwards();
};
};
};
}
public static function gotoMMO():void{
Messenger.backToMMO();
}
public static function quitPressed():void{
if ((__main is AGADocument)){
(__main as AGADocument).endGame();
};
}
public static function get v():Number{
return (Parser.v);
}
private static function scoreSubmitComplete(obj:Object):void{
var cr:Number;
var credits:Number;
__nvm.removeCurrentSection();
if (__vm.currentView == null){
IntervalManager.skipFrames(scoreSubmitComplete, 1, obj);
} else {
cr = Number(obj.cr);
credits = (isNaN(cr)) ? Awards.creditsEarned : (cr + Awards.creditsEarned);
Awards.creditsEarned = 0;
if (credits){
__vm.changeView("ResultsView", {credits:credits, doPlay:!((__vm.currentSection == "AwardView")), doShowBar:__showViewAwardsButton});
} else {
__vm.removeCurrentSection();
};
Messenger.refreshScore();
};
}
public static function get audio():AudioManager{
return (__am);
}
public static function checkTimeUnderAwards(time:Number):void{
if (Parser.loggedIn){
Awards.checkTimeUnderAwards(time);
};
}
public static function checkTimeOverAwards(time:Number):void{
if (Parser.loggedIn){
Awards.checkTimeOverAwards(time);
};
}
}
}//package com.aga.api
Section 55
//APILoader (com.aga.api.APILoader)
package com.aga.api {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.aga.api.data.*;
import com.aga.api.net.*;
import com.aga.api.core.*;
import flash.system.*;
public class APILoader extends ApiUI {
private const LOADED:String = "loaded";
private const PLAYING:String = "playing";
private const SKIPPED:String = "skipped";
private const COMPLETE:String = "complete";
private const HIDING:String = "hiding";
public var container_mc:MovieClip;
private var __ldrCustom:Loader;
private var __prestitialState:String;
protected var __skipPrestitial:Boolean;
private var __stinger:MovieClip;
private var __mainState:String;
public var multiplayer_mc:MovieClip;
private var __stingerState:String;
private var __minLoadTimePrestitial:Number;
private var __ldrStinger:Loader;
private var __ldrMain:Loader;
private var __stingerCompleteFunc:Function;
private var __ldrPrestitial:Loader;
public var loader_mc:MovieClip;
private var __startTimePrestitial:Number;
private var __prestitial:MovieClip;
private var __ldrAudio:Loader;
private var __ldrBG:Loader;
protected var __skipStinger:Boolean;
protected static var __ldrMultiplayer:Loader;
protected static var __customLoader:MovieClip;
protected static var __bg:MovieClip;
protected static var __main:MovieClip;
protected static var __mainLoaded:Boolean;
public function APILoader(){
super();
__skipStinger = false;
__skipPrestitial = false;
__mainLoaded = false;
__mainState = "";
__stingerState = "";
__prestitialState = "";
__minLoadTimePrestitial = 5000;
}
protected function mainComplete():void{
if (__bg != null){
__bg.addEventListener(Event.ENTER_FRAME, showMainEnterFrame);
};
__ldrMain.visible = true;
__mainLoaded = true;
loadAudio();
if (Parser.multiplayer){
loadMultiplayer();
};
}
protected function checkCustomLoader():void{
if (Parser.customloader){
loadBG();
} else {
loadMain();
};
}
private function monitorPrestitialLoad(e:Event):void{
var bt:Number;
var bl:Number;
var loadP:Number;
var elapsedTime:Number;
var timeP:Number;
var p:Number;
bt = __ldrPrestitial.contentLoaderInfo.bytesTotal;
if (bt > 4){
bl = __ldrPrestitial.contentLoaderInfo.bytesLoaded;
loadP = (bl / bt);
elapsedTime = (getTimer() - __startTimePrestitial);
timeP = (__minLoadTimePrestitial) ? (elapsedTime / __minLoadTimePrestitial) : 1;
p = Math.max(0, Math.min(1, Math.min(loadP, timeP)));
if (p == 1){
__prestitialState = LOADED;
removeEventListener(Event.ENTER_FRAME, monitorPrestitialLoad);
hideStinger(prestitialLoaded);
};
};
}
protected function startLoadMain():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = (Parser.swfURL + "main.swf");
if (Parser.v){
url = (url + ("?v=" + Parser.v));
};
urlReq = new URLRequest(url);
__ldrMain = new Loader();
__ldrMain.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldrMain.load(urlReq, context);
__ldrMain.contentLoaderInfo.addEventListener(Event.COMPLETE, mainLoaded);
if (__customLoader != null){
__ldrMain.addEventListener(Event.ENTER_FRAME, monitorMainLoad);
};
__ldrMain.visible = (((__prestitialState == SKIPPED)) || ((__prestitialState == COMPLETE)));
}
private function skipPrestitial():void{
__prestitialState = SKIPPED;
hideStinger(checkCustomLoader);
}
private function monitorPrestitialPlay(e:Event):void{
if (__prestitial.currentFrame == __prestitial.totalFrames){
API.sendEvent(Messenger.PRESTITIAL);
removeEventListener(Event.ENTER_FRAME, monitorPrestitialPlay);
__prestitial.alphaTo(0, 350, "Regular.easeOut", prestitialComplete);
};
}
protected function loadAudio():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = (Parser.assetsURL + "audio.swf");
if (Parser.v){
url = (url + ("?v=" + Parser.v));
};
urlReq = new URLRequest(url);
__ldrAudio = new Loader();
__ldrAudio.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldrAudio.load(urlReq, context);
__ldrAudio.contentLoaderInfo.addEventListener(Event.COMPLETE, audioLoaded);
container_mc.addChild(__ldrAudio);
__ldrAudio.x = 10000;
__ldrAudio.visible = false;
}
private function loadMultiplayer():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = (Parser.mmoCdnURL + "multiplayer/multiplayer.swf");
if (Parser.v){
url = (url + ("?v=" + Parser.v));
};
urlReq = new URLRequest(url);
__ldrMultiplayer = new Loader();
__ldrMultiplayer.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError, false, 0, true);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldrMultiplayer.load(urlReq, context);
__ldrMultiplayer.contentLoaderInfo.addEventListener(Event.COMPLETE, multiplayerLoaded, false, 0, true);
}
protected function loadStinger():void{
var url:String;
var urlReq:URLRequest;
if (__skipStinger){
debug("APILoader.loadStinger --- SKIP");
skipStinger();
} else {
url = Parser.stingerURL;
debug(("APILoader.loadStinger --- URL: " + url));
urlReq = new URLRequest(url);
__ldrStinger = new Loader();
__ldrStinger.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
__ldrStinger.load(urlReq);
__ldrStinger.contentLoaderInfo.addEventListener(Event.COMPLETE, stingerLoaded);
};
}
private function showMainEnterFrame(evt:Event):void{
if (__bg.alpha > 0.04){
__bg.alpha = (__bg.alpha * 0.92);
} else {
__bg.removeEventListener(Event.ENTER_FRAME, showMainEnterFrame);
__bg.visible = false;
};
}
private function playStinger(... _args):void{
debug("APILoader.playStinger");
__stingerState = PLAYING;
__stinger.play();
addEventListener(Event.ENTER_FRAME, monitorStingerPlay);
}
private function hideStinger(func:Function):void{
if ((((__stingerState == SKIPPED)) || ((__stingerState == COMPLETE)))){
doLater(func);
} else {
__stingerState = HIDING;
__stingerCompleteFunc = func;
};
}
protected function bgLoaded(e:Event):void{
__ldrBG.visible = true;
__bg = (__ldrBG.content as MovieClip);
loadLdr();
}
private function monitorStingerPlay(e:Event):void{
if (__stingerState == PLAYING){
if (__stinger.currentLabel == "endLoop"){
__stinger.gotoAndPlay("loop");
};
} else {
if (__stingerState == HIDING){
if (__stinger.currentFrame == __stinger.totalFrames){
__stinger.stop();
removeEventListener(Event.ENTER_FRAME, monitorStingerPlay);
removeStinger();
};
};
};
}
protected function loadPrestitial():void{
var url:String;
var urlReq:URLRequest;
if (__skipPrestitial){
skipPrestitial();
} else {
url = Parser.prestitialURL;
urlReq = new URLRequest(url);
__ldrPrestitial = new Loader();
__ldrPrestitial.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
__ldrPrestitial.load(urlReq);
__startTimePrestitial = getTimer();
addEventListener(Event.ENTER_FRAME, monitorPrestitialLoad);
};
}
private function mainLoaded(e:Event):void{
__main = (__ldrMain.content as MovieClip);
API.sendEvent(Messenger.GAME_LOADED);
if ((((__prestitialState == SKIPPED)) || ((__prestitialState == COMPLETE)))){
mainComplete();
};
container_mc.addChild(__ldrMain);
}
private function removeStinger():void{
__stinger.visible = false;
container_mc.removeChild(__stinger);
__stingerState = COMPLETE;
__stingerCompleteFunc();
}
protected function loadLdr():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = (Parser.swfURL + "loader.swf");
if (Parser.v){
url = (url + ("?v=" + Parser.v));
};
urlReq = new URLRequest(url);
__ldrCustom = new Loader();
__ldrCustom.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldrCustom.load(urlReq, context);
__ldrCustom.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderLoaded);
loader_mc.addChild(__ldrCustom);
__ldrCustom.visible = false;
}
private function handleIOError(e:IOErrorEvent):void{
debug("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
debug("APILoader.handleIOError");
debug((" --- EVENT: " + e));
}
protected function audioLoaded(e:Event):void{
}
private function setMultiGameId(gameid:String):void{
}
protected function securityCheck():Boolean{
return (true);
}
protected function loadBG():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = (Parser.swfURL + "bg.swf");
if (Parser.v){
url = (url + ("?v=" + Parser.v));
};
urlReq = new URLRequest(url);
__ldrBG = new Loader();
__ldrBG.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldrBG.load(urlReq, context);
__ldrBG.contentLoaderInfo.addEventListener(Event.COMPLETE, bgLoaded);
loader_mc.addChild(__ldrBG);
__ldrBG.visible = false;
}
private function monitorMainLoad(e:Event):void{
var bt:Number;
var bl:Number;
var assetPercent:Number;
var percent:String;
bt = __ldrMain.contentLoaderInfo.bytesTotal;
if (bt > 4){
bl = __ldrMain.contentLoaderInfo.bytesLoaded;
assetPercent = (bl / bt);
percent = (("" + String(int((assetPercent * 100)))) + "%");
if (assetPercent >= 1){
__ldrMain.removeEventListener(Event.ENTER_FRAME, monitorMainLoad);
if (__customLoader != null){
__customLoader.gotoAndPlay("out");
};
percent = "100%";
};
if (__customLoader != null){
if (__customLoader["title_mc"] != null){
if (__customLoader["title_mc"]["percent_txt"] != null){
__customLoader["title_mc"]["percent_txt"].text = percent;
};
};
};
};
}
protected function loadMain():void{
var successFlag:Boolean;
successFlag = securityCheck();
if (successFlag){
Awards.loadAwards();
doLater(startLoadMain);
};
}
private function skipStinger():void{
__stingerState = SKIPPED;
loadPrestitial();
}
private function playPrestitial(... _args):void{
__prestitialState = PLAYING;
__prestitial.play();
addEventListener(Event.ENTER_FRAME, monitorPrestitialPlay);
}
private function getFrameNumber(strLabel:String, mc:MovieClip=null):Number{
var frame:Number;
var labels:Array;
var i:int;
var label:FrameLabel;
mc = ((mc == null)) ? this : mc;
frame = 0;
labels = mc.currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
private function prestitialComplete(... _args):void{
__prestitialState = COMPLETE;
container_mc.removeChild(__prestitial);
if (__main != null){
mainComplete();
};
}
private function prestitialLoaded():void{
__prestitial = (__ldrPrestitial.content as MovieClip);
__prestitial.alpha = 0;
container_mc.addChild(__prestitial);
__prestitial.alphaTo(100, 500, "Regular.easeIn", playPrestitial);
checkCustomLoader();
}
private function stingerLoaded(e:Event):void{
debug("APILoader.stingerLoaded");
__stinger = (__ldrStinger.content as MovieClip);
container_mc.addChild(__stinger);
__stingerState = LOADED;
playStinger();
loadPrestitial();
}
protected function loaderLoaded(e:Event):void{
__ldrCustom.visible = true;
__customLoader = (__ldrCustom.content as MovieClip);
__customLoader.gotoAndPlay(1);
loadMain();
}
private function multiplayerLoaded(evt:Event):void{
var mc:*;
multiplayer_mc.addChild(__ldrMultiplayer.content);
multiplayer_mc.y = Parser.gameHeight;
__ldrMultiplayer.contentLoaderInfo.removeEventListener(Event.COMPLETE, multiplayerLoaded);
mc = __ldrMultiplayer.content;
mc.setGameId(String(API.gameID));
}
}
}//package com.aga.api
Section 56
//Parser (com.aga.api.Parser)
package com.aga.api {
public class Parser {
private static var __a:String;
private static var __e:Boolean;
private static var __h:Number;
private static var __b:String;
private static var __forgeturl:String;
private static var __re:String;
private static var __pause:Boolean;
private static var __w:Number;
private static var __noend:Boolean;
private static var __v:Number = 0;
private static var __customloader:Boolean;
private static var __debugMode:Boolean;
private static var __avatar:String;
private static var __assetsurl:String;
private static var __username:String;
private static var __wontoday:Boolean;
private static var __preurl:String;
private static var __stingurl:String;
private static var __allgamesurl:String;
private static var __mmoCdnUrl:String;
private static var __mmoback:String;
private static var __xmlurl:String;
private static var __lo:String;
private static var __gameid:Number;
private static var __mmo:Boolean;
private static var __multiplayer:Boolean;
public function Parser(){
super();
}
public static function get swfURL():String{
return (__b);
}
public static function set loggedIn(f:Boolean):void{
__e = f;
}
public static function set customloader(b:Boolean){
__customloader = b;
}
public static function buildQuery(obj:Object):String{
var arr:Array;
var each:String;
var str:String;
arr = [];
for (each in obj) {
arr.push(((each + "=") + escapePlus(obj[each])));
};
str = arr.join("&");
return (str);
}
public static function get gameID():Number{
return (__gameid);
}
public static function get assetsURL():String{
return (__assetsurl);
}
public static function unescapePlus(str:String):String{
str = unescape(str);
return (str);
}
public static function parseParams(paramObj:Object):void{
__a = unescapePlus(paramObj["a"]);
__b = unescapePlus(paramObj["b"]);
__e = Boolean(Number(unescapePlus(paramObj["e"])));
__lo = unescapePlus(paramObj["lo"]);
__re = unescapePlus(paramObj["re"]);
__w = Number(unescapePlus(paramObj["w"]));
__h = Number(unescapePlus(paramObj["h"]));
__xmlurl = unescapePlus(paramObj["xmlurl"]);
__preurl = unescapePlus(paramObj["preurl"]);
__stingurl = unescapePlus(paramObj["stingurl"]);
__allgamesurl = unescapePlus(paramObj["allgamesurl"]);
__assetsurl = unescapePlus(paramObj["assetsurl"]);
__forgeturl = unescapePlus(paramObj["forgeturl"]);
__multiplayer = Boolean(Number(unescapePlus(paramObj["multiplayer"])));
__mmoCdnUrl = ((paramObj["cdnurl"])!=null) ? unescapePlus(paramObj["cdnurl"]) : "C:/Fuel/Projects/FuelLP/Projects/virtualworld/bin/mmo/";
__noend = Boolean(Number(unescapePlus(paramObj["noend"])));
__pause = Boolean(Number(unescapePlus(paramObj["pause"])));
__debugMode = Boolean(Number(unescapePlus(paramObj["debug"])));
__avatar = unescapePlus(paramObj["avatar"]);
__username = unescapePlus(paramObj["username"]);
__gameid = Number(unescapePlus(paramObj["gameid"]));
__v = Number(unescapePlus(paramObj["v"]));
__wontoday = Boolean(Number(unescapePlus(paramObj["wontoday"])));
__mmoback = unescapePlus(paramObj["mmoback"]);
__mmo = Boolean(!((__mmoback == "")));
__customloader = Boolean(Number(unescapePlus(paramObj["customloader"])));
__preurl = ((__preurl == null)) ? "" : __preurl;
__stingurl = ((__stingurl == null)) ? "" : __stingurl;
}
public static function logIn():void{
__e = true;
}
public static function get prestitialURL():String{
return (__preurl);
}
public static function get allGamesURL():String{
return (__allgamesurl);
}
public static function get servicesURL():String{
return (__a);
}
public static function set avatar(s:String){
__avatar = s;
}
public static function get debugMode():Boolean{
return (__debugMode);
}
public static function get gameHeight():Number{
return (__h);
}
public static function get stingerURL():String{
return (__stingurl);
}
public static function get forgetURL():String{
return (__forgeturl);
}
public static function get loggedIn():Boolean{
return (__e);
}
public static function get mmoCdnURL():String{
return (__mmoCdnUrl);
}
public static function escapePlus(str:String):String{
var pattern:RegExp;
str = escape(str);
pattern = /\+/g;
str = str.replace(pattern, "%2B");
return (str);
}
public static function get loginURL():String{
return (__lo);
}
public static function get registerURL():String{
return (__re);
}
public static function parseQuery(str:String, withDebug:Boolean=false):Object{
var amp:String;
var arr:Array;
var len:Number;
var valuePair:Array;
var obj:Object;
var name:String;
var val:String;
var i:Number;
amp = ((str.indexOf("&") < 0)) ? "&" : "&";
arr = str.split(amp);
len = arr.length;
obj = {};
i = 0;
while (i < len) {
valuePair = arr[i].split("=");
name = valuePair[0];
val = valuePair[1];
if (withDebug){
};
obj[name] = val;
i++;
};
return (obj);
}
public static function set debugMode(b:Boolean):void{
__debugMode = b;
}
public static function get customloader():Boolean{
return (__customloader);
}
public static function get username():String{
return (__username);
}
public static function get avatar():String{
return (__avatar);
}
public static function get noEnd():Boolean{
return (__noend);
}
public static function set username(s:String){
__username = s;
}
public static function get xmlURL():String{
return (__xmlurl);
}
public static function get multiplayer():Boolean{
return (__multiplayer);
}
public static function get wontoday():Boolean{
return (__wontoday);
}
public static function set wontoday(b:Boolean){
__wontoday = b;
}
public static function get mmo():Boolean{
return (__mmo);
}
public static function get pause():Boolean{
return (__pause);
}
public static function get mmoBack():String{
return (__mmoback);
}
public static function get gameWidth():Number{
return (__w);
}
public static function get v():Number{
return (__v);
}
}
}//package com.aga.api
Section 57
//SoundToggleButton (com.aga.base.controls.buttons.SoundToggleButton)
package com.aga.base.controls.buttons {
import flash.utils.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.base.media.sound.*;
public class SoundToggleButton extends SimpleButton {
private static var __amList:Dictionary;
private static var __soundOn:Boolean = true;
public function SoundToggleButton(){
super();
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
doLater(out);
}
override protected function release():void{
__soundOn = !(__soundOn);
applyToggle();
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function press():void{
gotoAndStop((__soundOn) ? "onOver" : "offOver");
}
public function updateState():void{
out();
}
override protected function out():void{
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function over():void{
gotoAndPlay((__soundOn) ? "onOver" : "offOver");
}
public static function addToList(am:AudioManager):void{
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
__amList[am] = am;
am.toggleSound(__soundOn);
}
public static function removeFromList(am:AudioManager):void{
delete __amList[am];
}
private static function applyToggle():void{
var am:AudioManager;
for each (am in __amList) {
am.toggleSound(__soundOn);
};
}
}
}//package com.aga.base.controls.buttons
Section 58
//AudioManager (com.aga.base.media.sound.AudioManager)
package com.aga.base.media.sound {
public class AudioManager {
private var __uniqueID:int;// = 0
private var __soundVolumeList:Object;
private var __soundList:Object;
private var __toggle:Boolean;// = true
private var __debug:Boolean;// = false
public function AudioManager(){
__uniqueID = 0;
__toggle = true;
__debug = false;
super();
__soundList = new Object();
__soundVolumeList = new Object();
}
public function setDefaultVolume(sndName:String, vol:Number):void{
__soundVolumeList[sndName] = vol;
}
public function fadeSound(fsID:String, vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((((((((((((("AM.fadeSound( " + fsID) + ", ") + vol) + ", ") + duration) + ", ") + type) + ", ") + callback) + ", ") + _args) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
fs.fadeTo.apply(fs, _args);
} else {
doDebug(" ---- need loop");
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
_args.unshift("fakeID");
for (id in __soundList) {
if (startsWidth(id, fsID)){
_args.splice(0, 1, id);
fadeSound.apply(null, _args);
};
};
};
};
}
private function startsWidth(haystack:String, needle:String):Boolean{
return ((haystack.indexOf(needle) == 0));
}
private function doDebug(str:String):void{
if (__debug){
};
}
public function pauseSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
pauseSound(id);
};
};
};
}
public function cancelFadeSound(fsID:String):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AM.cancelFadeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.cancelFade();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
cancelFadeSound(id);
};
};
};
};
}
public function toggleSound(b:Boolean=false):Boolean{
var fs:FuelSound;
__toggle = (arguments.length) ? b : !(__toggle);
doDebug((("AudioManager.toggleSound( " + __toggle) + " )"));
for each (fs in __soundList) {
fs.toggle(__toggle);
};
return (__toggle);
}
public function setVolume(fsID:String="", vol:Number=1):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.setVolume( " + arguments) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.setVolume(vol);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
setVolume(id, vol);
};
};
};
};
}
public function stopSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
stopSound(id);
};
};
};
}
public function resumeSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.resumeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.resume();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
resumeSound(id);
};
};
};
};
}
private function getUniqueID():String{
return (("###" + ++__uniqueID));
}
public function get debug():Boolean{
return (__debug);
}
private function removeSound(id:String):void{
if (((!((__soundList == null))) && (!((__soundList[id] == null))))){
__soundList[id].stop();
delete __soundList[id];
} else {
doDebug((("AudioManager.removeSound( " + id) + " )"));
doDebug(" sound not found");
};
}
public function set debug(b:Boolean){
__debug = b;
}
public function pauseSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.pauseSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.pause();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
pauseSound(id);
};
};
};
};
}
public function playSound(sndName:String, startPos:Number=0, loops:Number=0, callback:Function=null, ... _args):String{
var fsID:String;
var fs:FuelSound;
var vol:Number;
var each:String;
if (__soundList == null){
__soundList = new Object();
};
fsID = (sndName + getUniqueID());
fs = new FuelSound(sndName, removeSound, fsID);
if (fs.exists){
_args.splice(0, 0, startPos, loops, callback);
fs.play.apply(null, _args);
vol = 1;
for (each in __soundVolumeList) {
if (each == sndName){
vol = __soundVolumeList[each];
break;
};
};
fs.setVolume(vol);
fs.toggle(__toggle);
__soundList[fsID] = fs;
//unresolved jump
};
return (fsID);
}
public function stopSound(fsID:String=""):void{
var id:String;
if (__soundList){
doDebug((("AudioManager.stopSound( " + fsID) + " )"));
if (__soundList[fsID]){
removeSound(fsID);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
stopSound(id);
};
};
};
};
}
}
}//package com.aga.base.media.sound
Section 59
//FuelSound (com.aga.base.media.sound.FuelSound)
package com.aga.base.media.sound {
import flash.utils.*;
import flash.events.*;
import flash.media.*;
import com.fuelindustries.tween.*;
import com.fuelindustries.utils.*;
public class FuelSound {
private var __mutedVolume:Number;
private var __snd:Sound;
private var __uniqueID:String;
private var __int:Number;
private var __callbackFunc:Function;
private var __callbackArgs:Array;
private var __channel:SoundChannel;
private var __exists:Boolean;
private var __destVolume:Number;
private var __removeFunc:Function;
private var __soundName:String;
private var __pausedPos:Number;
private var __loops:Number;
public function FuelSound(sndName:String, func:Function, uniqueID:String){
var sndClass:Class;
var sndName = sndName;
var func = func;
var uniqueID = uniqueID;
super();
sndClass = (getDefinitionByName(sndName) as Class);
//unresolved jump
var _slot1 = e;
__exists = false;
return;
__snd = (new (sndClass) as Sound);
__soundName = sndName;
__removeFunc = func;
__uniqueID = uniqueID;
__mutedVolume = -1;
__destVolume = -1;
__pausedPos = 0;
__exists = true;
__loops = 0;
__callbackArgs = [];
__callbackFunc = null;
}
public function stop():void{
if (__channel != null){
cancelFade();
__channel.stop();
__channel.removeEventListener(Event.SOUND_COMPLETE, soundComplete);
};
IntervalManager.clearInterval(__int);
}
public function get channel():SoundChannel{
return (__channel);
}
public function fadeTo(vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var mm:MotionManager;
vol = Math.max(0, Math.min(1, vol));
if (!muted){
cancelFade();
if (channel != null){
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift((vol * 100));
_args.unshift(channel);
mm = MotionManager.getInstance();
mm.volumeTo.apply(mm, _args);
};
__destVolume = vol;
} else {
__destVolume = -1;
__mutedVolume = vol;
};
}
public function get volume():Number{
return (getVolume());
}
public function setVolume(vol:Number):void{
var sndTransform:SoundTransform;
vol = Math.max(0, Math.min(1, vol));
if (muted){
__mutedVolume = vol;
} else {
cancelFade();
sndTransform = new SoundTransform(vol);
if (channel != null){
channel.soundTransform = sndTransform;
};
};
}
public function cancelFade():void{
var mm:MotionManager;
if (channel != null){
mm = MotionManager.getInstance();
mm.cancelTween(channel, "volumeTo");
};
__destVolume = -1;
}
private function getVolume():Number{
if (((((!((channel == null))) && (!((channel.soundTransform == null))))) && (!(isNaN(channel.soundTransform.volume))))){
return (channel.soundTransform.volume);
};
return (1);
}
private function getPosition():Number{
if (channel != null){
return (channel.position);
};
return (0);
}
public function get position():Number{
return (getPosition());
}
private function reduceLoops(... _args):void{
__loops--;
}
public function resume():void{
if (paused){
__callbackArgs.splice(0, 0, __pausedPos, __loops, __callbackFunc);
play.apply(null, __callbackArgs);
};
}
public function get paused():Boolean{
return (!(!(pausedPos)));
}
public function get fading():Boolean{
return (!((__destVolume == -1)));
}
public function get soundName():String{
return (__soundName);
}
public function play(startPos:Number, loops:Number, callback:Function=null, ... _args):void{
var sndTransform:SoundTransform;
var time:Number;
__callbackFunc = callback;
__callbackArgs = _args;
__pausedPos = 0;
__loops = loops;
sndTransform = new SoundTransform((fading) ? __destVolume : volume);
__channel = __snd.play(startPos, loops, sndTransform);
if (__channel != null){
__channel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
};
time = (__snd.length - startPos);
__int = IntervalManager.setInterval(reduceLoops, time);
}
public function get pausedPos():Number{
return (__pausedPos);
}
public function toggle(on:Boolean):void{
var vol:Number;
if (on){
if (muted){
vol = __mutedVolume;
__mutedVolume = -1;
setVolume(vol);
};
} else {
if (!muted){
if (fading){
setVolume(__destVolume);
cancelFade();
};
vol = volume;
setVolume(0);
__mutedVolume = vol;
};
};
}
public function get destVolume():Number{
return (__destVolume);
}
public function get exists():Boolean{
return (__exists);
}
public function get mutedVolume():Number{
return (__mutedVolume);
}
private function soundComplete(e:Event):void{
if (__callbackFunc != null){
__callbackFunc.apply(null, __callbackArgs);
__callbackFunc = null;
};
IntervalManager.clearInterval(__int);
__removeFunc(__uniqueID);
}
public function get muted():Boolean{
return (!((mutedVolume == -1)));
}
public function pause():void{
if (!paused){
__pausedPos = position;
if (fading){
setVolume(__destVolume);
cancelFade();
};
stop();
IntervalManager.clearInterval(__int);
};
}
}
}//package com.aga.base.media.sound
Section 60
//SwfLoaderData (com.aga.base.swfloader.data.SwfLoaderData)
package com.aga.base.swfloader.data {
public class SwfLoaderData {
private var __holder;
private var __url:String;
private var __cache:Boolean;
private var __sameDomain:Boolean;
private var __index:int;
private var __title:String;
private var __version:String;
public function SwfLoaderData(url:String, title:String, holder, index:int, sameDomain:Boolean, cache:Boolean, version:String){
super();
__url = url;
__title = title;
__holder = holder;
__index = index;
__sameDomain = sameDomain;
__cache = cache;
__version = version;
}
public function get cache():Boolean{
return (__cache);
}
public function get sameDomain():Boolean{
return (__sameDomain);
}
public function get index():int{
return (__index);
}
public function get title():String{
return (__title);
}
public function get version():String{
return (__version);
}
public function get holder(){
return (__holder);
}
public function get url():String{
return (__url);
}
}
}//package com.aga.base.swfloader.data
Section 61
//SwfLoaderEvent (com.aga.base.swfloader.events.SwfLoaderEvent)
package com.aga.base.swfloader.events {
import flash.display.*;
import flash.events.*;
public class SwfLoaderEvent extends Event {
private var __assetPercent:Number;
private var __content;
private var __ldr:Loader;
private var __assetIndex:int;
private var __groupPercent:Number;
private var __groupID:int;
public static const EVENT_BEGINASSETLOAD:String = "swfLoaderBeginAssetLoad";
public static const EVENT_GROUPCOMPLETE:String = "swfLoaderGroupCompleteEvent";
public static const EVENT_ASSETCOMPLETE:String = "swfLoaderCompleteEvent";
public static const EVENT_ASSETPROGRESS:String = "swfLoaderProgressEvent";
public function SwfLoaderEvent(type:String, assetPercent:Number, groupPercent:Number, groupID:int, assetIndex:int, ldr:Loader, content){
super(type, true, true);
__assetPercent = assetPercent;
__groupPercent = groupPercent;
__groupID = groupID;
__assetIndex = assetIndex;
__ldr = ldr;
__content = content;
}
public function get assetIndex():int{
return (__assetIndex);
}
public function get groupPercent():Number{
return (__groupPercent);
}
public function get content(){
return (__content);
}
public function get ldr():Loader{
return (__ldr);
}
override public function clone():Event{
return (new SwfLoaderEvent(type, __assetPercent, __groupPercent, __groupID, __assetIndex, __ldr, __content));
}
public function get groupID():int{
return (__groupID);
}
override public function toString():String{
return (formatToString("SwfLoaderEvent", "type", "percent", "groupIndex", "assetIndex"));
}
public function get assetPercent():Number{
return (__assetPercent);
}
}
}//package com.aga.base.swfloader.events
Section 62
//SwfLoader (com.aga.base.swfloader.SwfLoader)
package com.aga.base.swfloader {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.aga.base.utils.*;
import com.aga.base.swfloader.events.*;
import com.aga.base.swfloader.data.*;
import flash.system.*;
public class SwfLoader extends MovieClip {
protected var __ldr:Loader;
private var __assetPercent:Number;// = 0
private var __curGroupIndex:int;// = 0
private var __totalPercent:Number;// = 0
private var __curData:SwfLoaderData;
private var __loadedSwf:Array;
private var __assets:Array;
private var __startTime:Number;
protected var __minLoadTime:Number;
private var __percentPerSection:Number;// = 0
private var __groupPercent:Number;// = 0
private var __loadingFlag:Boolean;// = false
private var __index:Number;
public static var instance:SwfLoader;
public function SwfLoader(pvt:SingletonEnforcer){
__assets = [];
__assetPercent = 0;
__totalPercent = 0;
__groupPercent = 0;
__percentPerSection = 0;
__loadedSwf = [];
__curGroupIndex = 0;
__loadingFlag = false;
super();
}
public function setupGroup():int{
var index:int;
index = __assets.length;
__assets[index] = [];
return (index);
}
private function checkLoaded(url:String):Boolean{
var loaded:Boolean;
var i:int;
loaded = false;
i = 0;
while (i < __loadedSwf.length) {
if (__loadedSwf[i] == url){
loaded = true;
break;
};
i++;
};
return (loaded);
}
protected function loadComplete():void{
dispatchEvent(new SwfLoaderEvent(SwfLoaderEvent.EVENT_GROUPCOMPLETE, __assetPercent, __groupPercent, __curGroupIndex, __curData.index, __ldr, __ldr.content));
__loadingFlag = false;
__curGroupIndex++;
if (__assets.length > __curGroupIndex){
begin();
};
}
private function handleIOError(e:IOErrorEvent):void{
}
private function loadNextAsset():void{
var percentSections:int;
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
if (__index >= __assets[__curGroupIndex].length){
loadComplete();
} else {
percentSections = __assets[__curGroupIndex].length;
__totalPercent = (__index / percentSections);
__percentPerSection = (1 / percentSections);
__curData = (__assets[__curGroupIndex][__index] as SwfLoaderData);
__assetPercent = 0;
url = __curData.url;
if (!checkLoaded(url)){
__startTime = getTimer();
if ((((__curData.version.length > 0)) && (!((__curData.version == "0"))))){
url = (url + ("?v=" + __curData.version));
};
urlReq = new URLRequest(url);
__ldr = null;
__ldr = new Loader();
__ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError, false, 0, true);
context = new LoaderContext();
if (__curData.sameDomain){
context.applicationDomain = ApplicationDomain.currentDomain;
};
__ldr.load(urlReq, context);
this.addEventListener(Event.ENTER_FRAME, monitorLoad, false, 0, true);
dispatchEvent(new SwfLoaderEvent(SwfLoaderEvent.EVENT_BEGINASSETLOAD, __assetPercent, __groupPercent, __curGroupIndex, __curData.index, __ldr, __ldr.content));
} else {
__index++;
loadNextAsset();
};
};
}
private function monitorLoad(e:Event):void{
var bt:Number;
var bl:Number;
bt = __ldr.contentLoaderInfo.bytesTotal;
if (bt > 4){
bl = __ldr.contentLoaderInfo.bytesLoaded;
__assetPercent = (bl / bt);
__groupPercent = (__totalPercent + (__assetPercent * __percentPerSection));
dispatchEvent(new SwfLoaderEvent(SwfLoaderEvent.EVENT_ASSETPROGRESS, __assetPercent, __groupPercent, __curGroupIndex, __curData.index, __ldr, __ldr.content));
if (__assetPercent >= 1){
this.removeEventListener(Event.ENTER_FRAME, monitorLoad);
SequenceManager.doLater(handleAssetLoaded);
};
};
}
public function begin():void{
if (!__loadingFlag){
__loadingFlag = true;
__totalPercent = 0;
__groupPercent = 0;
__assetPercent = 0;
__percentPerSection = 0;
__index = 0;
__minLoadTime = 100;
SequenceManager.doLater(loadNextAsset);
};
}
public function addAsset(link:String, holder:MovieClip, title:String="LOADING", assetIndex:int=-1, sameDomain:Boolean=true, cache:Boolean=true, version:String=""):void{
var index:int;
var indexID:int;
index = (__assets.length - 1);
indexID = ((assetIndex)>=0) ? assetIndex : 999999;
if (!checkLoaded(link)){
__assets[index].push(new SwfLoaderData(link, title, holder, indexID, sameDomain, cache, version));
};
}
private function handleAssetLoaded():void{
if (__curData.sameDomain){
Security.allowDomain(__curData.url);
};
if (__curData.sameDomain){
if (__curData.holder != null){
__curData.holder.addChild(__ldr);
};
} else {
if (__curData.holder != null){
__curData.holder.addChild(__ldr.content);
};
};
if (!checkLoaded(__curData.url)){
if (__curData.sameDomain){
if (__curData.cache){
__loadedSwf.push(__curData.url);
};
};
};
dispatchEvent(new SwfLoaderEvent(SwfLoaderEvent.EVENT_ASSETCOMPLETE, __assetPercent, __groupPercent, __curGroupIndex, __curData.index, __ldr, __ldr.content));
__index++;
loadNextAsset();
}
public static function getInstance():SwfLoader{
if (instance == null){
instance = new SwfLoader(new SingletonEnforcer());
};
return (instance);
}
}
}//package com.aga.base.swfloader
class SingletonEnforcer {
private function SingletonEnforcer(){
super();
}
}
Section 63
//EventBridge (com.aga.base.utils.EventBridge)
package com.aga.base.utils {
import flash.events.*;
public class EventBridge extends EventDispatcher {
public static var instance:EventBridge;
public function EventBridge(pvt:SingletonEnforcer){
super();
}
override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=true):void{
super.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public static function getInstance():EventBridge{
if (instance == null){
instance = new EventBridge(new SingletonEnforcer());
};
return (instance);
}
}
}//package com.aga.base.utils
class SingletonEnforcer {
private function SingletonEnforcer(){
super();
}
}
Section 64
//SequenceFrameCall (com.aga.base.utils.SequenceFrameCall)
package com.aga.base.utils {
import flash.events.*;
import com.fuelindustries.tween.*;
public class SequenceFrameCall extends EventDispatcher {
var __id:int;
private var __frames:int;
private var __callbackArgs:Array;
private var __callback:Function;
private var __currentframe:int;
public function SequenceFrameCall(id:int, func:Function, frames:int, callbackArgs:Array){
super();
__id = id;
__callback = func;
__frames = frames;
__callbackArgs = callbackArgs;
__currentframe = 0;
TweenEnterFrame.addListener(onEnterFrame, false);
}
private function onEnterFrame(event:Event):void{
__currentframe++;
if (__currentframe == __frames){
__callback.apply(null, __callbackArgs);
cancel();
};
}
public function resume():void{
TweenEnterFrame.addListener(onEnterFrame);
}
public function cancel(f:Boolean=false):void{
TweenEnterFrame.removeListener(onEnterFrame);
delete ??getglobalscope
[this];
}
public function pause():void{
TweenEnterFrame.removeListener(onEnterFrame);
}
}
}//package com.aga.base.utils
Section 65
//SequenceItem (com.aga.base.utils.SequenceItem)
package com.aga.base.utils {
import flash.utils.*;
import flash.events.*;
import com.fuelindustries.tween.*;
public class SequenceItem extends EventDispatcher {
private var __pauseTime:int;
private var __timesExecuted:int;
private var __callback:Function;
private var __callbackArgs:Array;
private var __startTime:int;
private var __timediff:int;
var __id:int;
private var __interval:int;
public function SequenceItem(id:int, func:Function, interval:int, callbackArgs:Array){
super();
__callback = func;
__interval = interval;
__id = id;
__callbackArgs = callbackArgs;
__callbackArgs.push(this);
__timesExecuted = 0;
TweenEnterFrame.addListener(onEnterFrame);
}
public function pause():void{
TweenEnterFrame.removeListener(onEnterFrame);
__pauseTime = getTimer();
}
private function onEnterFrame(event:Event):void{
var currenttime:int;
if (__startTime == 0){
__startTime = getTimer();
return;
};
currenttime = (getTimer() - __startTime);
if (currenttime >= __interval){
__startTime = getTimer();
__timediff = (currenttime - __interval);
execute();
};
}
public function get id():int{
return (__id);
}
public function resume():void{
var pauseDiff:int;
pauseDiff = (getTimer() - __pauseTime);
__startTime = (__startTime + pauseDiff);
TweenEnterFrame.addListener(onEnterFrame);
}
public function get timesExecuted():int{
return (__timesExecuted);
}
public function get timeDiff():int{
return (__timediff);
}
public function cancel(fromManager:Boolean=false):void{
if (!fromManager){
SequenceManager.clearTimeout(__id);
} else {
TweenEnterFrame.removeListener(onEnterFrame);
};
}
function execute():void{
__timesExecuted++;
if (__callbackArgs.length > 1){
__callback.apply(null, __callbackArgs);
} else {
__callback.apply(null);
};
TweenEnterFrame.removeListener(onEnterFrame);
cancel();
}
}
}//package com.aga.base.utils
Section 66
//SequenceManager (com.aga.base.utils.SequenceManager)
package com.aga.base.utils {
import flash.utils.*;
import flash.events.*;
public class SequenceManager extends EventDispatcher {
private static var __timeoutId:int = 0;
private static var __paused:Boolean = false;
private static var __timeouts:Dictionary = new Dictionary(true);
public function SequenceManager(){
super();
}
public static function doLater(func:Function, ... _args):int{
var framecall:SequenceFrameCall;
__timeoutId++;
framecall = new SequenceFrameCall(__timeoutId, func, 1, _args);
__timeouts[__timeoutId] = framecall;
return (__timeoutId);
}
public static function skipFrames(func:Function, frames:int, ... _args):int{
var framecall:SequenceFrameCall;
__timeoutId++;
framecall = new SequenceFrameCall(__timeoutId, func, frames, _args);
__timeouts[__timeoutId] = framecall;
return (__timeoutId);
}
public static function clearAllTimeouts():void{
var each:*;
for (each in __timeouts) {
clearTimeout(each);
};
}
public static function clearTimeout(id:int):void{
var intcall:*;
if (id != 0){
intcall = __timeouts[id];
if (intcall != null){
intcall.cancel(true);
delete __timeouts[id];
};
};
}
public static function pause(b:Boolean=false):void{
var each:*;
if (!arguments.length){
b = !(__paused);
};
__paused = b;
for (each in __timeouts) {
if (__paused){
__timeouts[each].pause();
} else {
__timeouts[each].resume();
};
};
}
public static function setTimeout(func:Function, milli:int, ... _args):int{
var seqcall:SequenceItem;
__timeoutId++;
seqcall = new SequenceItem(__timeoutId, func, milli, _args);
__timeouts[__timeoutId] = seqcall;
return (__timeoutId);
}
}
}//package com.aga.base.utils
Section 67
//SoundToggleButton (com.aga.controls.buttons.SoundToggleButton)
package com.aga.controls.buttons {
import flash.utils.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.media.sound.*;
public class SoundToggleButton extends SimpleButton {
private static var __amList:Dictionary;
private static var __soundOn:Boolean = true;
public function SoundToggleButton(){
super();
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
doLater(out);
}
override protected function release():void{
__soundOn = !(__soundOn);
applyToggle();
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function press():void{
gotoAndStop((__soundOn) ? "onOver" : "offOver");
}
public function updateState():void{
out();
}
override protected function out():void{
gotoAndStop((__soundOn) ? "onOut" : "offOut");
}
override protected function over():void{
gotoAndPlay((__soundOn) ? "onOver" : "offOver");
}
public static function addToList(am:AudioManager):void{
if (__amList == null){
__soundOn = true;
__amList = new Dictionary();
};
__amList[am] = am;
am.toggleSound(__soundOn);
}
public static function removeFromList(am:AudioManager):void{
delete __amList[am];
}
private static function applyToggle():void{
var am:AudioManager;
for each (am in __amList) {
am.toggleSound(__soundOn);
};
}
}
}//package com.aga.controls.buttons
Section 68
//TweenButton (com.aga.controls.buttons.TweenButton)
package com.aga.controls.buttons {
import flash.display.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.core.*;
public class TweenButton extends EaseButton {
protected var __overSnd:String;
protected var __onRelease:Function;
protected var __clickSnd:String;
public function TweenButton(){
super();
duration = (totalFrames * 33);
__clickSnd = "btnClick";
__overSnd = "btnOver";
}
public function get overSnd():String{
return (__overSnd);
}
override protected function release():void{
super.release();
Main.staticAudio.playSound(__clickSnd);
if (__onRelease != null){
__onRelease();
};
}
public function set onRelease(func:Function):void{
__onRelease = func;
}
public function set clickSnd(s:String):void{
__clickSnd = s;
}
public function get clickSnd():String{
return (__clickSnd);
}
override protected function over():void{
Main.staticAudio.playSound(__overSnd);
super.over();
}
protected function getFrameNumber(strLabel:String, mc:MovieClip=null):Number{
var frame:Number;
var labels:Array;
var label:FrameLabel;
var i:int;
if (mc == null){
mc = this;
};
frame = 0;
labels = mc.currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
public function set overSnd(s:String):void{
__overSnd = s;
}
}
}//package com.aga.controls.buttons
Section 69
//ViewManager (com.aga.core.view.ViewManager)
package com.aga.core.view {
import flash.display.*;
import com.fuelindustries.events.*;
import com.fuelindustries.view.*;
public class ViewManager extends AbstractViewManager {
public var whiteBox_mc:MovieClip;
public function ViewManager(){
super();
whiteBox_mc.visible = false;
}
override protected function onOutComplete(event:ViewEvent):void{
whiteBox_mc.visible = true;
super.onOutComplete(event);
}
override protected function attachSection(p_section:String):void{
whiteBox_mc.visible = false;
super.attachSection(p_section);
}
public function getFrameNumber(strLabel:String, mc:MovieClip):Number{
var frame:Number;
var labels:Array;
var label:FrameLabel;
var i:int;
frame = 0;
labels = mc.currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
}
}//package com.aga.core.view
Section 70
//AssetsLoader (com.aga.core.AssetsLoader)
package com.aga.core {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.aga.game.*;
import com.aga.api.*;
import com.aga.core.view.*;
import flash.system.*;
public class AssetsLoader extends ViewManager {
private var __index:Number;
protected var __ldr:Loader;
public var gameContainer_mc:MovieClip;
protected var __assets:Array;
private var __startTime:Number;
protected var __minLoadTime:Number;
private var __initP:Number;
private var __lastP:Number;
private var __currP:Number;
private var __game:AGAGame;
public function AssetsLoader(){
__assets = [{link:"game.swf", p:1}];
super();
__initP = (__lastP = (loader_mc.loaderBar_mc.currentFrame / loader_mc.loaderBar_mc.totalFrames));
__currP = 0;
__index = 0;
__minLoadTime = 50;
doLater(loadNextAsset);
}
protected function hideLoader():void{
loader_mc.visible = false;
}
private function monitorLoaderOut(e:Event):void{
if (loader_mc.currentFrame == loader_mc.totalFrames){
loader_mc.stop();
this.removeEventListener(Event.ENTER_FRAME, monitorLoaderOut);
tellReady();
};
}
public function get game():AGAGame{
return (__game);
}
protected function loadComplete():void{
this.addEventListener(Event.ENTER_FRAME, monitorLoaderOut);
loader_mc.gotoAndPlay("out");
}
private function handleIOError(e:IOErrorEvent):void{
debug("+++++++++++++++++++++++++++++++");
debug("core.AssetsLoader.handleIOError");
debug((" >>> EVENT: " + e));
}
protected function loadNextAsset():void{
var len:Number;
var i:Number;
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
if (!__index){
len = __assets.length;
i = 0;
while (i < len) {
__assets[i].link = (API.swfURL + __assets[i].link);
i++;
};
};
if (__index >= __assets.length){
loadComplete();
} else {
__startTime = getTimer();
__lastP = (__lastP + __currP);
__currP = (__assets[__index].p * (1 - __initP));
url = addVersion(__assets[__index].link);
urlReq = new URLRequest(url);
__ldr = new Loader();
__ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldr.load(urlReq, context);
this.addEventListener(Event.ENTER_FRAME, monitorLoad);
__index++;
};
}
protected function addVersion(link:String):String{
return (link);
}
protected function updateLoaderText(p:Number):void{
if (((((!((loader_mc.loadingText_mc == null))) && (!((loader_mc.loadingText_mc.loadingTextAnim_mc == null))))) && (!((loader_mc.loadingText_mc.loadingTextAnim_mc.percent_txt == null))))){
loader_mc.loadingText_mc.loadingTextAnim_mc.percent_txt.text = (p + "%");
};
}
protected function tellReady():void{
}
private function monitorLoad(e:Event):void{
var bt:Number;
var bl:Number;
var bytesP:Number;
var timeP:Number;
var p:Number;
var loaderFrame:Number;
var maskFrame:Number;
var percent:Number;
bt = __ldr.contentLoaderInfo.bytesTotal;
if (bt > 4){
bl = __ldr.contentLoaderInfo.bytesLoaded;
bytesP = (bl / bt);
timeP = ((getTimer() - __startTime) / (__minLoadTime * __currP));
p = Math.min(bytesP, timeP);
loaderFrame = Math.round((loader_mc.loaderBar_mc.totalFrames * (__lastP + (p * __currP))));
loader_mc.loaderBar_mc.gotoAndStop(loaderFrame);
maskFrame = Math.round((loader_mc.sparkleMask_mc.totalFrames * (__lastP + (p * __currP))));
loader_mc.sparkleMask_mc.gotoAndStop(maskFrame);
percent = Math.round((100 * (__lastP + (p * __currP))));
updateLoaderText(percent);
if (p >= 1){
this.removeEventListener(Event.ENTER_FRAME, monitorLoad);
doLater(handleAssetLoaded);
};
};
}
private function handleAssetLoaded():void{
Security.allowDomain(__ldr.contentLoaderInfo.url);
assetLoaded((__index - 1));
loadNextAsset();
}
protected function attachGameFromLoader():void{
__game = (__ldr.content as AGAGame);
gameContainer_mc.addChild(__game);
__game.visible = false;
}
protected function assetLoaded(i:Number):void{
switch (i){
case 0:
attachGameFromLoader();
break;
default:
break;
};
}
public function get loader_mc():MovieClip{
return (this.parent["loader_mc"]);
}
}
}//package com.aga.core
Section 71
//Main (com.aga.core.Main)
package com.aga.core {
import flash.display.*;
import com.fuelindustries.utils.*;
import com.aga.media.sound.*;
import com.aga.api.*;
import com.aga.controls.buttons.*;
public class Main extends AssetsLoader {
private var __am:AudioManager;
public var soundBtn_mc:SoundToggleButton;
public var cursor_mc:MovieClip;
private static var __staticAM:AudioManager;
public function Main(){
super();
soundBtn_mc.alpha = 0;
__staticAM = (__am = new AudioManager());
stage.stageFocusRect = false;
}
protected function audioLoaded():void{
SoundToggleButton.addToList(audio);
soundBtn_mc.alphaTo(100, 150, "Regular.easeIn");
}
override protected function tellReady():void{
var url:String;
var paramObj:Object;
var successFlag:Boolean;
url = LoaderInfo(this.root.loaderInfo).url;
paramObj = LoaderInfo(this.root.loaderInfo).parameters;
successFlag = API.verifyLocation(url, paramObj);
if ((((parent.parent == stage)) && (successFlag))){
initialize();
} else {
if (successFlag){
API.mainReady(initialize);
};
};
}
protected function initialize():void{
changeSection("HomeView");
IntervalManager.skipFrames(hideLoader, 3);
}
public function get audio():AudioManager{
return (__am);
}
override protected function attachSection(section:String):void{
var showGame:Boolean;
var viewDepth:Number;
var sndDepth:Number;
var curDepth:Number;
showGame = (section == "GameView");
game.visible = showGame;
audio.playSound("viewTransition");
super.attachSection(section);
viewDepth = getChildIndex(currentView);
sndDepth = getChildIndex(soundBtn_mc);
if (viewDepth > sndDepth){
swapChildren(currentView, soundBtn_mc);
};
if (cursor_mc != null){
sndDepth = getChildIndex(soundBtn_mc);
curDepth = getChildIndex(cursor_mc);
if (sndDepth > curDepth){
swapChildren(soundBtn_mc, cursor_mc);
};
};
}
override protected function addVersion(link:String):String{
if (API.v){
link = (link + ("?v=" + String(API.v)));
};
return (link);
}
public static function get staticAudio():AudioManager{
return (getStaticAudio());
}
private static function getStaticAudio():AudioManager{
if (__staticAM == null){
__staticAM = new AudioManager();
};
return (__staticAM);
}
}
}//package com.aga.core
Section 72
//AGAAwardEvent (com.aga.framework.events.AGAAwardEvent)
package com.aga.framework.events {
import flash.events.*;
public class AGAAwardEvent extends Event {
private var __id:String;
private var __type:String;
public static const EVENT:String = "awardEvent";
public function AGAAwardEvent(id:String){
super(EVENT, true, false);
__type = EVENT;
__id = id;
}
public function get id():String{
return (__id);
}
}
}//package com.aga.framework.events
Section 73
//AGAGameEvent (com.aga.framework.events.AGAGameEvent)
package com.aga.framework.events {
import flash.events.*;
public class AGAGameEvent extends Event {
private var __type:String;
private var __eventType:String;
public static const TYPE_GOTOMMO:String = "apiGoToMmo";
public static const TYPE_GOTOALLGAMES:String = "apiGoToAllGames";
public static const TYPE_SHOW_SIGN_IN:String = "apiShowSignIn";
public static const TYPE_GAMEREADYTOSTART:String = "apiGameReadyToStart";
public static const TYPE_SHOWPAUSE:String = "apiShowPause";
public static const EVENT:String = "pauseEvent";
public function AGAGameEvent(eventType:String){
super(EVENT, true, false);
__type = EVENT;
__eventType = eventType;
}
public function get eventType():String{
return (__eventType);
}
}
}//package com.aga.framework.events
Section 74
//AGAGamePlayEvent (com.aga.framework.events.AGAGamePlayEvent)
package com.aga.framework.events {
import flash.events.*;
public class AGAGamePlayEvent extends Event {
private var __type:String;
public static const EVENT:String = "gamePlayEvent";
public function AGAGamePlayEvent(){
super(EVENT, true, false);
__type = EVENT;
}
}
}//package com.aga.framework.events
Section 75
//AGASubmitFinalScoreEvent (com.aga.framework.events.AGASubmitFinalScoreEvent)
package com.aga.framework.events {
import flash.events.*;
public class AGASubmitFinalScoreEvent extends Event {
private var __showViewAwardsButton:Boolean;
private var __type:String;
private var __score:int;
private var __gameTime:int;
public static const EVENT:String = "submitScoreEvent";
public function AGASubmitFinalScoreEvent(score:int, gameTime:int, showViewAwardsButton:Boolean=false){
super(EVENT, true, false);
__type = EVENT;
__score = score;
__gameTime = gameTime;
__showViewAwardsButton = showViewAwardsButton;
}
public function get score():int{
return (__score);
}
public function get gameTime():int{
return (__gameTime);
}
public function get showViewAwardsButton():Boolean{
return (__showViewAwardsButton);
}
}
}//package com.aga.framework.events
Section 76
//AGADocument (com.aga.framework.interfaces.AGADocument)
package com.aga.framework.interfaces {
import flash.display.*;
public class AGADocument extends MovieClip implements IAGADocument {
private var __loggedIn:Boolean;// = false
private var __servicesURL:String;// = ""
private var __swfURL:String;// = ""
private var __fromMmo:Boolean;// = false
private var __version:String;// = ""
public function AGADocument(){
__servicesURL = "";
__swfURL = "";
__loggedIn = false;
__fromMmo = false;
__version = "";
super();
}
public function get version():String{
return (__version);
}
public function pauseGame():void{
}
public function set swfURL(url:String):void{
__swfURL = url;
}
public function get servicesURL():String{
return (__servicesURL);
}
public function afterLoggedIn():void{
}
public function get loggedIn():Boolean{
return (__loggedIn);
}
public function set servicesURL(url:String):void{
__servicesURL = url;
}
public function startGame():void{
}
public function endGame():void{
}
public function set fromMmo(flag:Boolean):void{
__fromMmo = flag;
}
public function set loggedIn(f:Boolean):void{
__loggedIn = f;
}
public function unpauseGame():void{
}
public function get swfURL():String{
return (__swfURL);
}
public function set version(v:String):void{
__version = v;
}
public function get fromMmo():Boolean{
return (__fromMmo);
}
}
}//package com.aga.framework.interfaces
Section 77
//IAGADocument (com.aga.framework.interfaces.IAGADocument)
package com.aga.framework.interfaces {
public interface IAGADocument {
function set servicesURL(C:\Fuel\Projects\AGA\FLP_GameDev\Classes;com\aga\framework\interfaces;IAGADocument.as:String):void;
function afterLoggedIn():void;
function get fromMmo():Boolean;
function get loggedIn():Boolean;
function pauseGame():void;
function set fromMmo(C:\Fuel\Projects\AGA\FLP_GameDev\Classes;com\aga\framework\interfaces;IAGADocument.as:Boolean):void;
function get swfURL():String;
function set loggedIn(C:\Fuel\Projects\AGA\FLP_GameDev\Classes;com\aga\framework\interfaces;IAGADocument.as:Boolean):void;
function set version(C:\Fuel\Projects\AGA\FLP_GameDev\Classes;com\aga\framework\interfaces;IAGADocument.as:String):void;
function get servicesURL():String;
function endGame():void;
function get version():String;
function set swfURL(C:\Fuel\Projects\AGA\FLP_GameDev\Classes;com\aga\framework\interfaces;IAGADocument.as:String):void;
function startGame():void;
function unpauseGame():void;
}
}//package com.aga.framework.interfaces
Section 78
//Callout (com.aga.game.callouts.Callout)
package com.aga.game.callouts {
import flash.display.*;
import com.aga.game.*;
import com.fuelindustries.core.*;
public class Callout extends FuelUI {
private var __callbackFunc:Function;
private var __callbackArgs:Array;
private var __game:AGAGame;
public function Callout(){
super();
}
public function set game(g:AGAGame){
__game = g;
}
protected function animComplete(... _args):void{
var f:Function;
cancelTween("all");
if (__callbackFunc != null){
f = __callbackFunc;
__callbackFunc = null;
f.apply(null, __callbackArgs);
};
kill();
}
public function setNumber(n:Number, skin:String=""):void{
playOnce();
}
public function kill(... _args):void{
cancelTween("all");
game.removeCallout(this);
}
public function playOut():void{
}
public function setCallback(f:Function, args:Array):void{
__callbackFunc = f;
__callbackArgs = args;
}
protected function playOnce():void{
var time:Number;
gotoAndStop(1);
time = (totalFrames * 33);
frameTo(1, time, "none", animComplete);
}
protected function getFrameNumber(strLabel:String):Number{
var frame:Number;
var labels:Array;
var i:int;
var label:FrameLabel;
frame = 0;
labels = currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
public function get game():AGAGame{
return (__game);
}
}
}//package com.aga.game.callouts
Section 79
//ControlledTextCallout (com.aga.game.callouts.ControlledTextCallout)
package com.aga.game.callouts {
public class ControlledTextCallout extends TextCallout {
public function ControlledTextCallout(){
super();
}
override public function playOut():void{
var time:Number;
time = ((totalFrames - currentFrame) * 33);
frameTo(1, time, "none", animComplete);
}
override protected function playOnce():void{
var frame:Number;
var time:Number;
gotoAndStop(1);
frame = (getFrameNumber("out") - 1);
time = (frame * 33);
frameTo(frame, time);
}
}
}//package com.aga.game.callouts
Section 80
//TextCallout (com.aga.game.callouts.TextCallout)
package com.aga.game.callouts {
import flash.display.*;
public class TextCallout extends Callout {
public var text_mc:MovieClip;
public function TextCallout(){
super();
}
public function setText(s:String):void{
text_mc.topText_mc.label_txt.text = s;
text_mc.botText_mc.label_txt.text = s;
playOnce();
}
}
}//package com.aga.game.callouts
Section 81
//AGAGame (com.aga.game.AGAGame)
package com.aga.game {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.fuelindustries.utils.*;
import flash.geom.*;
import com.aga.api.events.*;
import com.aga.media.sound.*;
import com.aga.game.callouts.*;
import com.aga.core.*;
import com.aga.api.*;
import com.fuelengines.utils.*;
import com.aga.controls.buttons.*;
import com.fuelengines.game.*;
import flash.system.*;
public class AGAGame extends BaseGame {
private var __ldr:Loader;
private var __standalone:Boolean;
public var soundBtn_mc:SoundToggleButton;
public var callouts_mc:MovieClip;
public var cursor_mc:MovieClip;
protected var __gameOn:Boolean;
private var __totalPoints:String;
private var __gameTime:String;
public static const CALLOUT:String = "Callout";
public function AGAGame(){
super();
__gameOn = false;
totalPoints = 0;
gameTime = 0;
IntervalManager.skipFrames(checkStandalone, 3);
}
protected function loadAssets():void{
var url:String;
var urlReq:URLRequest;
var context:LoaderContext;
url = "assets.swf";
urlReq = new URLRequest(url);
__ldr = new Loader();
__ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
context = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
__ldr.load(urlReq, context);
__ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, assetLoaded);
}
protected function quitHandler():void{
gameLost();
}
override protected function doPause():void{
stopUpdates();
disableControls();
pauseTween("all");
SequenceManager.pause(__paused);
if (!__paused){
stage.focus = this;
if (__gameOn){
startUpdates();
enableControls();
};
};
}
protected function gameLost():void{
gameComplete(false);
}
protected function restartHandler():void{
reset(true);
}
public function get standalone():Boolean{
return (__standalone);
}
protected function resumeHandler():void{
pause(false);
}
protected function addCallout(type:String, pt:Point, n:Number=0, callback:Function=null, callbackArgs:Array=null):Callout{
var c:Callout;
c = (addGameItem(CALLOUT, pt.x, pt.y, [type], callouts_mc) as Callout);
c.setCallback(callback, callbackArgs);
c.game = this;
c.setNumber(n);
return (c);
}
private function pauseHandler(e:APIEvent):void{
debug((("AGAGame.pauseHandler( " + e.resumeType) + " )"));
if (e.resumeType == API.RESUME){
resumeHandler();
} else {
if (e.resumeType == API.RESTART){
restartHandler();
} else {
if (e.resumeType == API.QUIT){
quitHandler();
};
};
};
}
protected function enablePause():void{
API.addEventListener(APIEvent.PAUSE, pauseHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
stage.focus = this;
}
protected function handleStandalone():void{
loadAssets();
reset(true);
}
public function addMultiplierCallout(mult:Number, pt:Point, callback:Function=null, ... _args):void{
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
addCallout("Multiplier", pt, mult, callback, _args);
}
public function set totalPoints(n:Number){
__totalPoints = String(n);
}
public function addPointsCallout(points:Number, pt:Point, callback:Function=null, ... _args):void{
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
addCallout("Points", pt, points, callback, _args);
}
private function keyReleased(ke:KeyboardEvent):void{
if (ke.charCode == API.PAUSE_KEY_CODE){
pauseKeyReleased();
} else {
if (((standalone) && ((ke.charCode == 114)))){
reset(true);
};
};
}
protected function pauseKeyReleased():void{
debug("------------------------");
debug("AGAGame.pauseKeyReleased");
if (__paused){
pause(false);
API.hidePause();
} else {
pause(true);
API.showPause();
};
}
public function addTextCallout(text:String, pt:Point=null, callback:Function=null, ... _args):void{
var c:TextCallout;
if (pt == null){
pt = new Point((__gameWidth * 0.5), (__gameHeight * 0.5));
};
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
c = (addGameItem(CALLOUT, pt.x, pt.y, ["Text"], callouts_mc) as TextCallout);
c.setCallback(callback, _args);
c.game = this;
c.setText(text);
}
public function removeCallout(c:Callout):void{
removeGameItem(CALLOUT, c, callouts_mc);
}
protected function assetLoaded(e:Event):void{
var mc:MovieClip;
mc = (__ldr.content as MovieClip);
addChild(mc);
mc.x = 10000;
}
override protected function doUpdate(timeDiff:Number):void{
if (__gameOn){
gameTime = (gameTime + (timeDiff * updatePeriod));
};
updateCursor();
}
protected function gameWon():void{
gameComplete(true);
}
public function get totalPoints():Number{
return (Number(__totalPoints));
}
public function reset(autoStart:Boolean=false):void{
totalPoints = 0;
gameTime = 0;
__paused = false;
__gameOn = false;
if (soundBtn_mc != null){
soundBtn_mc.updateState();
};
disableControls();
stopUpdates();
API.sendEvent(API.GAME_PLAY);
disablePause();
SequenceManager.clearAllTimeouts();
cancelTween("all");
callOnList(CALLOUT, "kill");
if (autoStart){
SequenceManager.doLater(startGame);
};
}
protected function gameComplete(won:Boolean):void{
__gameOn = false;
stopUpdates();
disablePause();
disableControls();
callOnList(CALLOUT, "kill");
if (standalone){
reset(true);
} else {
if (won){
main.changeSection("GameWonView");
} else {
main.changeSection("GameLostView");
};
};
}
protected function handleIOError(e:IOErrorEvent):void{
debug("AGAGame.handleIOError");
debug((" >>> EVENT: " + e));
}
private function checkStandalone(... _args):void{
var paramObj:Object;
var url:String;
var successFlag:Boolean;
__standalone = (this.parent == stage);
paramObj = LoaderInfo(this.root.loaderInfo).parameters;
url = LoaderInfo(this.root.loaderInfo).url;
successFlag = API.verifyLocation(url, paramObj);
if (((__standalone) && (successFlag))){
handleStandalone();
};
}
public function enableControls():void{
}
public function get gameOn():Boolean{
return (__gameOn);
}
public function startGame():void{
enablePause();
}
private function getAudioManager():AudioManager{
return ((standalone) ? new AudioManager() : main.audio);
}
public function addCountdownCallout(pt:Point=null, callback:Function=null, ... _args):void{
if (pt == null){
pt = new Point((__gameWidth * 0.5), (__gameHeight * 0.5));
};
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
addCallout("Countdown", pt, 0, callback, _args);
}
protected function updateCursor():void{
if (cursor_mc != null){
cursor_mc.x = cursor_mc.parent.mouseX;
cursor_mc.y = cursor_mc.parent.mouseY;
};
}
public function addTimeUpCallout(pt:Point=null, callback:Function=null, ... _args):void{
if (pt == null){
pt = new Point((__gameWidth * 0.5), (__gameHeight * 0.5));
};
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
addCallout("TimeUp", pt, 0, callback, _args);
}
public function addControlledTextCallout(text:String, pt:Point=null, callback:Function=null, ... _args):ControlledTextCallout{
var c:ControlledTextCallout;
if (pt == null){
pt = new Point((__gameWidth * 0.5), (__gameHeight * 0.5));
};
pt = callouts_mc.globalToLocal(localToGlobal(new Point(pt.x, pt.y)));
c = (addGameItem(CALLOUT, pt.x, pt.y, ["ControlledText"], callouts_mc) as ControlledTextCallout);
c.setCallback(callback, _args);
c.game = this;
c.setText(text);
return (c);
}
public function disableControls():void{
}
public function get main():Main{
return ((parent.parent as Main));
}
public function set gameTime(n:Number){
__gameTime = String(n);
}
public function get audio():AudioManager{
return (getAudioManager());
}
protected function disablePause():void{
API.removeEventListener(APIEvent.PAUSE, pauseHandler);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased);
}
public function get gameTime():Number{
return (Number(__gameTime));
}
}
}//package com.aga.game
Section 82
//AudioManager (com.aga.media.sound.AudioManager)
package com.aga.media.sound {
import com.fuelindustries.debug.*;
public class AudioManager {
private var __uniqueID:int;// = 0
private var __soundVolumeList:Object;
private var __soundList:Object;
private var __toggle:Boolean;// = true
private var __debug:Boolean;// = false
public function AudioManager(){
__uniqueID = 0;
__toggle = true;
__debug = false;
super();
__soundList = new Object();
__soundVolumeList = new Object();
}
public function setDefaultVolume(sndName:String, vol:Number):void{
__soundVolumeList[sndName] = vol;
}
public function fadeSound(fsID:String, vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((((((((((((("AM.fadeSound( " + fsID) + ", ") + vol) + ", ") + duration) + ", ") + type) + ", ") + callback) + ", ") + _args) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
fs.fadeTo.apply(fs, _args);
} else {
doDebug(" ---- need loop");
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(vol);
_args.unshift("fakeID");
for (id in __soundList) {
if (startsWidth(id, fsID)){
_args.splice(0, 1, id);
fadeSound.apply(null, _args);
};
};
};
};
}
private function startsWidth(haystack:String, needle:String):Boolean{
return ((haystack.indexOf(needle) == 0));
}
private function doDebug(str:String):void{
if (__debug){
Log.debug(str);
};
}
public function pauseSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
pauseSound(id);
};
};
};
}
public function cancelFadeSound(fsID:String):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AM.cancelFadeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.cancelFade();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
cancelFadeSound(id);
};
};
};
};
}
public function toggleSound(b:Boolean=false):Boolean{
var fs:FuelSound;
__toggle = (arguments.length) ? b : !(__toggle);
doDebug((("AudioManager.toggleSound( " + __toggle) + " )"));
for each (fs in __soundList) {
fs.toggle(__toggle);
};
return (__toggle);
}
public function setVolume(fsID:String="", vol:Number=1):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.setVolume( " + arguments) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.setVolume(vol);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
setVolume(id, vol);
};
};
};
};
}
public function stopSoundsExcept(fsID:String=""):void{
var id:String;
if (__soundList){
for (id in __soundList) {
if (!startsWidth(id, fsID)){
stopSound(id);
};
};
};
}
public function resumeSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.resumeSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.resume();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
resumeSound(id);
};
};
};
};
}
private function getUniqueID():String{
return (("###" + ++__uniqueID));
}
public function get debug():Boolean{
return (__debug);
}
private function removeSound(id:String):void{
if (((!((__soundList == null))) && (!((__soundList[id] == null))))){
__soundList[id].stop();
delete __soundList[id];
} else {
doDebug((("AudioManager.removeSound( " + id) + " )"));
doDebug(" sound not found");
};
}
public function set debug(b:Boolean){
__debug = b;
}
public function pauseSound(fsID:String=""):void{
var fs:FuelSound;
var id:String;
if (__soundList){
doDebug((("AudioManager.pauseSound( " + fsID) + " )"));
if (__soundList[fsID]){
fs = __soundList[fsID];
fs.pause();
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
pauseSound(id);
};
};
};
};
}
public function playSound(sndName:String, startPos:Number=0, loops:Number=0, callback:Function=null, ... _args):String{
var fsID:String;
var fs:FuelSound;
var vol:Number;
var each:String;
doDebug((((((((((("AudioManager.playSound( " + sndName) + ", ") + startPos) + ", ") + loops) + ", ") + callback) + ", ") + _args) + " )"));
if (__soundList == null){
__soundList = new Object();
};
fsID = (sndName + getUniqueID());
fs = new FuelSound(sndName, removeSound, fsID);
if (fs.exists){
_args.splice(0, 0, startPos, loops, callback);
fs.play.apply(null, _args);
vol = 1;
for (each in __soundVolumeList) {
if (each == sndName){
vol = __soundVolumeList[each];
break;
};
};
fs.setVolume(vol);
fs.toggle(__toggle);
__soundList[fsID] = fs;
} else {
doDebug("~~~~~~~~~~~~~ playSound failed");
};
return (fsID);
}
public function stopSound(fsID:String=""):void{
var id:String;
if (__soundList){
doDebug((("AudioManager.stopSound( " + fsID) + " )"));
if (__soundList[fsID]){
removeSound(fsID);
} else {
doDebug(" ---- need loop");
for (id in __soundList) {
if (startsWidth(id, fsID)){
stopSound(id);
};
};
};
};
}
}
}//package com.aga.media.sound
Section 83
//FuelSound (com.aga.media.sound.FuelSound)
package com.aga.media.sound {
import flash.utils.*;
import flash.events.*;
import flash.media.*;
import com.fuelindustries.tween.*;
import com.fuelindustries.utils.*;
public class FuelSound {
private var __mutedVolume:Number;
private var __snd:Sound;
private var __uniqueID:String;
private var __int:Number;
private var __callbackFunc:Function;
private var __callbackArgs:Array;
private var __channel:SoundChannel;
private var __exists:Boolean;
private var __destVolume:Number;
private var __removeFunc:Function;
private var __soundName:String;
private var __pausedPos:Number;
private var __loops:Number;
public function FuelSound(sndName:String, func:Function, uniqueID:String){
var sndClass:Class;
var sndName = sndName;
var func = func;
var uniqueID = uniqueID;
super();
sndClass = (getDefinitionByName(sndName) as Class);
//unresolved jump
var _slot1 = e;
__exists = false;
return;
__snd = (new (sndClass) as Sound);
__soundName = sndName;
__removeFunc = func;
__uniqueID = uniqueID;
__mutedVolume = -1;
__destVolume = -1;
__pausedPos = 0;
__exists = true;
__loops = 0;
__callbackArgs = [];
__callbackFunc = null;
}
public function stop():void{
if (__channel != null){
cancelFade();
__channel.stop();
__channel.removeEventListener(Event.SOUND_COMPLETE, soundComplete);
};
IntervalManager.clearInterval(__int);
}
public function get channel():SoundChannel{
return (__channel);
}
public function fadeTo(vol:Number, duration:int, type=null, callback:Function=null, ... _args):void{
var mm:MotionManager;
vol = Math.max(0, Math.min(1, vol));
if (!muted){
cancelFade();
if (channel != null){
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift((vol * 100));
_args.unshift(channel);
mm = MotionManager.getInstance();
mm.volumeTo.apply(mm, _args);
};
__destVolume = vol;
} else {
__destVolume = -1;
__mutedVolume = vol;
};
}
public function get volume():Number{
return (getVolume());
}
public function setVolume(vol:Number):void{
var sndTransform:SoundTransform;
vol = Math.max(0, Math.min(1, vol));
if (muted){
__mutedVolume = vol;
} else {
cancelFade();
sndTransform = new SoundTransform(vol);
if (channel != null){
channel.soundTransform = sndTransform;
};
};
}
public function cancelFade():void{
var mm:MotionManager;
if (channel != null){
mm = MotionManager.getInstance();
mm.cancelTween(channel, "volumeTo");
};
__destVolume = -1;
}
private function getVolume():Number{
if (((((!((channel == null))) && (!((channel.soundTransform == null))))) && (!(isNaN(channel.soundTransform.volume))))){
return (channel.soundTransform.volume);
};
return (1);
}
private function getPosition():Number{
if (channel != null){
return (channel.position);
};
return (0);
}
public function get position():Number{
return (getPosition());
}
private function reduceLoops(... _args):void{
__loops--;
}
public function resume():void{
if (paused){
__callbackArgs.splice(0, 0, __pausedPos, __loops, __callbackFunc);
play.apply(null, __callbackArgs);
};
}
public function get paused():Boolean{
return (!(!(pausedPos)));
}
public function get fading():Boolean{
return (!((__destVolume == -1)));
}
public function get soundName():String{
return (__soundName);
}
public function play(startPos:Number, loops:Number, callback:Function=null, ... _args):void{
var sndTransform:SoundTransform;
var time:Number;
__callbackFunc = callback;
__callbackArgs = _args;
__pausedPos = 0;
__loops = loops;
sndTransform = new SoundTransform((fading) ? __destVolume : volume);
__channel = __snd.play(startPos, loops, sndTransform);
if (__channel != null){
__channel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
};
time = (__snd.length - startPos);
__int = IntervalManager.setInterval(reduceLoops, time);
}
public function get pausedPos():Number{
return (__pausedPos);
}
public function toggle(on:Boolean):void{
var vol:Number;
if (on){
if (muted){
vol = __mutedVolume;
__mutedVolume = -1;
setVolume(vol);
};
} else {
if (!muted){
if (fading){
setVolume(__destVolume);
cancelFade();
};
vol = volume;
setVolume(0);
__mutedVolume = vol;
};
};
}
public function get destVolume():Number{
return (__destVolume);
}
public function get exists():Boolean{
return (__exists);
}
public function get mutedVolume():Number{
return (__mutedVolume);
}
private function soundComplete(e:Event):void{
if (__callbackFunc != null){
__callbackFunc.apply(null, __callbackArgs);
__callbackFunc = null;
};
IntervalManager.clearInterval(__int);
__removeFunc(__uniqueID);
}
public function get muted():Boolean{
return (!((mutedVolume == -1)));
}
public function pause():void{
if (!paused){
__pausedPos = position;
if (fading){
setVolume(__destVolume);
cancelFade();
};
stop();
IntervalManager.clearInterval(__int);
};
}
}
}//package com.aga.media.sound
Section 84
//NailEaseButton (com.aga.nailspa.game.controls.buttons.NailEaseButton)
package com.aga.nailspa.game.controls.buttons {
import com.fuelindustries.controls.buttons.*;
import flash.text.*;
public class NailEaseButton extends EaseButton {
private var __duration:int;// = 500
public var btnname_mc:TextField;
public function NailEaseButton():void{
__duration = 500;
super();
}
override protected function setFrame(frame:String):void{
switch (frame){
case "out":
case "disabled":
this.frameTo(0, __duration);
break;
case "over":
case "down":
case "selected":
this.frameTo(1, __duration);
break;
};
}
public function SetName(name:String):void{
btnname_mc.text = name;
}
}
}//package com.aga.nailspa.game.controls.buttons
Section 85
//RadioEaseButton (com.aga.nailspa.game.controls.buttons.RadioEaseButton)
package com.aga.nailspa.game.controls.buttons {
import com.fuelindustries.controls.buttons.*;
public class RadioEaseButton extends RadioEaseButton {
protected var __onRelease:Function;
protected var __value;
public function RadioEaseButton(){
super();
duration = (totalFrames * 33);
}
override protected function release():void{
if (__onRelease != null){
__onRelease(value);
};
super.release();
}
override protected function setSelected(val:Boolean):void{
super.setSelected(val);
out();
}
protected function setValue(n):void{
__value = n;
}
public function set onRelease(func:Function):void{
__onRelease = func;
}
public function get value(){
return (__value);
}
public function set value(n):void{
setValue(n);
}
}
}//package com.aga.nailspa.game.controls.buttons
Section 86
//SoundEaseButton (com.aga.nailspa.game.controls.buttons.SoundEaseButton)
package com.aga.nailspa.game.controls.buttons {
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class SoundEaseButton extends EaseButton {
private const CLICKSOUND:String = "btnClick";
private const OVERSOUND:String = "btnOver";
private var __am:AudioManager;
private var __duration:int;
public function SoundEaseButton(){
super();
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
override protected function setFrame(frame:String):void{
__duration = int(((this.totalFrames / 31) * 1000));
switch (frame){
case "out":
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
this.frameTo(0, __duration);
case "disabled":
break;
case "over":
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
this.frameTo(1, __duration);
playSound(OVERSOUND, 0);
break;
case "down":
case "selected":
playSound(CLICKSOUND, 0);
break;
};
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
__am.setVolume(OVERSOUND, 0.3);
}
}
}//package com.aga.nailspa.game.controls.buttons
Section 87
//SoundNextEaseButton (com.aga.nailspa.game.controls.buttons.SoundNextEaseButton)
package com.aga.nailspa.game.controls.buttons {
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class SoundNextEaseButton extends EaseButton {
private const CLICKSOUND:String = "NextButton";
private const OVERSOUND:String = "btnOver";
private var __am:AudioManager;
private var __duration:int;
public function SoundNextEaseButton(){
super();
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
override protected function setFrame(frame:String):void{
__duration = int(((this.totalFrames / 31) * 1000));
switch (frame){
case "out":
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
this.frameTo(0, __duration);
case "disabled":
break;
case "over":
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
this.frameTo(1, __duration);
playSound(OVERSOUND, 0);
break;
case "down":
case "selected":
playSound(CLICKSOUND, 0);
break;
};
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
__am.setVolume(OVERSOUND, 0.3);
}
}
}//package com.aga.nailspa.game.controls.buttons
Section 88
//SoundSoundToggleButton (com.aga.nailspa.game.controls.buttons.SoundSoundToggleButton)
package com.aga.nailspa.game.controls.buttons {
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class SoundSoundToggleButton extends SoundToggleButton {
private const CLICKSOUND:String = "btnClick";
private const OVERSOUND:String = "btnOver";
private var __am:AudioManager;
public function SoundSoundToggleButton(){
super();
__am = new AudioManager();
}
override protected function release():void{
playSound(CLICKSOUND, 0);
super.release();
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
__am.setVolume(OVERSOUND, 0.3);
}
override protected function over():void{
playSound(OVERSOUND, 0);
super.over();
}
}
}//package com.aga.nailspa.game.controls.buttons
Section 89
//DropDown (com.aga.nailspa.game.controls.dropdown.DropDown)
package com.aga.nailspa.game.controls.dropdown {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import com.fuelindustries.events.*;
import com.fuelindustries.controls.scrollers.*;
import com.fuelindustries.core.*;
public class DropDown extends FuelUI {
private var __selectedIndex:Number;
public var scrollbar_mc:ScrollBar;
public var items_mc:MovieClip;
public var scrollmask_mc:MovieClip;
private var __expanded:Boolean;
private var __baseLabel:String;
public var base_mc:DropDownItem;
private var __items:Array;
public function DropDown(){
super();
stop();
__baseLabel = "";
__items = [];
__selectedIndex = -1;
}
protected function collapseComplete(... _args):void{
}
protected function expandComplete(... _args):void{
if (items_mc.height > scrollbar_mc.height){
scrollbar_mc.visible = true;
scrollbar_mc.enable();
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
scrollbar_mc.addEventListener(ScrollEvent.SCROLL, scrollEventHandler);
} else {
scrollbar_mc.visible = false;
scrollbar_mc.disable();
scrollbar_mc.removeEventListener(ScrollEvent.SCROLL, scrollEventHandler);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
};
}
public function populateDropdown(data:Array):void{
var len:Number;
var i:Number;
var lastH:Number;
var lastY:Number;
var item:DropDownItem;
clearDropdown();
base_mc.label = __baseLabel;
len = data.length;
lastH = 0;
lastY = 0;
i = 0;
while (i < len) {
item = new DropDownItem();
items_mc.addChild(item);
item.x = 0;
item.y = (lastY + lastH);
item.id = i;
item.label = data[i];
item.dropdown = this;
lastY = Math.floor(item.y);
lastH = Math.floor(item.height);
__items.push(item);
i++;
};
enable();
items_mc.mask = scrollmask_mc;
baseLabel = "";
scrollbar_mc.disable();
scrollbar_mc.reset();
setScrollContentPercent(0);
scrollbar_mc.visible = (items_mc.height > scrollbar_mc.height);
}
public function get currentItem():DropDownItem{
return (__items[__selectedIndex]);
}
protected function setScrollContentPercent(p:Number, type:String="thumb"):void{
var minY:Number;
var maxY:Number;
var newY:Number;
var dy:Number;
var percent:Number;
var time:Number;
var ease:String;
minY = scrollmask_mc.y;
maxY = ((scrollmask_mc.y + scrollmask_mc.height) - items_mc.height);
newY = (minY + (p * (maxY - minY)));
dy = Math.abs((items_mc.y - newY));
if (type == ScrollType.LINE){
dy = (-5 * p);
newY = (items_mc.y + dy);
newY = Math.min(minY, Math.max(maxY, newY));
items_mc.y = newY;
percent = ((newY - minY) / (maxY - minY));
scrollbar_mc.percent = percent;
} else {
if ((((type == ScrollType.THUMB)) || ((dy < 15)))){
items_mc.y = newY;
} else {
time = (dy * 1);
ease = "easeIn";
items_mc.cancelTween("slideTo");
items_mc.slideTo(items_mc.x, newY, time, ease);
};
};
}
public function selectItem(newItemID:Number):void{
var item:DropDownItem;
if (((((!((__selectedIndex == newItemID))) && ((newItemID >= 0)))) && ((newItemID < __items.length)))){
if (__selectedIndex >= 0){
currentItem.selected = false;
};
item = __items[newItemID];
item.selected = true;
base_mc.label = item.label;
__selectedIndex = newItemID;
collapse();
} else {
if (newItemID < 0){
base_mc.label = __baseLabel;
__selectedIndex = -1;
collapse();
};
};
}
protected function selectFirstItem():void{
if (__items.length){
selectItem(0);
};
}
protected function mouseDownHandler(e:MouseEvent):void{
var pt:Point;
pt = localToGlobal(new Point(mouseX, mouseY));
if (!this.hitTestPoint(pt.x, pt.y)){
collapse();
};
}
protected function barReleased():void{
if (__expanded){
collapse();
} else {
expand();
};
}
public function enable():void{
enabled = true;
base_mc.enabled = true;
base_mc.onRelease = barReleased;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
scrollbar_mc.addEventListener(ScrollEvent.SCROLL, scrollEventHandler);
}
public function expand():void{
var time:Number;
if (!__expanded){
__expanded = true;
cancelTween("frameTo");
time = (totalFrames * 33);
frameTo(1, time, "", expandComplete);
};
}
private function setBaseLabel(s:String):void{
__baseLabel = s;
base_mc.label = s;
}
public function set baseLabel(s:String):void{
setBaseLabel(s);
}
protected function clearDropdown():void{
var len:Number;
var i:Number;
len = __items.length;
i = 0;
while (i < len) {
items_mc.removeChild(__items.shift());
i++;
};
__items = [];
__selectedIndex = -1;
scrollbar_mc.visible = false;
}
protected function scrollEventHandler(e:ScrollEvent):void{
setScrollContentPercent(e.percent, e.scrollType);
}
public function collapse():void{
var time:Number;
if (__expanded){
scrollbar_mc.disable();
__expanded = false;
cancelTween("frameTo");
time = (totalFrames * 33);
frameTo(0, time, "", collapseComplete);
};
}
public function get currentIndex():Number{
return (__selectedIndex);
}
public function disable():void{
enabled = false;
base_mc.enabled = false;
collapse();
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
scrollbar_mc.removeEventListener(ScrollEvent.SCROLL, scrollEventHandler);
}
}
}//package com.aga.nailspa.game.controls.dropdown
Section 90
//DropDownItem (com.aga.nailspa.game.controls.dropdown.DropDownItem)
package com.aga.nailspa.game.controls.dropdown {
import flash.display.*;
import com.aga.controls.buttons.*;
public class DropDownItem extends TweenButton {
public var label_mc:MovieClip;
private var __id:Number;
private var __label:String;
private var __itemData:Object;
private var __dropdown:DropDown;
public function DropDownItem(){
addFrameScript(0, frame1);
super();
duration = (totalFrames * 33);
__itemData = {};
__label = "";
__id = -1;
}
override protected function release():void{
super.release();
if (dropdown != null){
dropdown.selectItem(id);
};
}
public function get dropdown():DropDown{
return (__dropdown);
}
public function set dropdown(dd:DropDown):void{
__dropdown = dd;
}
public function set id(i:Number):void{
__id = i;
}
function frame1(){
stop();
}
public function set itemData(o:Object):void{
setData(o);
}
override protected function over():void{
if (!__selected){
super.over();
};
}
public function get label():String{
return (__label);
}
override protected function setSelected(b:Boolean):void{
__selected = b;
if (__selected){
gotoAndStop(totalFrames);
} else {
super.out();
};
}
public function get id():Number{
return (__id);
}
protected function setData(o:Object):void{
var each:String;
__itemData = new Object();
for (each in o) {
if (each != "label"){
__itemData[each] = o[each];
};
};
}
override protected function out():void{
if (!__selected){
super.out();
};
}
public function get itemData():Object{
return (__itemData);
}
protected function setLabel(lbl):void{
if (lbl == null){
__label = "";
} else {
if ((lbl is String)){
__label = lbl;
} else {
if ((lbl is Object)){
__label = lbl.label;
setData(lbl);
} else {
__label = "";
};
};
};
if (label_mc.label_txt != null){
label_mc.label_txt.text = __label;
};
}
public function set label(l):void{
setLabel(l);
}
}
}//package com.aga.nailspa.game.controls.dropdown
Section 91
//LimbSelector (com.aga.nailspa.game.controls.LimbSelector)
package com.aga.nailspa.game.controls {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class LimbSelector extends MovieClip {
private const CLICKSOUND:String = "btnClick";
private const OVERSOUND:String = "btnOver";
public var leftHandSelector_mc:MovieClip;
public var rightFootSelector_mc:MovieClip;
private var __am:AudioManager;
public var rightHandSelector_mc:MovieClip;
public var leftFootSelector_mc:MovieClip;
public function LimbSelector(){
super();
__am = new AudioManager();
SoundToggleButton.addToList(__am);
setupSelector(leftHandSelector_mc);
setupSelector(rightHandSelector_mc);
setupSelector(leftFootSelector_mc);
setupSelector(rightFootSelector_mc);
leftHandSelector_mc.gotoAndStop("off");
rightHandSelector_mc.gotoAndStop("off");
leftFootSelector_mc.gotoAndStop("off");
rightFootSelector_mc.gotoAndStop("off");
clickedLeftHand();
}
private function generalRollOverEvt(e:MouseEvent):void{
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
}
private function rollOverEvt(e:MouseEvent):void{
playSound(OVERSOUND, 0);
__am.setVolume(OVERSOUND, 0.3);
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function clickedLeftHand():void{
playSound(CLICKSOUND, 0);
leftHandSelector_mc.gotoAndStop("on");
rightHandSelector_mc.gotoAndStop("off");
leftFootSelector_mc.gotoAndStop("off");
rightFootSelector_mc.gotoAndStop("off");
}
public function setupSelector(mc:MovieClip):void{
mc.useHandCursor = true;
mc.buttonMode = true;
mc.mouseChildren = false;
mc.mouseEnabled = true;
}
public function clickedLeftHandEvt(e:MouseEvent):void{
clickedLeftHand();
}
public function enable():void{
leftHandSelector_mc.addEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
rightHandSelector_mc.addEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
leftFootSelector_mc.addEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
rightFootSelector_mc.addEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
leftHandSelector_mc.addEventListener(MouseEvent.CLICK, clickedLeftHandEvt);
rightHandSelector_mc.addEventListener(MouseEvent.CLICK, clickedRightHandEvt);
leftFootSelector_mc.addEventListener(MouseEvent.CLICK, clickedLeftFootEvt);
rightFootSelector_mc.addEventListener(MouseEvent.CLICK, clickedRightFootEvt);
addEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
addEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
}
private function generalRollOutEvt(e:MouseEvent):void{
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
}
public function clickedRightFootEvt(e:MouseEvent):void{
playSound(CLICKSOUND, 0);
leftHandSelector_mc.gotoAndStop("off");
rightHandSelector_mc.gotoAndStop("off");
leftFootSelector_mc.gotoAndStop("off");
rightFootSelector_mc.gotoAndStop("on");
}
public function disable():void{
leftHandSelector_mc.removeEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
rightHandSelector_mc.removeEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
leftFootSelector_mc.removeEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
rightFootSelector_mc.removeEventListener(MouseEvent.MOUSE_OVER, rollOverEvt);
leftHandSelector_mc.removeEventListener(MouseEvent.CLICK, clickedLeftHandEvt);
rightHandSelector_mc.removeEventListener(MouseEvent.CLICK, clickedRightHandEvt);
leftFootSelector_mc.removeEventListener(MouseEvent.CLICK, clickedLeftFootEvt);
rightFootSelector_mc.removeEventListener(MouseEvent.CLICK, clickedRightFootEvt);
removeEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
removeEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
}
public function clickedLeftFootEvt(e:MouseEvent):void{
playSound(CLICKSOUND, 0);
leftHandSelector_mc.gotoAndStop("off");
rightHandSelector_mc.gotoAndStop("off");
leftFootSelector_mc.gotoAndStop("on");
rightFootSelector_mc.gotoAndStop("off");
}
public function clickedRightHandEvt(e:MouseEvent):void{
playSound(CLICKSOUND, 0);
leftHandSelector_mc.gotoAndStop("off");
rightHandSelector_mc.gotoAndStop("on");
leftFootSelector_mc.gotoAndStop("off");
rightFootSelector_mc.gotoAndStop("off");
}
}
}//package com.aga.nailspa.game.controls
Section 92
//AnimationEvent (com.aga.nailspa.game.events.AnimationEvent)
package com.aga.nailspa.game.events {
import flash.events.*;
public class AnimationEvent extends Event {
public static const POLAROIDINTRODONE:String = "PolaroidIntroDone";
public static const INNERCOVEROFF:String = "innerCoverOff";
public static const POLAROID4ZOOMOUTDONE:String = "Polaroid4ZoomOutDone";
public static const ABOUTOUTDONE:String = "AboutOutDone";
public static const POLAROID2ZOOMINDONE:String = "Polaroid2ZoomInDone";
public static const TRANSITIONTOADDGLITTERDONE:String = "transitionToAddGlitterDone";
public static const TRANSITIONTOCOLORMIXDONE:String = "transitionToColorMixDone";
public static const TRANSITIONTOPAINTDONE:String = "transitionToPaintDone";
public static const POLAROID4ZOOMINDONE:String = "Polaroid4ZoomInDone";
public static const OUTERCOVEROFF:String = "outerCoverOff";
public static const POLAROID3ZOOMOUTDONE:String = "Polaroid3ZoomOutDone";
public static const GOALOUTDONE:String = "GoalOutDone";
public static const POLAROIDGOALZOOMOUTDONE:String = "PolaroidGoalZoomOutDone";
public static const MYNAILSOUTDONE:String = "MyNailsOutDone";
public static const INNERCOVERON:String = "innerCoverOn";
public static const POLAROIDYOURSZOOMOUTDONE:String = "PolaroidYoursZoomOutDone";
public static const ZOOMINGOUT:String = "zoomingOut";
public static const INDICATORFADEIN:String = "indicatorfadein";
public static const POLAROID2ZOOMOUTDONE:String = "Polaroid2ZoomOutDone";
public static const POLAROIDGOALZOOMINDONE:String = "PolaroidGoalZoomInDone";
public static const TRANSITIONTOMIXERDONE:String = "transitionToMixerDone";
public static const POLAROID1ZOOMINDONE:String = "Polaroid1ZoomInDone";
public static const POLAROID3ZOOMINDONE:String = "Polaroid3ZoomInDone";
public static const INDICATORFADEOUT:String = "indicatorfadeout";
public static const LIMBANIMDONE:String = "limbAnimationDone";
public static const SHAKE:String = "shake";
public static const TRANSITIONTODRYERDONE:String = "transitionToDryerDone";
public static const TRANSITIONTOADDDECALDONE:String = "transitionToAddDecalDone";
public static const POLAROIDYOURSZOOMINDONE:String = "PolaroidYoursZoomInDone";
public static const ZOOMINGIN:String = "zoomingIn";
public static const POLAROID1ZOOMOUTDONE:String = "Polaroid1ZoomOutDone";
public static const OUTERCOVERON:String = "outerCoverOn";
public function AnimationEvent(type:String){
super(type);
}
override public function toString():String{
return (formatToString("AnimationEvent", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new AnimationEvent(type));
}
}
}//package com.aga.nailspa.game.events
Section 93
//BrushEvents (com.aga.nailspa.game.events.BrushEvents)
package com.aga.nailspa.game.events {
public class BrushEvents {
public static var EVENT_HIDEGOAL:String = "onHideGoal";
public static var EVENT_SHOWGOAL:String = "onShowGoal";
public static var EVENT_BUTTONOUT:String = "onBrushButtonOut";
public static var EVENT_BUTTONOVER:String = "onBrushButtonOver";
public function BrushEvents(){
super();
}
}
}//package com.aga.nailspa.game.events
Section 94
//NailLoaderEvent (com.aga.nailspa.game.events.NailLoaderEvent)
package com.aga.nailspa.game.events {
import flash.events.*;
public class NailLoaderEvent extends Event {
public static const SPRITE_ERROR:String = "braceletImageFailed";
public static const SPRITE_LOADED:String = "braceletImageLoaded";
public function NailLoaderEvent(type:String){
super(type);
}
override public function toString():String{
return (formatToString("NailLoaderEvent", "type", "target"));
}
override public function clone():Event{
return (new NailLoaderEvent(type));
}
}
}//package com.aga.nailspa.game.events
Section 95
//NailEvent (com.aga.nailspa.game.gameItems.NailEvent)
package com.aga.nailspa.game.gameItems {
import flash.display.*;
import flash.events.*;
public class NailEvent extends Event {
private var __image:DisplayObject;
public static const EVENT_IMAGEREADY:String = "nailImageReady";
public function NailEvent(type:String, image:DisplayObject){
super(type);
__image = image;
}
public function get image():DisplayObject{
return (__image);
}
override public function toString():String{
return (formatToString("NailEvent", "type", "target"));
}
}
}//package com.aga.nailspa.game.gameItems
Section 96
//NailLoader (com.aga.nailspa.game.gameItems.NailLoader)
package com.aga.nailspa.game.gameItems {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.aga.nailspa.game.events.*;
import com.fuelengines.utils.*;
import com.fuelindustries.core.*;
public class NailLoader extends FuelUI {
public var size:int;// = 77
private var __ldr:Loader;
public var image:DisplayObject;
private var __sequId:int;
private var __url:String;
private var __theData:Object;
public function NailLoader(url:String, theData:Object){
size = 77;
super();
__url = url;
__theData = theData;
__sequId = SequenceManager.doLater(loadSprite);
}
private function onComplete(evt:Event):void{
__sequId = SequenceManager.doLater(afterItemsLoaded);
}
private function afterItemsLoaded(... _args):void{
image = __ldr.content;
dispatchEvent(new NailLoaderEvent(NailLoaderEvent.SPRITE_LOADED));
dispatchEvent(new NailEvent(NailEvent.EVENT_IMAGEREADY, image));
}
private function loadSprite():void{
var finalUrl:String;
var urlReq:URLRequest;
SequenceManager.clearTimeout(__sequId);
__ldr = new Loader();
finalUrl = __url;
urlReq = new URLRequest(finalUrl);
__ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onHandleIOError);
__ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
__ldr.load(urlReq);
}
private function destroyLoader():void{
if (__ldr){
};
__ldr.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onHandleIOError);
__ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);
__ldr.close();
//unresolved jump
var _slot1 = e;
__ldr = null;
}
public function cleanup():void{
destroyLoader();
SequenceManager.clearTimeout(__sequId);
}
private function onHandleIOError(evt:IOErrorEvent):void{
dispatchEvent(new NailLoaderEvent(NailLoaderEvent.SPRITE_ERROR));
}
}
}//package com.aga.nailspa.game.gameItems
Section 97
//Polish (com.aga.nailspa.game.gameItems.Polish)
package com.aga.nailspa.game.gameItems {
public class Polish {
private var goldRate:Number;
private var colour:Number;
private var sparkleDensity:Number;
public function Polish(){
super();
}
public function getColour():Number{
return (colour);
}
public function getSparkle():Number{
return (sparkleDensity);
}
public function setPolish(clr:Number, gold:Number, sparkle:Number):void{
colour = clr;
goldRate = gold;
sparkleDensity = sparkle;
}
public function getGold():Number{
return (goldRate);
}
public function tracePolish():void{
}
}
}//package com.aga.nailspa.game.gameItems
Section 98
//Navigation (com.aga.nailspa.game.navigation.Navigation)
package com.aga.nailspa.game.navigation {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.aga.nailspa.game.phases.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
import flash.text.*;
import com.aga.base.media.sound.*;
import com.aga.framework.interfaces.*;
import com.aga.nailspa.game.controls.buttons.*;
import com.aga.base.controls.buttons.*;
public class Navigation extends MovieClip {
private const paintNailsTitle:String = "PAINT YOUR NAILS";
private const addGlitterTitle:String = "ADD GLITTER";
private const applyDecalsParagraph1:String = "You can further customize your look by adding your favorite decals from the selection.";
private const applyDecalsParagraph2:String = "Don't forget your toes! You can click on the hands and feet icons to switch views.";
private const paintNailsParagraph1:String = "Use the brush to help you paint your fingers and toes with your custom designed nail color.";
private const paintNailsParagraph2:String = "Don't forget your toes! You can click on the hands and feet icons to switch views.";
private const TUTORIALOPENSOUND:String = "Tutorial";
private const applyDecalsTitle:String = "ADD SOME BLING";
private const colorMixParagraph2:String = "You can click on the color wheel for more color ideas.";
private const SHOWGOALSOUND:String = "IntroStart";
private const colorMixParagraph1:String = "Click on the color chamber to dispense the desired colors into the bottle.";
private const dryNailsParagraph:String = "Place your hands and feet in the drying chamber and watch as your nails are dried.";
private const paintNailsChallengeParagraph1:String = "Use the brush to help you paint your fingers with your custom designed nail color.";
private const mixPolishParagraph:String = "Place the bottle in the mixing chamber and watch as your color and glitter gets mixed together.";
private const dryNailsTitle:String = "DRY YOUR NAILS";
private const mixPolishTitle:String = "MIX YOUR NAIL POLISH";
private const addGlitterParagraph:String = "Choose your desired color from the glitter chamber and add it to the bottle.";
private const viewGoalTitle:String = "YOUR GOAL";
private const colorMixTitle:String = "CUSTOMIZE YOUR COLOR";
private const TUTORIALCLOSESOUND:String = "Tutorial";
private const viewGoalParagraph1:String = "Do your best to match the nail design provided.";
private const viewGoalParagraph2:String = "You can click on the GOAL button for a reminder of the custom design.";
private var __am:AudioManager;
public var mynails_btn:SoundEaseButton;
public var goalpopup_mc:GoalPopup;
private var __doneFirstString:Boolean;// = false
public var nav_home_challenge_mc:SoundEaseButton;
public var soundBtn_mc:SoundSoundToggleButton;
public var playagain_btn:SoundEaseButton;
public var help_btn:SoundEaseButton;
public var nav_clear_mc:SoundEaseButton;
public var menuButtons_fading_mc:MovieClip;
public var challenge_btn:SoundEaseButton;
private var __challengeTimer:Timer;
public var timer_txt:TextField;
private var __urlLoader:URLLoader;
private var __tutorialOpen:Boolean;// = false
public var keep_btn:SoundEaseButton;
private var __tutorialTimer:Timer;
public var about_btn:SoundEaseButton;
public var nav_home_challenge_container_mc:MovieClip;
private var __challengeMode:Boolean;// = false
public var tutorialtext_mc:MovieClip;
public var gift_btn:SoundEaseButton;
public var nav_back_mc:SoundEaseButton;
private var __firstString:String;// = ""
public var soundBtn2_mc:SoundSoundToggleButton;
public var goal_btn:SoundEaseButton;
public var minimize_btn:SoundEaseButton;
public var freeplay_btn:SoundEaseButton;
public var nav_next_mc:SoundNextEaseButton;
private var __hasSecondParagraph:Boolean;// = false
public var tutorial_container_mc:MovieClip;
public var nav_home_container_mc:MovieClip;
private var __secondsTaken:int;// = 0
public var nav_next_small_mc:SoundNextEaseButton;
private var __secondString:String;// = ""
public var nav_home_mc:SoundEaseButton;
public var goalpopup_animated_mc:MovieClip;
public var spark_btn:SoundEaseButton;
public function Navigation(){
__tutorialOpen = false;
__tutorialTimer = new Timer(1000, 5);
__challengeTimer = new Timer(1000);
__secondsTaken = 0;
__challengeMode = false;
__hasSecondParagraph = false;
__firstString = "";
__secondString = "";
__doneFirstString = false;
super();
soundBtn2_mc = menuButtons_fading_mc["soundBtn2_mc"];
freeplay_btn = menuButtons_fading_mc["freeplay_btn"];
challenge_btn = menuButtons_fading_mc["challenge_btn"];
mynails_btn = menuButtons_fading_mc["mynails_btn"];
about_btn = menuButtons_fading_mc["about_btn"];
nav_home_mc = nav_home_container_mc["nav_home_mc"];
nav_home_challenge_mc = nav_home_challenge_container_mc["nav_home_challenge_mc"];
goal_btn = nav_home_challenge_container_mc["goal_btn"];
minimize_btn = tutorial_container_mc["minimize_btn"];
help_btn = tutorial_container_mc["help_btn"];
soundBtn_mc = tutorial_container_mc["soundBtn_mc"];
tutorialtext_mc = tutorial_container_mc["tutorialtext_mc"];
timer_txt = nav_home_challenge_container_mc["timer_txt"];
goalpopup_mc = goalpopup_animated_mc["goalpopup_mc"];
timer_txt.text = "00:00";
freeplay_btn["txt"].text = "FREE PLAY";
challenge_btn["txt"].text = "CHALLENGE";
mynails_btn["txt"].text = "MY NAILS";
about_btn["txt"].text = "ABOUT SPA FACTORY";
nav_back_mc["txt"].text = "BACK";
nav_clear_mc["txt"].text = "CLEAR";
goal_btn["txt"].text = "GOAL";
setNextText("");
nav_back_mc.addEventListener(MouseEvent.CLICK, goBackPhaseEvt);
nav_clear_mc.addEventListener(MouseEvent.CLICK, goClearPhaseEvt);
nav_home_mc.addEventListener(MouseEvent.CLICK, goHomePhaseEvt);
nav_home_challenge_mc.addEventListener(MouseEvent.CLICK, goHomePhaseEvt);
nav_next_mc.addEventListener(MouseEvent.CLICK, goNextPhaseEvt);
nav_next_small_mc.addEventListener(MouseEvent.CLICK, goNextPhaseEvt);
goal_btn.addEventListener(MouseEvent.CLICK, showGoalEvt);
freeplay_btn.addEventListener(MouseEvent.CLICK, goNextPhaseFreeEvt);
challenge_btn.addEventListener(MouseEvent.CLICK, goNextPhaseChallengeEvt);
minimize_btn.addEventListener(MouseEvent.CLICK, closeTutorialMouseEvt);
help_btn.addEventListener(MouseEvent.CLICK, openTutorialEvt);
about_btn.addEventListener(MouseEvent.CLICK, showAboutEvt);
mynails_btn.addEventListener(MouseEvent.CLICK, showMyNailsEvt);
enableEndScreenButtons();
__tutorialTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeTutorialTimerEvt);
__challengeTimer.addEventListener(TimerEvent.TIMER, timerTickEvt);
goalpopup_animated_mc.addEventListener(AnimationEvent.GOALOUTDONE, onGoalOutDone, false, 0, true);
hideAllButtons();
tutorial_container_mc.stop();
__urlLoader = new URLLoader();
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
public function setupPhasePaint():void{
setNextText("DRY NAILS");
showNavButtons();
if (__challengeMode){
nav_home_challenge_container_mc.addEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
nav_home_challenge_container_mc.addEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
setTutorialText(paintNailsTitle, paintNailsChallengeParagraph1, null, false);
} else {
nav_home_container_mc.addEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
nav_home_container_mc.addEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
setTutorialText(paintNailsTitle, paintNailsParagraph1, paintNailsParagraph2, true);
};
timedOpenTutorial();
tutorial_container_mc.addEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
tutorial_container_mc.addEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
}
private function timerTickEvt(evt:TimerEvent):void{
__secondsTaken++;
updateTime();
}
private function closeTutorialTimerEvt(evt:TimerEvent):void{
nextTutorial();
}
public function onGiftComplete(cancelled:Boolean):void{
enableEndScreenButtons();
if (!cancelled){
hideKeepAndGiftButtons();
};
}
private function stopChallengeClock():void{
__challengeTimer.stop();
}
private function showGoalEvt(evt:MouseEvent):void{
showGoal();
}
private function showKeepButton():void{
if ((((parent as AGADocument).loggedIn) && (!(__challengeMode)))){
keep_btn.visible = true;
};
}
public function setupPhaseIntro():void{
setNextText("PLAY");
showNavButtons();
nav_back_mc.visible = true;
tutorial_container_mc.visible = false;
nav_clear_mc.visible = false;
nav_home_container_mc.visible = false;
nav_home_challenge_container_mc.visible = false;
soundBtn_mc.updateState();
}
public function exitPhaseColorMix():void{
hideAllButtons();
}
private function onGiftPolishEvt(evt:MouseEvent):void{
var colorData:String;
var jpgSource:BitmapData;
colorData = "";
colorData = (colorData + (((((parent as Game).getMixedColor() + "|") + (parent as Game).getGoldRate()) + "|") + (parent as Game).getSparkleDensity()));
jpgSource = (parent as Game).getBottle();
(parent as Game).stfReleased(colorData, jpgSource);
}
public function hideMyNailsEvt(evt:MouseEvent):void{
hideMyNails();
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function enableEndScreenButtons():void{
playagain_btn.addEventListener(MouseEvent.CLICK, goHomePhaseEvt);
playagain_btn.enabled = true;
keep_btn.addEventListener(MouseEvent.CLICK, onKeepPolishEvt);
keep_btn.enabled = true;
gift_btn.addEventListener(MouseEvent.CLICK, onGiftPolishEvt);
gift_btn.enabled = true;
spark_btn.addEventListener(MouseEvent.CLICK, onSparkCityEvt);
spark_btn.enabled = true;
}
private function goNextPhase():void{
(parent as Game).goNextPhase();
}
private function onSparkCityEvt(evt:MouseEvent):void{
(parent as Game).returnToMMO();
}
private function showMyNailsEvt(evt:MouseEvent):void{
(parent as Game).showMyNails();
}
private function startChallengeClock():void{
__challengeTimer.start();
}
public function exitPhaseAddGlitter():void{
hideAllButtons();
}
private function closeTutorialMouseEvt(evt:MouseEvent):void{
nextTutorial();
}
private function fadeOutMenuButtons():void{
menuButtons_fading_mc.gotoAndPlay("out");
}
private function timedOpenTutorial():void{
__tutorialTimer.reset();
__tutorialTimer.start();
openTutorial();
}
private function resetChallengeClock():void{
__challengeTimer.reset();
__secondsTaken = 0;
updateTime();
}
public function setupPhaseViewGoal():void{
showNavButtons();
setTutorialText(viewGoalTitle, viewGoalParagraph1, viewGoalParagraph2, true);
timedOpenTutorial();
setNextText("READY");
}
public function setupPhaseLoading():void{
hideNavButtons();
showMenuButtons();
soundBtn2_mc.updateState();
}
public function hideAboutEvt(evt:MouseEvent):void{
hideAbout();
}
private function hideMenuButtons():void{
soundBtn2_mc.visible = false;
freeplay_btn.visible = false;
challenge_btn.visible = false;
mynails_btn.visible = false;
about_btn.visible = false;
fadeOutMenuButtons();
}
public function exitPhaseDryer():void{
hideAllButtons();
}
private function finishedSaveAttempt():void{
__urlLoader.removeEventListener(Event.COMPLETE, onSaveComplete);
__urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onError);
__urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
enableEndScreenButtons();
hideKeepAndGiftButtons();
}
public function setupPhaseAddDecal():void{
setNextText("DONE");
showNavButtons();
if (__challengeMode){
setTutorialText(applyDecalsTitle, applyDecalsParagraph1, null, false);
} else {
setTutorialText(applyDecalsTitle, applyDecalsParagraph1, applyDecalsParagraph2, true);
};
timedOpenTutorial();
}
private function showSparkCityButton():void{
if ((parent as AGADocument).fromMmo){
spark_btn.visible = true;
};
}
private function goNextPhaseChallengeEvt(evt:MouseEvent):void{
(parent as Game).gamePlayed();
(parent as Game).setChallengeMode(true);
__challengeMode = true;
goNextPhase();
}
private function hideEndButtons():void{
keep_btn.visible = false;
gift_btn.visible = false;
spark_btn.visible = false;
playagain_btn.visible = false;
}
private function onSecurityError(evt:Event):void{
finishedSaveAttempt();
}
public function setupPhaseAddGlitter():void{
setNextText("MIX POLISH");
showNavButtons();
setTutorialText(addGlitterTitle, addGlitterParagraph, null, false);
timedOpenTutorial();
}
private function showEndButtons():void{
showKeepButton();
showGiftButton();
showSparkCityButton();
playagain_btn.visible = true;
}
public function exitPhaseConclusion():void{
hideAllButtons();
}
public function exitPhaseMixer():void{
hideAllButtons();
}
public function setupPhaseColorMix():void{
setNextText("ADD GLITTER");
showNavButtons();
setTutorialText(colorMixTitle, colorMixParagraph1, colorMixParagraph2, true);
timedOpenTutorial();
if (__challengeMode){
startChallengeClock();
};
}
private function generalRollOverEvt(e:MouseEvent):void{
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
}
private function setTutorialText(title:String, paragraph1:String, paragraph2:String, hasSecondParagraph:Boolean):void{
__firstString = paragraph1;
__secondString = paragraph2;
tutorialtext_mc["title_txt"].text = title;
tutorialtext_mc["txt"].text = __firstString;
__hasSecondParagraph = hasSecondParagraph;
__doneFirstString = false;
}
public function hideMyNails():void{
setupPhaseLoading();
}
private function showAboutEvt(evt:MouseEvent):void{
exitPhaseLoading();
(parent as Game).showAbout();
}
private function updateTime():void{
var min:int;
var minDisplay:int;
var sec:int;
var timeText:String;
min = Math.floor((__secondsTaken / 60));
minDisplay = (min % 60);
sec = (__secondsTaken - (60 * min));
timeText = "";
if (minDisplay < 10){
timeText = "0";
} else {
timeText = "";
};
timeText = (timeText + (String(minDisplay) + ":"));
if (sec < 10){
timeText = (timeText + "0");
};
timeText = (timeText + String(sec));
timer_txt.text = timeText;
}
private function setNextText(txt:String):void{
nav_next_mc["txt"].text = txt;
nav_next_small_mc["txt"].text = txt;
}
public function setupPhaseDryer():void{
setNextText("APPLY DECALS");
showNavButtons();
nav_clear_mc.visible = false;
setTutorialText(dryNailsTitle, dryNailsParagraph, null, false);
timedOpenTutorial();
}
public function reset():void{
goalpopup_mc.reset();
resetChallengeClock();
}
public function disableEndScreenButtons():void{
playagain_btn.removeEventListener(MouseEvent.CLICK, goHomePhaseEvt);
playagain_btn.enabled = false;
keep_btn.removeEventListener(MouseEvent.CLICK, onKeepPolishEvt);
keep_btn.enabled = false;
gift_btn.removeEventListener(MouseEvent.CLICK, onGiftPolishEvt);
gift_btn.enabled = false;
spark_btn.removeEventListener(MouseEvent.CLICK, onSparkCityEvt);
spark_btn.enabled = false;
}
private function onSaveComplete(evt:Event):void{
finishedSaveAttempt();
}
public function fadeOutGoal():void{
goalpopup_animated_mc.gotoAndPlay("out");
}
public function getTimeTaken():int{
return (__secondsTaken);
}
private function onError(evt:Event):void{
finishedSaveAttempt();
}
private function showMyNailsButton():void{
mynails_btn.visible = true;
}
private function nextTutorial():void{
if (__tutorialOpen){
if (((__hasSecondParagraph) && (!(__doneFirstString)))){
tutorialtext_mc["txt"].text = __secondString;
__doneFirstString = true;
__tutorialTimer.reset();
__tutorialTimer.start();
playSound(TUTORIALOPENSOUND, 0);
} else {
closeTutorial();
};
};
}
public function hideAbout():void{
setupPhaseLoading();
}
private function onKeepPolishEvt(evt:MouseEvent):void{
var request:URLRequest;
var colorData:String;
var url:String;
colorData = "";
colorData = (colorData + (((((parent as Game).getMixedColor() + "|") + (parent as Game).getGoldRate()) + "|") + (parent as Game).getSparkleDensity()));
url = (((parent as AGADocument).servicesURL + "games/spafactory/save_color.php?data=") + colorData);
if ((parent as AGADocument).loggedIn){
__urlLoader.addEventListener(Event.COMPLETE, onSaveComplete, false, 0, true);
__urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
__urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
request = new URLRequest(url);
__urlLoader.load(request);
disableEndScreenButtons();
};
}
private function closeTutorial():void{
tutorial_container_mc.gotoAndPlay("out");
__tutorialOpen = false;
__tutorialTimer.stop();
minimize_btn.visible = false;
help_btn.visible = true;
__doneFirstString = false;
if (tutorial_container_mc.visible){
playSound(TUTORIALCLOSESOUND, 0);
};
}
public function exitPhasePaint():void{
hideAllButtons();
tutorial_container_mc.removeEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
tutorial_container_mc.removeEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
if (__challengeMode){
nav_home_challenge_container_mc.removeEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
nav_home_challenge_container_mc.removeEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
} else {
nav_home_container_mc.removeEventListener(MouseEvent.MOUSE_OVER, generalRollOverEvt);
nav_home_container_mc.removeEventListener(MouseEvent.MOUSE_OUT, generalRollOutEvt);
};
}
private function hideGoal():void{
goalpopup_mc.disable();
goalpopup_mc.visible = false;
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_HIDEGOAL));
}
private function showAllButtons():void{
showNavButtons();
showMenuButtons();
showEndButtons();
}
private function openTutorialEvt(evt:MouseEvent):void{
openTutorial();
}
private function showGiftButton():void{
if ((((((parent as AGADocument).loggedIn) && (!(__challengeMode)))) && ((parent as Game).hasFriends()))){
gift_btn.visible = true;
};
}
private function hideAllButtons():void{
hideNavButtons();
hideMenuButtons();
hideEndButtons();
hideGoal();
}
private function goNextPhaseEvt(evt:MouseEvent):void{
goNextPhase();
}
public function exitPhaseViewGoal():void{
hideAllButtons();
}
private function goHomePhaseEvt(evt:MouseEvent):void{
(parent as Game).resetMyNails();
(parent as Game).goHomePhase();
}
public function exitPhaseLoading():void{
hideMenuButtons();
}
private function goBackPhaseEvt(evt:MouseEvent):void{
(parent as Game).goBackPhase();
}
public function exitPhaseIntro():void{
hideAllButtons();
}
private function goNextPhaseFreeEvt(evt:MouseEvent):void{
(parent as Game).gamePlayed();
(parent as Game).setChallengeMode(false);
__challengeMode = false;
goNextPhase();
}
private function fadeInMenuButtons():void{
menuButtons_fading_mc.gotoAndPlay("in");
}
private function hideKeepAndGiftButtons():void{
gift_btn.visible = false;
keep_btn.visible = false;
}
private function generalRollOutEvt(e:MouseEvent):void{
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
}
private function showGoal():void{
playSound(SHOWGOALSOUND);
goalpopup_mc.visible = true;
goalpopup_mc.enable();
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_SHOWGOAL));
goalpopup_animated_mc.gotoAndPlay("in");
}
public function setupPhaseMixer():void{
setNextText("APPLY POLISH");
showNavButtons();
nav_clear_mc.visible = false;
setTutorialText(mixPolishTitle, mixPolishParagraph, null, false);
timedOpenTutorial();
}
private function showNavButtons():void{
var nextString:String;
if (__challengeMode){
nav_back_mc.visible = false;
nav_clear_mc.visible = false;
nav_home_container_mc.visible = false;
nav_home_challenge_container_mc.visible = true;
} else {
nav_back_mc.visible = true;
nav_clear_mc.visible = true;
nav_home_container_mc.visible = true;
nav_home_challenge_container_mc.visible = false;
};
nextString = nav_next_mc["txt"].text;
if (nextString.length > 5){
nav_next_mc.visible = true;
nav_next_small_mc.visible = false;
} else {
nav_next_mc.visible = false;
nav_next_small_mc.visible = true;
};
tutorial_container_mc.visible = true;
}
public function setupPhaseConclusion():void{
stopChallengeClock();
hideAllButtons();
showEndButtons();
nav_clear_mc.visible = false;
}
public function exitPhaseAddDecal():void{
hideAllButtons();
}
private function openTutorial():void{
if (!__tutorialOpen){
playSound(TUTORIALOPENSOUND, 0);
tutorialtext_mc["txt"].text = __firstString;
tutorial_container_mc.gotoAndPlay("in");
__tutorialOpen = true;
minimize_btn.visible = true;
help_btn.visible = false;
};
}
private function goClearPhaseEvt(evt:MouseEvent):void{
(parent as Game).goClearPhase();
}
private function hideNavButtons():void{
nav_back_mc.visible = false;
nav_clear_mc.visible = false;
nav_home_container_mc.visible = false;
nav_home_challenge_container_mc.visible = false;
nav_next_mc.visible = false;
nav_next_small_mc.visible = false;
tutorial_container_mc.visible = false;
closeTutorial();
}
private function showMenuButtons():void{
soundBtn2_mc.visible = true;
freeplay_btn.visible = true;
challenge_btn.visible = true;
showMyNailsButton();
about_btn.visible = true;
fadeInMenuButtons();
}
private function onGoalOutDone(e:AnimationEvent):void{
hideGoal();
}
}
}//package com.aga.nailspa.game.navigation
Section 99
//UploadPostHelper (com.aga.nailspa.game.net.UploadPostHelper)
package com.aga.nailspa.game.net {
import flash.utils.*;
public class UploadPostHelper {
private static var _boundary:String = "";
public function UploadPostHelper(){
super();
}
public static function getBoundary():String{
var i:int;
if (_boundary.length == 0){
i = 0;
while (i < 32) {
_boundary = (_boundary + String.fromCharCode(int((97 + (Math.random() * 25)))));
i++;
};
};
return (_boundary);
}
private static function DOUBLEDASH(p:ByteArray):ByteArray{
p.writeShort(0x2D2D);
return (p);
}
public static function getPostData(fileName:String, byteArray:ByteArray, parameters:Object=null):ByteArray{
var i:int;
var bytes:String;
var postData:ByteArray;
var name:String;
postData = new ByteArray();
postData.endian = Endian.BIG_ENDIAN;
if (parameters == null){
parameters = new Object();
};
for (name in parameters) {
postData = BOUNDARY(postData);
postData = LINEBREAK(postData);
bytes = (("Content-Disposition: form-data; name=\"" + name) + "\"");
i = 0;
while (i < bytes.length) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
postData = LINEBREAK(postData);
postData = LINEBREAK(postData);
postData.writeUTFBytes(parameters[name]);
postData = LINEBREAK(postData);
};
postData = BOUNDARY(postData);
postData = LINEBREAK(postData);
bytes = "Content-Disposition: form-data; name=\"Filedata\"; filename=\"";
i = 0;
while (i < bytes.length) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
postData.writeUTFBytes(fileName);
postData = QUOTATIONMARK(postData);
postData = LINEBREAK(postData);
bytes = "Content-Type: application/octet-stream";
i = 0;
while (i < bytes.length) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
postData = LINEBREAK(postData);
postData = LINEBREAK(postData);
postData.writeBytes(byteArray, 0, byteArray.length);
postData = LINEBREAK(postData);
postData = BOUNDARY(postData);
postData = DOUBLEDASH(postData);
return (postData);
}
private static function QUOTATIONMARK(p:ByteArray):ByteArray{
p.writeByte(34);
return (p);
}
private static function BOUNDARY(p:ByteArray):ByteArray{
var l:int;
var i:int;
l = UploadPostHelper.getBoundary().length;
p = DOUBLEDASH(p);
i = 0;
while (i < l) {
p.writeByte(_boundary.charCodeAt(i));
i++;
};
return (p);
}
private static function LINEBREAK(p:ByteArray):ByteArray{
p.writeShort(3338);
return (p);
}
}
}//package com.aga.nailspa.game.net
Section 100
//BottleEvent (com.aga.nailspa.game.phasepaint.BottleEvent)
package com.aga.nailspa.game.phasepaint {
import flash.events.*;
public class BottleEvent extends Event {
private var __color:uint;
private var __density:Number;
private var __gold:Number;
private var __type:String;
public static const EVENT:String = "setBottlePaintEvent";
public function BottleEvent(color:uint, gold:Number, density:Number){
super(EVENT, true, false);
__type = EVENT;
__color = color;
__gold = gold;
__density = density;
}
public function get gold():Number{
return (__gold);
}
public function get color():uint{
return (__color);
}
public function get density():Number{
return (__density);
}
}
}//package com.aga.nailspa.game.phasepaint
Section 101
//ColorChooser (com.aga.nailspa.game.phasepaint.ColorChooser)
package com.aga.nailspa.game.phasepaint {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.aga.nailspa.game.phases.*;
import com.fuelindustries.controls.buttons.*;
import com.fuelindustries.core.*;
public class ColorChooser extends FuelUI {
private var __delim:String;// = "|"
private var __urlLoader:URLLoader;
private var __viewingMineFlag:Boolean;// = true
public var downarrow_btn:EaseButton;
public var uparrow_btn:EaseButton;
public var yourColorsCon:FuelUI;
private var __viewingCon:FuelUI;
public var tabMine_btn:TabButton;
private var __curColorData:String;
private var __finalY:int;// = 0
private var __data:Object;
private var __selectedColor:ColorSelectable;
private var __colorLinkage:String;// = "paintColor_mc"
public var mask_mc:MovieClip;
public var friendsColorCon:FuelUI;
public var tabFriends_btn:TabButton;
private var __shiftY:int;// = 44
public function ColorChooser(){
__colorLinkage = "paintColor_mc";
__delim = "|";
__viewingMineFlag = true;
__shiftY = 44;
__finalY = 0;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function showContainer():void{
if (__viewingCon != null){
__viewingCon.cancelTween("slideTo");
__viewingCon.y = __finalY;
};
if (__viewingMineFlag){
__viewingCon = yourColorsCon;
yourColorsCon.visible = true;
friendsColorCon.visible = false;
__finalY = __viewingCon.y;
} else {
__viewingCon = friendsColorCon;
yourColorsCon.visible = false;
friendsColorCon.visible = true;
__finalY = __viewingCon.y;
};
}
private function updateColor(container:MovieClip, index:int, colorItem:ColorItem):void{
(container.getChildAt(index) as (getDefinitionByName(__colorLinkage) as Class)).setPaint(colorItem.color, colorItem.goldRate, colorItem.sparkleRate, colorItem.username);
}
private function clearAll():void{
__curColorData = null;
__finalY = 0;
__viewingCon = null;
__viewingMineFlag = true;
if (yourColorsCon != null){
yourColorsCon.y = 0;
while (yourColorsCon.numChildren > 0) {
yourColorsCon.removeChild(yourColorsCon.getChildAt(0));
};
};
if (friendsColorCon != null){
friendsColorCon.y = 0;
while (friendsColorCon.numChildren > 0) {
friendsColorCon.removeChild(friendsColorCon.getChildAt(0));
};
};
}
private function loadFriendsColors():void{
var friendColor_arr:Array;
var j:int;
friendColor_arr = [];
j = 0;
while (j < (__data["nails"]["friendColors"] as Array).length) {
friendColor_arr.push(parseColor(__data["nails"]["friendColors"][j]["data"], __data["nails"]["friendColors"][j]["username"]));
j++;
};
addColors(friendsColorCon, friendColor_arr);
}
public function setupColors(curColorData:String, servicesURL:String):void{
clearAll();
__curColorData = curColorData;
loadInfo(servicesURL);
}
private function loadPersonalColors():void{
var myColor_arr:Array;
var i:int;
myColor_arr = [];
myColor_arr.push(parseColor(__curColorData));
i = 0;
while (i < (__data["nails"]["myColors"] as Array).length) {
myColor_arr.push(parseColor(__data["nails"]["myColors"][i]));
i++;
};
addColors(yourColorsCon, myColor_arr);
}
private function parseColor(color_str:String, username:String=""):ColorItem{
var param_arr:Array;
var colorItem:ColorItem;
param_arr = [];
param_arr = color_str.split(__delim);
colorItem = new ColorItem(uint(param_arr[0]), Number(param_arr[1]), Number(param_arr[2]), username);
return (colorItem);
}
private function onInfoReady(evt:Event):void{
var str:String;
var jsonObj:Object;
__urlLoader.removeEventListener(Event.COMPLETE, onInfoReady, false);
str = String(__urlLoader.data);
jsonObj = JSON.decode(str);
__data = jsonObj;
loadPersonalColors();
loadFriendsColors();
dispatchEvent(new PaintEvent((yourColorsCon.getChildAt(0) as ColorSelectable)));
showContainer();
showButtons();
setTabs();
enable();
}
public function setFirstColor(curColorData:String):void{
var newColorItem:ColorItem;
newColorItem = parseColor(curColorData);
updateColor(yourColorsCon, 0, newColorItem);
}
private function onTabMine(evt:MouseEvent):void{
__viewingMineFlag = true;
showContainer();
showButtons();
setTabs();
}
private function loadInfo(servicesURL:String):void{
var request:URLRequest;
var fullurl:String;
__urlLoader = new URLLoader();
__urlLoader.addEventListener(Event.COMPLETE, onInfoReady, false, 0, true);
if (servicesURL != ""){
request = new URLRequest((servicesURL + "games/spafactory/get_info.php"));
__urlLoader.load(request);
} else {
fullurl = "xml/get_info.json";
request = new URLRequest(fullurl);
__urlLoader.load(request);
};
}
public function disable():void{
uparrow_btn.removeEventListener(MouseEvent.CLICK, onUpPressed);
downarrow_btn.removeEventListener(MouseEvent.CLICK, onDownPressed);
tabMine_btn.removeEventListener(MouseEvent.CLICK, onTabMine);
tabFriends_btn.removeEventListener(MouseEvent.CLICK, onTabFriends);
}
private function setTabs():void{
if (__viewingMineFlag){
tabMine_btn.setOn(true);
tabFriends_btn.setOn(false);
} else {
tabMine_btn.setOn(false);
tabFriends_btn.setOn(true);
};
}
private function addColors(container:MovieClip, colors_arr:Array):void{
var offsetX:int;
var offsetY:int;
var myColorItem:ColorItem;
var paintClassRef:Class;
var swatch:ColorSelectable;
var i:int;
offsetX = 42;
offsetY = 45;
paintClassRef = (getDefinitionByName(__colorLinkage) as Class);
i = 0;
while (i < colors_arr.length) {
myColorItem = colors_arr[i];
swatch = new (paintClassRef);
swatch.x = (offsetX * (i % 2));
swatch.y = (offsetY * int((i / 2)));
swatch.setPaint(myColorItem.color, myColorItem.goldRate, myColorItem.sparkleRate, myColorItem.username);
container.addChild(swatch);
i++;
};
}
private function onTabFriends(evt:MouseEvent):void{
__viewingMineFlag = false;
showContainer();
showButtons();
setTabs();
}
public function enable():void{
uparrow_btn.addEventListener(MouseEvent.CLICK, onUpPressed, false, 0, true);
downarrow_btn.addEventListener(MouseEvent.CLICK, onDownPressed, false, 0, true);
tabMine_btn.addEventListener(MouseEvent.CLICK, onTabMine);
tabFriends_btn.addEventListener(MouseEvent.CLICK, onTabFriends);
}
private function onDoneEase(... _args):void{
enable();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
this.addEventListener(PaintEvent.EVENT, onPaintSelect);
}
private function onPaintSelect(evt:PaintEvent):void{
if (evt.colorSector != __selectedColor){
if (__selectedColor != null){
__selectedColor.unSelect();
};
evt.colorSector.select();
__selectedColor = evt.colorSector;
};
}
private function onDownPressed(evt:MouseEvent):void{
__finalY = (__viewingCon.y + __shiftY);
__viewingCon.slideTo(__viewingCon.x, __finalY, 500, "ease", onDoneEase);
disable();
showButtons();
}
private function showButtons():void{
var total:int;
total = (__finalY + __viewingCon.height);
if (total < 150){
uparrow_btn.enabled = false;
uparrow_btn.alpha = 0.3;
} else {
uparrow_btn.enabled = true;
uparrow_btn.alpha = 1;
};
if (__finalY < 0){
downarrow_btn.enabled = true;
downarrow_btn.alpha = 1;
} else {
downarrow_btn.enabled = false;
downarrow_btn.alpha = 0.3;
};
}
private function onUpPressed(evt:MouseEvent):void{
__finalY = (__viewingCon.y - __shiftY);
__viewingCon.slideTo(__viewingCon.x, __finalY, 500, "ease", onDoneEase);
disable();
showButtons();
}
}
}//package com.aga.nailspa.game.phasepaint
Section 102
//ColorItem (com.aga.nailspa.game.phasepaint.ColorItem)
package com.aga.nailspa.game.phasepaint {
public class ColorItem {
public var goldRate:Number;
public var color:uint;
public var username:String;
public var sparkleRate:Number;
public function ColorItem(color:uint, goldRate:Number, sparkleRate:Number, username:String){
super();
this.color = color;
this.goldRate = goldRate;
this.sparkleRate = sparkleRate;
this.username = username;
}
}
}//package com.aga.nailspa.game.phasepaint
Section 103
//PaintEvent (com.aga.nailspa.game.phasepaint.PaintEvent)
package com.aga.nailspa.game.phasepaint {
import flash.events.*;
import com.aga.nailspa.game.phases.*;
public class PaintEvent extends Event {
private var __colorSector:ColorSelectable;
private var __type:String;
public static const EVENT:String = "paintEvent";
public function PaintEvent(colorSector:ColorSelectable){
super(EVENT, true, false);
__type = EVENT;
__colorSector = colorSector;
}
public function get colorSector():ColorSelectable{
return (__colorSector);
}
}
}//package com.aga.nailspa.game.phasepaint
Section 104
//TabButton (com.aga.nailspa.game.phasepaint.TabButton)
package com.aga.nailspa.game.phasepaint {
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class TabButton extends EaseButton {
private const CLICKSOUND:String = "btnClick";
private const OVERSOUND:String = "btnOver";
private var __am:AudioManager;
public function TabButton(){
super();
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
override protected function setFrame(frame:String):void{
switch (frame){
case "out":
if (this.enabled){
this.gotoAndStop("out");
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
};
break;
case "disabled":
if (this.enabled){
this.gotoAndStop("out");
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
};
break;
case "over":
if (this.enabled){
this.gotoAndStop("over");
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
playSound(OVERSOUND, 0);
};
break;
case "down":
if (this.enabled){
this.gotoAndStop("over");
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOVER));
playSound(OVERSOUND, 0);
};
break;
case "selected":
EventBridge.getInstance().dispatchEvent(new Event(BrushEvents.EVENT_BUTTONOUT));
playSound(CLICKSOUND, 0);
break;
};
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
__am.setVolume(OVERSOUND, 0.3);
}
public function setOn(f:Boolean):void{
if (f){
this.enabled = false;
this.gotoAndStop("on");
} else {
this.enabled = true;
this.gotoAndStop("out");
};
}
}
}//package com.aga.nailspa.game.phasepaint
Section 105
//UsernameTooltip (com.aga.nailspa.game.phasepaint.UsernameTooltip)
package com.aga.nailspa.game.phasepaint {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.fuelindustries.core.*;
public class UsernameTooltip extends FuelUI {
public var name_mc:MovieClip;
public var username:String;
public function UsernameTooltip(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function hide():void{
this.cancelTween("frameTo");
this.frameTo("out", 250, null, doneOut);
}
private function doneOut(... _args):void{
this.visible = false;
if (parent != null){
parent.removeChild(this);
};
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
show();
}
public function show():void{
(this.name_mc["username_txt"] as TextField).text = this.username;
this.cancelTween("frameTo");
this.visible = true;
this.gotoAndStop(1);
this.frameTo("in", 250);
}
}
}//package com.aga.nailspa.game.phasepaint
Section 106
//AboutSpa (com.aga.nailspa.game.phases.AboutSpa)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.controls.buttons.*;
public class AboutSpa extends MovieClip {
public var aboutspapopup_mc:MovieClip;
public var close_btn:SoundEaseButton;
public var thanks_btn:SoundEaseButton;
public function AboutSpa(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function hideAbout(... _args):void{
(parent.parent as PhaseLoading).hideAbout();
}
public function enable(){
close_btn.addEventListener(MouseEvent.CLICK, hideAbout);
thanks_btn.addEventListener(MouseEvent.CLICK, hideAbout);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
close_btn = aboutspapopup_mc["close_btn"];
thanks_btn = aboutspapopup_mc["thanks_btn"];
thanks_btn["txt"].text = "THANKS";
}
public function disable(){
close_btn.removeEventListener(MouseEvent.CLICK, hideAbout);
thanks_btn.removeEventListener(MouseEvent.CLICK, hideAbout);
}
}
}//package com.aga.nailspa.game.phases
Section 107
//ArrowButton (com.aga.nailspa.game.phases.ArrowButton)
package com.aga.nailspa.game.phases {
import flash.display.*;
import com.aga.nailspa.game.controls.buttons.*;
public class ArrowButton extends SoundEaseButton {
public var swatch_mc:MovieClip;
public function ArrowButton(){
super();
}
}
}//package com.aga.nailspa.game.phases
Section 108
//Bottle (com.aga.nailspa.game.phases.Bottle)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
public class Bottle extends MovieClip {
private const FULL:Number = 1;
private const GLITTERSTARTX:Number = 0;
private const GLITTERSTARTY:Number = 0;
private const MAXGLITTERLAYERS:int = 12;
private const EMPTY:Number = 0;
private const FILLINC:Number = 0.01;
private const FULLPCT:Number = 72;
public var dripColor:ColorTransform;
private var colorDrip:Boolean;// = true
public var paint_full_text:TextField;
public var dye_splash_anim_mc:MovieClip;
public var sparkle_anim_mc:MovieClip;
public var sparkle_anim_front_mc:MovieClip;
private var dripFalling:Boolean;// = false
public var glitterColor:ColorTransform;
public var nail_polish_anim_mc:MovieClip;
var startingScaleY:Number;// = 1
private var glitterX:Number;
private var glitterY:Number;
public var splashColor:ColorTransform;
public var glitter_splash_anim_mc:MovieClip;
public var glitter_full_text:TextField;
var fill:Number;// = 0
public var glitter_holder_mc:MovieClip;
public var fillColor:ColorTransform;
private var glitterLayerArray:Array;
public var mask_mc:MovieClip;
public var drip_mc:MovieClip;
private var numGoldLayers:int;// = 0
public var color_mc:MovieClip;
public function Bottle():void{
fill = 0;
startingScaleY = 1;
fillColor = new ColorTransform();
dripColor = new ColorTransform();
splashColor = new ColorTransform();
glitterColor = new ColorTransform();
dripFalling = false;
colorDrip = true;
glitterLayerArray = new Array();
numGoldLayers = 0;
super();
startingScaleY = mask_mc.scaleY;
reset();
}
public function setEmpty():void{
fill = EMPTY;
showFill();
}
public function setFull():void{
fill = (FULLPCT / 100);
showFill();
}
private function showFill():void{
mask_mc.scaleY = (fill * startingScaleY);
}
public function setColor(color:Number):void{
fillColor.color = color;
color_mc.transform.colorTransform = fillColor;
}
public function isEmpty():Boolean{
return ((Math.floor((fill * 100)) <= 0));
}
public function splash(colorNum:Number):void{
splashColor.color = colorNum;
dye_splash_anim_mc.transform.colorTransform = splashColor;
dye_splash_anim_mc.y = ((mask_mc.y - mask_mc.height) - 15);
dye_splash_anim_mc.gotoAndPlay(1);
}
public function incFill():Boolean{
fill = (fill + FILLINC);
showFill();
return (isFull());
}
private function onEnterFrame(event:Event):void{
if (((dripFalling) && (nail_polish_anim_mc.hitTestObject(mask_mc)))){
dropped();
};
}
public function getGoldRate():Number{
return ((numGoldLayers / glitterLayerArray.length));
}
public function isFull():Boolean{
if (Math.ceil((fill * 100)) >= FULLPCT){
return (true);
};
return (false);
}
public function disable():void{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function releaseDrip(colorNum:Number, colorD:Boolean):void{
dripColor.color = colorNum;
nail_polish_anim_mc.transform.colorTransform = dripColor;
nail_polish_anim_mc.gotoAndPlay(1);
dripFalling = true;
colorDrip = colorD;
}
public function setFill(fillAmt:Number):void{
fill = fillAmt;
showFill();
}
public function sparkle(colorNum:Number, sparkleColorNum:Number):void{
var splashHeight:Number;
splashColor.color = colorNum;
glitter_splash_anim_mc.transform.colorTransform = splashColor;
glitterColor.color = sparkleColorNum;
sparkle_anim_mc.transform.colorTransform = glitterColor;
splashHeight = ((mask_mc.y - mask_mc.height) - 15);
glitter_splash_anim_mc.y = splashHeight;
glitter_splash_anim_mc.gotoAndPlay(1);
sparkle_anim_mc.y = splashHeight;
sparkle_anim_front_mc.y = splashHeight;
sparkle_anim_mc.gotoAndPlay(1);
sparkle_anim_front_mc.gotoAndPlay(1);
}
public function reset():void{
nail_polish_anim_mc.stop();
dye_splash_anim_mc.stop();
glitter_splash_anim_mc.stop();
sparkle_anim_mc.stop();
sparkle_anim_front_mc.stop();
setEmpty();
removeGlitterLayers();
}
public function enable():void{
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function showGlitter():void{
glitter_holder_mc.visible = true;
}
public function getColor():Number{
return (fillColor.color);
}
public function hideGlitter():void{
glitter_holder_mc.visible = false;
}
public function addGlitterLayer(color:Number, gold:Boolean):Boolean{
var gL:glitter_layer_mc;
gL = new glitter_layer_mc();
glitter_holder_mc.addChild(gL);
gL.x = glitterX;
gL.y = glitterY;
glitterY = (glitterY - gL.height);
glitterColor.color = color;
gL.transform.colorTransform = glitterColor;
glitterLayerArray.push(gL);
if (gold){
numGoldLayers++;
};
return (isGlitterFull());
}
public function removeGlitterLayers():void{
var numGlitters:*;
var nthGlitter:int;
glitterX = GLITTERSTARTX;
glitterY = GLITTERSTARTY;
numGlitters = glitterLayerArray.length;
nthGlitter = 0;
while (nthGlitter < numGlitters) {
glitter_holder_mc.removeChild(glitterLayerArray.pop());
nthGlitter++;
};
numGoldLayers = 0;
}
public function dropped():void{
dripFalling = false;
if (colorDrip){
(parent as SpaItem).colorDripHit();
} else {
(parent as SpaItem).glitterDripHit();
};
}
public function getSparkleDensity():Number{
return ((glitterLayerArray.length / MAXGLITTERLAYERS));
}
public function setHalfFull():void{
fill = (FULL / 2);
showFill();
}
public function getFill():Number{
return (fill);
}
public function isGlitterFull():Boolean{
if (glitterLayerArray.length >= MAXGLITTERLAYERS){
return (true);
};
return (false);
}
}
}//package com.aga.nailspa.game.phases
Section 109
//Brush (com.aga.nailspa.game.phases.Brush)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
import flash.ui.*;
public class Brush extends MovieClip {
private const PAINTLOOP:String = "Painting";
private var __am:AudioManager;
var cursor:Object;
private var __enabled:Boolean;// = false
var painting:Boolean;// = false
private var __viewingGoal:Boolean;// = false
public function Brush(){
painting = false;
cursor = this;
__enabled = false;
__viewingGoal = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function startPaint():void{
if (!painting){
gotoAndStop("paint");
painting = true;
if (this.visible){
playSound(PAINTLOOP, 9999);
};
};
}
private function mouseUpHandler(event:MouseEvent):void{
stopPaint();
}
public function stopSound(snd_linkage:String):void{
__am.stopSound(snd_linkage);
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
private function mouseDownHandler(event:MouseEvent):void{
startPaint();
}
private function onHideGoal(event:Event):void{
this.visible = true;
__viewingGoal = false;
Mouse.hide();
}
private function stopPaint():void{
if (painting){
gotoAndStop("rest");
painting = false;
stopSound(PAINTLOOP);
};
}
public function enable():void{
if (!__enabled){
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
stage.addEventListener(MouseEvent.ROLL_OUT, mouseRollOutHandler);
stage.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
stage.addEventListener(MouseEvent.MOUSE_MOVE, follow);
EventBridge.getInstance().addEventListener(BrushEvents.EVENT_BUTTONOVER, onButtonOver);
EventBridge.getInstance().addEventListener(BrushEvents.EVENT_BUTTONOUT, onButtonOut);
EventBridge.getInstance().addEventListener(BrushEvents.EVENT_SHOWGOAL, onShowGoal);
EventBridge.getInstance().addEventListener(BrushEvents.EVENT_HIDEGOAL, onHideGoal);
__enabled = true;
};
}
private function onButtonOver(event:Event):void{
if (!__viewingGoal){
this.visible = false;
Mouse.show();
};
}
private function onButtonOut(event:Event):void{
if (!__viewingGoal){
this.visible = true;
Mouse.hide();
stopSound(PAINTLOOP);
};
}
private function onAddedToStage(evt:Event):void{
__am = new AudioManager();
SoundToggleButton.addToList(__am);
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
x = mouseX;
y = mouseY;
this.buttonMode = false;
this.useHandCursor = false;
this.mouseEnabled = false;
this.doubleClickEnabled = false;
this.tabEnabled = false;
}
private function onShowGoal(event:Event):void{
this.visible = false;
__viewingGoal = true;
Mouse.show();
}
private function follow(event:MouseEvent):void{
x = stage.mouseX;
y = stage.mouseY;
}
private function mouseRollOutHandler(event:MouseEvent):void{
stopPaint();
}
public function disable():void{
if (__enabled){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
stage.removeEventListener(MouseEvent.ROLL_OUT, mouseRollOutHandler);
stage.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, follow);
EventBridge.getInstance().removeEventListener(BrushEvents.EVENT_BUTTONOVER, onButtonOver);
EventBridge.getInstance().removeEventListener(BrushEvents.EVENT_BUTTONOUT, onButtonOut);
EventBridge.getInstance().removeEventListener(BrushEvents.EVENT_SHOWGOAL, onShowGoal);
EventBridge.getInstance().removeEventListener(BrushEvents.EVENT_HIDEGOAL, onHideGoal);
__enabled = false;
Mouse.show();
};
}
private function mouseOverHandler(event:MouseEvent):void{
if (event.buttonDown){
startPaint();
};
}
}
}//package com.aga.nailspa.game.phases
Section 110
//ColorIndicator (com.aga.nailspa.game.phases.ColorIndicator)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.text.*;
public class ColorIndicator extends MovieClip {
public var red_mc:MovieClip;
public var blue_txt:TextField;
public var yellow_txt:TextField;
public var yellow_mc:MovieClip;
public var blue_mc:MovieClip;
public var red_txt:TextField;
public function ColorIndicator(){
super();
}
}
}//package com.aga.nailspa.game.phases
Section 111
//ColorMixer (com.aga.nailspa.game.phases.ColorMixer)
package com.aga.nailspa.game.phases {
public class ColorMixer {
public function ColorMixer(){
super();
}
function getB(iR:Number, iY:Number, iB:Number):Number{
var x0:*;
var x1:*;
var x2:*;
var x3:*;
var y0:*;
var y1:Number;
x0 = cubicInt(iB, 1, 0.6);
x1 = cubicInt(iB, 0, 0.2);
x2 = cubicInt(iB, 0, 0.5);
x3 = cubicInt(iB, 0, 0);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);
return (Math.ceil((0xFF * cubicInt(iR, y0, y1))));
}
public function cubicInt(t:Number, A:Number, B:Number):Number{
var weight:*;
weight = ((t * t) * (3 - (2 * t)));
return ((A + (weight * (B - A))));
}
function getG(iR:Number, iY:Number, iB:Number):Number{
var x0:*;
var x1:*;
var x2:*;
var x3:*;
var y0:*;
var y1:Number;
x0 = cubicInt(iB, 1, 0.373);
x1 = cubicInt(iB, 1, 0.66);
x2 = cubicInt(iB, 0, 0);
x3 = cubicInt(iB, 0.5, 0.094);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);
return (Math.ceil((0xFF * cubicInt(iR, y0, y1))));
}
function getR(iR:Number, iY:Number, iB:Number):Number{
var x0:*;
var x1:*;
var x2:*;
var x3:*;
var y0:*;
var y1:Number;
x0 = cubicInt(iB, 1, 0.163);
x1 = cubicInt(iB, 1, 0);
x2 = cubicInt(iB, 1, 0.5);
x3 = cubicInt(iB, 1, 0.2);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);
return (Math.ceil((0xFF * cubicInt(iR, y0, y1))));
}
public function mix(redDrops:int, yellowDrops:int, blueDrops:int, clearDrops:int):Number{
var TotalColorDrops:int;
var TotalDrops:int;
var newR:Number;
var newG:Number;
var newB:Number;
var R:Number;
var Y:Number;
var B:Number;
var biggestProportion:*;
TotalColorDrops = ((blueDrops + redDrops) + yellowDrops);
TotalDrops = (((blueDrops + redDrops) + yellowDrops) + clearDrops);
newR = 0xFF;
newG = 0xFF;
newB = 0xFF;
if (TotalColorDrops != 0){
R = (redDrops / TotalColorDrops);
Y = (yellowDrops / TotalColorDrops);
B = (blueDrops / TotalColorDrops);
biggestProportion = getMax(R, Y, B);
R = ((R / biggestProportion) * (TotalColorDrops / TotalDrops));
Y = ((Y / biggestProportion) * (TotalColorDrops / TotalDrops));
B = ((B / biggestProportion) * (TotalColorDrops / TotalDrops));
newR = getR(R, Y, B);
newG = getG(R, Y, B);
newB = getB(R, Y, B);
};
return ((((newR << 16) + (newG << 8)) + newB));
}
public function getMax(a:Number, b:Number, c:Number):Number{
if ((((a >= b)) && ((a >= c)))){
return (a);
};
if ((((b >= a)) && ((b >= c)))){
return (b);
};
return (c);
}
}
}//package com.aga.nailspa.game.phases
Section 112
//ColorSelectable (com.aga.nailspa.game.phases.ColorSelectable)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.geom.*;
import com.aga.nailspa.game.phasepaint.*;
public class ColorSelectable extends MovieClip {
private const __tooltipLinkage:String = "usernameTooltip_mc";
public var color_inactive_mc:MovieClip;
private var __tooltip:UsernameTooltip;
private var __currColor:Number;// = 0
public var chooser_colormask_mc:MovieClip;
private var __currGoldRate:Number;// = 0
private var __currSparkleDensity:Number;// = 0
public var color_option_mc:PaintMasked;
private var __creatorname:String;
public var color_select_mc:MovieClip;
private var __active:Boolean;// = false
public function ColorSelectable(){
__currColor = 0;
__currGoldRate = 0;
__currSparkleDensity = 0;
__active = false;
super();
color_option_mc.cacheAsBitmap;
color_option_mc.mask = chooser_colormask_mc;
color_select_mc.visible = false;
this.useHandCursor = true;
buttonMode = true;
mouseChildren = false;
mouseEnabled = true;
}
public function unSelect():void{
color_select_mc.visible = false;
}
public function select():void{
color_select_mc.visible = true;
dispatchEvent(new BottleEvent(__currColor, __currGoldRate, __currSparkleDensity));
}
public function onMouseOutEvent(evt:MouseEvent):void{
if (__tooltip != null){
__tooltip.hide();
__tooltip = null;
};
}
public function setPaint(color:Number, goldRate:Number, sparkleDensity:Number, username:String=""):void{
if (!__active){
this.addEventListener(MouseEvent.CLICK, onMouseClickEvent);
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverEvent);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutEvent);
color_inactive_mc.visible = false;
__active = true;
};
__creatorname = username;
__currColor = color;
__currGoldRate = goldRate;
__currSparkleDensity = sparkleDensity;
color_option_mc.setPaint(color, __currGoldRate, __currSparkleDensity);
}
public function onMouseClickEvent(event:MouseEvent):void{
dispatchEvent(new PaintEvent(this));
}
public function onMouseOverEvent(evt:MouseEvent):void{
var classRef:Class;
var pt:Point;
if (__creatorname.length > 0){
classRef = (getDefinitionByName(__tooltipLinkage) as Class);
__tooltip = new (classRef);
__tooltip.username = __creatorname;
pt = new Point(this.x, this.y);
pt = parent.localToGlobal(pt);
pt = parent.parent.globalToLocal(pt);
__tooltip.x = pt.x;
__tooltip.y = pt.y;
parent.parent.addChild(__tooltip);
};
}
}
}//package com.aga.nailspa.game.phases
Section 113
//ColorWheel (com.aga.nailspa.game.phases.ColorWheel)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import com.aga.base.media.sound.*;
import com.aga.nailspa.game.controls.buttons.*;
import com.aga.base.controls.buttons.*;
public class ColorWheel extends MovieClip {
private const ROTATESOUND:String = "ColorMixStartRotate";
const NUMCLEAR:int = 4;
private const ROT:Number = 6;
private const STEP:Number = 60;
private var drop2Array:Array;
public var colorwheel_color_back_mc:MovieClip;
private var __am:AudioManager;
private var twoColorArray:Array;
private var drop1Array:Array;
private var __yellow:Number;
private var slidingUp:Boolean;// = false
private var color2Array:Array;
public var equation_A_mc:Equation;
public var colorwheel_button_up_mc:SoundEaseButton;
private var currColor:int;// = 0
public var colorwheel_color_mc:MovieClip;
private var colormixer:ColorMixer;
private var __blue:Number;
private var fillColor:ColorTransform;
public var colorwheel_button_down_mc:SoundEaseButton;
private var __red:Number;
private var visibleEq:Equation;
public var equation_B_mc:Equation;
private var color1Array:Array;
private var colorMix:ColorMixer;
private var hiddenEq:Equation;
private var slidingDown:Boolean;// = false
public function ColorWheel(){
colorMix = new ColorMixer();
colormixer = new ColorMixer();
slidingUp = false;
slidingDown = false;
twoColorArray = [false, true, false, true, false, true, true, true];
drop1Array = [4, 5, 20, 7, 8, 4, 6, 3];
color1Array = [__red, __red, __red, __blue, __blue, __yellow, __red, __red];
drop2Array = [0, 5, 0, 11, 0, 4, 3, 7];
color2Array = [0, __blue, 0, __red, 0, __blue, __yellow, __yellow];
currColor = 0;
fillColor = new ColorTransform();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseEntry():void{
reset();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
colorwheel_button_up_mc.addEventListener(MouseEvent.MOUSE_DOWN, rotateCounterClockwise);
colorwheel_button_down_mc.addEventListener(MouseEvent.MOUSE_DOWN, rotateClockwise);
}
public function onPhaseExit():void{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
colorwheel_button_up_mc.removeEventListener(MouseEvent.MOUSE_DOWN, rotateCounterClockwise);
colorwheel_button_down_mc.removeEventListener(MouseEvent.MOUSE_DOWN, rotateClockwise);
}
private function doneRotation():void{
if (hiddenEq == equation_A_mc){
hiddenEq = equation_B_mc;
visibleEq = equation_A_mc;
} else {
hiddenEq = equation_A_mc;
visibleEq = equation_B_mc;
};
slidingUp = false;
slidingDown = false;
setSwatchColor();
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function rotateClockwise(event:MouseEvent):void{
playSound(ROTATESOUND, 0);
currColor++;
if (currColor >= twoColorArray.length){
currColor = 0;
};
visibleEq.rotation = 0;
hiddenEq.rotation = -(STEP);
hiddenEq.setEquation(twoColorArray[currColor], color1Array[currColor], drop1Array[currColor], color2Array[currColor], drop2Array[currColor]);
slidingDown = true;
}
public function rotateCounterClockwise(event:MouseEvent):void{
playSound(ROTATESOUND, 0);
currColor--;
if (currColor < 0){
currColor = (twoColorArray.length - 1);
};
visibleEq.rotation = 0;
hiddenEq.rotation = STEP;
hiddenEq.setEquation(twoColorArray[currColor], color1Array[currColor], drop1Array[currColor], color2Array[currColor], drop2Array[currColor]);
slidingUp = true;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__am = new AudioManager();
SoundToggleButton.addToList(__am);
colorwheel_color_back_mc = colorwheel_color_mc["color_mc"];
__red = colorMix.mix(1, 0, 0, 0);
__yellow = colorMix.mix(0, 1, 0, 0);
__blue = colorMix.mix(0, 0, 1, 0);
drop1Array = [4, 5, 20, 7, 8, 4, 6, 3];
twoColorArray = [false, true, false, true, false, true, true, true];
color1Array = [__red, __red, __red, __blue, __blue, __yellow, __red, __red];
drop2Array = [0, 5, 0, 11, 0, 4, 3, 7];
color2Array = [0, __blue, 0, __red, 0, __blue, __yellow, __yellow];
}
private function onEnterFrame(event:Event):void{
var rotateAmt:Number;
rotateAmt = 0;
if (slidingUp){
rotateAmt = -(ROT);
} else {
if (slidingDown){
rotateAmt = ROT;
};
};
hiddenEq.rotation = (hiddenEq.rotation + rotateAmt);
visibleEq.rotation = (visibleEq.rotation + rotateAmt);
if (hiddenEq.rotation == 0){
doneRotation();
};
}
public function reset():void{
currColor = 0;
setSwatchColor();
equation_A_mc.rotation = 0;
equation_B_mc.rotation = STEP;
visibleEq = equation_A_mc;
hiddenEq = equation_B_mc;
slidingUp = false;
slidingDown = false;
visibleEq.setEquation(twoColorArray[currColor], color1Array[currColor], drop1Array[currColor], color2Array[currColor], drop2Array[currColor]);
}
private function setSwatchColor():void{
var red:int;
var yellow:int;
var blue:int;
red = 0;
yellow = 0;
blue = 0;
switch (color1Array[currColor]){
case __red:
red = (red + drop1Array[currColor]);
break;
case __yellow:
yellow = (yellow + drop1Array[currColor]);
break;
case __blue:
blue = (blue + drop1Array[currColor]);
break;
default:
break;
};
switch (color2Array[currColor]){
case __red:
red = (red + drop2Array[currColor]);
break;
case __yellow:
yellow = (yellow + drop2Array[currColor]);
break;
case __blue:
blue = (blue + drop2Array[currColor]);
break;
default:
break;
};
fillColor.color = colormixer.mix(red, yellow, blue, NUMCLEAR);
colorwheel_color_back_mc.transform.colorTransform = fillColor;
}
}
}//package com.aga.nailspa.game.phases
Section 114
//DecalChooser (com.aga.nailspa.game.phases.DecalChooser)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import com.aga.nailspa.game.controls.buttons.*;
import com.fuelindustries.core.*;
public class DecalChooser extends FuelUI {
private var __shiftY:int;// = 50
private var __selectedNum:Number;// = 0
public var uparrow_btn:SoundEaseButton;
public var viewingCon:FuelUI;
private var __decalLinkage:String;// = "decal_select_mc"
public var decal_select_mc:DecalSelect;
private var __finalY:int;// = 0
private var __decalArray:Array;
public var mask_mc:MovieClip;
public var downarrow_btn:SoundEaseButton;
public function DecalChooser(){
__decalLinkage = "decal_select_mc";
__selectedNum = 0;
__decalArray = new Array();
__shiftY = 50;
__finalY = 0;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function updateDecalAbility():void{
var i:int;
i = 0;
while (i < __decalArray.length) {
if ((((i >= __selectedNum)) && ((i < Math.min((__selectedNum + 4), __decalArray.length))))){
DecalSelect(__decalArray[i]).enabled = true;
} else {
DecalSelect(__decalArray[i]).enabled = false;
DecalSelect(__decalArray[i]).mouseChildren = true;
};
i++;
};
}
private function addDecals(container:MovieClip, arr:Array, num:Number):void{
var offsetX:int;
var offsetY:int;
var decal:DecalSelect;
var decalItemRef:Class;
offsetX = 42;
offsetY = 44;
decalItemRef = (getDefinitionByName(__decalLinkage) as Class);
decal = new (decalItemRef);
decal.showDecal(num);
decal.y = (offsetY - 20);
decal.x = (offsetX * (arr.length % 2));
decal.y = (offsetY * int((arr.length / 2)));
arr.push(decal);
container.addChild(decal);
setupSelector(decal);
}
public function setupSelector(mc:MovieClip):void{
mc.useHandCursor = true;
mc.buttonMode = true;
mc.mouseChildren = false;
mc.mouseEnabled = true;
}
private function updateButtons():void{
if (__selectedNum == (__decalArray.length - 4)){
uparrow_btn.enabled = false;
uparrow_btn.alpha = 0.3;
} else {
uparrow_btn.enabled = true;
uparrow_btn.alpha = 1;
};
if (__selectedNum == 0){
downarrow_btn.enabled = false;
downarrow_btn.alpha = 0.3;
} else {
downarrow_btn.enabled = true;
downarrow_btn.alpha = 1;
};
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
enable();
updateButtons();
}
private function onDoneEase(... _args):void{
enable();
updateButtons();
updateDecalAbility();
}
public function clickHandler(cursor:DecalCursor):Number{
var nthDecal:int;
nthDecal = __selectedNum;
while (nthDecal < __decalArray.length) {
if (((cursor.hit.hitTestObject(__decalArray[nthDecal])) && (DecalSelect(__decalArray[nthDecal]).enabled))){
return (__decalArray[nthDecal].getDecal());
};
nthDecal++;
};
return (-1);
}
private function onDownPressed(evt:MouseEvent):void{
__selectedNum = (__selectedNum - 2);
__finalY = (viewingCon.y + __shiftY);
viewingCon.slideTo(viewingCon.x, __finalY, 500, "ease", onDoneEase);
disable();
}
private function enable():void{
uparrow_btn.addEventListener(MouseEvent.CLICK, onUpPressed, false, 0, true);
downarrow_btn.addEventListener(MouseEvent.CLICK, onDownPressed, false, 0, true);
}
public function setFirstDecal():void{
var i:int;
i = 0;
while (i < 8) {
addDecals(viewingCon, __decalArray, i);
i++;
};
updateDecalAbility();
}
public function disable():void{
uparrow_btn.removeEventListener(MouseEvent.CLICK, onUpPressed);
downarrow_btn.removeEventListener(MouseEvent.CLICK, onDownPressed);
}
private function onUpPressed(evt:MouseEvent):void{
__selectedNum = (__selectedNum + 2);
__finalY = (viewingCon.y - __shiftY);
viewingCon.slideTo(viewingCon.x, __finalY, 500, "ease", onDoneEase);
disable();
}
}
}//package com.aga.nailspa.game.phases
Section 115
//DecalCursor (com.aga.nailspa.game.phases.DecalCursor)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class DecalCursor extends MovieClip {
private const DECALSELECTSOUND:String = "SelectDecal";
private var __am:AudioManager;
public var sparkle_mc:MovieClip;
private var dragging:Boolean;// = false
public var decal_set_mc:DecalSet;
public var hit:MovieClip;
private var currDecal:int;// = -1
public function DecalCursor(){
dragging = false;
currDecal = -1;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseEntry():void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, follow);
}
private function allowClickThrough(mc:MovieClip):void{
mc.buttonMode = false;
mc.useHandCursor = false;
mc.mouseEnabled = false;
mc.doubleClickEnabled = false;
mc.tabEnabled = false;
}
public function onPhaseExit():void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, follow);
}
public function mouseUpHandler():void{
if (dragging){
dragging = false;
showSparkle();
hide();
};
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function mouseDownHandler(clickedDecal:int):void{
if (currDecal >= 0){
if (clickedDecal >= 0){
playSound(DECALSELECTSOUND);
showDecal(clickedDecal);
dragging = true;
show();
};
};
}
public function getDecal():int{
var decal:int;
decal = -1;
if (dragging){
decal = decal_set_mc.getDecal();
};
return (decal);
}
private function hide():void{
decal_set_mc.visible = false;
}
private function showSparkle():void{
sparkle_mc.gotoAndPlay(1);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
hide();
sparkle_mc.stop();
allowClickThrough(this);
allowClickThrough(decal_set_mc);
allowClickThrough(sparkle_mc);
allowClickThrough(hit);
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
public function showDecal(nthDecal:int):void{
decal_set_mc.showDecal(nthDecal);
currDecal = nthDecal;
}
private function follow(event:MouseEvent):void{
x = stage.mouseX;
y = stage.mouseY;
}
public function hideDecal():void{
currDecal = -1;
hide();
}
private function show():void{
decal_set_mc.visible = true;
}
}
}//package com.aga.nailspa.game.phases
Section 116
//DecalMasked (com.aga.nailspa.game.phases.DecalMasked)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class DecalMasked extends MovieClip {
private var __decalIndex:int;// = -1
public var nail_painted_mc:MovieClip;
public var decal_set_mc:DecalSet;
private var __imgBitmapData:BitmapData;
private var __imgBitmap:Bitmap;
public function DecalMasked(){
__decalIndex = -1;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function flatten():void{
nail_painted_mc.flatten();
}
public function getDecalIndex():int{
return (__decalIndex);
}
public function reset():void{
__decalIndex = -1;
decal_set_mc.hideDecal();
}
public function setBitmapData(data:BitmapData):void{
__imgBitmapData.draw(data);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__imgBitmapData = new BitmapData(width, height, true, 0xFFFFFF);
__imgBitmap = new Bitmap(__imgBitmapData);
nail_painted_mc.addChild(__imgBitmap);
__decalIndex = -1;
}
public function showDecal(nthDecal:int){
__decalIndex = nthDecal;
if (nthDecal >= 0){
decal_set_mc.showDecal(nthDecal);
} else {
decal_set_mc.hideDecal();
};
}
}
}//package com.aga.nailspa.game.phases
Section 117
//DecalSelect (com.aga.nailspa.game.phases.DecalSelect)
package com.aga.nailspa.game.phases {
import flash.display.*;
public class DecalSelect extends MovieClip {
private var decalNum:int;// = -1
public function DecalSelect(){
decalNum = -1;
super();
stop();
}
public function getDecal():int{
return (decalNum);
}
public function showDecal(nthDecal:int):void{
decalNum = nthDecal;
gotoAndStop((nthDecal + 1));
}
}
}//package com.aga.nailspa.game.phases
Section 118
//DecalSet (com.aga.nailspa.game.phases.DecalSet)
package com.aga.nailspa.game.phases {
import flash.display.*;
public class DecalSet extends MovieClip {
public var decal5_mc:MovieClip;
public var decal8_mc:MovieClip;
public var decal3_mc:MovieClip;
public var decal6_mc:MovieClip;
private var __decals:Array;
public var decal1_mc:MovieClip;
private var currDecal:int;// = -1
public var decal4_mc:MovieClip;
public var decal7_mc:MovieClip;
public var decal2_mc:MovieClip;
public function DecalSet(){
var decal:MovieClip;
currDecal = -1;
__decals = new Array();
super();
__decals = [decal1_mc, decal2_mc, decal3_mc, decal4_mc, decal5_mc, decal6_mc, decal7_mc, decal8_mc];
for each (decal in __decals) {
decal.visible = false;
};
}
public function getDecal():int{
return (currDecal);
}
public function hideDecal(){
if (currDecal != -1){
__decals[currDecal].visible = false;
};
}
public function showDecal(nthDecal:int){
if (((!((currDecal == -1))) && (!((currDecal == nthDecal))))){
__decals[currDecal].visible = false;
};
__decals[nthDecal].visible = true;
currDecal = nthDecal;
}
}
}//package com.aga.nailspa.game.phases
Section 119
//DropWNumber (com.aga.nailspa.game.phases.DropWNumber)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class DropWNumber extends MovieClip {
public var txt:TextField;
public var drop_color_mc:MovieClip;
private var fillColor:ColorTransform;
public var drop_mc:MovieClip;
public function DropWNumber(){
fillColor = new ColorTransform();
super();
drop_color_mc = drop_mc["color_mc"];
}
public function setDropColor(color:Number):void{
fillColor.color = color;
drop_color_mc.transform.colorTransform = fillColor;
}
}
}//package com.aga.nailspa.game.phases
Section 120
//DyeStation (com.aga.nailspa.game.phases.DyeStation)
package com.aga.nailspa.game.phases {
import flash.events.*;
public class DyeStation extends PhaseWithDrip {
public var lever_mc:Lever;
public function DyeStation(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function dropHit():void{
lever_mc.dropHit();
}
public function reset():void{
this.gotoAndStop(1);
lever_mc.disable();
}
public function enable():void{
lever_mc.enable();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
reset();
}
override public function releaseDrip():void{
(parent as SpaItem).releaseColorDrip();
}
public function disable():void{
lever_mc.disable();
}
}
}//package com.aga.nailspa.game.phases
Section 121
//Equation (com.aga.nailspa.game.phases.Equation)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class Equation extends MovieClip {
public var equation_double_mc:EquationDouble;
public var equation_single_mc:EquationSingle;
public function Equation(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function reset():void{
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function setEquation(double:Boolean, color1:Number, amt1:int, color2:Number=0, amt2:int=0):void{
if (double){
equation_double_mc.visible = true;
equation_single_mc.visible = false;
equation_double_mc.drop_w_number_1_mc.txt.text = String(amt1);
equation_double_mc.drop_w_number_2_mc.txt.text = String(amt2);
equation_double_mc.setDropColors(color1, color2);
} else {
equation_double_mc.visible = false;
equation_single_mc.visible = true;
equation_single_mc.drop_w_number_1_mc.txt.text = String(amt1);
equation_single_mc.setDropColor(color1);
};
}
}
}//package com.aga.nailspa.game.phases
Section 122
//EquationDouble (com.aga.nailspa.game.phases.EquationDouble)
package com.aga.nailspa.game.phases {
import flash.display.*;
public class EquationDouble extends MovieClip {
public var drop_w_number_1_mc:DropWNumber;
public var drop_w_number_2_mc:DropWNumber;
public function EquationDouble(){
super();
}
public function setDropColors(color1:Number, color2:Number):void{
drop_w_number_1_mc.setDropColor(color1);
drop_w_number_2_mc.setDropColor(color2);
}
}
}//package com.aga.nailspa.game.phases
Section 123
//EquationSingle (com.aga.nailspa.game.phases.EquationSingle)
package com.aga.nailspa.game.phases {
import flash.display.*;
public class EquationSingle extends MovieClip {
public var drop_w_number_1_mc:DropWNumber;
public function EquationSingle(){
super();
}
public function setDropColor(color:Number):void{
drop_w_number_1_mc.setDropColor(color);
}
}
}//package com.aga.nailspa.game.phases
Section 124
//GlitterStation (com.aga.nailspa.game.phases.GlitterStation)
package com.aga.nailspa.game.phases {
import flash.events.*;
public class GlitterStation extends PhaseWithDrip {
public var levergold_mc:Lever;
public var leverpearl_mc:Lever;
public function GlitterStation(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function dropHit():void{
levergold_mc.dropHit();
leverpearl_mc.dropHit();
}
public function setPearlActive(active:Boolean):void{
if (active){
leverpearl_mc.enable();
} else {
leverpearl_mc.disable();
};
}
public function reset():void{
levergold_mc.stop();
leverpearl_mc.stop();
}
public function enable():void{
levergold_mc.enable();
leverpearl_mc.enable();
}
public function setGoldActive(active:Boolean):void{
if (active){
levergold_mc.enable();
} else {
levergold_mc.disable();
};
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
reset();
}
override public function releaseDrip():void{
(parent as SpaItem).releaseGlitterDrip();
}
public function disable():void{
levergold_mc.disable();
leverpearl_mc.disable();
}
}
}//package com.aga.nailspa.game.phases
Section 125
//GoalPopup (com.aga.nailspa.game.phases.GoalPopup)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.nailspa.game.*;
import flash.text.*;
import com.aga.nailspa.game.navigation.*;
public class GoalPopup extends MovieClip {
public const PARAGRAPH_PEARL:String = "Looks like there is a lot of pearl glitter being used.";
public const PARAGRAPH_GOLD:String = "Looks like there is a lot of gold glitter being used.";
public const PARAGRAPH_BOTH:String = "Looks like there are some gold AND some pearl glitter being used.";
public var hintParagraph_txt:TextField;
public var title_txt:TextField;
public var paragraph_txt:TextField;
public var hintTitle_txt:TextField;
public var lefthand_mc:LeftHandGoal;
public var close_btn:EaseButton;
public var thanks_btn:EaseButton;
public function GoalPopup(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function setupGoal():void{
var game:Game;
var goldRate:Number;
var nthNail:int;
game = (parent.parent.parent as Game);
goldRate = game.getGoalGoldRate();
if (goldRate < 0.25){
hintParagraph_txt.text = PARAGRAPH_PEARL;
} else {
if (goldRate > 0.75){
hintParagraph_txt.text = PARAGRAPH_GOLD;
} else {
hintParagraph_txt.text = PARAGRAPH_BOTH;
};
};
nthNail = 0;
while (nthNail < 5) {
lefthand_mc.showDecal(nthNail, game.getGoalDecalIndex(nthNail));
lefthand_mc.showPaint(nthNail, game.getGoalMixedColor(), goldRate, game.getGoalSparkleDensity());
nthNail++;
};
}
public function reset(){
setupGoal();
}
public function enable(){
close_btn.addEventListener(MouseEvent.CLICK, fadeOutGoal, false, 0, true);
thanks_btn.addEventListener(MouseEvent.CLICK, fadeOutGoal, false, 0, true);
}
private function fadeOutGoal(evt:MouseEvent):void{
(parent.parent as Navigation).fadeOutGoal();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
thanks_btn["txt"].text = "THANKS";
}
public function disable(){
close_btn.removeEventListener(MouseEvent.CLICK, fadeOutGoal);
thanks_btn.removeEventListener(MouseEvent.CLICK, fadeOutGoal);
}
}
}//package com.aga.nailspa.game.phases
Section 126
//LeftFoot (com.aga.nailspa.game.phases.LeftFoot)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class LeftFoot extends MovieClip {
public var nail_12_mc:NailDecal;
private var __nails:Array;
public var nail_13_mc:NailDecal;
public var nail_10_mc:NailDecal;
public var nail_11_mc:NailDecal;
public var nail_14_mc:NailDecal;
public function LeftFoot(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__nails = [nail_10_mc, nail_11_mc, nail_12_mc, nail_13_mc, nail_14_mc];
}
}
}//package com.aga.nailspa.game.phases
Section 127
//LeftHand (com.aga.nailspa.game.phases.LeftHand)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class LeftHand extends MovieClip {
public var nail_4_mc:NailDecal;
private var __nails:Array;
public var nail_2_mc:NailDecal;
public var nail_0_mc:NailDecal;
public var nail_3_mc:NailDecal;
public var nail_1_mc:NailDecal;
public function LeftHand(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function getDecalIndex(nthNail:int):int{
return (__nails[nthNail].getDecalIndex());
}
public function reset(nthNail:int):void{
__nails[nthNail].reset();
}
public function setBitmapData(nthNail:int, data:BitmapData):void{
__nails[nthNail].setBitmapData(data);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc];
}
public function showDecal(nthNail:int, nthDecal:int):void{
__nails[nthNail].showDecal(nthDecal);
}
}
}//package com.aga.nailspa.game.phases
Section 128
//LeftHandGoal (com.aga.nailspa.game.phases.LeftHandGoal)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class LeftHandGoal extends MovieClip {
public var decal_2_mc:DecalMasked;
public var nail_4_mc:Nail;
private var __nails:Array;
public var nail_2_mc:Nail;
public var decal_0_mc:DecalMasked;
private var __decals:Array;
public var decal_3_mc:DecalMasked;
public var nail_0_mc:Nail;
public var nail_3_mc:Nail;
public var decal_1_mc:DecalMasked;
public var decal_4_mc:DecalMasked;
public var nail_1_mc:Nail;
public function LeftHandGoal(){
__decals = new Array();
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function showPaint(index:int, color:Number, goldRate:Number, sparkleDensity:Number):void{
__nails[index].showPaint(color, goldRate, sparkleDensity);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__decals = [decal_0_mc, decal_1_mc, decal_2_mc, decal_3_mc, decal_4_mc];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc];
}
public function showDecal(index:int, decalIndex:int):void{
__decals[index].showDecal(decalIndex);
}
}
}//package com.aga.nailspa.game.phases
Section 129
//Lever (com.aga.nailspa.game.phases.Lever)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class Lever extends MovieClip {
private const INCLEVERSPEED:Number = 0;
private const BASELEVERSPEED:Number = 0.1;
private const LEVERPULLSOUND:String = "LeverPull";
private const NUMFRAMES:int = 8;
private var active:Boolean;// = true
private var __am:AudioManager;
private var waitingForDrop:Boolean;// = false
var dragging:Boolean;// = false
var lastFrame:int;// = 1
public var swatch_mc:MovieClip;
var origHeight:Number;
private var leverspeed:Number;
public function Lever():void{
dragging = false;
lastFrame = 1;
active = true;
waitingForDrop = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function setActive():void{
active = true;
gotoAndStop("active");
waitingForDrop = false;
this.useHandCursor = true;
}
private function mouseUpHandler(event:MouseEvent):void{
leverRelease();
}
public function dropHit():void{
waitingForDrop = false;
}
private function leverRelease():void{
dragging = false;
leverspeed = BASELEVERSPEED;
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
private function mouseDownHandler(event:MouseEvent):void{
if (((active) && (!(waitingForDrop)))){
if (dragging != true){
playSound(LEVERPULLSOUND, 0);
};
dragging = true;
};
}
public function enable():void{
setActive();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
stop();
origHeight = this.height;
this.buttonMode = true;
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
private function down():void{
var pct:Number;
var currFrame:int;
pct = (1 + (this.mouseY / origHeight));
currFrame = this.currentFrame;
currFrame = (Math.floor((NUMFRAMES * pct)) + 1);
currFrame = clamp(currFrame, NUMFRAMES, 1);
gotoAndStop(currFrame);
if ((((currFrame == NUMFRAMES)) && ((lastFrame < NUMFRAMES)))){
(parent as PhaseWithDrip).releaseDrip();
waitingForDrop = true;
leverRelease();
};
}
private function up():void{
var currFrame:int;
currFrame = this.currentFrame;
if (currFrame > 2){
currFrame = (currFrame - leverspeed);
leverspeed = (leverspeed + INCLEVERSPEED);
};
currFrame = clamp(currFrame, NUMFRAMES, 1);
gotoAndStop(currFrame);
}
private function onEnterFrame(event:Event):void{
lastFrame = this.currentFrame;
if (dragging){
down();
} else {
up();
};
}
private function clamp(num:int, upperLimit:int, lowerLimit:int):int{
if (num > upperLimit){
num = upperLimit;
} else {
if (num < lowerLimit){
num = lowerLimit;
};
};
return (num);
}
public function disable():void{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
setInactive();
}
public function setInactive():void{
active = false;
gotoAndStop("inactive");
this.useHandCursor = false;
}
}
}//package com.aga.nailspa.game.phases
Section 130
//MyNails (com.aga.nailspa.game.phases.MyNails)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.aga.nailspa.game.controls.buttons.*;
public class MyNails extends MovieClip {
private const TITLE:String = "OOPS! YOU HAVEN'T PLAYED FREE PLAY MODE YET";
private const PARAGRAPH:String = "Once you have logged in and tried free play mode you'll be able to view your nails here.";
public var animCongrats_mc:MovieClip;
public var mynailspopup_mc:MovieClip;
public var congratsTxt_mc:MovieClip;
public var title:TextField;
public var paragraph:TextField;
public var titleBG_mc:MovieClip;
public var polaroids_blank_mc:MovieClip;
public var thanks_btn:SoundEaseButton;
public var polaroids_holder_mc:MovieClip;
public function MyNails(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function updateImage(image:DisplayObject):void{
if (image != null){
polaroids_holder_mc.addChild(image);
hideText();
} else {
showText();
};
}
public function hideMyNails(... _args):void{
(parent.parent as PhaseLoading).hideMyNails();
}
public function enable(){
thanks_btn.addEventListener(MouseEvent.CLICK, hideMyNails);
animCongrats_mc.gotoAndPlay(1);
}
private function hideText():void{
animCongrats_mc.visible = false;
polaroids_blank_mc.visible = false;
titleBG_mc.visible = true;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
thanks_btn["txt"].text = "BACK";
congratsTxt_mc = animCongrats_mc["congratsTxt_mc"];
title = congratsTxt_mc["title_txt"];
paragraph = congratsTxt_mc["paragraph_txt"];
setText();
titleBG_mc.visible = false;
}
public function setText():void{
title.text = TITLE;
paragraph.text = PARAGRAPH;
}
private function showText():void{
animCongrats_mc.visible = true;
polaroids_blank_mc.visible = true;
titleBG_mc.visible = false;
}
public function disable(){
thanks_btn.removeEventListener(MouseEvent.CLICK, hideMyNails);
}
}
}//package com.aga.nailspa.game.phases
Section 131
//Nail (com.aga.nailspa.game.phases.Nail)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class Nail extends MovieClip {
private var touched:Boolean;
public var shape_mask_mc:MovieClip;
public var nail_masked_mc:NailMasked;
public function Nail(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseExit():void{
nail_masked_mc.onPhaseExit();
}
public function setPaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
nail_masked_mc.setPaint(color, goldRate, sparkleDensity);
}
public function showPaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
nail_masked_mc.showPaint(color, goldRate, sparkleDensity);
}
public function reset():void{
nail_masked_mc.reset();
}
public function getBitmapData():BitmapData{
return (nail_masked_mc.getBitmapData());
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
nail_masked_mc.mask = shape_mask_mc;
}
public function getTouched():Boolean{
return (nail_masked_mc.getTouched());
}
public function onPhaseEntry():void{
nail_masked_mc.onPhaseEntry();
}
}
}//package com.aga.nailspa.game.phases
Section 132
//NailDecal (com.aga.nailspa.game.phases.NailDecal)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class NailDecal extends MovieClip {
public var shape_mask_mc:MovieClip;
public var decal_masked_mc:DecalMasked;
public function NailDecal(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function getDecalIndex():int{
return (decal_masked_mc.getDecalIndex());
}
public function reset():void{
decal_masked_mc.reset();
}
public function setBitmapData(data:BitmapData):void{
decal_masked_mc.setBitmapData(data);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
decal_masked_mc.mask = shape_mask_mc;
}
public function showDecal(nthDecal:int):void{
decal_masked_mc.showDecal(nthDecal);
}
}
}//package com.aga.nailspa.game.phases
Section 133
//NailGlitter (com.aga.nailspa.game.phases.NailGlitter)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class NailGlitter extends MovieClip {
private const gold:Number = 0xFFCC00;
private const pearl:Number = 0xFFFFFF;
private var goldColor:ColorTransform;
public var sparkle_layer_0_mc:MovieClip;
public var sparkle_layer_8_mc:MovieClip;
public var sparkle_layer_3_mc:MovieClip;
public var sparkle_layer_6_mc:MovieClip;
public var sparkle_layer_1_mc:MovieClip;
public var sparkle_layer_9_mc:MovieClip;
private var __goldRate:Number;// = 0
public var sparkle_layer_4_mc:MovieClip;
public var sparkle_layer_7_mc:MovieClip;
private var sparkle_layers:Array;
public var sparkle_layer_2_mc:MovieClip;
private var pearlColor:ColorTransform;
private var __sparkleDensity:Number;// = 0
public var sparkle_layer_5_mc:MovieClip;
public function NailGlitter(){
sparkle_layers = new Array();
__goldRate = 0;
__sparkleDensity = 0;
goldColor = new ColorTransform();
pearlColor = new ColorTransform();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
sparkle_layers = [sparkle_layer_0_mc, sparkle_layer_1_mc, sparkle_layer_2_mc, sparkle_layer_3_mc, sparkle_layer_4_mc, sparkle_layer_5_mc, sparkle_layer_6_mc, sparkle_layer_7_mc, sparkle_layer_8_mc, sparkle_layer_9_mc];
goldColor.color = gold;
pearlColor.color = pearl;
setGlitter(__goldRate, __sparkleDensity);
}
public function setGlitter(goldRate:Number, sparkleDensity:Number):void{
var layersShown:int;
var nthLayer:int;
__goldRate = goldRate;
__sparkleDensity = sparkleDensity;
layersShown = Math.ceil((sparkle_layers.length * sparkleDensity));
nthLayer = 0;
while (nthLayer < sparkle_layers.length) {
if (nthLayer < layersShown){
if (Math.random() <= goldRate){
sparkle_layers[nthLayer].transform.colorTransform = goldColor;
} else {
sparkle_layers[nthLayer].transform.colorTransform = pearlColor;
};
sparkle_layers[nthLayer].visible = true;
} else {
sparkle_layers[nthLayer].visible = false;
};
nthLayer++;
};
}
}
}//package com.aga.nailspa.game.phases
Section 134
//NailMask (com.aga.nailspa.game.phases.NailMask)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class NailMask extends MovieClip {
private const BRUSHWIDTH:int = 12;
var touched:Boolean;// = false
var dragging:Boolean;// = false
public function NailMask(){
dragging = false;
touched = false;
super();
}
public function onPhaseEntry():void{
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
touched = false;
}
public function onPhaseExit():void{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function mouseUpHandler(event:MouseEvent):void{
stopLine();
}
private function stopLine():void{
if (dragging == true){
graphics.lineTo(this.mouseX, this.mouseY);
};
dragging = false;
}
private function mouseDownHandler(event:MouseEvent):void{
startLine();
}
private function startLine():void{
graphics.lineStyle(BRUSHWIDTH);
graphics.moveTo(this.mouseX, this.mouseY);
graphics.lineTo(this.mouseX, (this.mouseY + 1));
dragging = true;
}
public function reset():void{
graphics.clear();
touched = false;
}
private function onEnterFrame(event:Event):void{
if (dragging){
graphics.lineTo(this.mouseX, this.mouseY);
checkTouched();
};
}
public function getTouched():Boolean{
return (touched);
}
private function checkTouched():void{
var pt:Point;
if (!touched){
pt = new Point(this.stage.mouseX, this.stage.mouseY);
touched = (parent.parent as Nail).shape_mask_mc.hitTestPoint(pt.x, pt.y);
if (touched){
};
};
}
}
}//package com.aga.nailspa.game.phases
Section 135
//NailMasked (com.aga.nailspa.game.phases.NailMasked)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class NailMasked extends MovieClip {
private const maxRows:int = 20;
private const maxCols:int = 10;
private const goldRate:Number = 0.5;
private const paintColor:Number = 0x990033;
private const sparkleDensity:Number = 0.75;
private var __imgBitmap:Bitmap;
public var paint_masked_mc:PaintMasked;
public var nail_natural_mc:MovieClip;
public var nail_mask_mc:NailMask;
private var __imgBitmapData:BitmapData;
public function NailMasked(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function flatten():void{
__imgBitmapData.draw(parent, null, null, "normal", null, true);
clearPaint();
}
public function onPhaseExit():void{
nail_mask_mc.onPhaseExit();
flatten();
}
public function setPaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
paint_masked_mc.mask = nail_mask_mc;
flatten();
paint_masked_mc.setPaint(color, goldRate, sparkleDensity);
}
public function clearPaint():void{
nail_mask_mc.reset();
}
public function showPaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
paint_masked_mc.mask = null;
paint_masked_mc.setPaint(color, goldRate, sparkleDensity);
}
public function getBitmapData():BitmapData{
return (__imgBitmapData);
}
public function reset():void{
clearPaint();
clearBacking();
}
public function clearBacking():void{
var rect:Rectangle;
rect = new Rectangle(0, 0, parent.width, parent.height);
__imgBitmapData.fillRect(rect, 0xFFFFFF);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
paint_masked_mc.cacheAsBitmap = true;
nail_mask_mc.cacheAsBitmap = true;
paint_masked_mc.setPaint(paintColor, goldRate, sparkleDensity);
__imgBitmapData = new BitmapData(parent.width, parent.height, true, 0xFFFFFF);
__imgBitmap = new Bitmap(__imgBitmapData);
nail_natural_mc.addChild(__imgBitmap);
}
public function getColour():Number{
return (paintColor);
}
public function getGoldRate():Number{
return (goldRate);
}
public function getTouched():Boolean{
return (nail_mask_mc.getTouched());
}
public function getSparkleDensity():Number{
return (sparkleDensity);
}
public function onPhaseEntry():void{
nail_mask_mc.onPhaseEntry();
}
}
}//package com.aga.nailspa.game.phases
Section 136
//PaintMasked (com.aga.nailspa.game.phases.PaintMasked)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.geom.*;
public class PaintMasked extends MovieClip {
public var sparkle_mc:NailGlitter;
public var nail_color_mc:MovieClip;
private var fillColor:ColorTransform;
public function PaintMasked(){
fillColor = new ColorTransform();
super();
}
public function setPaint(color:Number, goldRate:Number, sparkleDensity:Number){
fillColor.color = color;
nail_color_mc.transform.colorTransform = fillColor;
sparkle_mc.setGlitter(goldRate, sparkleDensity);
}
}
}//package com.aga.nailspa.game.phases
Section 137
//PhaseAddDecal (com.aga.nailspa.game.phases.PhaseAddDecal)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
import com.aga.base.media.sound.*;
import com.aga.nailspa.game.controls.*;
import com.aga.base.controls.buttons.*;
public class PhaseAddDecal extends MovieClip {
private const LFINX:Number = 150;
private const FOFFY:Number = -1500;
private const FONY:Number = 449;
private const LHINX:Number = 142.2;
private const HONY:Number = 220;
private const RFINX:Number = 210;
private const HOFFY:Number = -1700;
private const DECALREMOVESOUND:String = "RemoveDecal";
private const DECALPLACESOUND:String = "PlaceDecal";
private const RHINX:Number = 120;
public var nail_4_mc:NailDecal;
private var __am:AudioManager;
public var nail_15_mc:NailDecal;
public var nail_10_mc:NailDecal;
public var nail_5_mc:NailDecal;
public var nail_16_mc:NailDecal;
public var nail_0_mc:NailDecal;
public var decalChooser_mc:DecalChooser;
public var nail_11_mc:NailDecal;
public var limbSelector_mc:LimbSelector;
public var nail_6_mc:NailDecal;
public var nail_17_mc:NailDecal;
public var nail_1_mc:NailDecal;
public var lefthand_holder_mc:MovieClip;
public var nail_12_mc:NailDecal;
public var decal_cursor_mc:DecalCursor;
public var leftfoot_mc:LeftFoot;
public var nail_7_mc:NailDecal;
public var limbSelectorAnimated_mc:MovieClip;
private var __nails:Array;
public var nail_18_mc:NailDecal;
public var nail_2_mc:NailDecal;
public var rightfoot_mc:RightFoot;
public var nail_13_mc:NailDecal;
public var lefthand_mc:LeftHand;
public var nail_8_mc:NailDecal;
public var nail_19_mc:NailDecal;
public var nail_3_mc:NailDecal;
public var nail_14_mc:NailDecal;
public var righthand_mc:RightHand;
public var nail_9_mc:NailDecal;
public function PhaseAddDecal(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseExit():void{
var nthNail:int;
(parent as Game).exitPhaseAddDecal();
decal_cursor_mc.onPhaseExit();
limbSelector_mc.disable();
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
limbSelector_mc["leftHandSelector_mc"].removeEventListener(MouseEvent.CLICK, showLeftHandEvt);
limbSelector_mc["rightHandSelector_mc"].removeEventListener(MouseEvent.CLICK, showRightHandEvt);
limbSelector_mc["leftFootSelector_mc"].removeEventListener(MouseEvent.CLICK, showLeftFootEvt);
limbSelector_mc["rightFootSelector_mc"].removeEventListener(MouseEvent.CLICK, showRightFootEvt);
nthNail = 0;
while (nthNail < __nails.length) {
(parent as Game).setDecalIndex(nthNail, __nails[nthNail].getDecalIndex());
nthNail++;
};
}
public function setCursorDecal(nthDecal:int):void{
decal_cursor_mc.showDecal(nthDecal);
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
private function mouseDownHandler(evt:MouseEvent):void{
var decalClicked:int;
var nthNail:int;
var decalHeld:int;
var decalRemoved:int;
decalClicked = clickedDecal(decal_cursor_mc);
if (decalClicked >= 0){
decal_cursor_mc.mouseDownHandler(decalClicked);
} else {
nthNail = 0;
while (nthNail < __nails.length) {
decalHeld = decal_cursor_mc.getDecal();
if (((decal_cursor_mc.hitTestObject(__nails[nthNail])) && ((decalHeld < 0)))){
decalRemoved = __nails[nthNail].getDecalIndex();
if (decalRemoved >= 0){
decal_cursor_mc.mouseDownHandler(decalRemoved);
__nails[nthNail].showDecal(-1);
};
};
nthNail++;
};
};
}
public function droppedOnNail(cursor:DecalCursor):Boolean{
var nthNail:int;
var decalHeld:int;
nthNail = 0;
while (nthNail < __nails.length) {
decalHeld = cursor.getDecal();
if (((cursor.hitTestObject(__nails[nthNail])) && ((decalHeld >= 0)))){
playSound(DECALPLACESOUND);
__nails[nthNail].showDecal(decalHeld);
return (true);
};
nthNail++;
};
if (decalHeld >= 0){
playSound(DECALREMOVESOUND);
};
return (false);
}
public function showRightFootEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
rightfoot_mc.x = RFINX;
rightfoot_mc.y = FONY;
rightfoot_mc.visible = true;
}
public function onTransitioned():void{
lefthand_holder_mc.gotoAndPlay(1);
limbSelectorAnimated_mc.gotoAndPlay(1);
}
private function onLimbAnimDone(e:AnimationEvent):void{
limbSelectorAnimated_mc.visible = false;
limbSelector_mc.visible = true;
}
public function showRightHandEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
righthand_mc.x = RHINX;
righthand_mc.y = HONY;
righthand_mc.visible = true;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
public function onPhaseEntry():void{
var nthNail:int;
(parent as Game).setupPhaseAddDecal();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].setBitmapData((parent as Game).getBitmapData(nthNail));
nthNail++;
};
decal_cursor_mc.onPhaseEntry();
limbSelector_mc.enable();
limbSelector_mc["leftHandSelector_mc"].addEventListener(MouseEvent.CLICK, showLeftHandEvt);
limbSelector_mc["rightHandSelector_mc"].addEventListener(MouseEvent.CLICK, showRightHandEvt);
limbSelector_mc["leftFootSelector_mc"].addEventListener(MouseEvent.CLICK, showLeftFootEvt);
limbSelector_mc["rightFootSelector_mc"].addEventListener(MouseEvent.CLICK, showRightFootEvt);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
decalChooser_mc.setFirstDecal();
setCursorDecal(0);
showLeftHand();
lefthand_holder_mc.gotoAndStop(1);
limbSelectorAnimated_mc.addEventListener(AnimationEvent.LIMBANIMDONE, onLimbAnimDone, false, 0, true);
limbSelectorAnimated_mc.visible = true;
limbSelector_mc.visible = false;
}
private function mouseUpHandler(evt:MouseEvent):void{
droppedOnNail(decal_cursor_mc);
decal_cursor_mc.mouseUpHandler();
}
public function showLeftHand():void{
lefthand_holder_mc.x = LHINX;
lefthand_holder_mc.y = HONY;
lefthand_holder_mc.visible = true;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
public function reset():void{
var nthNail:int;
(parent as Game).clearPhaseAddDecal();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].reset();
nthNail++;
};
}
public function showLeftFootEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
leftfoot_mc.x = LFINX;
leftfoot_mc.y = FONY;
leftfoot_mc.visible = true;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
lefthand_mc = lefthand_holder_mc["lefthand_mc"];
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
nail_5_mc = righthand_mc["nail_5_mc"];
nail_6_mc = righthand_mc["nail_6_mc"];
nail_7_mc = righthand_mc["nail_7_mc"];
nail_8_mc = righthand_mc["nail_8_mc"];
nail_9_mc = righthand_mc["nail_9_mc"];
nail_10_mc = leftfoot_mc["nail_10_mc"];
nail_11_mc = leftfoot_mc["nail_11_mc"];
nail_12_mc = leftfoot_mc["nail_12_mc"];
nail_13_mc = leftfoot_mc["nail_13_mc"];
nail_14_mc = leftfoot_mc["nail_14_mc"];
nail_15_mc = rightfoot_mc["nail_15_mc"];
nail_16_mc = rightfoot_mc["nail_16_mc"];
nail_17_mc = rightfoot_mc["nail_17_mc"];
nail_18_mc = rightfoot_mc["nail_18_mc"];
nail_19_mc = rightfoot_mc["nail_19_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc, nail_5_mc, nail_6_mc, nail_7_mc, nail_8_mc, nail_9_mc, nail_10_mc, nail_11_mc, nail_12_mc, nail_13_mc, nail_14_mc, nail_15_mc, nail_16_mc, nail_17_mc, nail_18_mc, nail_19_mc];
showLeftHand();
lefthand_holder_mc.gotoAndStop(1);
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
public function showLeftHandEvt(evt:MouseEvent):void{
showLeftHand();
}
public function clickedDecal(cursor:DecalCursor):int{
return (decalChooser_mc.clickHandler(cursor));
}
}
}//package com.aga.nailspa.game.phases
Section 138
//PhaseAddDecalChallenge (com.aga.nailspa.game.phases.PhaseAddDecalChallenge)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.*;
import com.aga.base.media.sound.*;
import com.aga.nailspa.game.controls.*;
import com.aga.base.controls.buttons.*;
public class PhaseAddDecalChallenge extends MovieClip {
private const HONY:Number = 220;
private const DECALREMOVESOUND:String = "RemoveDecal";
private const DECALPLACESOUND:String = "PlaceDecal";
private const LHINX:Number = 142.2;
public var lefthand_holder_mc:MovieClip;
public var decal_cursor_mc:DecalCursor;
private var __am:AudioManager;
public var nail_4_mc:NailDecal;
private var __nails:Array;
public var nail_2_mc:NailDecal;
public var lefthand_mc:LeftHand;
public var nail_0_mc:NailDecal;
public var nail_3_mc:NailDecal;
public var decalChooser_mc:DecalChooser;
public var limbSelector_mc:LimbSelector;
public var nail_1_mc:NailDecal;
public function PhaseAddDecalChallenge(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseExit():void{
var nthNail:int;
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
(parent as Game).exitPhaseAddDecal();
decal_cursor_mc.onPhaseExit();
nthNail = 0;
while (nthNail < __nails.length) {
(parent as Game).setDecalIndex(nthNail, __nails[nthNail].getDecalIndex());
nthNail++;
};
}
public function setCursorDecal(nthDecal:int):void{
decal_cursor_mc.showDecal(nthDecal);
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
private function mouseUpHandler(evt:MouseEvent):void{
droppedOnNail(decal_cursor_mc);
decal_cursor_mc.mouseUpHandler();
}
private function mouseDownHandler(evt:MouseEvent):void{
var decalClicked:int;
var nthNail:int;
var decalHeld:int;
var decalRemoved:int;
decalClicked = clickedDecal(decal_cursor_mc);
if (decalClicked >= 0){
decal_cursor_mc.mouseDownHandler(decalClicked);
} else {
nthNail = 0;
while (nthNail < __nails.length) {
decalHeld = decal_cursor_mc.getDecal();
if (((decal_cursor_mc.hitTestObject(__nails[nthNail])) && ((decalHeld < 0)))){
decalRemoved = __nails[nthNail].getDecalIndex();
if (decalRemoved >= 0){
decal_cursor_mc.mouseDownHandler(decalRemoved);
__nails[nthNail].showDecal(-1);
};
};
nthNail++;
};
};
}
public function reset():void{
var nthNail:int;
(parent as Game).clearPhaseAddDecal();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].reset();
nthNail++;
};
}
public function droppedOnNail(cursor:DecalCursor):Boolean{
var nthNail:int;
var decalHeld:int;
nthNail = 0;
while (nthNail < __nails.length) {
decalHeld = cursor.getDecal();
if (((cursor.hitTestObject(__nails[nthNail])) && ((decalHeld >= 0)))){
playSound(DECALPLACESOUND);
__nails[nthNail].showDecal(decalHeld);
return (true);
};
nthNail++;
};
if (decalHeld >= 0){
playSound(DECALREMOVESOUND);
};
return (false);
}
public function onTransitioned():void{
lefthand_holder_mc.gotoAndPlay(1);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
lefthand_mc = lefthand_holder_mc["lefthand_mc"];
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc];
decalChooser_mc.setFirstDecal();
setCursorDecal(0);
lefthand_holder_mc.x = LHINX;
lefthand_holder_mc.y = HONY;
lefthand_holder_mc.gotoAndStop(1);
__am = new AudioManager();
SoundToggleButton.addToList(__am);
}
public function clickedDecal(cursor:DecalCursor):int{
return (decalChooser_mc.clickHandler(cursor));
}
public function onPhaseEntry():void{
var nthNail:int;
(parent as Game).setupPhaseAddDecal();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].setBitmapData((parent as Game).getBitmapData(nthNail));
nthNail++;
};
decal_cursor_mc.onPhaseEntry();
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
lefthand_holder_mc.gotoAndStop(1);
}
}
}//package com.aga.nailspa.game.phases
Section 139
//PhaseAddGlitter (com.aga.nailspa.game.phases.PhaseAddGlitter)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.*;
public class PhaseAddGlitter extends MovieClip {
public function PhaseAddGlitter(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
(parent as Game).exitPhaseAddGlitter();
}
public function reset():void{
(parent as Game).clearPhaseAddGlitter();
}
public function onTransitioned():void{
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
SequenceManager.skipFrames(reset, 1);
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseAddGlitter();
}
}
}//package com.aga.nailspa.game.phases
Section 140
//PhaseColorMix (com.aga.nailspa.game.phases.PhaseColorMix)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.*;
public class PhaseColorMix extends MovieClip {
public var colorwheel_mc:ColorWheel;
public var colorwheel_holder_mc:MovieClip;
public function PhaseColorMix(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
(parent as Game).exitPhaseColorMix();
colorwheel_mc.onPhaseExit();
colorwheel_holder_mc.gotoAndStop(1);
}
public function reset():void{
(parent as Game).clearPhaseColorMix();
}
public function onTransitioned():void{
colorwheel_holder_mc.gotoAndPlay(1);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
SequenceManager.skipFrames(reset, 1);
colorwheel_mc = colorwheel_holder_mc["colorwheel_mc"];
colorwheel_holder_mc.gotoAndStop(1);
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseColorMix();
colorwheel_mc.onPhaseEntry();
}
}
}//package com.aga.nailspa.game.phases
Section 141
//PhaseConclusion (com.aga.nailspa.game.phases.PhaseConclusion)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.*;
import flash.text.*;
import com.aga.framework.events.*;
import com.aga.framework.interfaces.*;
public class PhaseConclusion extends MovieClip {
private const TITLE:String = "AWESOME JOB!";
private const PARAGRAPHLOGGEDIN:String = "That was fun!! You can now save this color for the next time you play, or you can choose to send it to a friend.";
private const PARAGRAPHNOTLOGGEDIN:String = "That was fun!! If you login the next time you play, you’ll be able to save your personalized nail color or send it to a friend when you’ve completed it.";
public var bottle_fading_mc:MovieClip;
public var congratsTxt_mc:MovieClip;
public var title:TextField;
public var paragraph:TextField;
public var bottle_mc:PaintMasked;
public var congrats_fading_mc:MovieClip;
public var polaroids_mc:Polaroids;
private var bottleVisible:Boolean;// = false
public var animCongrats_mc:MovieClip;
public function PhaseConclusion(){
bottleVisible = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function showBottleAndText():void{
if (!bottleVisible){
congrats_fading_mc.gotoAndPlay("fadeIn");
bottle_fading_mc.gotoAndPlay("fadeIn");
bottleVisible = true;
};
}
private function showAwards():void{
dispatchEvent(new AGASubmitFinalScoreEvent(0, (parent as Game).getTimeSpent()));
}
public function hideBottleAndText():void{
if (bottleVisible){
congrats_fading_mc.gotoAndPlay("fadeOut");
bottle_fading_mc.gotoAndPlay("fadeOut");
bottleVisible = false;
};
}
public function onPhaseExit():void{
polaroids_mc.disable();
(parent as Game).exitPhaseConclusion();
}
public function reset(){
(parent as Game).clearPhaseConclusion();
polaroids_mc.gotoAndStop(1);
}
public function onTransitioned():void{
animCongrats_mc.gotoAndPlay(1);
polaroids_mc.gotoAndPlay(1);
polaroids_mc.enable();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
SequenceManager.skipFrames(reset, 1);
polaroids_mc.stop();
bottle_mc = bottle_fading_mc["bottle_mc"];
animCongrats_mc = congrats_fading_mc["animCongrats_mc"];
congratsTxt_mc = animCongrats_mc["congratsTxt_mc"];
title = congratsTxt_mc["title_txt"];
paragraph = congratsTxt_mc["paragraph_txt"];
showBottleAndText();
}
public function setMyNailsImage():void{
polaroids_mc.gotoAndStop(polaroids_mc.totalFrames);
polaroids_mc.showBG();
(parent as Game).saveNailData(polaroids_mc);
polaroids_mc.hideBG();
}
public function setText():void{
title.text = TITLE;
if ((parent as AGADocument).loggedIn){
paragraph.text = PARAGRAPHLOGGEDIN;
} else {
paragraph.text = PARAGRAPHNOTLOGGEDIN;
};
}
public function onPhaseEntry():void{
var mc:Sprite;
var bitmapData:BitmapData;
var nails:Array;
var nthNail:int;
(parent as Game).setupPhaseConclusion();
bottle_mc.setPaint((parent as Game).getMixedColor(), (parent as Game).getGoldRate(), (parent as Game).getSparkleDensity());
bitmapData = new BitmapData(bottle_mc.width, bottle_mc.height);
bitmapData.draw(bottle_mc, null, null, "normal", null, true);
(parent as Game).setBottle(bitmapData);
nails = polaroids_mc.getNails();
nthNail = 0;
while (nthNail < nails.length) {
nails[nthNail].setBitmapData((parent as Game).getBitmapData(nthNail));
nails[nthNail].showDecal((parent as Game).getDecalIndex(nthNail));
nthNail++;
};
if ((parent as AGADocument).loggedIn){
setMyNailsImage();
};
setText();
dispatchEvent(new AGAAwardEvent("147"));
SequenceManager.doLater(showAwards);
showBottleAndText();
}
}
}//package com.aga.nailspa.game.phases
Section 142
//PhaseConclusionChallenge (com.aga.nailspa.game.phases.PhaseConclusionChallenge)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
import flash.text.*;
import com.aga.framework.events.*;
public class PhaseConclusionChallenge extends MovieClip {
private const TITLE:String = "AWESOME JOB!";
private const PARAGRAPH:String = "Beautiful Nails. Here's your score. See if you can do even better next time.";
public var time_txt:TextField;
public var resultsText_mc:MovieClip;
public var decals_txt:TextField;
public var bottle_fading_mc:MovieClip;
public var decalsValue_txt:TextField;
public var congratsTxt_mc:MovieClip;
public var title:TextField;
public var glitterValue_txt:TextField;
public var breakdown_txt:TextField;
public var paragraph:TextField;
public var polish_txt:TextField;
public var glitter_txt:TextField;
public var results_mc:MovieClip;
public var polishValue_txt:TextField;
public var bottle_mc:PaintMasked;
public var congrats_fading_mc:MovieClip;
public var polaroids_mc:PolaroidsChallenge;
private var bottleVisible:Boolean;// = false
public var overall_txt:TextField;
public var timeValue_txt:TextField;
public var animCongrats_mc:MovieClip;
public function PhaseConclusionChallenge(){
bottleVisible = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function showBottleAndText():void{
if (!bottleVisible){
congrats_fading_mc.gotoAndPlay("fadeIn");
bottle_fading_mc.gotoAndPlay("fadeIn");
bottleVisible = true;
};
}
private function showAwards():void{
dispatchEvent(new AGASubmitFinalScoreEvent((parent as Game).getOverallScore(), (parent as Game).getTimeSpent()));
}
public function onPhaseExit():void{
(parent as Game).exitPhaseConclusion();
polaroids_mc.disable();
}
private function polaroidIntroDoneHandler(evt:AnimationEvent):void{
polaroids_mc.removeEventListener(AnimationEvent.POLAROIDINTRODONE, polaroidIntroDoneHandler);
polaroids_mc.enable();
}
public function reset(){
(parent as Game).clearPhaseConclusion();
breakdown_txt.text = "BREAKDOWN";
polish_txt.text = "Color";
glitter_txt.text = "Glitter";
decals_txt.text = "Decals";
time_txt.text = "Time Bonus";
overall_txt.text = "";
polishValue_txt.text = "";
glitterValue_txt.text = "";
decalsValue_txt.text = "";
timeValue_txt.text = "";
}
public function onTransitioned():void{
animCongrats_mc.gotoAndPlay(1);
polaroids_mc.gotoAndPlay(1);
results_mc.gotoAndPlay(1);
polaroids_mc.addEventListener(AnimationEvent.POLAROIDINTRODONE, polaroidIntroDoneHandler);
}
private function setupNails():void{
var nthNail:int;
var game:Game;
nthNail = 0;
while (nthNail < 5) {
game = (parent as Game);
polaroids_mc.setChallengeBitmapData(nthNail, game.getBitmapData(nthNail));
polaroids_mc.showChallengeDecal(nthNail, game.getDecalIndex(nthNail));
polaroids_mc.showGoalDecal(nthNail, game.getGoalDecalIndex(nthNail));
polaroids_mc.showGoalPaint(nthNail, game.getGoalMixedColor(), game.getGoalGoldRate(), game.getGoalSparkleDensity());
nthNail++;
};
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
SequenceManager.skipFrames(reset, 1);
resultsText_mc = results_mc["resultsText_mc"];
breakdown_txt = resultsText_mc["breakdown_txt"];
polish_txt = resultsText_mc["polish_txt"];
glitter_txt = resultsText_mc["glitter_txt"];
decals_txt = resultsText_mc["decals_txt"];
time_txt = resultsText_mc["time_txt"];
overall_txt = resultsText_mc["overall_txt"];
polishValue_txt = resultsText_mc["polishValue_txt"];
glitterValue_txt = resultsText_mc["glitterValue_txt"];
decalsValue_txt = resultsText_mc["decalsValue_txt"];
timeValue_txt = resultsText_mc["timeValue_txt"];
bottle_mc = bottle_fading_mc["bottle_mc"];
animCongrats_mc = congrats_fading_mc["animCongrats_mc"];
congratsTxt_mc = animCongrats_mc["congratsTxt_mc"];
title = congratsTxt_mc["title_txt"];
paragraph = congratsTxt_mc["paragraph_txt"];
showBottleAndText();
}
public function setText():void{
title.text = TITLE;
paragraph.text = PARAGRAPH;
}
public function hideBottleAndText():void{
if (bottleVisible){
congrats_fading_mc.gotoAndPlay("fadeOut");
bottle_fading_mc.gotoAndPlay("fadeOut");
bottleVisible = false;
};
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseConclusion();
bottle_mc.setPaint((parent as Game).getMixedColor(), (parent as Game).getGoldRate(), (parent as Game).getSparkleDensity());
setupNails();
displayScore();
dispatchEvent(new AGAAwardEvent("147"));
SequenceManager.doLater(showAwards);
setText();
showBottleAndText();
}
private function displayScore():void{
var game:Game;
var overallScore:int;
var polishScore:int;
var glitterScore:int;
var decalScore:int;
var timeBonus:int;
game = (parent as Game);
overallScore = game.getOverallScore();
polishScore = game.getPolishScore();
glitterScore = game.getGlitterScore();
decalScore = game.getDecalScore();
timeBonus = game.getTimeBonus();
polishValue_txt.text = String(polishScore);
glitterValue_txt.text = String(glitterScore);
decalsValue_txt.text = String(decalScore);
timeValue_txt.text = String(timeBonus);
overall_txt.text = String(overallScore);
}
}
}//package com.aga.nailspa.game.phases
Section 143
//PhaseDryer (com.aga.nailspa.game.phases.PhaseDryer)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.*;
public class PhaseDryer extends MovieClip {
public var nail_12_mc:NailDecal;
public var nail_4_mc:NailDecal;
public var nail_7_mc:NailDecal;
public var leftfoot_mc:LeftFoot;
private var __nails:Array;
public var nail_2_mc:NailDecal;
public var nail_5_mc:NailDecal;
public var nail_13_mc:NailDecal;
public var rightfoot_mc:RightFoot;
public var nail_15_mc:NailDecal;
public var lefthand_mc:LeftHand;
public var nail_16_mc:NailDecal;
public var nail_0_mc:NailDecal;
public var nail_10_mc:NailDecal;
public var nail_8_mc:NailDecal;
public var nail_11_mc:NailDecal;
public var nail_3_mc:NailDecal;
public var nail_14_mc:NailDecal;
public var righthand_mc:RightHand;
public var nail_6_mc:NailDecal;
public var dryerMeter_mc:MovieClip;
public var nail_18_mc:NailDecal;
public var nail_19_mc:NailDecal;
public var nail_9_mc:NailDecal;
public var nail_17_mc:NailDecal;
public var nail_1_mc:NailDecal;
public function PhaseDryer(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
gotoAndStop(1);
(parent as Game).exitPhaseDryer();
(parent as Game).showDryerCover();
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onTransitioned():void{
(parent as Game).hideDryerCover();
this.gotoAndPlay(1);
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function dryerOn():void{
(parent as Game).dryerOn();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
dryerMeter_mc.stop();
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
nail_5_mc = righthand_mc["nail_5_mc"];
nail_6_mc = righthand_mc["nail_6_mc"];
nail_7_mc = righthand_mc["nail_7_mc"];
nail_8_mc = righthand_mc["nail_8_mc"];
nail_9_mc = righthand_mc["nail_9_mc"];
nail_10_mc = leftfoot_mc["nail_10_mc"];
nail_11_mc = leftfoot_mc["nail_11_mc"];
nail_12_mc = leftfoot_mc["nail_12_mc"];
nail_13_mc = leftfoot_mc["nail_13_mc"];
nail_14_mc = leftfoot_mc["nail_14_mc"];
nail_15_mc = rightfoot_mc["nail_15_mc"];
nail_16_mc = rightfoot_mc["nail_16_mc"];
nail_17_mc = rightfoot_mc["nail_17_mc"];
nail_18_mc = rightfoot_mc["nail_18_mc"];
nail_19_mc = rightfoot_mc["nail_19_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc, nail_5_mc, nail_6_mc, nail_7_mc, nail_8_mc, nail_9_mc, nail_10_mc, nail_11_mc, nail_12_mc, nail_13_mc, nail_14_mc, nail_15_mc, nail_16_mc, nail_17_mc, nail_18_mc, nail_19_mc];
}
public function dryerOff():void{
(parent as Game).dryerOff();
}
private function onEnterFrame(event:Event):void{
updateMeter((this.currentFrame / this.totalFrames));
}
public function onAnimationComplete():void{
gotoAndStop(1);
(parent as Game).goNextPhase();
}
public function updateMeter(pct:Number){
dryerMeter_mc.gotoAndStop((Math.floor((pct * dryerMeter_mc.totalFrames)) + 1));
}
public function onPhaseEntry():void{
var nthNail:int;
(parent as Game).showDryerCover();
(parent as Game).setupPhaseDryer();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].setBitmapData((parent as Game).getBitmapData(nthNail));
nthNail++;
};
this.gotoAndStop(1);
}
}
}//package com.aga.nailspa.game.phases
Section 144
//PhaseDryerChallenge (com.aga.nailspa.game.phases.PhaseDryerChallenge)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.*;
public class PhaseDryerChallenge extends MovieClip {
public var nail_4_mc:NailDecal;
private var __nails:Array;
public var nail_2_mc:NailDecal;
public var lefthand_mc:LeftHand;
public var nail_0_mc:NailDecal;
public var nail_3_mc:NailDecal;
public var dryerMeter_mc:MovieClip;
public var nail_1_mc:NailDecal;
public function PhaseDryerChallenge(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
gotoAndStop(1);
(parent as Game).exitPhaseDryer();
(parent as Game).showDryerCover();
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function updateMeter(pct:Number){
dryerMeter_mc.gotoAndStop((Math.floor((pct * dryerMeter_mc.totalFrames)) + 1));
}
public function onTransitioned():void{
(parent as Game).hideDryerCover();
this.gotoAndPlay(1);
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function dryerOn():void{
(parent as Game).dryerOn();
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
dryerMeter_mc.stop();
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc];
}
public function dryerOff():void{
(parent as Game).dryerOff();
}
private function onEnterFrame(event:Event):void{
updateMeter((this.currentFrame / this.totalFrames));
}
public function onAnimationComplete():void{
gotoAndStop(1);
(parent as Game).goNextPhase();
}
public function onPhaseEntry():void{
var nthNail:int;
(parent as Game).showDryerCover();
(parent as Game).setupPhaseDryer();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].setBitmapData((parent as Game).getBitmapData(nthNail));
nthNail++;
};
this.gotoAndStop(1);
}
}
}//package com.aga.nailspa.game.phases
Section 145
//PhaseIntro (com.aga.nailspa.game.phases.PhaseIntro)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.*;
public class PhaseIntro extends MovieClip {
public var welcome_mc:MovieClip;
public function PhaseIntro(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseExit():void{
(parent as Game).exitPhaseIntro();
welcome_mc.gotoAndPlay("exit");
}
public function reset():void{
(parent as Game).clearPhaseIntro();
}
public function onTransitioned():void{
}
private function onAddedToStage(evt:Event):void{
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseIntro();
welcome_mc.gotoAndPlay("entrance");
}
}
}//package com.aga.nailspa.game.phases
Section 146
//PhaseLoading (com.aga.nailspa.game.phases.PhaseLoading)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
public class PhaseLoading extends MovieClip {
public var aboutspa_animated_mc:MovieClip;
public var mynails_animated_mc:MovieClip;
public var mynails_mc:MyNails;
public var aboutspa_mc:AboutSpa;
public function PhaseLoading(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
(parent as Game).exitPhaseLoading();
}
public function showMyNails():void{
mynails_mc.visible = true;
mynails_mc.enable();
mynails_animated_mc.gotoAndPlay("in");
}
private function onAboutOutDone(e:AnimationEvent):void{
aboutspa_mc.disable();
aboutspa_mc.visible = false;
(parent as Game).hideAbout();
}
public function hideMyNails():void{
mynails_animated_mc.gotoAndPlay("out");
}
public function reset():void{
(parent as Game).clearPhaseLoading();
}
public function hideAbout():void{
aboutspa_animated_mc.gotoAndPlay("out");
}
public function onTransitioned():void{
}
public function showAbout():void{
aboutspa_mc.visible = true;
aboutspa_mc.enable();
aboutspa_animated_mc.gotoAndPlay("in");
}
private function onAddedToStage(evt:Event):void{
aboutspa_mc = aboutspa_animated_mc["aboutspa_mc"];
mynails_mc = mynails_animated_mc["mynails_mc"];
aboutspa_mc.visible = false;
mynails_mc.visible = false;
aboutspa_animated_mc.addEventListener(AnimationEvent.ABOUTOUTDONE, onAboutOutDone, false, 0, true);
mynails_animated_mc.addEventListener(AnimationEvent.MYNAILSOUTDONE, onMyNailsOutDone, false, 0, true);
}
public function setupMyNails(image:DisplayObject):void{
mynails_mc.updateImage(image);
}
private function onMyNailsOutDone(e:AnimationEvent):void{
mynails_mc.disable();
mynails_mc.visible = false;
(parent as Game).hideMyNails();
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseLoading();
}
}
}//package com.aga.nailspa.game.phases
Section 147
//PhaseMixer (com.aga.nailspa.game.phases.PhaseMixer)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.base.utils.*;
import com.aga.nailspa.game.*;
public class PhaseMixer extends MovieClip {
public var mixerMeter_mc:MovieClip;
public function PhaseMixer(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function onPhaseExit():void{
(parent as Game).exitPhaseMixer();
}
public function updateMeter(pct:Number){
mixerMeter_mc.gotoAndStop((Math.floor((pct * mixerMeter_mc.totalFrames)) + 1));
}
public function reset():void{
(parent as Game).clearPhaseMixer();
}
public function onTransitioned():void{
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
SequenceManager.skipFrames(reset, 1);
mixerMeter_mc.stop();
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseMixer();
reset();
}
}
}//package com.aga.nailspa.game.phases
Section 148
//PhasePaint (com.aga.nailspa.game.phases.PhasePaint)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.phasepaint.*;
import com.aga.nailspa.game.*;
import com.aga.framework.interfaces.*;
import com.aga.nailspa.game.controls.buttons.*;
import com.aga.nailspa.game.controls.*;
import flash.ui.*;
public class PhasePaint extends MovieClip {
private const RHOUTX:Number = 170;
private const FOFFY:Number = -1500;
private const LFINX:Number = 150;
private const FONY:Number = 449;
private const LHOUTX:Number = 172;
private const HOLDERNOTLOGINX:Number = 525.9;
private const LHINX:Number = 142.2;
private const HOLDERLOGINX:Number = 423;
private const HONY:Number = 220;
private const RFOUTX:Number = 210;
private const RFINX:Number = 160;
private const HOFFY:Number = -1700;
private const LFOUTX:Number = 200;
private const BOTTLELOGINX:Number = 394;
private const BOTTLENOTLOGINX:Number = 498;
private const RHINX:Number = 120;
private var __loadedDesign:Array;
public var nail_4_mc:Nail;
public var nail_15_mc:Nail;
public var paintColor_0_mc:RadioEaseButton;
public var nail_10_mc:Nail;
public var nail_5_mc:Nail;
public var nail_16_mc:Nail;
public var nail_0_mc:Nail;
public var nail_11_mc:Nail;
public var bottle_mc:PaintMasked;
public var brush_mc:Brush;
public var limbSelector_mc:LimbSelector;
public var paintColor_1_mc:RadioEaseButton;
public var downarrow_btn:SoundEaseButton;
public var nail_6_mc:Nail;
public var colorChooser_mc:ColorChooser;
public var nail_17_mc:Nail;
public var uparrow_btn:SoundEaseButton;
public var nail_1_mc:Nail;
public var lefthand_holder_mc:MovieClip;
public var nail_12_mc:Nail;
public var leftfoot_mc:MovieClip;
public var cap_mc:MovieClip;
public var paintColor_2_mc:RadioEaseButton;
public var nail_7_mc:Nail;
public var limbSelectorAnimated_mc:MovieClip;
private var __nails:Array;
public var nail_18_mc:Nail;
public var nail_2_mc:Nail;
public var nail_13_mc:Nail;
public var rightfoot_mc:MovieClip;
public var lefthand_mc:MovieClip;
public var paintColor_3_mc:RadioEaseButton;
public var nail_8_mc:Nail;
public var nail_19_mc:Nail;
public var nail_3_mc:Nail;
public var nail_14_mc:Nail;
public var righthand_mc:MovieClip;
public var bottleHolder_mc:MovieClip;
public var nail_9_mc:Nail;
public function PhasePaint(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function onPhaseExit():void{
var nthNail:int;
Mouse.show();
colorChooser_mc.disable();
brush_mc.disable();
(parent as Game).exitPhasePaint();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].onPhaseExit();
(parent as Game).setBitmapData(nthNail, __nails[nthNail].getBitmapData());
nthNail++;
};
limbSelector_mc.disable();
limbSelector_mc["leftHandSelector_mc"].removeEventListener(MouseEvent.CLICK, showLeftHandEvt);
limbSelector_mc["rightHandSelector_mc"].removeEventListener(MouseEvent.CLICK, showRightHandEvt);
limbSelector_mc["leftFootSelector_mc"].removeEventListener(MouseEvent.CLICK, showLeftFootEvt);
limbSelector_mc["rightFootSelector_mc"].removeEventListener(MouseEvent.CLICK, showRightFootEvt);
}
private function onSetBottlePaint(evt:BottleEvent):void{
setBottlePaint(evt.color, evt.gold, evt.density);
}
public function onTransitioned():void{
lefthand_holder_mc.gotoAndPlay(1);
limbSelectorAnimated_mc.gotoAndPlay(1);
}
public function setBottlePaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
var nail:Nail;
bottle_mc.setPaint(color, goldRate, sparkleDensity);
for each (nail in __nails) {
nail.setPaint(color, goldRate, sparkleDensity);
};
}
private function onLimbAnimDone(e:AnimationEvent):void{
limbSelectorAnimated_mc.visible = false;
limbSelector_mc.visible = true;
}
public function showRightFootEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
if ((parent as AGADocument).loggedIn){
rightfoot_mc.x = RFINX;
} else {
rightfoot_mc.x = RFOUTX;
};
rightfoot_mc.y = FONY;
rightfoot_mc.visible = true;
}
public function showRightHandEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
if ((parent as AGADocument).loggedIn){
righthand_mc.x = RHINX;
} else {
righthand_mc.x = RHOUTX;
};
righthand_mc.y = HONY;
righthand_mc.visible = true;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
public function onPhaseEntry():void{
var curColorData:String;
var nthNail:int;
cap_mc.visible = false;
brush_mc.enable();
(parent as Game).setupPhasePaint();
__loadedDesign = (parent as Game).getLoadedPolishesArray();
setBottlePaint((parent as Game).getMixedColor(), (parent as Game).getGoldRate(), (parent as Game).getSparkleDensity());
curColorData = "";
curColorData = (curColorData + (((((parent as Game).getMixedColor() + "|") + (parent as Game).getGoldRate()) + "|") + (parent as Game).getSparkleDensity()));
if ((parent as AGADocument).loggedIn){
colorChooser_mc.visible = true;
bottle_mc.x = BOTTLELOGINX;
bottleHolder_mc.x = HOLDERLOGINX;
colorChooser_mc.setupColors(curColorData, (parent as AGADocument).servicesURL);
colorChooser_mc.addEventListener(BottleEvent.EVENT, onSetBottlePaint);
} else {
bottle_mc.x = BOTTLENOTLOGINX;
bottleHolder_mc.x = HOLDERNOTLOGINX;
colorChooser_mc.visible = false;
};
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].onPhaseEntry();
nthNail++;
};
limbSelector_mc.enable();
limbSelector_mc["leftHandSelector_mc"].addEventListener(MouseEvent.CLICK, showLeftHandEvt);
limbSelector_mc["rightHandSelector_mc"].addEventListener(MouseEvent.CLICK, showRightHandEvt);
limbSelector_mc["leftFootSelector_mc"].addEventListener(MouseEvent.CLICK, showLeftFootEvt);
limbSelector_mc["rightFootSelector_mc"].addEventListener(MouseEvent.CLICK, showRightFootEvt);
showLeftHand();
lefthand_holder_mc.gotoAndStop(1);
limbSelectorAnimated_mc.addEventListener(AnimationEvent.LIMBANIMDONE, onLimbAnimDone, false, 0, true);
limbSelectorAnimated_mc.visible = true;
limbSelector_mc.visible = false;
}
public function showLeftHand():void{
if ((parent as AGADocument).loggedIn){
lefthand_holder_mc.x = LHINX;
} else {
lefthand_holder_mc.x = LHOUTX;
};
lefthand_holder_mc.y = HONY;
lefthand_holder_mc.visible = true;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
leftfoot_mc.visible = false;
leftfoot_mc.y = FOFFY;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
public function reset():void{
var nail:Nail;
(parent as Game).clearPhasePaint();
for each (nail in __nails) {
nail.reset();
};
}
public function showLeftFootEvt(evt:MouseEvent):void{
lefthand_holder_mc.visible = false;
lefthand_holder_mc.y = HOFFY;
righthand_mc.visible = false;
righthand_mc.y = HOFFY;
if ((parent as AGADocument).loggedIn){
leftfoot_mc.x = LFINX;
} else {
leftfoot_mc.x = LFOUTX;
};
leftfoot_mc.y = FONY;
leftfoot_mc.visible = true;
rightfoot_mc.visible = false;
rightfoot_mc.y = FOFFY;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
lefthand_mc = lefthand_holder_mc["lefthand_mc"];
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
nail_5_mc = righthand_mc["nail_5_mc"];
nail_6_mc = righthand_mc["nail_6_mc"];
nail_7_mc = righthand_mc["nail_7_mc"];
nail_8_mc = righthand_mc["nail_8_mc"];
nail_9_mc = righthand_mc["nail_9_mc"];
nail_10_mc = leftfoot_mc["nail_10_mc"];
nail_11_mc = leftfoot_mc["nail_11_mc"];
nail_12_mc = leftfoot_mc["nail_12_mc"];
nail_13_mc = leftfoot_mc["nail_13_mc"];
nail_14_mc = leftfoot_mc["nail_14_mc"];
nail_15_mc = rightfoot_mc["nail_15_mc"];
nail_16_mc = rightfoot_mc["nail_16_mc"];
nail_17_mc = rightfoot_mc["nail_17_mc"];
nail_18_mc = rightfoot_mc["nail_18_mc"];
nail_19_mc = rightfoot_mc["nail_19_mc"];
uparrow_btn = colorChooser_mc["uparrow_btn"];
downarrow_btn = colorChooser_mc["downarrow_btn"];
paintColor_0_mc = colorChooser_mc["paintColor_0_mc"];
paintColor_1_mc = colorChooser_mc["paintColor_1_mc"];
paintColor_2_mc = colorChooser_mc["paintColor_2_mc"];
paintColor_3_mc = colorChooser_mc["paintColor_3_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc, nail_5_mc, nail_6_mc, nail_7_mc, nail_8_mc, nail_9_mc, nail_10_mc, nail_11_mc, nail_12_mc, nail_13_mc, nail_14_mc, nail_15_mc, nail_16_mc, nail_17_mc, nail_18_mc, nail_19_mc];
cap_mc = bottle_mc["cap_mc"];
lefthand_holder_mc.gotoAndStop(1);
}
public function showLeftHandEvt(evt:MouseEvent):void{
showLeftHand();
}
}
}//package com.aga.nailspa.game.phases
Section 149
//PhasePaintChallenge (com.aga.nailspa.game.phases.PhasePaintChallenge)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.*;
public class PhasePaintChallenge extends MovieClip {
private const HONY:Number = 220;
private const LHOUTX:Number = 172;
private const LHINX:Number = 142.2;
public var lefthand_holder_mc:MovieClip;
private var __loadedDesign:Array;
public var cap_mc:MovieClip;
public var nail_4_mc:Nail;
private var __nails:Array;
public var nail_2_mc:Nail;
public var lefthand_mc:MovieClip;
public var nail_0_mc:Nail;
public var bottle_mc:PaintMasked;
public var nail_3_mc:Nail;
public var brush_mc:Brush;
public var nail_1_mc:Nail;
public function PhasePaintChallenge(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function getPctTouched():Number{
var numTouched:int;
var nail:Nail;
numTouched = 0;
for each (nail in __nails) {
if (nail.getTouched()){
numTouched++;
};
};
return ((numTouched / __nails.length));
}
public function onPhaseExit():void{
var nthNail:int;
(parent as Game).exitPhasePaint();
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].onPhaseExit();
(parent as Game).setBitmapData(nthNail, __nails[nthNail].getBitmapData());
nthNail++;
};
brush_mc.disable();
}
public function reset():void{
var nail:Nail;
(parent as Game).clearPhasePaint();
for each (nail in __nails) {
nail.reset();
};
}
public function onTransitioned():void{
lefthand_holder_mc.gotoAndPlay(1);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
lefthand_mc = lefthand_holder_mc["lefthand_mc"];
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc];
cap_mc = bottle_mc["cap_mc"];
lefthand_holder_mc.y = HONY;
lefthand_holder_mc.x = LHOUTX;
lefthand_holder_mc.gotoAndStop(1);
}
public function setBottlePaint(color:Number, goldRate:Number, sparkleDensity:Number):void{
var nail:Nail;
bottle_mc.setPaint(color, goldRate, sparkleDensity);
for each (nail in __nails) {
nail.setPaint(color, goldRate, sparkleDensity);
};
}
public function onPhaseEntry():void{
var nthNail:int;
cap_mc.visible = false;
brush_mc.enable();
(parent as Game).setupPhasePaint();
__loadedDesign = (parent as Game).getLoadedPolishesArray();
setBottlePaint((parent as Game).getMixedColor(), (parent as Game).getGoldRate(), (parent as Game).getSparkleDensity());
nthNail = 0;
while (nthNail < __nails.length) {
__nails[nthNail].onPhaseEntry();
nthNail++;
};
lefthand_holder_mc.gotoAndStop(1);
}
}
}//package com.aga.nailspa.game.phases
Section 150
//PhaseViewGoal (com.aga.nailspa.game.phases.PhaseViewGoal)
package com.aga.nailspa.game.phases {
import flash.display.*;
import com.aga.nailspa.game.*;
public class PhaseViewGoal extends MovieClip {
public var lefthand_mc:LeftHandGoal;
public function PhaseViewGoal(){
super();
}
public function onPhaseExit():void{
(parent as Game).exitPhaseViewGoal();
}
public function setupGoal():void{
var game:Game;
var nthNail:int;
game = (parent as Game);
nthNail = 0;
while (nthNail < 5) {
lefthand_mc.showDecal(nthNail, game.getGoalDecalIndex(nthNail));
lefthand_mc.showPaint(nthNail, game.getGoalMixedColor(), game.getGoalGoldRate(), game.getGoalSparkleDensity());
nthNail++;
};
}
public function reset():void{
setupGoal();
}
public function onTransitioned():void{
}
public function onPhaseEntry():void{
(parent as Game).setupPhaseViewGoal();
}
}
}//package com.aga.nailspa.game.phases
Section 151
//PhaseWithDrip (com.aga.nailspa.game.phases.PhaseWithDrip)
package com.aga.nailspa.game.phases {
import flash.display.*;
public class PhaseWithDrip extends MovieClip {
public function PhaseWithDrip(){
super();
}
public function releaseDrip():void{
}
}
}//package com.aga.nailspa.game.phases
Section 152
//Polaroids (com.aga.nailspa.game.phases.Polaroids)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.events.*;
public class Polaroids extends MovieClip {
public var nail_4_mc:NailDecal;
private var __currentOver:int;// = 0
public var nail_15_mc:NailDecal;
public var polaroid1_mc:MovieClip;
public var nail_10_mc:NailDecal;
public var nail_5_mc:NailDecal;
public var toe_left_separator_bottom_mc:MovieClip;
public var nail_16_mc:NailDecal;
public var polaroid2_mc:MovieClip;
public var nail_0_mc:NailDecal;
private var __currentZoomed:int;// = 0
public var nail_11_mc:NailDecal;
public var nail_6_mc:NailDecal;
public var nail_17_mc:NailDecal;
public var nail_1_mc:NailDecal;
public var polaroid3_mc:MovieClip;
public var nail_12_mc:NailDecal;
public var leftfoot_mc:LeftFoot;
public var nail_7_mc:NailDecal;
private var __nails:Array;
public var nail_18_mc:NailDecal;
public var nail_2_mc:NailDecal;
public var polaroid4_mc:MovieClip;
private var __zooming:Boolean;// = false
public var toe_left_separator_top_mc:MovieClip;
public var nail_13_mc:NailDecal;
public var rightfoot_mc:RightFoot;
public var lefthand_mc:LeftHand;
public var nail_8_mc:NailDecal;
public var nail_19_mc:NailDecal;
public var toe_right_separator_top_mc:MovieClip;
public var nail_3_mc:NailDecal;
public var nail_14_mc:NailDecal;
public var righthand_mc:RightHand;
public var polaroids_bg_mc:MovieClip;
public var nail_9_mc:NailDecal;
public var toe_right_separator_bottom_mc:MovieClip;
public function Polaroids(){
__currentZoomed = 0;
__currentOver = 0;
__zooming = false;
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function polaroidTwoInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
public function showBG():void{
polaroids_bg_mc.visible = true;
}
private function zoomFrom(num:int):void{
if (!__zooming){
switch (num){
case 1:
gotoAndPlay("polaroidOneZoomOut");
break;
case 2:
gotoAndPlay("polaroidTwoZoomOut");
break;
case 3:
gotoAndPlay("polaroidThreeZoomOut");
break;
case 4:
gotoAndPlay("polaroidFourZoomOut");
break;
};
__zooming = true;
};
}
private function polaroidOneInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
private function updateZoom(evt:Event):void{
if (__currentOver != __currentZoomed){
if (__currentZoomed == 0){
zoomTo(__currentOver);
} else {
zoomFrom(__currentZoomed);
};
};
}
private function polaroidTwoOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
private function setOver(num:int):void{
__currentOver = num;
}
private function polaroidOneOverHandler(event:MouseEvent):void{
setOver(1);
}
private function setZoomed(num:int):void{
__currentZoomed = num;
}
private function polaroidOneOutHandler(event:MouseEvent):void{
unsetOver(1);
}
private function polaroidFourOutHandler(event:MouseEvent):void{
unsetOver(4);
}
private function polaroidOneOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
private function polaroidTwoOverHandler(event:MouseEvent):void{
setOver(2);
}
public function disable():void{
polaroid1_mc.removeEventListener(MouseEvent.MOUSE_OVER, polaroidOneOverHandler);
polaroid2_mc.removeEventListener(MouseEvent.MOUSE_OVER, polaroidTwoOverHandler);
polaroid3_mc.removeEventListener(MouseEvent.MOUSE_OVER, polaroidThreeOverHandler);
polaroid4_mc.removeEventListener(MouseEvent.MOUSE_OVER, polaroidFourOverHandler);
polaroid1_mc.removeEventListener(MouseEvent.ROLL_OUT, polaroidOneOutHandler);
polaroid2_mc.removeEventListener(MouseEvent.ROLL_OUT, polaroidTwoOutHandler);
polaroid3_mc.removeEventListener(MouseEvent.ROLL_OUT, polaroidThreeOutHandler);
polaroid4_mc.removeEventListener(MouseEvent.ROLL_OUT, polaroidFourOutHandler);
removeEventListener(AnimationEvent.POLAROID1ZOOMOUTDONE, polaroidOneOutDoneHandler);
removeEventListener(AnimationEvent.POLAROID2ZOOMOUTDONE, polaroidTwoOutDoneHandler);
removeEventListener(AnimationEvent.POLAROID3ZOOMOUTDONE, polaroidThreeOutDoneHandler);
removeEventListener(AnimationEvent.POLAROID4ZOOMOUTDONE, polaroidFourOutDoneHandler);
removeEventListener(AnimationEvent.POLAROID1ZOOMINDONE, polaroidOneInDoneHandler);
removeEventListener(AnimationEvent.POLAROID2ZOOMINDONE, polaroidTwoInDoneHandler);
removeEventListener(AnimationEvent.POLAROID3ZOOMINDONE, polaroidThreeInDoneHandler);
removeEventListener(AnimationEvent.POLAROID4ZOOMINDONE, polaroidFourInDoneHandler);
removeEventListener(Event.ENTER_FRAME, updateZoom);
}
private function polaroidThreeInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
private function polaroidFourOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
private function polaroidThreeOutHandler(event:MouseEvent):void{
unsetOver(3);
}
private function showBottleAndText():void{
if (__currentOver == 0){
(parent as PhaseConclusion).showBottleAndText();
};
}
private function polaroidThreeOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
private function polaroidTwoOutHandler(event:MouseEvent):void{
unsetOver(2);
}
public function hideBG():void{
polaroids_bg_mc.visible = false;
}
private function polaroidFourInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
private function polaroidThreeOverHandler(event:MouseEvent):void{
setOver(3);
}
public function getNails():Array{
return (__nails);
}
private function polaroidFourOverHandler(event:MouseEvent):void{
setOver(4);
}
public function enable():void{
polaroid1_mc.addEventListener(MouseEvent.MOUSE_OVER, polaroidOneOverHandler);
polaroid2_mc.addEventListener(MouseEvent.MOUSE_OVER, polaroidTwoOverHandler);
polaroid3_mc.addEventListener(MouseEvent.MOUSE_OVER, polaroidThreeOverHandler);
polaroid4_mc.addEventListener(MouseEvent.MOUSE_OVER, polaroidFourOverHandler);
polaroid1_mc.addEventListener(MouseEvent.ROLL_OUT, polaroidOneOutHandler);
polaroid2_mc.addEventListener(MouseEvent.ROLL_OUT, polaroidTwoOutHandler);
polaroid3_mc.addEventListener(MouseEvent.ROLL_OUT, polaroidThreeOutHandler);
polaroid4_mc.addEventListener(MouseEvent.ROLL_OUT, polaroidFourOutHandler);
addEventListener(AnimationEvent.POLAROID1ZOOMOUTDONE, polaroidOneOutDoneHandler);
addEventListener(AnimationEvent.POLAROID2ZOOMOUTDONE, polaroidTwoOutDoneHandler);
addEventListener(AnimationEvent.POLAROID3ZOOMOUTDONE, polaroidThreeOutDoneHandler);
addEventListener(AnimationEvent.POLAROID4ZOOMOUTDONE, polaroidFourOutDoneHandler);
addEventListener(AnimationEvent.POLAROID1ZOOMINDONE, polaroidOneInDoneHandler);
addEventListener(AnimationEvent.POLAROID2ZOOMINDONE, polaroidTwoInDoneHandler);
addEventListener(AnimationEvent.POLAROID3ZOOMINDONE, polaroidThreeInDoneHandler);
addEventListener(AnimationEvent.POLAROID4ZOOMINDONE, polaroidFourInDoneHandler);
addEventListener(Event.ENTER_FRAME, updateZoom);
__currentZoomed = 0;
__currentOver = 0;
}
private function unsetOver(num:int):void{
if (__currentOver == num){
__currentOver = 0;
};
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
leftfoot_mc = polaroid1_mc["leftfoot_mc"];
rightfoot_mc = polaroid2_mc["rightfoot_mc"];
lefthand_mc = polaroid3_mc["lefthand_mc"];
righthand_mc = polaroid4_mc["righthand_mc"];
toe_left_separator_bottom_mc = leftfoot_mc["toe_separator_bottom_mc"];
toe_left_separator_top_mc = leftfoot_mc["toe_separator_top_mc"];
toe_right_separator_bottom_mc = rightfoot_mc["toe_separator_bottom_mc"];
toe_right_separator_top_mc = rightfoot_mc["toe_separator_top_mc"];
nail_0_mc = lefthand_mc["nail_0_mc"];
nail_1_mc = lefthand_mc["nail_1_mc"];
nail_2_mc = lefthand_mc["nail_2_mc"];
nail_3_mc = lefthand_mc["nail_3_mc"];
nail_4_mc = lefthand_mc["nail_4_mc"];
nail_5_mc = righthand_mc["nail_5_mc"];
nail_6_mc = righthand_mc["nail_6_mc"];
nail_7_mc = righthand_mc["nail_7_mc"];
nail_8_mc = righthand_mc["nail_8_mc"];
nail_9_mc = righthand_mc["nail_9_mc"];
nail_10_mc = leftfoot_mc["nail_10_mc"];
nail_11_mc = leftfoot_mc["nail_11_mc"];
nail_12_mc = leftfoot_mc["nail_12_mc"];
nail_13_mc = leftfoot_mc["nail_13_mc"];
nail_14_mc = leftfoot_mc["nail_14_mc"];
nail_15_mc = rightfoot_mc["nail_15_mc"];
nail_16_mc = rightfoot_mc["nail_16_mc"];
nail_17_mc = rightfoot_mc["nail_17_mc"];
nail_18_mc = rightfoot_mc["nail_18_mc"];
nail_19_mc = rightfoot_mc["nail_19_mc"];
__nails = [nail_0_mc, nail_1_mc, nail_2_mc, nail_3_mc, nail_4_mc, nail_5_mc, nail_6_mc, nail_7_mc, nail_8_mc, nail_9_mc, nail_10_mc, nail_11_mc, nail_12_mc, nail_13_mc, nail_14_mc, nail_15_mc, nail_16_mc, nail_17_mc, nail_18_mc, nail_19_mc];
toe_left_separator_bottom_mc.visible = false;
toe_left_separator_top_mc.visible = false;
toe_right_separator_bottom_mc.visible = false;
toe_right_separator_top_mc.visible = false;
polaroids_bg_mc.visible = false;
}
private function zoomTo(num:int):void{
if (!__zooming){
switch (num){
case 1:
setZoomed(1);
gotoAndPlay("polaroidOneZoomIn");
break;
case 2:
setZoomed(2);
gotoAndPlay("polaroidTwoZoomIn");
break;
case 3:
setZoomed(3);
gotoAndPlay("polaroidThreeZoomIn");
break;
case 4:
setZoomed(4);
gotoAndPlay("polaroidFourZoomIn");
break;
};
(parent as PhaseConclusion).hideBottleAndText();
__zooming = true;
};
}
}
}//package com.aga.nailspa.game.phases
Section 153
//PolaroidsChallenge (com.aga.nailspa.game.phases.PolaroidsChallenge)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.events.*;
public class PolaroidsChallenge extends MovieClip {
private var __currentOver:int;// = 0
public var leftHandGoal_mc:LeftHandGoal;
private var __zooming:Boolean;// = false
public var leftHandChallenge_mc:LeftHand;
private var __currentZoomed:int;// = 0
public var polaroidGoal_mc:MovieClip;
public var polaroidChallenge_mc:MovieClip;
public function PolaroidsChallenge(){
__currentZoomed = 0;
__currentOver = 0;
__zooming = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function showBottleAndText():void{
if (__currentOver == 0){
(parent as PhaseConclusionChallenge).showBottleAndText();
};
}
private function yoursOutHandler(event:MouseEvent):void{
unsetOver(2);
}
private function yoursOverHandler(event:MouseEvent):void{
setOver(2);
}
private function zoomFrom(num:int):void{
if (!__zooming){
switch (num){
case 1:
gotoAndPlay("zoomOutGoal");
break;
case 2:
gotoAndPlay("zoomOutYours");
break;
};
__zooming = true;
};
}
private function polaroidGoalOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
private function polaroidYoursInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
private function updateZoom(evt:Event):void{
if (__currentOver != __currentZoomed){
if (__currentZoomed == 0){
zoomTo(__currentOver);
} else {
zoomFrom(__currentZoomed);
};
};
}
private function polaroidGoalInDoneHandler(evt:AnimationEvent):void{
__zooming = false;
}
public function showChallengeDecal(nthNail:int, nthDecal:int):void{
leftHandChallenge_mc.showDecal(nthNail, nthDecal);
}
public function enable():void{
polaroidGoal_mc.addEventListener(MouseEvent.ROLL_OUT, goalOutHandler);
polaroidGoal_mc.addEventListener(MouseEvent.MOUSE_OVER, goalOverHandler);
polaroidChallenge_mc.addEventListener(MouseEvent.ROLL_OUT, yoursOutHandler);
polaroidChallenge_mc.addEventListener(MouseEvent.MOUSE_OVER, yoursOverHandler);
addEventListener(AnimationEvent.POLAROIDGOALZOOMOUTDONE, polaroidGoalOutDoneHandler);
addEventListener(AnimationEvent.POLAROIDYOURSZOOMOUTDONE, polaroidYoursOutDoneHandler);
addEventListener(AnimationEvent.POLAROIDGOALZOOMINDONE, polaroidGoalInDoneHandler);
addEventListener(AnimationEvent.POLAROIDYOURSZOOMINDONE, polaroidYoursInDoneHandler);
addEventListener(Event.ENTER_FRAME, updateZoom);
__currentZoomed = 0;
__currentOver = 0;
}
private function polaroidYoursOutDoneHandler(evt:AnimationEvent):void{
__zooming = false;
setZoomed(0);
showBottleAndText();
}
public function showGoalPaint(nthNail:int, color:Number, goldRate:Number, sparkleDensity:Number):void{
leftHandGoal_mc.showPaint(nthNail, color, goldRate, sparkleDensity);
}
private function goalOutHandler(event:MouseEvent):void{
unsetOver(1);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
leftHandGoal_mc = polaroidGoal_mc["leftHandGoal_mc"];
leftHandChallenge_mc = polaroidChallenge_mc["leftHandChallenge_mc"];
}
public function setChallengeBitmapData(nthNail:int, data:BitmapData):void{
leftHandChallenge_mc.setBitmapData(nthNail, data);
}
private function unsetOver(num:int):void{
if (__currentOver == num){
__currentOver = 0;
};
}
private function setOver(num:int):void{
__currentOver = num;
}
private function setZoomed(num:int):void{
__currentZoomed = num;
}
private function zoomTo(num:int):void{
if (!__zooming){
switch (num){
case 1:
setZoomed(1);
gotoAndPlay("zoomInGoal");
break;
case 2:
setZoomed(2);
gotoAndPlay("zoomInYours");
break;
};
(parent as PhaseConclusionChallenge).hideBottleAndText();
__zooming = true;
};
}
private function goalOverHandler(event:MouseEvent):void{
setOver(1);
}
public function showGoalDecal(nthNail:int, nthDecal:int):void{
leftHandGoal_mc.showDecal(nthNail, nthDecal);
}
public function disable():void{
polaroidGoal_mc.removeEventListener(MouseEvent.ROLL_OUT, goalOutHandler);
polaroidGoal_mc.removeEventListener(MouseEvent.MOUSE_OVER, goalOverHandler);
polaroidChallenge_mc.removeEventListener(MouseEvent.ROLL_OUT, yoursOutHandler);
polaroidChallenge_mc.removeEventListener(MouseEvent.MOUSE_OVER, yoursOverHandler);
removeEventListener(AnimationEvent.POLAROIDGOALZOOMOUTDONE, polaroidGoalOutDoneHandler);
removeEventListener(AnimationEvent.POLAROIDYOURSZOOMOUTDONE, polaroidYoursOutDoneHandler);
removeEventListener(AnimationEvent.POLAROIDGOALZOOMINDONE, polaroidGoalInDoneHandler);
removeEventListener(AnimationEvent.POLAROIDYOURSZOOMINDONE, polaroidYoursInDoneHandler);
removeEventListener(Event.ENTER_FRAME, updateZoom);
}
}
}//package com.aga.nailspa.game.phases
Section 154
//RadioButton (com.aga.nailspa.game.phases.RadioButton)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class RadioButton extends MovieClip {
public var highlight_mc:MovieClip;
public function RadioButton(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function showHighlight(){
highlight_mc.visible = true;
}
public function reset(){
hideHighlight();
}
public function hideHighlight(){
highlight_mc.visible = false;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
reset();
}
}
}//package com.aga.nailspa.game.phases
Section 155
//RightFoot (com.aga.nailspa.game.phases.RightFoot)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class RightFoot extends MovieClip {
private var __nails:Array;
public var nail_18_mc:NailDecal;
public var nail_15_mc:NailDecal;
public var nail_16_mc:NailDecal;
public var nail_19_mc:NailDecal;
public var nail_17_mc:NailDecal;
public function RightFoot(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__nails = [nail_15_mc, nail_16_mc, nail_17_mc, nail_18_mc, nail_19_mc];
}
}
}//package com.aga.nailspa.game.phases
Section 156
//RightHand (com.aga.nailspa.game.phases.RightHand)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class RightHand extends MovieClip {
public var nail_7_mc:NailDecal;
private var __nails:Array;
public var nail_5_mc:NailDecal;
public var nail_8_mc:NailDecal;
public var nail_6_mc:NailDecal;
public var nail_9_mc:NailDecal;
public function RightHand(){
__nails = new Array();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__nails = [nail_5_mc, nail_6_mc, nail_7_mc, nail_8_mc, nail_9_mc];
}
}
}//package com.aga.nailspa.game.phases
Section 157
//SpaItem (com.aga.nailspa.game.phases.SpaItem)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class SpaItem extends MovieClip {
private const LEFT:int = 0;
private const DYEROTATESOUND:String = "ColorMixStartRotate";
private const DEFAULTPOSX:Number = 127.6;
private const DEFAULTPOSY:Number = 321.6;
private const GLITTERDRIPHITSOUND:String = "GlitterDropLand";
private const COLORPOSX:Number = 72.1;
private const COLORPOSY:Number = 209.3;
private const MAXSHAKES:int = 8;
const NUMCLEAR:int = 4;
const NUMINC:int = 60;
private const RIGHTPOSY:Number = 164;
private const RIGHTPOSX:Number = 243.7;
private const GLITTERCOLORARRAY:Array;
private const DYEROTATESTOPSOUND:String = "ColorMixStopRotate";
private const LEFTPOSX:Number = 202.7;
private const LEFTPOSY:Number = 164;
private const TOTALMIXFRAMES:int = 148;
private const COLORDRIPHITSOUND:String = "ColorDropLand";
private const RIGHT:int = 1;
public var pearl_indicator_back_mc:MovieClip;
private var __am:AudioManager;
private var __currGlitterDripColor:int;// = 0
public var anim_color_indicator_mc:MovieClip;
private var __currPaintDripColor:int;// = 0
public var __leftGlitterColor:ColorTransform;
public var glitter_station_mc:GlitterStation;
public var button_arrow_left_mc:ArrowButton;
public var button_arrow_pearl_mc:ArrowButton;
private var currFrame:int;// = 0
private var __yellow:int;// = 0
public var leftLeverArrow_mc:MovieClip;
private var __blue:int;// = 0
public var __indicatorColor:ColorTransform;
public var counter_red_drop_color_mc:MovieClip;
public var button_arrow_right_color_mc:MovieClip;
public var colorLeverArrow_mc:MovieClip;
public var shadows_glitter_station_mc:MovieClip;
public var rightLeverArrow_mc:MovieClip;
public var button_arrow_gold_color_mc:MovieClip;
public var bottle_mc:Bottle;
private var __red:int;// = 0
public var shadows_mix_station_mc:MovieClip;
public var button_arrow_right_mc:ArrowButton;
private var colorArray:Array;
public var anim_mixer_station_cover2_mc:MovieClip;
public var anim_mixer_shake_mc:MovieClip;
public var dryerCover_mc:MovieClip;
public var button_arrow_left_color_mc:MovieClip;
public var __rightGlitterColor:ColorTransform;
public var __leftPaintColor:ColorTransform;
public var __rightPaintColor:ColorTransform;
public var colormask_mc:MovieClip;
public var dropCounter_mc:ColorIndicator;
public var counter_yellow_drop_color_mc:MovieClip;
public var color_indicator_mc:MovieClip;
public var pearl_indicator_mc:MovieClip;
public var anim_mixer_station_cover_mc:MovieClip;
public var gold_indicator_mc:MovieClip;
public var counter_blue_drop_color_mc:MovieClip;
public var button_arrow_gold_mc:ArrowButton;
private var numShakes:int;// = 0
public var glittermask_mc:MovieClip;
public var anim_dryer_station_button_mc:MovieClip;
public var shadows_dye_station:MovieClip;
public var anim_mixer_switch_mc:MovieClip;
public var anim_dye_station_mc:DyeStation;
public var gold_indicator_back_mc:MovieClip;
public var button_arrow_pearl_color_mc:MovieClip;
private var __bottleOnLeft:Boolean;// = true
private var __colorMix:ColorMixer;
public var color_indicator_back_mc:MovieClip;
private var __lastColorFillAmt:Number;// = 0.5
public function SpaItem(){
__indicatorColor = new ColorTransform();
__leftPaintColor = new ColorTransform();
__rightPaintColor = new ColorTransform();
__leftGlitterColor = new ColorTransform();
__rightGlitterColor = new ColorTransform();
numShakes = 0;
currFrame = 0;
__colorMix = new ColorMixer();
colorArray = new Array();
GLITTERCOLORARRAY = new Array(0xFFCC00, 0xFFFFFF);
__currPaintDripColor = 0;
__currGlitterDripColor = 0;
__red = 0;
__yellow = 0;
__blue = 0;
__bottleOnLeft = true;
__lastColorFillAmt = 0.5;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function setupPhasePaint():void{
hideAllShadows();
setDefaultBottlePosition();
}
public function allowClickThrough(mc:MovieClip):void{
mc.buttonMode = false;
mc.useHandCursor = false;
mc.mouseEnabled = false;
mc.mouseChildren = false;
mc.doubleClickEnabled = false;
mc.tabEnabled = false;
}
public function exitPhaseColorMix():void{
dropCounter_mc.visible = false;
hideColorArrows();
anim_dye_station_mc.disable();
bottle_mc.disable();
(parent.parent as Game).setMixedColor(bottle_mc.getColor(), __red, __yellow, __blue);
__lastColorFillAmt = bottle_mc.getFill();
colorLeverArrow_mc.visible = false;
}
public function setLeverColor(colorInt:int):void{
var leftInt:int;
var centerInt:int;
var rightInt:int;
leftInt = (((colorInt - 1) + colorArray.length) % colorArray.length);
centerInt = ((colorInt + colorArray.length) % colorArray.length);
rightInt = (((colorInt + 1) + colorArray.length) % colorArray.length);
__currPaintDripColor = centerInt;
__leftPaintColor.color = colorArray[leftInt];
__indicatorColor.color = colorArray[centerInt];
__rightPaintColor.color = colorArray[rightInt];
button_arrow_left_color_mc.transform.colorTransform = __leftPaintColor;
button_arrow_right_color_mc.transform.colorTransform = __rightPaintColor;
}
private function indicatorFadeOut(e:AnimationEvent):void{
anim_color_indicator_mc.gotoAndStop("off");
}
public function setupPhaseIntro():void{
hideAllShadows();
setDefaultBottlePosition();
}
public function hideColorArrows():void{
button_arrow_left_mc.removeEventListener(MouseEvent.MOUSE_DOWN, rotateCounterClockwise);
button_arrow_right_mc.removeEventListener(MouseEvent.MOUSE_DOWN, rotateClockwise);
button_arrow_left_mc.visible = false;
color_indicator_mc.visible = false;
button_arrow_right_mc.visible = false;
}
public function hideGlitterArrows():void{
button_arrow_gold_mc.removeEventListener(MouseEvent.MOUSE_DOWN, clickedButtonLeft);
button_arrow_pearl_mc.removeEventListener(MouseEvent.MOUSE_DOWN, clickedButtonRight);
button_arrow_gold_mc.visible = false;
gold_indicator_mc.visible = false;
pearl_indicator_mc.visible = false;
button_arrow_pearl_mc.visible = false;
}
public function colorDripHit():void{
var newColor:Number;
playSound(COLORDRIPHITSOUND, 0);
switch (__currPaintDripColor){
case 0:
__red++;
break;
case 1:
__yellow++;
break;
case 2:
__blue++;
break;
};
newColor = __colorMix.mix(__red, __yellow, __blue, NUMCLEAR);
bottle_mc.splash(newColor);
bottle_mc.setColor(newColor);
updateDropCounters();
if (bottle_mc.incFill()){
disableColorMix();
} else {
dropHitColorMix();
};
colorLeverArrow_mc.visible = false;
}
public function mixerOuterCoverOff(e:AnimationEvent):void{
anim_mixer_station_cover_mc.removeEventListener(AnimationEvent.OUTERCOVEROFF, mixerOuterCoverOff);
anim_mixer_station_cover2_mc.addEventListener(AnimationEvent.INNERCOVEROFF, mixerInnerCoverOff, false, 0, true);
anim_mixer_station_cover2_mc.gotoAndPlay("startUp");
playSound("CapOff2");
}
private function dropHitColorMix():void{
anim_dye_station_mc.dropHit();
}
public function showGlitterArrows():void{
button_arrow_gold_mc.addEventListener(MouseEvent.MOUSE_DOWN, clickedButtonLeft);
button_arrow_pearl_mc.addEventListener(MouseEvent.MOUSE_DOWN, clickedButtonRight);
button_arrow_gold_mc.visible = true;
gold_indicator_mc.visible = true;
pearl_indicator_mc.visible = true;
button_arrow_pearl_mc.visible = true;
}
public function disableGlitterMix():void{
glitter_station_mc.disable();
hideGlitterArrows();
}
public function setupPhaseLoading():void{
hideAllShadows();
setDefaultBottlePosition();
}
public function setDefaultBottlePosition():void{
bottle_mc.x = DEFAULTPOSX;
bottle_mc.y = DEFAULTPOSY;
bottle_mc.mask = null;
}
public function exitPhaseAddGlitter():void{
glitter_station_mc.disable();
hideGlitterArrows();
bottle_mc.disable();
bottle_mc.hideGlitter();
(parent.parent as Game).setGoldRate(bottle_mc.getGoldRate());
(parent.parent as Game).setSparkleDensity(bottle_mc.getSparkleDensity());
leftLeverArrow_mc.visible = false;
rightLeverArrow_mc.visible = false;
bottle_mc.visible = false;
}
private function dropHitGlitterMix():void{
glitter_station_mc.dropHit();
}
public function transitionedToDryer():void{
}
public function glitterDripHit():void{
var newColor:Number;
playSound(GLITTERDRIPHITSOUND, 0);
newColor = __colorMix.mix(__red, __yellow, __blue, NUMCLEAR);
bottle_mc.sparkle(newColor, GLITTERCOLORARRAY[__currGlitterDripColor]);
if (bottle_mc.addGlitterLayer(GLITTERCOLORARRAY[__currGlitterDripColor], (__currGlitterDripColor == 0))){
disableGlitterMix();
} else {
dropHitGlitterMix();
};
rightLeverArrow_mc.visible = false;
leftLeverArrow_mc.visible = false;
}
private function startMixerAnimation():void{
anim_mixer_shake_mc.gotoAndStop("capoff");
anim_mixer_station_cover2_mc.addEventListener(AnimationEvent.INNERCOVERON, mixerInnerCoverOn, false, 0, true);
anim_mixer_station_cover_mc.gotoAndStop("startDown");
anim_mixer_station_cover2_mc.gotoAndPlay("startDown");
playSound("CapOn1");
}
public function rotateClockwise(event:MouseEvent):void{
playSound(DYEROTATESOUND, 0);
anim_dye_station_mc.gotoAndPlay("CLOCK");
setLeverColor((__currPaintDripColor + 1));
}
public function enableColorMix():void{
anim_dye_station_mc.enable();
showColorArrows();
}
public function rotateCounterClockwise(event:MouseEvent):void{
playSound(DYEROTATESOUND, 0);
anim_dye_station_mc.gotoAndPlay("COUNTERCLOCK");
setLeverColor((__currPaintDripColor - 1));
}
public function exitPhaseDryer():void{
}
public function setupPhaseAddDecal():void{
hideAllShadows();
setDefaultBottlePosition();
}
private function onEnterFrame(event:Event):void{
currFrame++;
updateMixerMeter((currFrame / TOTALMIXFRAMES));
}
public function dryerOff():void{
anim_dryer_station_button_mc.gotoAndStop("off");
}
public function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function releaseGlitterDrip():void{
bottle_mc.releaseDrip(GLITTERCOLORARRAY[__currGlitterDripColor], false);
}
public function moveRight():void{
__bottleOnLeft = false;
bottle_mc.x = RIGHTPOSX;
bottle_mc.y = RIGHTPOSY;
__currGlitterDripColor = RIGHT;
glitter_station_mc.setPearlActive(!(bottle_mc.isGlitterFull()));
glitter_station_mc.setGoldActive(false);
button_arrow_gold_mc.visible = !(bottle_mc.isGlitterFull());
button_arrow_pearl_mc.visible = false;
if (leftLeverArrow_mc.visible){
leftLeverArrow_mc.visible = false;
rightLeverArrow_mc.visible = true;
};
}
public function updateMixerMeter(pct:Number):void{
(parent as SpaItemContainer).updateMixerMeter(pct);
}
private function resetGlitter():void{
bottle_mc.removeGlitterLayers();
}
public function exitPhaseConclusion():void{
}
public function disableColorMix():void{
anim_dye_station_mc.disable();
hideColorArrows();
}
public function transitionedToMixer():void{
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
currFrame = 0;
startMixerAnimation();
}
public function setupPhaseAddGlitter():void{
bottle_mc.showGlitter();
bottle_mc.mask = glittermask_mc;
hideAllShadows();
bottle_mc.setFull();
bottle_mc.enable();
bottle_mc.visible = true;
}
public function setupPhaseColorMix():void{
bottle_mc.mask = colormask_mc;
hideAllShadows();
bottle_mc.x = COLORPOSX;
bottle_mc.y = COLORPOSY;
bottle_mc.enable();
bottle_mc.setFill(__lastColorFillAmt);
bottle_mc.visible = true;
}
public function exitPhaseMixer():void{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
resetMixer();
}
public function mixerInnerCoverOff(e:AnimationEvent):void{
anim_mixer_station_cover2_mc.removeEventListener(AnimationEvent.INNERCOVEROFF, mixerInnerCoverOff);
(parent as SpaItemContainer).goNextPhase();
}
public function enableGlitterMix():void{
showGlitterArrows();
glitter_station_mc.enable();
}
public function setupPhaseDryer():void{
hideAllShadows();
setDefaultBottlePosition();
bottle_mc.visible = false;
}
public function transitionedToAddGlitter():void{
if (bottle_mc.isGlitterFull()){
disableGlitterMix();
} else {
enableGlitterMix();
};
moveLeft();
leftLeverArrow_mc.visible = true;
}
private function resetColor():void{
__red = 0;
__yellow = 0;
__blue = 0;
updateDropCounters();
bottle_mc.setColor(__colorMix.mix(__red, __yellow, __blue, NUMCLEAR));
bottle_mc.setHalfFull();
__lastColorFillAmt = bottle_mc.getFill();
}
public function mixerInnerCoverOn(e:AnimationEvent):void{
anim_mixer_station_cover2_mc.removeEventListener(AnimationEvent.INNERCOVERON, mixerInnerCoverOn);
anim_mixer_station_cover_mc.addEventListener(AnimationEvent.OUTERCOVERON, mixerOuterCoverOn, false, 0, true);
anim_mixer_station_cover_mc.gotoAndPlay("startDown");
playSound("CapOn2");
}
public function clickedButtonRight(event:MouseEvent):void{
moveRight();
}
public function resetColorStation():void{
resetColor();
anim_dye_station_mc.reset();
enableColorMix();
}
public function exitPhasePaint():void{
}
private function hideAllShadows():void{
shadows_mix_station_mc.visible = false;
shadows_glitter_station_mc.visible = false;
shadows_dye_station.visible = false;
}
public function transitionedToColorMix():void{
dropCounter_mc.visible = true;
if (bottle_mc.isFull()){
disableColorMix();
} else {
enableColorMix();
};
colorLeverArrow_mc.visible = true;
}
public function moveLeft():void{
__bottleOnLeft = true;
bottle_mc.x = LEFTPOSX;
bottle_mc.y = LEFTPOSY;
__currGlitterDripColor = LEFT;
glitter_station_mc.setGoldActive(!(bottle_mc.isGlitterFull()));
glitter_station_mc.setPearlActive(false);
button_arrow_gold_mc.visible = false;
button_arrow_pearl_mc.visible = !(bottle_mc.isGlitterFull());
if (rightLeverArrow_mc.visible){
rightLeverArrow_mc.visible = false;
leftLeverArrow_mc.visible = true;
};
}
public function updateDropCounters():void{
dropCounter_mc.blue_txt.text = String(__blue);
dropCounter_mc.red_txt.text = String(__red);
dropCounter_mc.yellow_txt.text = String(__yellow);
}
public function showColorArrows():void{
button_arrow_left_mc.addEventListener(MouseEvent.MOUSE_DOWN, rotateCounterClockwise);
button_arrow_right_mc.addEventListener(MouseEvent.MOUSE_DOWN, rotateClockwise);
button_arrow_left_mc.visible = true;
color_indicator_mc.visible = true;
button_arrow_right_mc.visible = true;
}
public function exitPhaseIntro():void{
}
public function dryerOn():void{
anim_dryer_station_button_mc.gotoAndStop("on");
}
public function exitPhaseLoading():void{
}
private function onAddedToStage(evt:Event):void{
var cT:ColorTransform;
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
__am = new AudioManager();
SoundToggleButton.addToList(__am);
anim_dye_station_mc.addEventListener(AnimationEvent.INDICATORFADEIN, indicatorFadeIn, false, 0, true);
anim_dye_station_mc.addEventListener(AnimationEvent.INDICATORFADEOUT, indicatorFadeOut, false, 0, true);
color_indicator_mc = anim_color_indicator_mc["color_indicator_mc"];
color_indicator_back_mc = color_indicator_mc["color_mc"];
gold_indicator_back_mc = gold_indicator_mc["color_mc"];
pearl_indicator_back_mc = pearl_indicator_mc["color_mc"];
button_arrow_gold_color_mc = button_arrow_gold_mc.swatch_mc["color_mc"];
button_arrow_pearl_color_mc = button_arrow_pearl_mc.swatch_mc["color_mc"];
button_arrow_left_color_mc = button_arrow_left_mc.swatch_mc["color_mc"];
button_arrow_right_color_mc = button_arrow_right_mc.swatch_mc["color_mc"];
counter_red_drop_color_mc = dropCounter_mc.red_mc["color_mc"];
counter_yellow_drop_color_mc = dropCounter_mc.yellow_mc["color_mc"];
counter_blue_drop_color_mc = dropCounter_mc.blue_mc["color_mc"];
anim_dye_station_mc.stop();
anim_dryer_station_button_mc.stop();
anim_mixer_station_cover_mc.stop();
anim_mixer_switch_mc.stop();
glitter_station_mc.stop();
anim_mixer_station_cover2_mc.stop();
anim_mixer_shake_mc.stop();
hideAllShadows();
dropCounter_mc.visible = false;
colorArray.push(__colorMix.mix(1, 0, 0, 0));
colorArray.push(__colorMix.mix(0, 1, 0, 0));
colorArray.push(__colorMix.mix(0, 0, 1, 0));
cT = new ColorTransform();
cT.color = colorArray[0];
counter_red_drop_color_mc.transform.colorTransform = cT;
cT.color = colorArray[1];
counter_yellow_drop_color_mc.transform.colorTransform = cT;
cT.color = colorArray[2];
counter_blue_drop_color_mc.transform.colorTransform = cT;
setGlitterLeverColor();
setLeverColor(__currPaintDripColor);
setGlitterLeverColor();
resetMixer();
allowClickThrough(colorLeverArrow_mc);
allowClickThrough(leftLeverArrow_mc);
allowClickThrough(rightLeverArrow_mc);
allowClickThrough(anim_color_indicator_mc);
allowClickThrough(gold_indicator_mc);
allowClickThrough(pearl_indicator_mc);
}
public function mixerOuterCoverOn(e:AnimationEvent):void{
anim_mixer_station_cover_mc.removeEventListener(AnimationEvent.OUTERCOVERON, mixerInnerCoverOn);
anim_mixer_shake_mc.addEventListener(AnimationEvent.SHAKE, shakeDone, false, 0, true);
numShakes = 0;
anim_mixer_switch_mc.gotoAndStop("mixeron");
anim_mixer_shake_mc.gotoAndPlay("start");
anim_mixer_station_cover2_mc.visible = false;
}
public function shakeDone(e:AnimationEvent):void{
if (numShakes >= MAXSHAKES){
anim_mixer_switch_mc.gotoAndStop("off");
anim_mixer_shake_mc.gotoAndStop("capoff");
anim_mixer_station_cover2_mc.visible = true;
removeCovers();
} else {
anim_mixer_shake_mc.gotoAndPlay("start");
numShakes++;
};
}
public function exitPhaseAddDecal():void{
}
private function indicatorFadeIn(e:AnimationEvent):void{
playSound(DYEROTATESTOPSOUND, 0);
anim_color_indicator_mc.gotoAndPlay("fadeIn");
color_indicator_back_mc.transform.colorTransform = __indicatorColor;
}
public function resetPolish():void{
resetColor();
resetGlitter();
}
public function setupPhaseMixer():void{
hideAllShadows();
setDefaultBottlePosition();
}
public function setupPhaseConclusion():void{
hideAllShadows();
setDefaultBottlePosition();
}
public function resetGlitterStation():void{
bottle_mc.setFull();
resetGlitter();
enableGlitterMix();
moveLeft();
}
private function removeCovers():void{
anim_mixer_shake_mc.removeEventListener(AnimationEvent.SHAKE, shakeDone);
anim_mixer_station_cover_mc.addEventListener(AnimationEvent.OUTERCOVEROFF, mixerOuterCoverOff, false, 0, true);
anim_mixer_station_cover_mc.gotoAndPlay("startUp");
playSound("CapOff1");
}
public function clickedButtonLeft(event:MouseEvent):void{
moveLeft();
}
public function hideDryerCover():void{
dryerCover_mc.visible = false;
}
public function setGlitterLeverColor():void{
__leftGlitterColor.color = GLITTERCOLORARRAY[LEFT];
__rightGlitterColor.color = GLITTERCOLORARRAY[RIGHT];
button_arrow_gold_color_mc.transform.colorTransform = __leftGlitterColor;
button_arrow_pearl_color_mc.transform.colorTransform = __rightGlitterColor;
gold_indicator_back_mc.transform.colorTransform = __leftGlitterColor;
pearl_indicator_back_mc.transform.colorTransform = __rightGlitterColor;
}
public function showDryerCover():void{
dryerCover_mc.visible = true;
}
public function releaseColorDrip():void{
bottle_mc.releaseDrip(colorArray[__currPaintDripColor], true);
}
public function resetMixer():void{
anim_mixer_shake_mc.gotoAndStop("nobottle");
anim_mixer_station_cover_mc.gotoAndStop("coveron");
anim_mixer_station_cover2_mc.gotoAndStop("coveron");
anim_mixer_switch_mc.gotoAndStop("off");
}
}
}//package com.aga.nailspa.game.phases
Section 158
//SpaItemContainer (com.aga.nailspa.game.phases.SpaItemContainer)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
import com.aga.nailspa.game.events.*;
import com.aga.nailspa.game.*;
import com.aga.base.media.sound.*;
import com.aga.base.controls.buttons.*;
public class SpaItemContainer extends MovieClip {
private const ZOOMOUTSOUND:String = "ZoomOut";
private const ZOOMINSOUND:String = "ZoomIn";
private var __am:AudioManager;
public var spa_mc:SpaItem;
public function SpaItemContainer(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function setupPhasePaint():void{
gotoAndPlay("transitionToPaint");
spa_mc.visible = true;
spa_mc.setupPhasePaint();
}
private function transitionedToMixer(e:AnimationEvent):void{
stopZooms();
spa_mc.transitionedToMixer();
}
public function showDryerCover():void{
spa_mc.showDryerCover();
}
public function exitPhaseConclusion():void{
spa_mc.exitPhaseConclusion();
}
public function setupPhaseAddGlitter():void{
gotoAndPlay("transitionToAddGlitter");
spa_mc.visible = true;
spa_mc.setupPhaseAddGlitter();
}
public function setupPhaseColorMix():void{
gotoAndPlay("transitionToColorMix");
spa_mc.visible = true;
spa_mc.setupPhaseColorMix();
}
private function onZoomIn(e:AnimationEvent):void{
stopZooms();
playSound(ZOOMINSOUND);
}
private function stopZooms():void{
stopSound(ZOOMINSOUND);
stopSound(ZOOMOUTSOUND);
}
public function clearPhaseDryer():void{
}
private function stopSound(snd_linkage:String):void{
__am.stopSound(snd_linkage);
}
private function transitionedToAddGlitter(e:AnimationEvent):void{
spa_mc.transitionedToAddGlitter();
}
public function clearPhaseLoading():void{
}
public function exitPhaseColorMix():void{
spa_mc.exitPhaseColorMix();
}
public function setupPhaseIntro():void{
gotoAndStop("phaseIntro");
spa_mc.visible = true;
spa_mc.setupPhaseIntro();
}
public function clearPhaseAddGlitter():void{
spa_mc.resetGlitterStation();
}
public function exitPhaseMixer():void{
spa_mc.exitPhaseMixer();
}
private function playSound(snd_linkage:String, loops:int=0):void{
__am.playSound(snd_linkage, 0, loops);
}
public function clearPhaseColorMix():void{
spa_mc.resetColorStation();
}
public function resetPolish():void{
spa_mc.resetPolish();
}
public function exitPhasePaint():void{
spa_mc.exitPhasePaint();
}
private function transitionedToPaint(e:AnimationEvent):void{
stopZooms();
}
public function setupPhaseLoading():void{
gotoAndStop("default");
spa_mc.visible = false;
spa_mc.setupPhaseLoading();
}
private function transitionedToColorMix(e:AnimationEvent):void{
stopZooms();
spa_mc.transitionedToColorMix();
}
public function clearPhaseMixer():void{
}
private function transitionedToAddDecal(e:AnimationEvent):void{
}
public function exitPhaseIntro():void{
spa_mc.exitPhaseIntro();
}
private function transitionedToDryer(e:AnimationEvent):void{
stopZooms();
spa_mc.transitionedToDryer();
}
public function dryerOn():void{
spa_mc.dryerOn();
}
public function setupPhaseViewGoal():void{
gotoAndStop("default");
spa_mc.visible = false;
}
public function setupPhaseDryer():void{
gotoAndPlay("transitionToDryer");
spa_mc.visible = true;
spa_mc.setupPhaseDryer();
}
public function exitPhaseAddGlitter():void{
spa_mc.exitPhaseAddGlitter();
}
private function onAddedToStage(evt:Event):void{
__am = new AudioManager();
SoundToggleButton.addToList(__am);
addEventListener(AnimationEvent.TRANSITIONTOCOLORMIXDONE, transitionedToColorMix, false, 0, true);
addEventListener(AnimationEvent.TRANSITIONTOADDGLITTERDONE, transitionedToAddGlitter, false, 0, true);
addEventListener(AnimationEvent.TRANSITIONTOMIXERDONE, transitionedToMixer, false, 0, true);
addEventListener(AnimationEvent.TRANSITIONTOPAINTDONE, transitionedToPaint, false, 0, true);
addEventListener(AnimationEvent.TRANSITIONTODRYERDONE, transitionedToDryer, false, 0, true);
addEventListener(AnimationEvent.TRANSITIONTOADDDECALDONE, transitionedToAddDecal, false, 0, true);
addEventListener(AnimationEvent.ZOOMINGIN, onZoomIn, false, 0, true);
addEventListener(AnimationEvent.ZOOMINGOUT, onZoomOut, false, 0, true);
}
public function exitPhaseLoading():void{
spa_mc.exitPhaseLoading();
}
public function exitPhaseAddDecal():void{
spa_mc.exitPhaseAddDecal();
}
public function setupPhaseAddDecal():void{
gotoAndPlay("transitionToAddDecal");
spa_mc.visible = true;
spa_mc.setupPhaseAddDecal();
}
public function goNextPhase():void{
(parent as Game).goNextPhase();
}
public function setupPhaseMixer():void{
gotoAndPlay("transitionToMixer");
spa_mc.visible = true;
spa_mc.setupPhaseMixer();
}
public function setupPhaseConclusion():void{
gotoAndStop("default");
spa_mc.visible = false;
spa_mc.setupPhaseConclusion();
}
public function dryerOff():void{
spa_mc.dryerOff();
}
public function updateMixerMeter(pct:Number):void{
(parent as Game).updateMixerMeter(pct);
}
private function onZoomOut(e:AnimationEvent):void{
stopZooms();
playSound(ZOOMOUTSOUND);
}
public function clearPhasePaint():void{
}
public function exitPhaseDryer():void{
spa_mc.exitPhaseDryer();
}
public function clearPhaseAddDecal():void{
}
public function clearPhaseIntro():void{
}
public function hideDryerCover():void{
spa_mc.hideDryerCover();
}
public function clearPhaseConclusion():void{
}
}
}//package com.aga.nailspa.game.phases
Section 159
//Switch (com.aga.nailspa.game.phases.Switch)
package com.aga.nailspa.game.phases {
import flash.display.*;
import flash.events.*;
public class Switch extends MovieClip {
private var dragging:Boolean;// = false
public var switch_button_mc:MovieClip;
public function Switch(){
dragging = false;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function turnDryerOn():void{
switch_button_mc.rotation = 15;
}
public function turnMixerOn():void{
switch_button_mc.rotation = -15;
}
private function onAddedToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
turnOff();
}
public function turnOff():void{
switch_button_mc.rotation = 0;
}
}
}//package com.aga.nailspa.game.phases
Section 160
//Friends (com.aga.nailspa.game.stf.Friends)
package com.aga.nailspa.game.stf {
import com.adobe.serialization.json.*;
import com.aga.api.*;
import com.aga.api.net.*;
public class Friends {
private static var __friendNames:Array;
private static var __friendIDs:Array;
public function Friends(){
super();
}
private static function messageComplete(data:Object):void{
var friends:String;
var each:String;
for (each in data) {
friends = each;
break;
};
parseFriends(friends);
}
public static function hasFriends():Boolean{
return (((!((__friendNames == null))) && (__friendNames.length)));
}
public static function get friendNames():Array{
return (__friendNames);
}
private static function parseFriends(str:String):void{
var jsonObj:Object;
var arr:Array;
var len:Number;
var friendObj:Object;
var friendID:Number;
var friendName:String;
var i:Number;
__friendIDs = [];
__friendNames = [];
jsonObj = JSON.decode(str);
arr = jsonObj.friends;
len = arr.length;
i = 0;
while (i < len) {
friendObj = arr[i];
friendID = Number(friendObj.id);
friendName = friendObj.username;
__friendIDs.push(friendID);
__friendNames.push(friendName);
i++;
};
}
public static function get friendIDs():Array{
return (__friendIDs);
}
public static function getFriends():void{
if (((API.loggedIn) && ((((__friendIDs == null)) || ((__friendIDs == [])))))){
Messenger.getFriends(messageComplete);
};
}
}
}//package com.aga.nailspa.game.stf
Section 161
//STF (com.aga.nailspa.game.stf.STF)
package com.aga.nailspa.game.stf {
import flash.display.*;
import com.aga.nailspa.game.*;
import com.aga.api.*;
import com.fuelindustries.core.*;
public class STF extends FuelUI {
private var __polish:String;
private var __polishJpg:BitmapData;
private var __name:String;
private var __polishStr:String;
public var form_mc:SubmitForm;
public function STF(){
super();
__polish = "";
__polishStr = "";
__name = (API.loggedIn) ? API.username : "";
playIn();
}
public function closeSTF(cancelled:Boolean):void{
cancelAll();
playOut(cancelled);
}
public function get polishJpg():BitmapData{
return (__polishJpg);
}
public function setPolish(str:String, jpgSource:BitmapData):void{
__polishStr = str;
__polishJpg = jpgSource;
form_mc.displayPolish(__polishJpg);
}
private function playOutCompleteCancel(... _args):void{
game.stfComplete(true);
}
private function playOutCompleteNotCancel(... _args):void{
game.stfComplete(false);
}
private function playIn():void{
var time:Number;
time = (totalFrames * 33);
frameTo(1, time, "", playInComplete);
}
private function playOut(cancelled:Boolean):void{
var time:Number;
form_mc.disableForm();
time = (totalFrames * 33);
if (cancelled){
frameTo(0, time, "", playOutCompleteCancel);
} else {
frameTo(0, time, "", playOutCompleteNotCancel);
};
}
public function get polishStr():String{
return (__polishStr);
}
public function cancelAll():void{
cancelTween("all");
form_mc.cancelTween();
}
private function playInComplete(... _args):void{
form_mc.enableForm();
}
public function setBottle():void{
}
public function get game():Game{
return ((parent as Game));
}
}
}//package com.aga.nailspa.game.stf
Section 162
//SubmitForm (com.aga.nailspa.game.stf.SubmitForm)
package com.aga.nailspa.game.stf {
import com.adobe.images.*;
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import com.fuelindustries.utils.*;
import com.aga.nailspa.game.controls.dropdown.*;
import com.aga.nailspa.game.net.*;
import com.aga.api.*;
import com.fuelindustries.core.*;
import com.aga.controls.buttons.*;
public class SubmitForm extends FuelUI {
public var sendBtn_mc:TweenButton;
private var __ldr:URLLoader;
private var __int:Number;
public var error_mc:MovieClip;
public var polish_mc:MovieClip;
public var cancelBtn_mc:TweenButton;
public var dropdown_mc:DropDown;
public function SubmitForm(){
super();
__int = -1;
doLater(initForm);
}
public function showError(err:String):void{
error_mc.visible = true;
error_mc.error_txt.text = err;
}
private function onSecurityError(e:SecurityErrorEvent):void{
submitFormComplete(false, "There was an error sending your polish.\nPlease try again later.");
}
protected function validateForm():Boolean{
var valid:Boolean;
clearErrors();
valid = false;
if (((dropdown_mc.visible) && ((dropdown_mc.currentIndex >= 0)))){
valid = true;
} else {
showError("Please select a friend.");
};
return (valid);
}
private function submitForm(script:String, obj:Object):void{
var each:String;
var jpgEncoder:JPGEncoder;
var jpgStream:ByteArray;
var url:String;
var urlRequest:URLRequest;
for (each in obj) {
};
jpgEncoder = new JPGEncoder(85);
jpgStream = jpgEncoder.encode(stf.polishJpg);
url = (Parser.servicesURL + script);
urlRequest = new URLRequest();
urlRequest.url = url;
urlRequest.contentType = ("multipart/form-data; boundary=" + UploadPostHelper.getBoundary());
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData("image.jpg", jpgStream, obj);
urlRequest.requestHeaders.push(new URLRequestHeader("Cache-Control", "no-cache"));
__ldr = new URLLoader();
__ldr.dataFormat = URLLoaderDataFormat.BINARY;
__ldr.addEventListener(Event.COMPLETE, onComplete);
__ldr.addEventListener(IOErrorEvent.IO_ERROR, onError);
__ldr.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
__ldr.load(urlRequest);
__int = IntervalManager.setTimeout(manualTimeout, 20000);
}
public function get stf():STF{
return ((parent as STF));
}
private function onComplete(e:Event):void{
submitFormComplete(true, __ldr.data);
}
private function initForm():void{
hideError();
disableForm();
dropdown_mc.enable();
if (Friends.hasFriends()){
dropdown_mc.populateDropdown(Friends.friendNames);
dropdown_mc.baseLabel = "Select Friend";
} else {
dropdown_mc.visible = false;
};
}
protected function submitFormComplete(success:Boolean, data):void{
var dataStr:String;
var arr:Array;
var errorStr:String;
if (__int != -1){
IntervalManager.clearTimeout(__int);
__int = -1;
};
if (__ldr != null){
__ldr.removeEventListener(Event.COMPLETE, onComplete);
__ldr.removeEventListener(IOErrorEvent.IO_ERROR, onError);
__ldr.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
};
dataStr = String(data);
arr = dataStr.split("|");
errorStr = arr[0];
if (dropdown_mc.visible){
dropdown_mc.selectItem(-1);
};
showError(errorStr);
enableForm();
API.allowPause();
if (success){
clearErrors();
stf.closeSTF(false);
};
}
protected function sendForm():void{
var valid:Boolean;
var obj:Object;
var script:String;
hideError();
valid = validateForm();
if (valid){
disableForm();
API.disallowPause();
obj = collectData();
script = "games/spafactory/send_color.php";
submitForm(script, obj);
};
}
protected function collectData():Object{
var obj:Object;
obj = {};
obj.data = stf.polishStr;
obj.friendid = Friends.friendIDs[dropdown_mc.currentIndex];
return (obj);
}
private function onError(e:IOErrorEvent):void{
submitFormComplete(false, "There was an error sending your polish.\nPlease try again later.");
}
private function manualTimeout(... _args):void{
submitFormComplete(false, "There was an error sending your polish.\nPlease try again later.");
}
public function disableForm():void{
sendBtn_mc.enabled = false;
cancelBtn_mc.enabled = false;
sendBtn_mc.onRelease = null;
cancelBtn_mc.onRelease = null;
sendBtn_mc.alpha = 0.7;
cancelBtn_mc.alpha = 0.7;
dropdown_mc.disable();
}
protected function clearErrors():void{
hideError();
}
public function displayPolish(bmpData:BitmapData):void{
var maxWidth:Number;
var maxHeight:Number;
var wScale:Number;
var hScale:Number;
var scale:Number;
var bmpData = bmpData;
polish_mc.img_mc.removeChildAt(0);
//unresolved jump
var _slot1 = e;
polish_mc.img_mc.addChild(new Bitmap(bmpData));
maxWidth = 183;
maxHeight = 183;
wScale = (polish_mc.img_mc.width / maxWidth);
hScale = (polish_mc.img_mc.height / maxHeight);
scale = Math.max(wScale, hScale);
if (scale > 1){
polish_mc.img_mc.scaleX = (polish_mc.img_mc.scaleY = (1 / scale));
};
polish_mc.img_mc.x = -(Math.round((polish_mc.img_mc.width / 2)));
polish_mc.img_mc.y = -(Math.round((polish_mc.img_mc.height / 2)));
}
private function cancelReleased():void{
clearErrors();
stf.closeSTF(true);
}
private function sendReleased():void{
sendForm();
}
private function hideError():void{
error_mc.visible = false;
}
public function enableForm():void{
sendBtn_mc.enabled = true;
cancelBtn_mc.enabled = true;
sendBtn_mc.onRelease = sendReleased;
cancelBtn_mc.onRelease = cancelReleased;
sendBtn_mc.alpha = 1;
cancelBtn_mc.alpha = 1;
if (dropdown_mc.visible){
dropdown_mc.enable();
};
}
}
}//package com.aga.nailspa.game.stf
Section 163
//GameUI (com.aga.nailspa.game.ui.GameUI)
package com.aga.nailspa.game.ui {
import flash.display.*;
import com.fuelindustries.core.*;
public class GameUI extends FuelUI {
public var points_mc:MovieClip;
public var timer_mc:MovieClip;
public function GameUI(){
super();
hidePoints();
}
public function displayPoints(points:Number):void{
points_mc.visible = true;
points_mc.pointsDisplay_mc.displayTo(points, 250);
}
public function hideUI(snap:Boolean=false):void{
var time:Number;
time = (snap) ? 5 : 250;
timer_mc.alphaTo(0, time, "Regular.easeOut");
}
public function showUI():void{
var time:Number;
time = 250;
timer_mc.alphaTo(100, time, "Regular.easeIn");
}
public function reset():void{
displayPoints(0);
}
public function hidePoints():void{
points_mc.visible = false;
}
}
}//package com.aga.nailspa.game.ui
Section 164
//Game (com.aga.nailspa.game.Game)
package com.aga.nailspa.game {
import com.adobe.images.*;
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.aga.nailspa.game.phases.*;
import com.fuelindustries.controls.buttons.*;
import com.aga.base.utils.*;
import flash.geom.*;
import com.aga.nailspa.game.events.*;
import com.aga.base.swfloader.*;
import com.aga.base.swfloader.events.*;
import com.aga.nailspa.game.gameItems.*;
import com.aga.nailspa.game.stf.*;
import com.aga.base.media.sound.*;
import com.aga.framework.events.*;
import com.aga.framework.interfaces.*;
import com.aga.nailspa.game.net.*;
import com.aga.api.*;
import com.aga.nailspa.game.navigation.*;
import com.aga.nailspa.game.ui.*;
import com.aga.base.controls.buttons.*;
public class Game extends AGADocument {
private const DRYERSOUND:String = "Dryer";
private const MAXDROPSPERCOLOR:int = 7;
private const OFFSCREENAMT:int = -1700;
private const NUMDECALS:int = 8;
private const DECALAWARDMIN:int = 100;
private const INTROSTART:String = "IntroStart";
private const GAMEINTROLOOPMUSIC:String = "intro";
private const OVERALLAWARDMIN:int = 350;
private const BONUSTIMEDIVIDER:int = 2;
private const GAMELOOPMUSIC:String = "inGame";
private const CONCLUSIONSOUND:String = "Complete";
private const DRYERCLICKOFF:String = "Dryer_Click_Off";
private const CONCLUSIONCHALLENGESOUND:String = "Complete";
const NUMCLEAR:int = 4;
private const MIXERSOUND:String = "Mixer";
private const DRYERCLICKON:String = "Dryer_Click_On";
private const GLITTERAWARDMIN:int = 95;
private const COLORAWARDMIN:int = 95;
private const BONUSTIME:int = 180;
public var phase_conclusion_mc:PhaseConclusion;
private var __mixedColor:Number;
private var __am:AudioManager;
private var __phases_free:Array;
private var __importedPolishArray:Array;
private var __decalIndexArray:Array;
public var nav_clear_mc:EaseButton;
private var __bitmapDataArray:Array;
public var nailSpaItemContainer_mc:SpaItemContainer;
public var phase_loading_mc:PhaseLoading;
private var __goalDecalIndexArray:Array;
private var __goalSparkleDensity:Number;// = 1
public var nav_back_mc:EaseButton;
public var phase_add_glitter_mc:PhaseAddGlitter;
private var decal_index_10:int;
private var decal_index_11:int;
private var decal_index_13:int;
private var decal_index_16:int;
private var decal_index_17:int;
private var decal_index_18:int;
private var decal_index_12:int;
private var decal_index_14:int;
private var decal_index_15:int;
private var __timeStarted:Date;
private var decal_index_19:int;
private var __phases_compete:Array;
private var __goal_decal_index_0:int;
private var __goal_decal_index_1:int;
private var __goal_decal_index_3:int;
private var __goal_decal_index_4:int;
private var __goal_decal_index_2:int;
private var __redDrops:int;// = 0
private var __goldRate:Number;// = 0
private var __goalRedDrops:int;
private var decal_index_0:int;
private var decal_index_1:int;
private var __goalGoldRate:Number;// = 0
private var decal_index_3:int;
private var decal_index_4:int;
private var __goalBlueDrops:int;
private var decal_index_7:int;
private var decal_index_8:int;
public var phase_dryer_challenge_mc:PhaseDryerChallenge;
private var decal_index_6:int;
private var decal_index_9:int;
private var decal_index_5:int;
private var decal_index_2:int;
public var phase_add_decal_mc:PhaseAddDecal;
public var nav_home_mc:EaseButton;
public var phase_dryer_mc:PhaseDryer;
public var phase_add_decal_challenge_mc:PhaseAddDecalChallenge;
private var bitmap_data_0:BitmapData;
private var bitmap_data_1:BitmapData;
private var bitmap_data_2:BitmapData;
private var bitmap_data_3:BitmapData;
private var bitmap_data_4:BitmapData;
private var bitmap_data_5:BitmapData;
private var bitmap_data_6:BitmapData;
private var bitmap_data_7:BitmapData;
private var bitmap_data_9:BitmapData;
private var bitmap_data_8:BitmapData;
private var __stf:STF;
public var phase_conclusion_challenge_mc:PhaseConclusionChallenge;
public var gameUI_mc:GameUI;
private var __goalYellowDrops:int;
public var phase_paint_challenge_mc:PhasePaintChallenge;
public var phase_intro_mc:PhaseIntro;
private var __urlLoader:URLLoader;
private var __sparkleDensity:Number;// = 0
public var phase_color_mix_mc:PhaseColorMix;
public var phase_view_goal_mc:PhaseViewGoal;
public var nav_next_mc:EaseButton;
private var __blueDrops:int;// = 0
public var phase_paint_mc:PhasePaint;
private var __currentPhase:int;// = -1
private var __yellowDrops:int;// = 0
private var __loadingID:int;
private var __goalMixedColor:Number;
public var navigation_mc:Navigation;
private var __freePlay:Boolean;// = true
private var __bottleBitmapData:BitmapData;
private var bitmap_data_10:BitmapData;
private var bitmap_data_11:BitmapData;
private var bitmap_data_12:BitmapData;
private var bitmap_data_13:BitmapData;
private var bitmap_data_14:BitmapData;
private var bitmap_data_15:BitmapData;
private var bitmap_data_16:BitmapData;
private var bitmap_data_17:BitmapData;
private var bitmap_data_19:BitmapData;
public var phase_mixer_mc:PhaseMixer;
private var bitmap_data_18:BitmapData;
private var __pctTouched:Number;
private var __ColorMix:ColorMixer;
private var __loader:URLLoader;
public function Game(){
__currentPhase = -1;
__redDrops = 0;
__yellowDrops = 0;
__blueDrops = 0;
__goldRate = 0;
__sparkleDensity = 0;
__ColorMix = new ColorMixer();
__goalGoldRate = 0;
__goalSparkleDensity = 1;
__freePlay = true;
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
public function getTimeSpent():int{
var timeFinished:Date;
var timeSpent:int;
__timeStarted;
timeFinished = new Date();
timeSpent = Math.floor((timeFinished.getTime() - __timeStarted.getTime()));
return (timeSpent);
}
private function loaded(obj:Object):void{
var str:String;
var arr:Array;
var len:Number;
var singleData:Array;
var clr:Number;
var __goldRate:Number;
var sprklRate:Number;
var cntr:Number;
var paint:Polish;
var bytes:ByteArray;
var nail_data:BitmapData;
var length:Number;
var i:int;
var bmd:BitmapData;
var rect:Rectangle;
var obj = obj;
str = obj.savestring;
if (((!((str == null))) && (str.length))){
if (str.substr(0, 1) == "P"){
str = str.substr(1, (str.length - 1));
arr = str.split("|");
len = arr.length;
__importedPolishArray = new Array();
cntr = 0;
while (cntr < len) {
paint = new Polish();
singleData = arr[cntr].split(",");
clr = Number(singleData[0]);
__goldRate = Number(singleData[1]);
sprklRate = Number(singleData[2]);
paint.setPolish(clr, __goldRate, sprklRate);
__importedPolishArray.push(paint);
cntr = (cntr + 1);
};
} else {
if (str.substr(0, 1) == "N"){
str = str.substr(1, (str.length - 1));
arr = str.split(",");
len = arr.length;
bytes = new ByteArray();
cntr = 0;
while (cntr < len) {
bytes.writeByte(Number(arr[cntr]));
cntr = (cntr + 1);
};
nail_data = new BitmapData(115, 32);
nail_data.setPixels(nail_data.rect, bytes);
//unresolved jump
var _slot1 = e;
length = __bitmapDataArray.length;
i = 0;
while (i < (length / 2)) {
bmd = new BitmapData((nail_data.width / (length / 2)), nail_data.height);
rect = new Rectangle((i * (nail_data.width / (length / 2))), nail_data.height);
bmd.copyPixels(nail_data, rect, new Point(0, 0));
setBitmapData(i, bmd);
i = (i + 1);
};
};
};
};
}
private function loadAssets():void{
__loadingID = SwfLoader.getInstance().setupGroup();
SwfLoader.getInstance().addEventListener(SwfLoaderEvent.EVENT_ASSETCOMPLETE, onAssetComplete);
SwfLoader.getInstance().addEventListener(SwfLoaderEvent.EVENT_ASSETPROGRESS, onAssetProgress);
SwfLoader.getInstance().addEventListener(SwfLoaderEvent.EVENT_BEGINASSETLOAD, onBeginAssetLoad);
SwfLoader.getInstance().addEventListener(SwfLoaderEvent.EVENT_GROUPCOMPLETE, onGroupComplete);
SwfLoader.getInstance().addAsset((this.swfURL + "audioUI.swf"), this, "loading audioUI", 0, true, true, version);
SwfLoader.getInstance().addAsset((this.swfURL + "audioSFX.swf"), this, "loading audioSFX", 1, true, true, version);
SwfLoader.getInstance().addAsset((this.swfURL + "audioMusic.swf"), this, "loading audioMusic", 2, true, true, version);
SwfLoader.getInstance().begin();
}
public function setupPhaseIntro():void{
nailSpaItemContainer_mc.setupPhaseIntro();
navigation_mc.setupPhaseIntro();
phase_intro_mc.visible = true;
phase_intro_mc.onTransitioned();
startMusic();
playSound(INTROSTART);
}
public function getMixedColor():Number{
return (__mixedColor);
}
public function getGoalGoldRate():Number{
return (__goalGoldRate);
}
private function onComplete(e:Event):void{
}
override public function afterLoggedIn():void{
if (loggedIn){
loadSavedPolish();
Friends.getFriends();
resetMyNails();
};
}
private function onImageReady(evt:NailEvent):void{
evt.target.removeEventListener(NailEvent.EVENT_IMAGEREADY, onImageReady);
phase_loading_mc.setupMyNails(evt.image);
}
public function exitPhaseAddGlitter():void{
nailSpaItemContainer_mc.exitPhaseAddGlitter();
navigation_mc.exitPhaseAddGlitter();
}
public function getGoalMixedColor():Number{
return (__goalMixedColor);
}
public function clearPhaseViewGoal():void{
}
private function onAssetComplete(evt:SwfLoaderEvent):void{
if (evt.groupID == __loadingID){
switch (evt.assetIndex){
case 0:
break;
default:
break;
};
};
}
public function getOverallScore():int{
var polish:int;
var glitter:int;
var decal:int;
var timeBonus:int;
var score:int;
polish = getPolishScore();
glitter = getGlitterScore();
decal = getDecalScore();
timeBonus = getTimeBonus();
score = Math.floor((((polish + glitter) + decal) + timeBonus));
if (polish >= COLORAWARDMIN){
dispatchEvent(new AGAAwardEvent("149"));
};
if (glitter >= GLITTERAWARDMIN){
dispatchEvent(new AGAAwardEvent("150"));
};
if (decal >= DECALAWARDMIN){
dispatchEvent(new AGAAwardEvent("148"));
};
if (score >= OVERALLAWARDMIN){
dispatchEvent(new AGAAwardEvent("151"));
};
return (score);
}
public function getBottle():BitmapData{
return (__bottleBitmapData);
}
public function getPolishScore():int{
var totalGoalDrops:int;
var totalUsedDrops:int;
var score:int;
var redDiff:Number;
var yellowDiff:Number;
var blueDiff:Number;
var satDiff:Number;
totalGoalDrops = ((__goalRedDrops + __goalYellowDrops) + __goalBlueDrops);
totalUsedDrops = ((__redDrops + __yellowDrops) + __blueDrops);
score = 0;
if (totalUsedDrops > 0){
redDiff = (1 - Math.abs(((__goalRedDrops / totalGoalDrops) - (__redDrops / totalUsedDrops))));
yellowDiff = (1 - Math.abs(((__goalYellowDrops / totalGoalDrops) - (__yellowDrops / totalUsedDrops))));
blueDiff = (1 - Math.abs(((__goalBlueDrops / totalGoalDrops) - (__blueDrops / totalUsedDrops))));
satDiff = (1 - (Math.abs((totalGoalDrops - totalUsedDrops)) / 21));
score = Math.floor(((((((redDiff + yellowDiff) + blueDiff) + satDiff) / 4) * 100) * __pctTouched));
if (score > 100){
score = 100;
} else {
if (score < 0){
score = 0;
};
};
};
return (score);
}
public function goBackPhase():void{
setPhase((__currentPhase - 1));
}
public function setBottle(bottleBitmapData:BitmapData):void{
__bottleBitmapData = bottleBitmapData;
}
public function clearPhaseAddDecal():void{
nailSpaItemContainer_mc.clearPhaseAddDecal();
}
public function exitPhaseConclusion():void{
nailSpaItemContainer_mc.exitPhaseConclusion();
navigation_mc.exitPhaseConclusion();
}
public function clearPhaseDryer():void{
nailSpaItemContainer_mc.clearPhaseDryer();
}
private function onBeginAssetLoad(evt:SwfLoaderEvent):void{
}
public function resetNails():void{
var nthData:int;
var nthDecal:int;
nailSpaItemContainer_mc.resetPolish();
phase_paint_mc.reset();
phase_paint_challenge_mc.reset();
phase_add_decal_mc.reset();
phase_add_decal_challenge_mc.reset();
nthData = 0;
while (nthData < __bitmapDataArray.length) {
__bitmapDataArray[nthData] = new BitmapData(1000, 1000, true, 0xFFFFFF);
nthData++;
};
nthDecal = 0;
while (nthDecal < __decalIndexArray.length) {
__decalIndexArray[nthData] = -1;
nthDecal++;
};
__mixedColor = 0xFFFFFF;
__goldRate = 0;
__sparkleDensity = 0;
generateGoal();
navigation_mc.reset();
phase_view_goal_mc.reset();
}
private function startIntroMusic():void{
stopSound(GAMELOOPMUSIC);
stopSound(GAMEINTROLOOPMUSIC);
playSound(GAMEINTROLOOPMUSIC, 99999);
}
public function getDecalIndex(nthData:int):int{
return (__decalIndexArray[nthData]);
}
public function showMyNails(... _args):void{
if (!loggedIn){
dispatchEvent(new AGAGameEvent(AGAGameEvent.TYPE_SHOW_SIGN_IN));
};
navigation_mc.exitPhaseLoading();
phase_loading_mc.showMyNails();
playSound(INTROSTART);
}
public function setupPhaseAddGlitter():void{
nailSpaItemContainer_mc.setupPhaseAddGlitter();
}
private function onGroupComplete(evt:SwfLoaderEvent):void{
if (evt.groupID == __loadingID){
SwfLoader.getInstance().removeEventListener(SwfLoaderEvent.EVENT_ASSETCOMPLETE, onAssetComplete);
SwfLoader.getInstance().removeEventListener(SwfLoaderEvent.EVENT_ASSETPROGRESS, onAssetProgress);
SwfLoader.getInstance().removeEventListener(SwfLoaderEvent.EVENT_BEGINASSETLOAD, onBeginAssetLoad);
SwfLoader.getInstance().removeEventListener(SwfLoaderEvent.EVENT_GROUPCOMPLETE, onGroupComplete);
SequenceManager.doLater(startIntroMusic);
};
}
public function setupPhaseDryer():void{
nailSpaItemContainer_mc.setupPhaseDryer();
}
private function transitionedToAddGlitter(e:AnimationEvent):void{
navigation_mc.setupPhaseAddGlitter();
phase_add_glitter_mc.visible = true;
phase_add_glitter_mc.onTransitioned();
}
public function clearPhaseColorMix():void{
nailSpaItemContainer_mc.clearPhaseColorMix();
}
public function gamePlayed():void{
dispatchEvent(new AGAGamePlayEvent());
}
public function getBitmapData(nthData:int):BitmapData{
return (__bitmapDataArray[nthData]);
}
public function clearPhaseMixer():void{
nailSpaItemContainer_mc.clearPhaseMixer();
}
public function exitPhaseViewGoal():void{
navigation_mc.exitPhaseViewGoal();
}
private function enterPhase(phase:MovieClip):void{
phase.onPhaseEntry();
phase.y = 0;
}
public function getGoalDecalIndex(nthData:int):int{
return (__goalDecalIndexArray[nthData]);
}
public function stfCreditsEarned(cr:Number):void{
}
public function hasFriends():Boolean{
return (Friends.hasFriends());
}
public function exitPhaseIntro():void{
nailSpaItemContainer_mc.exitPhaseIntro();
navigation_mc.exitPhaseIntro();
}
private function onAssetProgress(evt:SwfLoaderEvent):void{
}
public function exitPhaseAddDecal():void{
nailSpaItemContainer_mc.exitPhaseAddDecal();
navigation_mc.exitPhaseAddDecal();
}
public function setupPhaseMixer():void{
nailSpaItemContainer_mc.setupPhaseMixer();
}
public function setupPhaseConclusion():void{
nailSpaItemContainer_mc.setupPhaseConclusion();
navigation_mc.setupPhaseConclusion();
if (__freePlay){
phase_conclusion_mc.visible = true;
playSound(CONCLUSIONSOUND);
phase_conclusion_mc.onTransitioned();
} else {
phase_conclusion_challenge_mc.visible = true;
playSound(CONCLUSIONCHALLENGESOUND);
phase_conclusion_challenge_mc.onTransitioned();
};
}
public function clearPhasePaint():void{
nailSpaItemContainer_mc.clearPhasePaint();
}
public function showDryerCover():void{
nailSpaItemContainer_mc.showDryerCover();
}
public function hideDryerCover():void{
nailSpaItemContainer_mc.hideDryerCover();
}
public function loadNailData():void{
var request:URLRequest;
var localJson:String;
if (loggedIn){
__loader = new URLLoader();
__loader.addEventListener(Event.COMPLETE, onInfoReady, false, 0, true);
if (Parser.servicesURL != null){
request = new URLRequest((Parser.servicesURL + "games/spafactory/get_info.php"));
__loader.load(request);
} else {
localJson = "xml/get_info.json";
request = new URLRequest(localJson);
__loader.load(request);
};
};
}
public function checkBeadCountAward():void{
}
public function setupPhasePaint():void{
nailSpaItemContainer_mc.setupPhasePaint();
}
public function exitPhaseColorMix():void{
nailSpaItemContainer_mc.exitPhaseColorMix();
navigation_mc.exitPhaseColorMix();
}
private function stopDryerSound(... _args):void{
stopSound(DRYERSOUND);
}
public function setMixedColor(color:Number, red:int, yellow:int, blue:int):void{
__redDrops = red;
__yellowDrops = yellow;
__blueDrops = blue;
__mixedColor = color;
}
public function clearPhaseLoading():void{
nailSpaItemContainer_mc.clearPhaseLoading();
}
public function stopSound(snd_linkage:String):void{
if (__am != null){
__am.stopSound(snd_linkage);
};
}
public function goClearPhase():void{
var phases:Array;
if (__freePlay){
phases = __phases_free;
} else {
phases = __phases_compete;
};
phases[__currentPhase].reset();
}
public function playSound(snd_linkage:String, loops:int=0):void{
if (__am != null){
__am.playSound(snd_linkage, 0, loops);
};
}
public function getGlitterScore():int{
var goldDiff:Number;
var score:int;
goldDiff = (1 - Math.abs((__goalGoldRate - __goldRate)));
score = 0;
if (__sparkleDensity > 0){
score = Math.floor(((goldDiff * 100) * __pctTouched));
};
return (score);
}
private function setPhase(nextPhase:int):void{
var phases:Array;
if (nextPhase != __currentPhase){
if (__freePlay){
phases = __phases_free;
} else {
phases = __phases_compete;
};
if ((((nextPhase >= 0)) && ((nextPhase < phases.length)))){
if (__currentPhase != -1){
exitPhase(phases[__currentPhase]);
};
enterPhase(phases[nextPhase]);
__currentPhase = nextPhase;
};
};
}
public function goNextPhase():void{
setPhase((__currentPhase + 1));
}
public function setupPhaseLoading():void{
nailSpaItemContainer_mc.setupPhaseLoading();
navigation_mc.setupPhaseLoading();
phase_loading_mc.visible = true;
startIntroMusic();
}
private function generateGoal():void{
var nthData:int;
__goalRedDrops = (Math.floor((Math.random() * (MAXDROPSPERCOLOR - 1))) + 1);
__goalYellowDrops = Math.floor((Math.random() * MAXDROPSPERCOLOR));
__goalBlueDrops = Math.floor((Math.random() * MAXDROPSPERCOLOR));
__goalMixedColor = __ColorMix.mix(__goalRedDrops, __goalYellowDrops, __goalBlueDrops, NUMCLEAR);
__goalGoldRate = Math.random();
__goalSparkleDensity = 1;
nthData = 0;
while (nthData < __goalDecalIndexArray.length) {
__goalDecalIndexArray[nthData] = Math.floor((Math.random() * NUMDECALS));
nthData++;
};
}
public function setupPhaseViewGoal():void{
nailSpaItemContainer_mc.setupPhaseViewGoal();
navigation_mc.setupPhaseViewGoal();
phase_view_goal_mc.visible = true;
}
public function stfComplete(cancelled:Boolean):void{
navigation_mc.onGiftComplete(cancelled);
removeSTF();
}
private function setup():void{
var nthData:int;
var nthDecal:int;
__am = new AudioManager();
SoundToggleButton.addToList(__am);
__urlLoader = new URLLoader();
__urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
__urlLoader.addEventListener(Event.COMPLETE, onComplete);
__urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
__urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
__phases_free = [phase_loading_mc, phase_intro_mc, phase_color_mix_mc, phase_add_glitter_mc, phase_mixer_mc, phase_paint_mc, phase_dryer_mc, phase_add_decal_mc, phase_conclusion_mc];
__phases_compete = [phase_loading_mc, phase_intro_mc, phase_view_goal_mc, phase_color_mix_mc, phase_add_glitter_mc, phase_mixer_mc, phase_paint_challenge_mc, phase_dryer_challenge_mc, phase_add_decal_challenge_mc, phase_conclusion_challenge_mc];
__bitmapDataArray = [bitmap_data_0, bitmap_data_1, bitmap_data_2, bitmap_data_3, bitmap_data_4, bitmap_data_5, bitmap_data_6, bitmap_data_7, bitmap_data_8, bitmap_data_9, bitmap_data_10, bitmap_data_11, bitmap_data_12, bitmap_data_13, bitmap_data_14, bitmap_data_15, bitmap_data_16, bitmap_data_17, bitmap_data_18, bitmap_data_19];
__decalIndexArray = [decal_index_0, decal_index_1, decal_index_2, decal_index_3, decal_index_4, decal_index_5, decal_index_6, decal_index_7, decal_index_8, decal_index_9, decal_index_10, decal_index_11, decal_index_12, decal_index_13, decal_index_14, decal_index_15, decal_index_16, decal_index_17, decal_index_18, decal_index_19];
__goalDecalIndexArray = [__goal_decal_index_0, __goal_decal_index_1, __goal_decal_index_2, __goal_decal_index_3, __goal_decal_index_4];
nthData = 0;
while (nthData < __bitmapDataArray.length) {
__bitmapDataArray[nthData] = new BitmapData(1000, 1000, true, 0xFFFFFF);
nthData++;
};
nthDecal = 0;
while (nthDecal < __decalIndexArray.length) {
__decalIndexArray[nthData] = -1;
nthDecal++;
};
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTOCOLORMIXDONE, transitionedToColorMix, false, 0, true);
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTOADDGLITTERDONE, transitionedToAddGlitter, false, 0, true);
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTOMIXERDONE, transitionedToMixer, false, 0, true);
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTOPAINTDONE, transitionedToPaint, false, 0, true);
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTODRYERDONE, transitionedToDryer, false, 0, true);
nailSpaItemContainer_mc.addEventListener(AnimationEvent.TRANSITIONTOADDDECALDONE, transitionedToAddDecal, false, 0, true);
}
private function onInfoReady(evt:Event):void{
var str:String;
var jsonObj:Object;
var path:String;
var theData:Object;
var sprite:NailLoader;
__loader.removeEventListener(Event.COMPLETE, onInfoReady, false);
str = String(__loader.data);
jsonObj = JSON.decode(str);
path = ((jsonObj["nails"]["finalImage"] + "?v=") + Math.floor((Math.random() * 999)));
theData = jsonObj;
sprite = new NailLoader(path, theData);
sprite.addEventListener(NailEvent.EVENT_IMAGEREADY, onImageReady);
}
public function showAbout(... _args):void{
phase_loading_mc.showAbout();
playSound(INTROSTART);
}
public function exitPhaseDryer():void{
nailSpaItemContainer_mc.exitPhaseDryer();
navigation_mc.exitPhaseDryer();
}
public function getTimeBonus():int{
var timeBonus:int;
var totalUsedDrops:int;
timeBonus = 0;
totalUsedDrops = ((__redDrops + __yellowDrops) + __blueDrops);
if ((((__sparkleDensity > 0)) && ((totalUsedDrops > 0)))){
timeBonus = Math.floor(((BONUSTIME - navigation_mc.getTimeTaken()) / BONUSTIMEDIVIDER));
};
if (timeBonus < 0){
timeBonus = 0;
};
return (timeBonus);
}
private function transitionedToDryer(e:AnimationEvent):void{
navigation_mc.setupPhaseDryer();
if (__freePlay){
phase_dryer_mc.visible = true;
phase_dryer_mc.onTransitioned();
} else {
phase_dryer_challenge_mc.visible = true;
phase_dryer_challenge_mc.onTransitioned();
};
}
public function resetMyNails():void{
loadNailData();
}
public function updateMixerMeter(pct:Number):void{
phase_mixer_mc.updateMeter(pct);
}
public function setupPhaseAddDecal():void{
nailSpaItemContainer_mc.setupPhaseAddDecal();
}
public function stfReleased(colorData:String, jpgSource:BitmapData):void{
var classRef:Class;
removeSTF();
classRef = (getDefinitionByName("stf_mc") as Class);
__stf = new (classRef);
addChild(__stf);
__stf.setPolish(colorData, jpgSource);
}
public function dryerOff():void{
nailSpaItemContainer_mc.dryerOff();
playSound(DRYERCLICKOFF);
fadeSound(DRYERSOUND, 0, 500, stopDryerSound);
}
private function delaySetup():void{
var nthPhaseCompete:int;
var nthPhase:int;
loadAssets();
setup();
nthPhaseCompete = 0;
while (nthPhaseCompete < __phases_compete.length) {
exitPhase(__phases_compete[nthPhaseCompete]);
nthPhaseCompete++;
};
nthPhase = 0;
while (nthPhase < __phases_free.length) {
exitPhase(__phases_free[nthPhase]);
nthPhase++;
};
setPhase(0);
afterLoggedIn();
}
public function getGoldRate():Number{
return (__goldRate);
}
public function getGoalSparkleDensity():Number{
return (__goalSparkleDensity);
}
public function getLoadedPolishesArray():Array{
return (__importedPolishArray);
}
private function transitionedToAddDecal(e:AnimationEvent):void{
navigation_mc.setupPhaseAddDecal();
if (__freePlay){
phase_add_decal_mc.visible = true;
phase_add_decal_mc.onTransitioned();
} else {
phase_add_decal_challenge_mc.visible = true;
phase_add_decal_challenge_mc.onTransitioned();
};
}
private function startMusic():void{
stopSound(GAMEINTROLOOPMUSIC);
stopSound(GAMELOOPMUSIC);
playSound(GAMELOOPMUSIC, 99999);
}
private function transitionedToMixer(e:AnimationEvent):void{
navigation_mc.setupPhaseMixer();
phase_mixer_mc.visible = true;
phase_mixer_mc.onTransitioned();
playSound(MIXERSOUND, 9999);
}
public function returnToMMO():void{
dispatchEvent(new AGAGameEvent(AGAGameEvent.TYPE_GOTOMMO));
}
private function exitPhase(phase:MovieClip):void{
phase.visible = false;
phase.onPhaseExit();
if (phase != phase_view_goal_mc){
phase.y = OFFSCREENAMT;
};
}
private function onSecurityError(e:SecurityErrorEvent):void{
}
public function exitPhaseMixer():void{
stopSound(MIXERSOUND);
nailSpaItemContainer_mc.exitPhaseMixer();
navigation_mc.exitPhaseMixer();
}
private function removeSTF():void{
if (__stf != null){
__stf.cancelAll();
removeChild(__stf);
__stf = null;
};
}
public function setupPhaseColorMix():void{
nailSpaItemContainer_mc.setupPhaseColorMix();
}
public function setDecalIndex(nthData:int, index:int):void{
__decalIndexArray[nthData] = index;
}
public function getDecalScore():int{
var totalDecals:int;
var correctDecals:int;
var nthDecal:int;
var score:int;
totalDecals = __goalDecalIndexArray.length;
correctDecals = 0;
while (nthDecal < totalDecals) {
if (__decalIndexArray[nthDecal] == __goalDecalIndexArray[nthDecal]){
correctDecals++;
};
nthDecal++;
};
score = Math.floor(((correctDecals / totalDecals) * 100));
return (score);
}
public function hideMyNails(... _args):void{
navigation_mc.hideMyNails();
}
public function clearPhaseAddGlitter():void{
nailSpaItemContainer_mc.clearPhaseAddGlitter();
}
private function saveOutNewPolish(keep:Boolean):void{
var vars:Object;
var paint:String;
var length:Number;
var i:Number;
if (((API.loggedIn) && (keep))){
vars = {};
vars.gameid = API.gameID;
paint = "P";
length = 0;
if (__importedPolishArray != null){
length = (length + __importedPolishArray.length);
};
paint = (paint + ((((getMixedColor() + ",") + getGoldRate()) + ",") + getSparkleDensity()));
i = 0;
while (i < length) {
paint = (paint + "|");
Polish(__importedPolishArray[i]).tracePolish();
paint = (paint + ((((Polish(__importedPolishArray[i]).getColour() + ",") + Polish(__importedPolishArray[i]).getGold()) + ",") + Polish(__importedPolishArray[i]).getSparkle()));
i++;
};
vars.savestring = paint;
API.sendSafeMessage("save.php", vars, loaded);
};
}
private function transitionedToPaint(e:AnimationEvent):void{
navigation_mc.setupPhasePaint();
if (__freePlay){
phase_paint_mc.visible = true;
phase_paint_mc.onTransitioned();
} else {
phase_paint_challenge_mc.visible = true;
phase_paint_challenge_mc.onTransitioned();
};
}
public function setChallengeMode(challenge:Boolean):void{
__freePlay = !(challenge);
__timeStarted = new Date();
resetNails();
}
private function transitionedToColorMix(e:AnimationEvent):void{
navigation_mc.setupPhaseColorMix();
phase_color_mix_mc.visible = true;
phase_color_mix_mc.onTransitioned();
}
private function onError(e:IOErrorEvent):void{
}
public function hideAbout(... _args):void{
navigation_mc.hideAbout();
}
public function exitPhasePaint():void{
__pctTouched = phase_paint_challenge_mc.getPctTouched();
nailSpaItemContainer_mc.exitPhasePaint();
navigation_mc.exitPhasePaint();
}
public function saveNailData(mc:MovieClip):void{
var jpgSource:BitmapData;
var jpgEncoder:JPGEncoder;
var jpgStream:ByteArray;
var url:String;
var urlRequest:URLRequest;
if (loggedIn){
jpgSource = new BitmapData(600, 400, true, 4294967295);
jpgSource.draw(mc);
jpgEncoder = new JPGEncoder(85);
jpgStream = jpgEncoder.encode(jpgSource);
url = (Parser.servicesURL + "games/spafactory/save_image.php");
urlRequest = new URLRequest();
urlRequest.url = url;
urlRequest.contentType = ("multipart/form-data; boundary=" + UploadPostHelper.getBoundary());
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData("image.jpg", jpgStream, {});
urlRequest.requestHeaders.push(new URLRequestHeader("Cache-Control", "no-cache"));
__urlLoader.load(urlRequest);
};
}
public function exitPhaseLoading():void{
nailSpaItemContainer_mc.exitPhaseLoading();
navigation_mc.exitPhaseLoading();
}
public function dryerOn():void{
nailSpaItemContainer_mc.dryerOn();
playSound(DRYERSOUND, 9999);
playSound(DRYERCLICKON);
}
protected function onAddedToStage(evt:Event):void{
SequenceManager.skipFrames(delaySetup, 4);
}
public function setBitmapData(nthData:int, data:BitmapData):void{
__bitmapDataArray[nthData].draw(data);
}
private function loadSavedPolish():void{
var vars:Object;
if (loggedIn){
vars = {};
vars.gameid = API.gameID;
API.sendSafeMessage("save.php", vars, loaded);
};
}
public function goHomePhase():void{
setPhase(0);
}
public function clearPhaseIntro():void{
nailSpaItemContainer_mc.clearPhaseIntro();
}
public function setGoldRate(gRate:Number):void{
if (isNaN(gRate)){
} else {
__goldRate = gRate;
};
}
public function getSparkleDensity():Number{
return (__sparkleDensity);
}
public function fadeSound(snd_linkage:String, vol:Number, duration:int, callback:Function=null):void{
if (__am != null){
__am.fadeSound(snd_linkage, vol, duration, null, callback);
};
}
public function setSparkleDensity(sDensity:Number):void{
__sparkleDensity = sDensity;
}
public function clearPhaseConclusion():void{
nailSpaItemContainer_mc.clearPhaseConclusion();
}
}
}//package com.aga.nailspa.game
Section 165
//Container (com.fuelengines.containers.Container)
package com.fuelengines.containers {
import flash.utils.*;
import com.fuelindustries.core.*;
public class Container extends FuelUI {
private var __lists:Dictionary;
public function Container(){
__lists = new Dictionary(true);
super();
}
public function addObjectToEnd(listName:String, item):void{
var newList:Dictionary;
var list:Dictionary;
var newArr:Array;
var each:*;
var i:Number;
newList = new Dictionary();
newList[item] = item;
list = __lists[listName];
if (list == null){
list = new Dictionary();
};
newArr = [];
for (each in list) {
newArr.push(each);
newArr.push(list[each]);
};
i = (newArr.length - 1);
while (i >= 1) {
newList[newArr[(i - 1)]] = newArr[i];
i = (i - 2);
};
__lists[listName] = newList;
}
private function cloneObject(origObj:Object):Object{
var newObj:Object;
var each:*;
newObj = {};
for (each in origObj) {
newObj[each] = origObj[each];
};
return (newObj);
}
public function removeObject(listName:String, item):void{
var list:Dictionary;
list = __lists[listName];
delete list[item];
__lists[listName] = list;
}
public function callOnList(listName:String, func:String, ... _args):void{
var mc:*;
var list:Dictionary;
if (listLength(listName)){
list = getObjectList(listName);
for each (mc in list) {
mc[func].apply(mc, _args);
};
};
}
public function listLength(listName:String):Number{
var i:Number;
var list:Dictionary;
var each:*;
i = 0;
list = __lists[listName];
for (each in list) {
i++;
};
return (i);
}
public function removeObjectList(listName:String):void{
var list:Dictionary;
var each:*;
list = __lists[listName];
for (each in list) {
delete list[each];
};
delete __lists[listName];
}
public function addObject(listName:String, item):void{
var list:Dictionary;
list = __lists[listName];
if (list == null){
list = new Dictionary();
};
list[item] = item;
__lists[listName] = list;
}
public function callOnAllLists(func:String, ... _args):void{
var eachList:String;
_args.splice(0, 0, "", func);
for (eachList in __lists) {
_args.splice(0, 1, eachList);
callOnList.apply(this, _args);
};
}
public function getObjectList(listName:String):Dictionary{
return (__lists[listName]);
}
public function getObjectAllLists():Dictionary{
return (__lists);
}
public function clearAllLists():void{
var eachList:String;
for (eachList in __lists) {
removeObjectList(eachList);
};
}
}
}//package com.fuelengines.containers
Section 166
//FPS (com.fuelengines.controls.FPS)
package com.fuelengines.controls {
import flash.utils.*;
import flash.events.*;
import flash.text.*;
import com.fuelindustries.core.*;
import flash.ui.*;
public class FPS extends FuelUI {
private var min_txt:TextField;
private var fps_txt:TextField;
private var __minFrame:Number;
private var max_txt:TextField;
private var __maxFrame:Number;
private var __lastTime:Number;
private var __lastFrame:Number;
private var __frameCount:Number;
public function FPS(){
super();
fps_txt = createTextField(5, 5, 35, 20);
min_txt = createTextField(45, 5, 35, 20);
max_txt = createTextField(85, 5, 35, 20);
__lastTime = getTimer();
__frameCount = 0;
__lastFrame = __lastTime;
__minFrame = (__maxFrame = -1);
addEventListener(Event.ENTER_FRAME, oef);
doLater(addKeyEvent);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number, border:Boolean=true, background:Boolean=true):TextField{
var result:TextField;
result = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.border = border;
result.background = background;
addChild(result);
return (result);
}
private function addKeyEvent():void{
if (stage != null){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
};
}
private function oef(e:Event):void{
var thisFrame:Number;
var frameTime:Number;
var rate:Number;
var now:Number;
var fps:Number;
thisFrame = getTimer();
frameTime = (thisFrame - __lastFrame);
rate = ((10000 / frameTime) / 10);
__minFrame = ((__minFrame < 0)) ? rate : Math.min(__minFrame, rate);
__maxFrame = ((((__maxFrame < 0)) || ((__maxFrame == Infinity)))) ? rate : Math.max(__maxFrame, rate);
min_txt.text = String(__minFrame);
max_txt.text = String(__maxFrame);
__frameCount++;
if (__frameCount >= 15){
now = getTimer();
fps = (Math.round((10000 / ((now - __lastTime) / __frameCount))) / 10);
fps_txt.text = String(fps);
__lastTime = now;
__frameCount = 0;
};
__lastFrame = thisFrame;
}
private function keyPressed(ke:KeyboardEvent):void{
if (((ke.shiftKey) && ((ke.charCode == Keyboard.ESCAPE)))){
__minFrame = (__maxFrame = -1);
};
}
}
}//package com.fuelengines.controls
Section 167
//NumberDisplay (com.fuelengines.controls.NumberDisplay)
package com.fuelengines.controls {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import com.fuelindustries.utils.*;
import com.fuelindustries.core.*;
public dynamic class NumberDisplay extends FuelUI {
private var __remainingTime:Number;
private var __destination:Number;
protected var __zeroPadding:Number;
protected var __numbers:Array;
protected var __spacing:Number;
protected var __prefix:Boolean;
protected var __justify:String;
protected var __comma:Boolean;
private var __paused:Boolean;
protected var __number:Number;
protected var __suffix:Boolean;
private var __callbackArray:Array;
protected var mc:MovieClip;
private var __displayInt:Number;
protected var __charSkin:String;
public function NumberDisplay(){
super();
__numbers = new Array();
__number = ((((__number == 0)) || (isNaN(__number)))) ? 0 : __number;
__spacing = ((((__spacing == 0)) || (isNaN(__spacing)))) ? 1 : __spacing;
__charSkin = ((__charSkin)==null) ? "numberSkin_mc" : __charSkin;
__justify = ((__justify)==null) ? "left" : __justify;
__remainingTime = 0;
__paused = false;
addEventListener("render", myDraw);
}
public function get spacing():Number{
return (__spacing);
}
public function get zeroPadding():Number{
return (__zeroPadding);
}
private function setNumber(num:Number):void{
if (!isNaN(num)){
__number = num;
if (stage != null){
stage.invalidate();
};
};
}
private function setSuffix(s:Boolean):void{
__suffix = s;
if (stage != null){
stage.invalidate();
};
}
public function set spacing(s:Number):void{
setSpacing(s);
}
public function get justify():String{
return (__justify);
}
public function set number(num:Number):void{
__number = num;
}
public function get prefix():Boolean{
return (__prefix);
}
public function set suffix(s:Boolean):void{
setSuffix(s);
}
public function set zeroPadding(pad:Number):void{
setPad(pad);
}
public function display(num:Number):void{
var n_arr:Array;
var len:Number;
var mc:MovieClip;
var x:Number;
var i:Number;
var clipName:String;
var classDef:Object;
var adjustWidth:Number;
var c:Number;
if (!isNaN(num)){
num = Math.floor(num);
__number = num;
n_arr = new Array();
do {
n_arr.push((num % 10));
num = Math.floor((num / 10));
} while (num > 0);
if (__comma){
c = 0;
i = 0;
while (i < n_arr.length) {
var _temp1 = c;
c = (c + 1);
if (_temp1 == 3){
n_arr.splice(i, 0, "comma");
c = 0;
};
i++;
};
} else {
while (n_arr.length < __zeroPadding) {
n_arr.push(0);
};
};
if (__prefix){
n_arr.push("prefix");
};
if (__suffix){
n_arr.unshift("suffix");
};
clearNumbers();
len = n_arr.length;
mc = new MovieClip();
adjustWidth = 0;
if (this.loaderInfo != null){
classDef = this.loaderInfo.applicationDomain.getDefinition(__charSkin);
} else {
classDef = getDefinitionByName(__charSkin);
};
i = len;
while (i > 0) {
x = (mc.x + (mc.width * __spacing));
clipName = ("num" + i);
this[clipName] = (new (classDef) as MovieClip);
this.addChild(this[clipName]);
mc = this[clipName];
mc.x = x;
if (isNaN(n_arr[(i - 1)])){
mc.gotoAndStop(n_arr[(i - 1)]);
} else {
mc.gotoAndStop((n_arr[(i - 1)] + 1));
};
__numbers.push(mc);
if (__justify == "right"){
adjustWidth = (adjustWidth + (mc.width * __spacing));
} else {
if ((((__justify == "centre")) || ((__justify == "center")))){
adjustWidth = (adjustWidth + ((mc.width * 0.5) * __spacing));
};
};
i--;
};
i = len;
while (i > 0) {
clipName = ("num" + i);
mc = this[clipName];
mc.x = (mc.x - adjustWidth);
i--;
};
};
}
private function setPad(pad:Number):void{
if (!isNaN(pad)){
__zeroPadding = Math.max(0, pad);
if (stage != null){
stage.invalidate();
};
};
}
public function get comma():Boolean{
return (__comma);
}
public function displayTo(num:Number, time:Number, ... _args):void{
IntervalManager.clearInterval(__displayInt);
time = (isNaN(time)) ? Math.abs((num - __number)) : time;
__destination = num;
__paused = false;
__displayInt = IntervalManager.setInterval(countTo, 25, __number, num, getTimer(), time, _args);
}
private function setSkin(skin:String):void{
if (skin != null){
__charSkin = skin;
if (stage != null){
stage.invalidate();
};
};
}
private function myDraw(eventObj:Event):void{
display(__number);
}
public function set justify(just:String):void{
setJustify(just);
}
public function set prefix(p:Boolean):void{
setPrefix(p);
}
public function get paused():Boolean{
return (__paused);
}
protected function clearNumbers():void{
var rem:Boolean;
var mc:MovieClip;
rem = true;
while (__numbers.length) {
mc = __numbers.shift();
removeChild(mc);
};
do {
} while (__numbers.length);
__numbers = new Array();
}
public function get number():Number{
return (__number);
}
public function get suffix():Boolean{
return (__suffix);
}
private function setSpacing(s:Number):void{
if (!isNaN(s)){
__spacing = s;
if (stage != null){
stage.invalidate();
};
};
}
private function setComma(c:Boolean):void{
__comma = c;
if (stage != null){
stage.invalidate();
};
}
public function set comma(val:Boolean):void{
setComma(val);
}
private function setPrefix(p:Boolean):void{
__prefix = p;
if (stage != null){
stage.invalidate();
};
}
private function setJustify(just:String):void{
if (just != null){
__justify = just.toLowerCase();
if (stage != null){
stage.invalidate();
};
};
}
public function set charSkin(skin:String):void{
setSkin(skin);
}
public function get charSkin():String{
return (__charSkin);
}
private function countTo(begin:Number, dest:Number, startTime:Number, dur:Number, args:Array, intervalObj:Object):void{
var time:Number;
var elapsed:Number;
var percent:Number;
var diff:Number;
var num:Number;
var func:Function;
var overTime:Number;
time = getTimer();
elapsed = (time - startTime);
percent = (elapsed / dur);
__remainingTime = (dur - elapsed);
diff = (dest - begin);
if (dest > begin){
num = Math.min((begin + Math.round((diff * percent))), dest);
} else {
num = Math.max((begin + Math.round((diff * percent))), dest);
};
display(num);
if (elapsed >= dur){
IntervalManager.clearInterval(__displayInt);
if (args.length){
func = args.shift();
overTime = (elapsed - dur);
args.push(overTime);
func.apply(null, args);
};
};
}
public function pause():void{
__paused = !(__paused);
if (__paused){
IntervalManager.clearInterval(__displayInt);
} else {
__displayInt = IntervalManager.setInterval(countTo, 25, __number, __destination, getTimer(), __remainingTime, __callbackArray);
};
}
}
}//package com.fuelengines.controls
Section 168
//SettingsEvent (com.fuelengines.game.events.SettingsEvent)
package com.fuelengines.game.events {
import flash.events.*;
public class SettingsEvent extends Event {
public static const OPENED:String = "opened";
public static const CLOSED:String = "closed";
public function SettingsEvent(type:String){
super(type, true, true);
}
override public function toString():String{
return (formatToString("SettingsEvent", "type"));
}
override public function clone():Event{
return (new SettingsEvent(type));
}
}
}//package com.fuelengines.game.events
Section 169
//BaseGame (com.fuelengines.game.BaseGame)
package com.fuelengines.game {
import flash.display.*;
import flash.utils.*;
import com.fuelindustries.utils.*;
import com.fuelengines.game.events.*;
import com.fuelengines.controls.*;
import com.fuelengines.containers.*;
public class BaseGame extends Container {
protected var __paused:Boolean;
private var __fps:FPS;
protected var __gameWidth:Number;
private var __intervalID:Number;
protected var __gameHeight:Number;
protected var __sm:SettingsManager;
protected var __updatePeriod:uint;// = 32
private var __listNameByReference:Dictionary;
public function BaseGame(){
__updatePeriod = 32;
super();
__paused = false;
__gameWidth = 600;
__gameHeight = 500;
__listNameByReference = new Dictionary(true);
}
public function startUpdates():void{
if (!__paused){
__intervalID = IntervalManager.setInterval(update, __updatePeriod);
};
}
public function removeGameItem(type:String, item:MovieClip, base_mc:MovieClip=null):void{
base_mc = ((base_mc == null)) ? MovieClip(item.parent) : base_mc;
delete __listNameByReference[item];
removeObject(type, item);
base_mc.removeChild(item);
item = undefined;
}
public function get gameWidth():Number{
return (__gameWidth);
}
public function get paused():Boolean{
return (__paused);
}
protected function doUpdate(timeDiff:Number):void{
}
protected function addGameItemMc(type:String, posX:Number, posY:Number, item, base_mc:MovieClip=null):void{
base_mc = ((base_mc == null)) ? this : base_mc;
item.x = posX;
item.y = posY;
addObject(type, item);
base_mc.addChild(item);
__listNameByReference[item] = type;
}
protected function doPause():void{
}
protected function hideFPS():void{
if (__fps != null){
removeChild(__fps);
};
}
public function addSettingsField(fieldName:String, scope:Object, prop:String):void{
if (__sm == null){
createSettingsManager();
};
__sm.addField(fieldName, scope, prop);
}
public function stopUpdates():void{
IntervalManager.clearInterval(__intervalID);
}
protected function settingsOpened(e:SettingsEvent):void{
pause(true);
}
protected function createSettingsManager():void{
__sm = new SettingsManager();
addChild(__sm);
__sm.addEventListener(SettingsEvent.OPENED, settingsOpened);
__sm.addEventListener(SettingsEvent.CLOSED, settingsClosed);
}
protected function settingsClosed(e:SettingsEvent):void{
pause(false);
}
public function removeAfterKill(mc, releaseFlag:Boolean):void{
removeGameItemByRef(mc);
}
protected function showFPS(fpsX:Number=0, fpsY:Number=0):void{
hideFPS();
__fps = new FPS();
__fps.x = fpsX;
__fps.y = fpsY;
addChild(__fps);
}
public function removeGameItemByRef(item:MovieClip):void{
var base_mc:MovieClip;
var type:String;
base_mc = MovieClip(item.parent);
type = __listNameByReference[item];
removeObject(type, item);
base_mc.removeChild(item);
delete __listNameByReference[item];
item = undefined;
}
private function update(ic:IntervalCall):void{
var timeDiff:Number;
timeDiff = (ic.timeDiff + __updatePeriod);
timeDiff = (timeDiff / __updatePeriod);
doUpdate(timeDiff);
}
public function get gameHeight():Number{
return (__gameHeight);
}
public function getFrameNumber(strLabel:String, mc:MovieClip=null):Number{
var frame:Number;
var labels:Array;
var label:FrameLabel;
var i:int;
mc = ((mc == null)) ? this : mc;
frame = 0;
labels = mc.currentLabels;
i = 0;
while (i < labels.length) {
label = labels[i];
if (label.name == strLabel){
frame = label.frame;
break;
};
i++;
};
return (frame);
}
protected function addGameItem(type:String, posX:Number, posY:Number, variations:Array=null, base_mc:MovieClip=null):MovieClip{
var className:String;
var classRef:Class;
var item:*;
variations = ((variations == null)) ? [] : variations;
base_mc = ((base_mc == null)) ? this : base_mc;
className = type;
if (variations.length){
className = (className + variations[Math.floor((Math.random() * variations.length))]);
};
classRef = (getDefinitionByName(className) as Class);
item = new (classRef);
item.x = posX;
item.y = posY;
addObject(type, item);
base_mc.addChild(item);
__listNameByReference[item] = type;
return (item);
}
public function get updatePeriod():Number{
return (__updatePeriod);
}
public function pause(b:Boolean=false):void{
if (!arguments.length){
b = !(__paused);
};
__paused = b;
doPause();
}
}
}//package com.fuelengines.game
Section 170
//SettingsManager (com.fuelengines.game.SettingsManager)
package com.fuelengines.game {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.fuelengines.game.events.*;
import com.fuelindustries.core.*;
import flash.ui.*;
public class SettingsManager extends FuelUI {
private var __labelColour:Number;// = 0xFFFFFF
private var title_txt:TextField;
private var __textColour:Number;// = 0
private var __bgColour:Number;// = 102
private var __w:Number;// = 400
private var submitBtn_mc:MovieClip;
private var __fields:Array;
private var __h:Number;// = 300
private var bg_mc:MovieClip;
private var __bgLineColour:Number;// = 0xBBBBBB
public function SettingsManager(){
__w = 400;
__h = 300;
__bgColour = 102;
__bgLineColour = 0xBBBBBB;
__textColour = 0;
__labelColour = 0xFFFFFF;
super();
__fields = [];
visible = false;
createBG();
createTitle();
createSubmit();
doLater(addKeyListener);
}
private function createSubmit():void{
var submitW:Number;
var submitH:Number;
var gr:Graphics;
var submit_txt:TextField;
submitBtn_mc = new MovieClip();
addChild(submitBtn_mc);
submitBtn_mc.mouseChildren = false;
submitW = 80;
submitH = 30;
gr = submitBtn_mc.graphics;
gr.clear();
gr.lineStyle(2, 0xFFFFFF);
gr.beginFill(0x777777);
gr.drawRoundRect(0, 0, submitW, submitH, 2);
submit_txt = new TextField();
submitBtn_mc.addChild(submit_txt);
submit_txt.text = "SUBMIT";
setTextFormat(submit_txt, 12, false, 0xFFFFFF, true);
submit_txt.x = Math.floor((0.5 * (submitW - submit_txt.textWidth)));
submit_txt.y = Math.floor((0.5 * (submitH - submit_txt.textHeight)));
}
private function createBG():void{
bg_mc = new MovieClip();
addChild(bg_mc);
}
private function showComplete(... _args):void{
submitBtn_mc.addEventListener(MouseEvent.CLICK, submitClicked);
submitBtn_mc.useHandCursor = true;
submitBtn_mc.buttonMode = true;
}
private function showSettings():void{
var e:SettingsEvent;
e = new SettingsEvent(SettingsEvent.OPENED);
dispatchEvent(e);
alpha = 0;
visible = true;
alphaTo(100, 150, "easeIn", showComplete);
resizeAll();
}
private function setTextFormat(field_txt:TextField, fontsize:Number=12, border:Boolean=false, col:Number=-1, bold:Boolean=false):void{
var format:TextFormat;
col = ((col < 0)) ? __labelColour : col;
format = field_txt.getTextFormat();
format.size = fontsize;
format.color = col;
format.bold = bold;
field_txt.setTextFormat(format);
field_txt.width = Math.max(50, (field_txt.textWidth + 15));
field_txt.height = Math.max(20, (field_txt.textHeight + 5));
field_txt.selectable = border;
if (border){
field_txt.border = true;
field_txt.background = true;
field_txt.backgroundColor = 0xFFFFFF;
field_txt.borderColor = 0;
};
}
private function hideSettings():void{
submitBtn_mc.removeEventListener(MouseEvent.CLICK, submitClicked);
submitBtn_mc.useHandCursor = false;
submitBtn_mc.buttonMode = false;
alphaTo(0, 150, "easeIn", hideComplete);
}
private function resizeAll():void{
var lastY:Number;
var len:Number;
var field:Object;
var h:Number;
var i:Number;
var __h:Number;
var gr:Graphics;
title_txt.x = Math.floor((0.5 * (__w - title_txt.textWidth)));
title_txt.y = 15;
lastY = Math.round(((title_txt.y + title_txt.textHeight) + 25));
len = __fields.length;
h = 0;
i = 0;
while (i < len) {
field = __fields[i];
field.label.x = 50;
field.label.y = lastY;
field.input.x = 150;
field.input.y = lastY;
field.input.text = field.scope[field.prop];
h = (field.input.textHeight + 10);
lastY = (lastY + h);
i++;
};
submitBtn_mc.y = lastY;
submitBtn_mc.x = ((__w - submitBtn_mc.width) - 20);
__h = ((lastY + submitBtn_mc.height) + 20);
gr = bg_mc.graphics;
gr.clear();
gr.lineStyle(3, __bgLineColour);
gr.beginFill(__bgColour);
gr.drawRoundRect(0, 0, __w, __h, 10);
x = 100;
y = 100;
}
private function hideComplete(... _args):void{
var e:SettingsEvent;
visible = false;
e = new SettingsEvent(SettingsEvent.CLOSED);
dispatchEvent(e);
}
private function keyReleased(e:KeyboardEvent):void{
if (e.keyCode == 83){
if (visible){
hideSettings();
} else {
showSettings();
};
} else {
if (((visible) && ((e.keyCode == Keyboard.ENTER)))){
submitClicked();
} else {
if (((visible) && ((e.keyCode == Keyboard.ESCAPE)))){
hideSettings();
};
};
};
}
private function addKeyListener():void{
stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
}
private function createTitle():void{
title_txt = new TextField();
addChild(title_txt);
title_txt.text = "Settings Manager";
setTextFormat(title_txt, 18, false, __labelColour, true);
}
public function addField(fieldName:String, obj:Object, prop:String):void{
var label_txt:TextField;
var input_txt:TextField;
label_txt = new TextField();
addChild(label_txt);
label_txt.text = fieldName;
setTextFormat(label_txt, 12, false, __labelColour, true);
input_txt = new TextField();
addChild(input_txt);
input_txt.type = TextFieldType.INPUT;
input_txt.text = obj[prop];
setTextFormat(input_txt, 12, true, __textColour);
__fields.push({label:label_txt, input:input_txt, scope:obj, prop:prop});
}
private function submitClicked(e:MouseEvent=null):void{
var len:Number;
var field:Object;
var i:Number;
len = __fields.length;
field = __fields.length;
i = 0;
while (i < len) {
field = __fields[i];
field.scope[field.prop] = field.input.text;
i++;
};
hideSettings();
}
}
}//package com.fuelengines.game
Section 171
//FrameCall (com.fuelengines.utils.FrameCall)
package com.fuelengines.utils {
import flash.events.*;
import com.fuelindustries.tween.*;
public class FrameCall extends EventDispatcher {
var __id:int;
private var __frames:int;
private var __callbackArgs:Array;
private var __callback:Function;
private var __currentframe:int;
public function FrameCall(id:int, func:Function, frames:int, callbackArgs:Array){
super();
__id = id;
__callback = func;
__frames = frames;
__callbackArgs = callbackArgs;
__currentframe = 0;
TweenEnterFrame.addListener(onEnterFrame, false);
}
private function onEnterFrame(event:Event):void{
__currentframe++;
if (__currentframe == __frames){
__callback.apply(null, __callbackArgs);
cancel();
};
}
public function resume():void{
TweenEnterFrame.addListener(onEnterFrame);
}
public function cancel(f:Boolean=false):void{
TweenEnterFrame.removeListener(onEnterFrame);
delete ??getglobalscope
[this];
}
public function pause():void{
TweenEnterFrame.removeListener(onEnterFrame);
}
}
}//package com.fuelengines.utils
Section 172
//SequenceItem (com.fuelengines.utils.SequenceItem)
package com.fuelengines.utils {
import flash.utils.*;
import flash.events.*;
import com.fuelindustries.tween.*;
public class SequenceItem extends EventDispatcher {
private var __pauseTime:int;
private var __timesExecuted:int;
private var __callback:Function;
private var __callbackArgs:Array;
private var __startTime:int;
private var __timediff:int;
var __id:int;
private var __interval:int;
public function SequenceItem(id:int, func:Function, interval:int, callbackArgs:Array){
super();
__callback = func;
__interval = interval;
__id = id;
__callbackArgs = callbackArgs;
__callbackArgs.push(this);
__timesExecuted = 0;
TweenEnterFrame.addListener(onEnterFrame);
}
public function pause():void{
TweenEnterFrame.removeListener(onEnterFrame);
__pauseTime = getTimer();
}
private function onEnterFrame(event:Event):void{
var currenttime:int;
if (__startTime == 0){
__startTime = getTimer();
return;
};
currenttime = (getTimer() - __startTime);
if (currenttime >= __interval){
__startTime = getTimer();
__timediff = (currenttime - __interval);
execute();
};
}
public function get id():int{
return (__id);
}
public function resume():void{
var pauseDiff:int;
pauseDiff = (getTimer() - __pauseTime);
__startTime = (__startTime + pauseDiff);
TweenEnterFrame.addListener(onEnterFrame);
}
public function get timesExecuted():int{
return (__timesExecuted);
}
public function get timeDiff():int{
return (__timediff);
}
public function cancel(fromManager:Boolean=false):void{
if (!fromManager){
SequenceManager.clearTimeout(__id);
} else {
TweenEnterFrame.removeListener(onEnterFrame);
};
}
function execute():void{
__timesExecuted++;
__callback.apply(null, __callbackArgs);
TweenEnterFrame.removeListener(onEnterFrame);
cancel();
}
}
}//package com.fuelengines.utils
Section 173
//SequenceManager (com.fuelengines.utils.SequenceManager)
package com.fuelengines.utils {
import flash.utils.*;
import flash.events.*;
public class SequenceManager extends EventDispatcher {
private static var __timeoutId:int = 0;
private static var __paused:Boolean = false;
private static var __timeouts:Dictionary = new Dictionary(true);
public function SequenceManager(){
super();
}
public static function doLater(func:Function, ... _args):int{
var framecall:FrameCall;
__timeoutId++;
framecall = new FrameCall(__timeoutId, func, 1, _args);
__timeouts[__timeoutId] = framecall;
return (__timeoutId);
}
public static function skipFrames(func:Function, frames:int, ... _args):int{
var framecall:FrameCall;
__timeoutId++;
framecall = new FrameCall(__timeoutId, func, frames, _args);
__timeouts[__timeoutId] = framecall;
return (__timeoutId);
}
public static function clearAllTimeouts():void{
var each:*;
for (each in __timeouts) {
clearTimeout(each);
};
}
public static function clearTimeout(id:int):void{
var intcall:*;
if (id != 0){
intcall = __timeouts[id];
if (intcall != null){
intcall.cancel(true);
delete __timeouts[id];
};
};
}
public static function pause(b:Boolean=false):void{
var each:*;
if (!arguments.length){
b = !(__paused);
};
__paused = b;
for (each in __timeouts) {
if (__paused){
__timeouts[each].pause();
} else {
__timeouts[each].resume();
};
};
}
public static function setTimeout(func:Function, milli:int, ... _args):int{
var seqcall:SequenceItem;
__timeoutId++;
seqcall = new SequenceItem(__timeoutId, func, milli, _args);
__timeouts[__timeoutId] = seqcall;
return (__timeoutId);
}
}
}//package com.fuelengines.utils
Section 174
//ModalWindow (com.fuelindustries.containers.ModalWindow)
package com.fuelindustries.containers {
import com.fuelindustries.core.*;
public class ModalWindow extends FuelUI {
public function ModalWindow(){
super();
buttonMode = false;
mouseChildren = false;
mouseEnabled = true;
}
}
}//package com.fuelindustries.containers
Section 175
//Button (com.fuelindustries.controls.buttons.Button)
package com.fuelindustries.controls.buttons {
import flash.text.*;
public class Button extends SimpleButton {
private var __label:String;
public var label_txt:TextField;
private var __labelset:Boolean;
public function Button(){
super();
}
override protected function setFrame(frame:String):void{
if (frame != this.currentLabel){
super.setFrame(frame);
};
}
public function get label():String{
return (__label);
}
override protected function draw():void{
super.draw();
setLabel(__label);
}
protected function setLabel(txt:String):void{
if (txt == null){
txt = "";
};
__label = txt;
if (label_txt != null){
label_txt.text = txt;
};
}
public function set label(txt:String):void{
setLabel(txt);
}
}
}//package com.fuelindustries.controls.buttons
Section 176
//EaseButton (com.fuelindustries.controls.buttons.EaseButton)
package com.fuelindustries.controls.buttons {
public class EaseButton extends SimpleButton {
private var __duration:int;
public function EaseButton(){
super();
if (__duration == 0){
__duration = 500;
};
}
override protected function setFrame(frame:String):void{
switch (frame){
case "out":
case "disabled":
this.frameTo(0, __duration);
break;
case "over":
case "down":
case "selected":
this.frameTo(1, __duration);
break;
};
}
public function set duration(num:int):void{
__duration = num;
}
public function get duration():int{
return (__duration);
}
}
}//package com.fuelindustries.controls.buttons
Section 177
//RadioButton (com.fuelindustries.controls.buttons.RadioButton)
package com.fuelindustries.controls.buttons {
import flash.events.*;
public class RadioButton extends Button {
private var __group:RadioButtonGroup;
private var __groupname:String;
public function RadioButton(){
super();
addEventListener("removedFromStage", onRemoved);
__groupname = "FuelGroup";
doubleClickEnabled = false;
setGroup(__groupname);
}
override protected function release():void{
var val:Boolean;
val = (__selected) ? false : true;
setSelected(val);
}
public function set groupname(str:String):void{
setGroup(str);
}
override protected function setSelected(val:Boolean):void{
super.setSelected(val);
if (val){
if (__group.selection != this){
__group.selection = this;
disableStates();
};
} else {
enableStates();
};
}
private function setGroup(name:String):void{
if (__group != null){
__group.removeButton(this);
};
__groupname = name;
__group = RadioButtonGroup.getGroup(name);
__group.addButton(this);
}
private function onRemoved(e:Event):void{
__group.removeButton(this);
}
public function get group():RadioButtonGroup{
return (__group);
}
public function get groupname():String{
return (__groupname);
}
}
}//package com.fuelindustries.controls.buttons
Section 178
//RadioButtonGroup (com.fuelindustries.controls.buttons.RadioButtonGroup)
package com.fuelindustries.controls.buttons {
import flash.events.*;
public class RadioButtonGroup extends EventDispatcher {
private var __radiobuttons:Array;
private var __name:String;
private var __selection:RadioButton;
private static var __groups:Object;
private static var groupCount:uint = 0;
public function RadioButtonGroup(name:String){
super();
__name = name;
__radiobuttons = [];
}
public function addButton(btn:RadioButton):void{
var index:int;
index = getIndex(btn);
if (index == -1){
__radiobuttons.push(btn);
} else {
__radiobuttons.splice(index, 1, btn);
btn.groupname = __name;
};
}
public function get selection():RadioButton{
return (__selection);
}
private function setSelection(btn:RadioButton):void{
var i:int;
var mem:RadioButton;
if (__selection != null){
if (__selection.selected){
__selection.selected = false;
};
};
if (btn != null){
i = 0;
while (i < __radiobuttons.length) {
mem = (__radiobuttons[i] as RadioButton);
if (mem.name == btn.name){
__selection = mem;
return;
};
i++;
};
} else {
__selection = null;
};
}
private function getIndex(btn:RadioButton):int{
var i:int;
var rb:RadioButton;
i = 0;
while (i < __radiobuttons.length) {
rb = (__radiobuttons[i] as RadioButton);
if (btn == rb){
return (i);
};
i++;
};
return (-1);
}
public function removeButton(btn:RadioButton):void{
var index:int;
index = getIndex(btn);
__radiobuttons.splice(index, 1);
if (btn == __selection){
__selection = null;
};
}
public function set selection(btn:RadioButton):void{
setSelection(btn);
}
public function get length():int{
return (__radiobuttons.length);
}
public function get radioButtons():Array{
return (__radiobuttons);
}
public static function getGroup(name:String):RadioButtonGroup{
var grp:RadioButtonGroup;
if (__groups == null){
__groups = {};
};
grp = (__groups[name] as RadioButtonGroup);
if (grp == null){
grp = new RadioButtonGroup(name);
__groups[name] = grp;
if ((++groupCount % 20) == 0){
cleanUpGroups();
};
};
return (grp);
}
private static function cleanUpGroups():void{
var n:String;
var group:RadioButtonGroup;
for (n in __groups) {
group = (__groups[n] as RadioButtonGroup);
if (group.length == 0){
delete __groups[n];
};
};
}
}
}//package com.fuelindustries.controls.buttons
Section 179
//RadioEaseButton (com.fuelindustries.controls.buttons.RadioEaseButton)
package com.fuelindustries.controls.buttons {
public class RadioEaseButton extends RadioButton {
private var __duration:int;
public function RadioEaseButton(){
super();
if (__duration == 0){
__duration = 500;
};
}
override protected function setFrame(frame:String):void{
switch (frame){
case "out":
case "disabled":
if (__selected){
this.frameTo(1, duration, "ease");
} else {
this.frameTo(0, duration, "ease");
};
break;
case "over":
case "down":
case "selected":
this.frameTo(1, duration, "ease");
break;
};
}
public function set duration(num:int):void{
__duration = num;
}
public function get duration():int{
return (__duration);
}
}
}//package com.fuelindustries.controls.buttons
Section 180
//SimpleButton (com.fuelindustries.controls.buttons.SimpleButton)
package com.fuelindustries.controls.buttons {
import flash.events.*;
import com.fuelindustries.events.*;
import com.fuelindustries.core.*;
public class SimpleButton extends FuelUI {
protected var __toggle:Boolean;
protected var __selected:Boolean;
protected var __data:Object;
public function SimpleButton(){
super();
buttonMode = true;
mouseChildren = false;
__enabled = true;
__selected = false;
__toggle = false;
setEnabled(__enabled);
setSelected(__selected);
}
private function outEvent(e:Event):void{
out();
}
public function select():void{
press();
}
protected function release():void{
var val:Boolean;
if (!__toggle){
over();
} else {
val = (__selected) ? false : true;
setSelected(val);
};
}
private function pressEvent(e:Event):void{
press();
}
protected function setSelected(val:Boolean):void{
__selected = val;
if (val){
drawSelected();
} else {
if (__enabled){
drawDeselected();
};
};
}
private function overEvent(e:Event):void{
over();
}
protected function setFrame(frame:String):void{
var val:Boolean;
if (this.currentLabel == null){
val = checkForLabel(frame);
if (!val){
return;
};
};
if (frame != this.currentLabel){
if (stage != null){
addEventListener("render", handleRender);
stage.invalidate();
};
this.gotoAndStop(frame);
};
}
function disableStates():void{
mouseEnabled = false;
removeEventListener("mouseOver", overEvent);
removeEventListener("rollOut", outEvent);
removeEventListener("click", releaseEvent);
removeEventListener("mouseDown", pressEvent);
}
protected function press():void{
setFrame("down");
dispatchEvent(new FuelMouseEvent(FuelMouseEvent.PRESS));
}
protected function draw():void{
}
protected function out():void{
if (__selected){
drawSelected();
} else {
drawDeselected();
};
}
public function get toggle():Boolean{
return (__toggle);
}
public function set selected(val:Boolean):void{
setSelected(val);
}
override protected function setEnabled(val:Boolean):void{
if (val){
enableStates();
if (!__selected){
out();
} else {
drawSelected();
};
} else {
disableStates();
setFrame("disabled");
};
mouseEnabled = val;
super.setEnabled(val);
}
protected function drawDeselected():void{
setFrame("out");
}
public function set data(val:Object):void{
__data = val;
}
public function set toggle(val:Boolean):void{
__toggle = val;
}
public function get data():Object{
return (__data);
}
public function get selected():Boolean{
return (__selected);
}
private function releaseEvent(e:Event):void{
release();
}
protected function over():void{
setFrame("over");
}
private function checkForLabel(label:String):Boolean{
var labels:Array;
var i:int;
labels = this.currentLabels;
i = 0;
while (i < labels.length) {
if (labels[i] == label){
return (true);
};
i++;
};
return (false);
}
private function handleRender(e:Event):void{
removeEventListener("render", handleRender);
draw();
}
function enableStates():void{
mouseEnabled = true;
addEventListener("mouseOver", overEvent, false, 0, true);
addEventListener("rollOut", outEvent, false, 0, true);
addEventListener("click", releaseEvent, false, 0, true);
addEventListener("mouseDown", pressEvent, false, 0, true);
}
protected function drawSelected():void{
setFrame("selected");
}
}
}//package com.fuelindustries.controls.buttons
Section 181
//ScrollBar (com.fuelindustries.controls.scrollers.ScrollBar)
package com.fuelindustries.controls.scrollers {
import flash.display.*;
import flash.events.*;
import com.fuelindustries.controls.buttons.*;
import com.fuelindustries.utils.*;
import flash.geom.*;
import com.fuelindustries.events.*;
import com.fuelindustries.core.*;
public class ScrollBar extends FuelUI {
protected var maxVal:int;
public var track_mc:MovieClip;
private var __scrollDirection:String;
protected var minVal:int;
private var __btnInterval:int;
public var down_mc:SimpleButton;
public var thumb_mc:ScrollThumb;
public var up_mc:SimpleButton;
private var __dragging:Boolean;
private var __barInterval:int;
protected var __percent:Number;
public function ScrollBar(){
super();
__scrollDirection = ScrollDirection.VERTICAL;
setScrollProperties();
}
public function show():void{
visible = true;
}
protected function clearButtonEvents():void{
up_mc.removeEventListener("click", arrowRelease);
down_mc.removeEventListener("click", arrowRelease);
up_mc.removeEventListener(FuelMouseEvent.PRESS, arrowPress);
down_mc.removeEventListener(FuelMouseEvent.PRESS, arrowPress);
thumb_mc.removeEventListener(FuelMouseEvent.PRESS, startDragging);
thumb_mc.removeEventListener("mouseUp", stopDragging);
track_mc.removeEventListener("click", trackClick);
stage.removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
}
public function adjustScrollBars(percent:Number):void{
var pos:Number;
if (percent <= 0){
pos = minVal;
} else {
if (percent >= 1){
pos = maxVal;
} else {
pos = ((percent * (maxVal - minVal)) + minVal);
};
};
if (__scrollDirection == ScrollDirection.VERTICAL){
thumb_mc.y = pos;
} else {
thumb_mc.x = pos;
};
}
private function getPercent():Number{
var val:Number;
var percent:Number;
val = ((__scrollDirection)==ScrollDirection.VERTICAL) ? thumb_mc.y : thumb_mc.x;
percent = Math.abs(((val - minVal) / (maxVal - minVal)));
__percent = NumberUtils.constrain(percent, 0, 100);
return (__percent);
}
public function get scrollDirection():String{
return (__scrollDirection);
}
protected function scrollIt(type:String, percent:Number):void{
dispatchEvent(new ScrollEvent(type, percent));
}
public function get percent():Number{
return (getPercent());
}
protected function setScrollProperties():void{
if (__scrollDirection == ScrollDirection.VERTICAL){
minVal = track_mc.y;
maxVal = ((track_mc.y + track_mc.height) - thumb_mc.height);
if (thumb_mc.y < minVal){
thumb_mc.y = minVal;
};
if (thumb_mc.y > maxVal){
thumb_mc.y = maxVal;
};
} else {
if (__scrollDirection == ScrollDirection.HORIZONTAL){
minVal = track_mc.x;
maxVal = ((track_mc.x + track_mc.width) - thumb_mc.width);
if (thumb_mc.x < minVal){
thumb_mc.x = minVal;
};
if (thumb_mc.x > maxVal){
thumb_mc.x = maxVal;
};
};
};
}
public function reset():void{
thumb_mc.y = minVal;
__percent = getPercent();
}
public function set scrollDirection(val:String):void{
__scrollDirection = val;
}
protected function setButtonEvents():void{
up_mc.addEventListener("click", arrowRelease, false, 0, true);
down_mc.addEventListener("click", arrowRelease, false, 0, true);
up_mc.addEventListener(FuelMouseEvent.PRESS, arrowPress, false, 0, true);
down_mc.addEventListener(FuelMouseEvent.PRESS, arrowPress, false, 0, true);
thumb_mc.addEventListener(FuelMouseEvent.PRESS, startDragging, false, 0, true);
thumb_mc.addEventListener("mouseUp", stopDragging, false, 0, true);
track_mc.addEventListener("click", trackClick, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
}
public function enable():void{
setButtonEvents();
}
public function set percent(num:Number):void{
setPercent(num);
}
protected function mouseWheelHandler(e:MouseEvent):void{
var val:Number;
var newpos:Number;
if (__dragging){
return;
};
val = ((__scrollDirection)==ScrollDirection.VERTICAL) ? thumb_mc.y : thumb_mc.x;
newpos = NumberUtils.constrain((val - (2 * e.delta)), minVal, maxVal);
if (__scrollDirection == ScrollDirection.VERTICAL){
thumb_mc.y = newpos;
} else {
thumb_mc.x = newpos;
};
__percent = getPercent();
scrollIt(ScrollType.WHEEL, __percent);
}
protected function arrowRelease(e:MouseEvent):void{
IntervalManager.clearInterval(__btnInterval);
}
protected function setPosition(intCall:IntervalCall):void{
__percent = getPercent();
scrollIt(ScrollType.THUMB, __percent);
}
private function buttonScroll(dir:Number, intCall:IntervalCall):void{
scrollIt(ScrollType.LINE, dir);
}
protected function startDragging(e:FuelMouseEvent):void{
var rect:Rectangle;
__dragging = true;
rect = new Rectangle();
stage.addEventListener("mouseUp", stopDragging, false, 0, true);
switch (__scrollDirection){
case ScrollDirection.VERTICAL:
rect.left = thumb_mc.x;
rect.top = minVal;
rect.right = thumb_mc.x;
rect.bottom = maxVal;
thumb_mc.startDrag(false, rect);
break;
case ScrollDirection.HORIZONTAL:
rect.left = minVal;
rect.top = thumb_mc.y;
rect.right = maxVal;
rect.bottom = thumb_mc.y;
thumb_mc.startDrag(false, rect);
break;
};
IntervalManager.clearInterval(__barInterval);
__barInterval = IntervalManager.setInterval(setPosition, 100);
}
protected function arrowPress(e:FuelMouseEvent):void{
var btn:SimpleButton;
var dir:int;
btn = (e.target as SimpleButton);
dir = ((btn)==up_mc) ? -1 : 1;
scrollIt(ScrollType.LINE, dir);
IntervalManager.clearInterval(__btnInterval);
__btnInterval = IntervalManager.setInterval(buttonScroll, 100, dir);
}
protected function stopDragging(e:MouseEvent):void{
__dragging = false;
thumb_mc.stopDrag();
stage.removeEventListener("mouseUp", stopDragging, false);
IntervalManager.clearInterval(__barInterval);
}
private function setPercent(percent:Number):void{
var val:Number;
val = ((percent * (maxVal - minVal)) + minVal);
if (__scrollDirection == ScrollDirection.VERTICAL){
thumb_mc.y = val;
} else {
thumb_mc.x = val;
};
}
public function disable():void{
clearButtonEvents();
}
private function trackClick(e:MouseEvent):void{
var val:Number;
var newpos:Number;
if (__dragging){
return;
};
val = ((__scrollDirection)==ScrollDirection.VERTICAL) ? e.localY : e.localX;
newpos = NumberUtils.constrain((val - (0.5 * thumb_mc.height)), minVal, maxVal);
if (__scrollDirection == ScrollDirection.VERTICAL){
thumb_mc.y = newpos;
} else {
thumb_mc.x = newpos;
};
scrollIt(ScrollType.BAR, getPercent());
}
public function hide():void{
visible = false;
}
}
}//package com.fuelindustries.controls.scrollers
Section 182
//ScrollDirection (com.fuelindustries.controls.scrollers.ScrollDirection)
package com.fuelindustries.controls.scrollers {
public class ScrollDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
public function ScrollDirection(){
super();
}
}
}//package com.fuelindustries.controls.scrollers
Section 183
//ScrollThumb (com.fuelindustries.controls.scrollers.ScrollThumb)
package com.fuelindustries.controls.scrollers {
import com.fuelindustries.controls.buttons.*;
public class ScrollThumb extends SimpleButton {
public function ScrollThumb(){
super();
}
}
}//package com.fuelindustries.controls.scrollers
Section 184
//ScrollType (com.fuelindustries.controls.scrollers.ScrollType)
package com.fuelindustries.controls.scrollers {
public class ScrollType {
public static const BAR:String = "bar";
public static const LINE:String = "line";
public static const THUMB:String = "thumb";
public static const WHEEL:String = "wheel";
public function ScrollType(){
super();
}
}
}//package com.fuelindustries.controls.scrollers
Section 185
//FuelUI (com.fuelindustries.core.FuelUI)
package com.fuelindustries.core {
import flash.display.*;
import flash.utils.*;
import com.fuelindustries.tween.*;
import com.fuelindustries.utils.*;
import com.fuelindustries.debug.*;
public class FuelUI extends MovieClip {
protected var __enabled:Boolean;
private var __mm:MotionManager;
public function FuelUI(){
super();
initMotionManager();
}
public function attachMovie(classname:String, index:int=-1):MovieClip{
var classRef:Class;
var instance:MovieClip;
classRef = (getDefinitionByName(classname) as Class);
instance = (new (classRef) as MovieClip);
if (index == -1){
addChild(instance);
} else {
addChildAt(instance, index);
};
return (instance);
}
public function slideTo(x, y, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(y);
_args.unshift(x);
_args.unshift(this);
__mm.slideTo.apply(__mm, _args);
}
public function pauseTween(type:String="all"):void{
__mm.pauseTween(this, type);
}
public function cancelTween(type:String="all"):void{
__mm.cancelTween(this, type);
}
public function rotateTo(degrees:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(degrees);
_args.unshift(this);
__mm.rotateTo.apply(__mm, _args);
}
override public function get enabled():Boolean{
return (__enabled);
}
override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=true):void{
super.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public function sizeTo(width, height, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(height);
_args.unshift(width);
_args.unshift(this);
__mm.sizeTo.apply(__mm, _args);
}
public function circleTo(startdeg, destdeg, radius, clockwise, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(clockwise);
_args.unshift(radius);
_args.unshift(destdeg);
_args.unshift(startdeg);
_args.unshift(this);
__mm.circleTo.apply(__mm, _args);
}
public function debug(msg:Object):void{
Log.debug(msg);
}
protected function setEnabled(val:Boolean):void{
__enabled = val;
}
override public function set enabled(val:Boolean):void{
setEnabled(val);
}
public function debugObject(obj:Object):void{
Log.debugObject(obj);
}
public function alphaTo(alpha:int, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(alpha);
_args.unshift(this);
__mm.alphaTo.apply(__mm, _args);
}
public function tweenTo(start:Array, end:Array, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(end);
_args.unshift(start);
_args.unshift(this);
__mm.tweenTo.apply(__mm, _args);
}
public function bendTo(cx, cy, ax, ay, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(ay);
_args.unshift(ax);
_args.unshift(cy);
_args.unshift(cx);
_args.unshift(this);
__mm.bendTo.apply(__mm, _args);
}
public function onTweenUpdate(... _args):void{
}
public function scaleTo(x, y, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(y);
_args.unshift(x);
_args.unshift(this);
__mm.scaleTo.apply(__mm, _args);
}
public function doLater(func:Function, ... _args):void{
_args.splice(0, 0, 1);
_args.unshift(func);
IntervalManager.skipFrames.apply(IntervalManager, _args);
}
public function frameTo(frame, duration:int, type=null, callback:Function=null, ... _args):void{
_args.unshift(callback);
_args.unshift(type);
_args.unshift(duration);
_args.unshift(frame);
_args.unshift(this);
__mm.frameTo.apply(__mm, _args);
}
private function initMotionManager():void{
__mm = MotionManager.getInstance();
}
}
}//package com.fuelindustries.core
Section 186
//Log (com.fuelindustries.debug.Log)
package com.fuelindustries.debug {
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Log extends EventDispatcher {
private static var serverName:String = "_FDEBUGWIN";
private static var inited:Boolean = false;
private static var lc:LocalConnection;
public function Log(){
super();
}
private static function traceObject(obj:Object, s:String, t:String, event:Boolean=false):String{
var p:Object;
if (t == null){
t = " ";
} else {
t = (t + " ");
};
if (s == null){
s = "Object: {";
} else {
s = (s + "{");
};
for (p in obj) {
s = (s + ("\n" + t));
if ((obj[p] is Array)){
s = (s + traceObject(obj[p], (p + ":Array "), t));
} else {
if (typeof(obj[p]) == "object"){
if (event){
if (p != "target"){
s = (s + traceObject(obj[p], (p + ":Object "), t));
};
} else {
s = (s + traceObject(obj[p], (p + ":Object "), t));
};
} else {
if (typeof(obj[p]) == "function"){
s = (s + (p + ": (function)"));
} else {
s = (s + ((p + ": ") + obj[p]));
};
};
};
};
return ((((s + "\n") + t.slice(0, -1)) + "}"));
}
private static function lcstatus(event:StatusEvent):void{
}
public static function debugObject(obj:Object):void{
var msg:String;
msg = traceObject(obj, null, null);
sendMessage(msg);
}
public static function debug(msg:Object):void{
sendMessage(msg);
}
private static function initConnection():void{
lc = new LocalConnection();
lc.addEventListener("status", lcstatus);
inited = true;
}
private static function sendMessage(msg:Object):void{
if (!inited){
initConnection();
};
if (Capabilities.playerType != "External"){
lc.send(serverName, "trace", msg);
};
}
}
}//package com.fuelindustries.debug
Section 187
//FuelMouseEvent (com.fuelindustries.events.FuelMouseEvent)
package com.fuelindustries.events {
import flash.display.*;
import flash.events.*;
public class FuelMouseEvent extends MouseEvent {
public static const PRESS:String = "press";
public function FuelMouseEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false, localX:Number=0, localY:Number=0, relatedObject:InteractiveObject=null, ctrlKey:Boolean=false, altKey:Boolean=false, shiftKey:Boolean=false, buttonDown:Boolean=false, delta:int=0){
super(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta);
}
override public function clone():Event{
return (new FuelMouseEvent(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta));
}
override public function toString():String{
return (formatToString("FuelMouseEvent", "type", "localX", "localY", "relatedObject"));
}
}
}//package com.fuelindustries.events
Section 188
//ScrollEvent (com.fuelindustries.events.ScrollEvent)
package com.fuelindustries.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var __percent:Number;
private var __scrollType:String;
public static const SCROLL:String = "scroll";
public function ScrollEvent(scrollType:String, percent:Number){
__percent = percent;
__scrollType = scrollType;
super(SCROLL, false, false);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "percent", "scrollType"));
}
public function get percent():Number{
return (__percent);
}
override public function clone():Event{
return (new ScrollEvent(__scrollType, __percent));
}
public function get scrollType():String{
return (__scrollType);
}
}
}//package com.fuelindustries.events
Section 189
//ViewEvent (com.fuelindustries.events.ViewEvent)
package com.fuelindustries.events {
import flash.events.*;
public class ViewEvent extends Event {
private var __section:String;
public static const CHANGE:String = "changeSection";
public static const OUT_COMPLETE:String = "outComplete";
public function ViewEvent(type:String, asection:String=null){
__section = asection;
super(type, true, true);
}
override public function toString():String{
return (formatToString("ViewEvent", "type", "section"));
}
public function get section():String{
return (__section);
}
override public function clone():Event{
return (new ViewEvent(type, section));
}
}
}//package com.fuelindustries.events
Section 190
//AlphaItem (com.fuelindustries.tween.items.AlphaItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class AlphaItem extends MotionItem implements IMotionItem {
private var __startAlpha:Number;
private var __destAlpha:int;
public function AlphaItem(mc:MovieClip, alpha:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destAlpha = alpha;
__startAlpha = (mc.alpha * 100);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newalpha:Number;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
newalpha = __easeFunction((timePassed / 1000), __startAlpha, (__destAlpha - __startAlpha), (__duration / 1000));
__mc.alpha = (newalpha / 100);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.alpha = (__destAlpha / 100);
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 191
//BendItem (com.fuelindustries.tween.items.BendItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class BendItem extends MotionItem implements IMotionItem {
private var __controlx;
private var __controly;
private var __anchory;
private var __startx:int;
private var __anchorx;
private var __starty:int;
public function BendItem(mc:MovieClip, cx, cy, ax, ay, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__controlx = cx;
__controly = cy;
__anchorx = ax;
__anchory = ay;
__startx = mc.x;
__starty = mc.y;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var percent:Number;
var p0:Object;
var p1:Object;
var p2:Object;
var t:Number;
var t1:Number;
var t1_2:Number;
var t2:Number;
var tt12:Number;
var x:Number;
var y:Number;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
percent = __easeFunction((timePassed / 1000), 0, 1, (__duration / 1000));
p0 = {x:__startx, y:__starty};
p1 = {x:__anchorx, y:__anchory};
p2 = {x:__controlx, y:__controly};
t = percent;
t1 = (1 - t);
t1_2 = (t1 * t1);
t2 = (t * t);
tt12 = ((2 * t) * t1);
x = (((t1_2 * p0.x) + (tt12 * p1.x)) + (t2 * p2.x));
y = (((t1_2 * p0.y) + (tt12 * p1.y)) + (t2 * p2.y));
__mc.x = x;
__mc.y = y;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.x = __controlx;
__mc.y = __controly;
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 192
//CircleItem (com.fuelindustries.tween.items.CircleItem)
package com.fuelindustries.tween.items {
import flash.display.*;
import flash.geom.*;
public class CircleItem extends MotionItem implements IMotionItem {
private var __clockwise:Boolean;
private var __destdeg;
private var __radius:int;
private var __startdeg;
public function CircleItem(mc:MovieClip, startdeg, destdeg, radius, clockwise, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__startdeg = Math.round(startdeg);
__destdeg = Math.round(destdeg);
__radius = Math.round(radius);
__clockwise = clockwise;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newdeg:Number;
var pt:Point;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
if (((!((__destdeg == null))) || (!((__destdeg == undefined))))){
newdeg = __easeFunction((timePassed / 1000), __startdeg, (__destdeg - __startdeg), (__duration / 1000));
pt = getXY(newdeg);
__mc.x = pt.x;
__mc.y = pt.y;
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var pt:Point;
diffTime = (__currenttime - __endtime);
if (((!((__destdeg == null))) || (!((__destdeg == undefined))))){
pt = getXY(__destdeg);
__mc.x = pt.x;
__mc.y = pt.y;
};
__timeDiff = diffTime;
}
private function getXY(deg:Number):Point{
var rad:Number;
var posX:int;
var posY:int;
rad = (((deg / 360) * Math.PI) * 2);
posX = (__radius * Math.cos(rad));
posY = (__radius * Math.sin(rad));
return (new Point(posX, posY));
}
}
}//package com.fuelindustries.tween.items
Section 193
//FrameItem (com.fuelindustries.tween.items.FrameItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class FrameItem extends MotionItem implements IMotionItem {
private var __destFrame:int;
private var __startFrame:Number;
public function FrameItem(mc:MovieClip, frame, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__startFrame = mc.currentFrame;
__destFrame = getDestFrame(frame);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var frame:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
frame = __easeFunction((timePassed / 1000), __startFrame, (__destFrame - __startFrame), (__duration / 1000));
__mc.gotoAndStop(frame);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.gotoAndStop(__destFrame);
__timeDiff = diffTime;
}
private function getDestFrame(targetframe):int{
var frame:int;
var type:String;
var _local6:Array;
var i:int;
var label:FrameLabel;
frame = __startFrame;
type = ((typeof(targetframe))=="string") ? "label" : "frame";
switch (type){
case "frame":
if (targetframe <= 1){
frame = Math.max(1, Math.round((targetframe * __mc.totalFrames)));
} else {
frame = targetframe;
};
break;
case "label":
_local6 = __mc.currentLabels;
i = 0;
while (i < _local6.length) {
label = _local6[i];
if (label.name == targetframe){
return (label.frame);
};
i++;
};
break;
};
return (frame);
}
}
}//package com.fuelindustries.tween.items
Section 194
//IMotionItem (com.fuelindustries.tween.items.IMotionItem)
package com.fuelindustries.tween.items {
interface IMotionItem {
function tweenComplete():void;
function update(:int):Boolean;
}
}//package com.fuelindustries.tween.items
Section 195
//MotionItem (com.fuelindustries.tween.items.MotionItem)
package com.fuelindustries.tween.items {
import flash.utils.*;
public class MotionItem implements IMotionItem {
var __pauseTime:int;
var __endtime:int;
var __easeFunction:Function;
var __paused:Boolean;
var __timeDiff:int;
var __starttime:int;
var __callbackArgs:Array;
var __callback:Function;
var __currenttime:int;
var __duration:int;
var __mc:Object;
public function MotionItem(mc:Object, duration:Number, type, callback:Function, callbackArgs:Array){
super();
__duration = duration;
__starttime = getTimer();
__endtime = (__starttime + __duration);
__currenttime = __starttime;
__paused = false;
__mc = mc;
__callback = callback;
__callbackArgs = callbackArgs;
setEaseFunction(type);
}
private function easeOutIn(t:Number, b:Number, c:Number, d:Number):Number{
if (t == 0){
return (b);
};
if (t == d){
return ((b + c));
};
t = (t / (d / 2));
if (t < 1){
return ((((c / 2) * (-(Math.pow(1.25, (-10 * t))) + 1)) + b));
};
return ((((c / 2) * (Math.pow(1.25, (10 * (t - 2))) + 1)) + b));
}
public function update(motiontime:int):Boolean{
return (false);
}
public function tweenComplete():void{
}
private function elastic(t:Number, b:Number, c:Number, d:Number, a:Number, p:Number):Number{
var s:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
if (!p){
p = (d * 0.3);
};
if (((!(a)) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
return (((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) + c) + b));
}
private function bounce(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
if (t < (1 / 2.75)){
return (((c * ((7.5625 * t) * t)) + b));
};
if (t < (2 / 2.75)){
t = (t - (1.5 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.75)) + b));
};
if (t < (2.5 / 2.75)){
t = (t - (2.25 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.9375)) + b));
};
t = (t - (2.625 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.984375)) + b));
}
public function executeCallback():void{
if (__callback != null){
__callbackArgs.push(__timeDiff);
__callback.apply(null, __callbackArgs);
};
}
private function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{
if (t == 0){
return (b);
};
if (t == d){
return ((b + c));
};
t = (t / (d / 2));
if (t < 1){
return ((((c / 2) * Math.pow(2, (10 * (t - 1)))) + b));
};
--t;
return ((((c / 2) * (-(Math.pow(2, (-10 * t))) + 2)) + b));
}
public function get mc():Object{
return (__mc);
}
public function resumeItem():void{
var resumeTime:int;
var elapsedTime:int;
resumeTime = getTimer();
elapsedTime = (resumeTime - __pauseTime);
__starttime = (__starttime + elapsedTime);
__endtime = (__endtime + elapsedTime);
__currenttime = (__currenttime + elapsedTime);
__paused = false;
}
public function pauseItem():void{
__paused = true;
__pauseTime = getTimer();
}
private function linear(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public function get paused():Boolean{
return (__paused);
}
private function setEaseFunction(type):void{
if (typeof(type) == "function"){
__easeFunction = type;
} else {
switch (type){
case "ease":
__easeFunction = ease;
break;
case "easeIn":
__easeFunction = easeIn;
break;
case "easeInOut":
__easeFunction = easeInOut;
break;
case "easeOutIn":
__easeFunction = easeOutIn;
break;
case "elastic":
__easeFunction = elastic;
break;
case "bounce":
__easeFunction = bounce;
break;
default:
__easeFunction = linear;
break;
};
};
}
private function ease(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((-(c) * t) * (t - 2)) + b));
}
private function easeIn(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return ((((c * t) * t) + b));
}
public function pause():void{
if (!__paused){
pauseItem();
} else {
resumeItem();
};
}
}
}//package com.fuelindustries.tween.items
Section 196
//RotationItem (com.fuelindustries.tween.items.RotationItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class RotationItem extends MotionItem implements IMotionItem {
private var __destRotation:int;
private var __startRotation:Number;
public function RotationItem(mc:MovieClip, rotation:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destRotation = rotation;
__startRotation = mc.rotation;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newrotation:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
newrotation = __easeFunction((timePassed / 1000), __startRotation, (__destRotation - __startRotation), (__duration / 1000));
__mc.rotation = newrotation;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.rotation = __destRotation;
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 197
//ScaleItem (com.fuelindustries.tween.items.ScaleItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class ScaleItem extends MotionItem implements IMotionItem {
private var __destx;
private var __startx:Number;
private var __desty;
private var __starty:Number;
public function ScaleItem(mc:MovieClip, ex, ey, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destx = ex;
__desty = ey;
__startx = (mc.scaleX * 100);
__starty = (mc.scaleY * 100);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newx:int;
var newy:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
if (((!((__destx == null))) || (!((__destx == undefined))))){
newx = __easeFunction((timePassed / 1000), __startx, (__destx - __startx), (__duration / 1000));
__mc.scaleX = (newx / 100);
};
if (((!((__desty == null))) || (!((__desty == undefined))))){
newy = __easeFunction((timePassed / 1000), __starty, (__desty - __starty), (__duration / 1000));
__mc.scaleY = (newy / 100);
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
if (((!((__desty == null))) || (!((__desty == undefined))))){
__mc.scaleY = (__desty / 100);
};
if (((!((__destx == null))) || (!((__destx == undefined))))){
__mc.scaleX = (__destx / 100);
};
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 198
//SizeItem (com.fuelindustries.tween.items.SizeItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class SizeItem extends MotionItem implements IMotionItem {
private var __desth;
private var __destw;
private var __startw:int;
private var __starth:int;
public function SizeItem(mc:MovieClip, ew, eh, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destw = ew;
__desth = eh;
__startw = Math.round(mc.width);
__starth = Math.round(mc.height);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var neww:Number;
var newh:Number;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
if (((!((__destw == null))) || (!((__destw == undefined))))){
neww = __easeFunction((timePassed / 1000), __startw, (__destw - __startw), (__duration / 1000));
__mc.width = Math.round(neww);
};
if (((!((__desth == null))) || (!((__desth == undefined))))){
newh = __easeFunction((timePassed / 1000), __starth, (__desth - __starth), (__duration / 1000));
__mc.height = Math.round(newh);
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
if (((!((__desth == null))) || (!((__desth == undefined))))){
__mc.height = __desth;
};
if (((!((__destw == null))) || (!((__destw == undefined))))){
__mc.width = __destw;
};
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 199
//SlideItem (com.fuelindustries.tween.items.SlideItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class SlideItem extends MotionItem implements IMotionItem {
private var __destx;
private var __startx:int;
private var __desty;
private var __starty:int;
public function SlideItem(mc:MovieClip, ex, ey, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destx = ex;
__desty = ey;
__startx = Math.round(mc.x);
__starty = Math.round(mc.y);
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newx:int;
var newy:int;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
if (((!((__destx == null))) || (!((__destx == undefined))))){
newx = __easeFunction((timePassed / 1000), __startx, (__destx - __startx), (__duration / 1000));
__mc.x = Math.round(newx);
};
if (((!((__desty == null))) || (!((__desty == undefined))))){
newy = __easeFunction((timePassed / 1000), __starty, (__desty - __starty), (__duration / 1000));
__mc.y = Math.round(newy);
};
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
if (((!((__desty == null))) || (!((__desty == undefined))))){
__mc.y = __desty;
};
if (((!((__destx == null))) || (!((__destx == undefined))))){
__mc.x = __destx;
};
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 200
//TweenItem (com.fuelindustries.tween.items.TweenItem)
package com.fuelindustries.tween.items {
import flash.display.*;
public class TweenItem extends MotionItem implements IMotionItem {
private var __endValues:Array;
private var __startValues:Array;
public function TweenItem(mc:MovieClip, start:Array, end:Array, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__startValues = start;
__endValues = end;
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var returnArray:Array;
var i:int;
var startval:*;
var endval:*;
var val:*;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
returnArray = [];
i = 0;
while (i < __startValues.length) {
startval = __startValues[i];
endval = __endValues[i];
val = __easeFunction((timePassed / 1000), startval, (endval - startval), (__duration / 1000));
returnArray.push(val);
i++;
};
__mc.onTweenUpdate.apply(__mc, returnArray);
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
diffTime = (__currenttime - __endtime);
__mc.onTweenUpdate.apply(__mc, __endValues);
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 201
//VolumeItem (com.fuelindustries.tween.items.VolumeItem)
package com.fuelindustries.tween.items {
import flash.media.*;
public class VolumeItem extends MotionItem implements IMotionItem {
private var __startVolume:Number;
private var __destVolume:int;
public function VolumeItem(mc, vol:int, duration:int, ease, callback:Function, callbackArgs:Array){
super(mc, duration, ease, callback, callbackArgs);
__destVolume = vol;
if (mc.soundTransform != null){
__startVolume = (mc.soundTransform.volume * 100);
} else {
__startVolume = 1;
};
}
override public function update(motiontime:int):Boolean{
var completed:Boolean;
var currentTime:int;
var timePassed:int;
var newVolume:Number;
var sndTransform:SoundTransform;
completed = false;
if (__paused){
return (completed);
};
currentTime = (__currenttime + motiontime);
timePassed = (__currenttime - __starttime);
newVolume = __easeFunction((timePassed / 1000), __startVolume, (__destVolume - __startVolume), (__duration / 1000));
sndTransform = new SoundTransform((newVolume / 100));
__mc.soundTransform = sndTransform;
__currenttime = currentTime;
if (__currenttime >= __endtime){
completed = true;
tweenComplete();
};
return (completed);
}
override public function tweenComplete():void{
var diffTime:int;
var sndTransform:SoundTransform;
diffTime = (__currenttime - __endtime);
sndTransform = new SoundTransform((__destVolume / 100));
__mc.soundTransform = sndTransform;
__timeDiff = diffTime;
}
}
}//package com.fuelindustries.tween.items
Section 202
//MotionList (com.fuelindustries.tween.MotionList)
package com.fuelindustries.tween {
import flash.utils.*;
import com.fuelindustries.tween.items.*;
public class MotionList {
private var __items:Dictionary;
private var __length:int;
public function MotionList(){
super();
__length = 0;
__items = new Dictionary(true);
}
public function get items():Dictionary{
return (__items);
}
public function get length():int{
return (__length);
}
public function addItem(item:MotionItem):void{
var mc:Object;
mc = item.mc;
__items[mc] = item;
__length++;
}
public function pause():void{
var each:Object;
var item:MotionItem;
for (each in __items) {
item = __items[each];
item.pause();
};
}
public function removeItem(mc):void{
var item:MotionItem;
item = __items[mc];
if (item != null){
delete __items[mc];
__length--;
};
}
}
}//package com.fuelindustries.tween
Section 203
//MotionManager (com.fuelindustries.tween.MotionManager)
package com.fuelindustries.tween {
import flash.display.*;
import flash.utils.*;
import com.fuelindustries.tween.items.*;
import flash.events.*;
import flash.media.*;
public class MotionManager extends EventDispatcher {
private var __paused:Boolean;
private var __timeDif:int;
private var __slideList:MotionList;
private var __rotationList:MotionList;
private var __sizeList:MotionList;
private var __scaleList:MotionList;
private var __volumeList:MotionList;
private var __alphaList:MotionList;
private var __tweenList:MotionList;
private var __frameList:MotionList;
private var __bendList:MotionList;
private var __timeLast:int;
private var __circleList:MotionList;
private static var allowInstantiation:Boolean;
private static var __instance:MotionManager;
public function MotionManager():void{
super();
if (!allowInstantiation){
throw (new Error("MotionManager.allowInstantiation == false"));
};
}
private function __tween():void{
var items:Dictionary;
var mc:Object;
var item:TweenItem;
var completed:Boolean;
items = __tweenList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__tweenList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function slideTo(mc:MovieClip, x, y, duration:int, type=null, callback:Function=null, ... _args):void{
var item:SlideItem;
item = new SlideItem(mc, x, y, duration, type, callback, _args);
__slideList.addItem(item);
}
public function initialize():void{
__circleList = new MotionList();
__slideList = new MotionList();
__scaleList = new MotionList();
__alphaList = new MotionList();
__rotationList = new MotionList();
__sizeList = new MotionList();
__frameList = new MotionList();
__bendList = new MotionList();
__tweenList = new MotionList();
__volumeList = new MotionList();
MovieClip.prototype.circleTo = function (startdeg, destdeg, radius, clockwise, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.circleTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.slideTo = function (x, y, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.slideTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.tweenTo = function (start:Array, end:Array, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.tweenTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.frameTo = function (frame, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.frameTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.scaleTo = function (x, y, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.scaleTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.sizeTo = function (w, h, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.sizeTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.alphaTo = function (alpha:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.alphaTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.rotateTo = function (rotation:int, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.rotateTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.bendTo = function (cx, cy, ax, ay, duration:int, type=null, callback:Function=null):void{
arguments.unshift(this);
this.motionManager.bendTo.apply(this.motionManager, arguments);
};
MovieClip.prototype.cancelTween = function (type:String="all"):void{
arguments.unshift(this);
this.motionManager.cancelTween.apply(this.motionManager, arguments);
};
MovieClip.prototype.pauseTween = function (type:String="all"):void{
arguments.unshift(this);
this.motionManager.pauseTween.apply(this.motionManager, arguments);
};
TweenEnterFrame.addListener(onEnterFrame);
__timeLast = getTimer();
}
public function cancelTween(mc, type:String="all"):void{
switch (type){
case "frameTo":
__frameList.removeItem(mc);
break;
case "circleTo":
__circleList.removeItem(mc);
break;
case "slideTo":
__slideList.removeItem(mc);
break;
case "scaleTo":
__scaleList.removeItem(mc);
break;
case "alphaTo":
__alphaList.removeItem(mc);
break;
case "sizeTo":
__sizeList.removeItem(mc);
break;
case "rotateTo":
__rotationList.removeItem(mc);
break;
case "bendTo":
__bendList.removeItem(mc);
break;
case "tweenTo":
__tweenList.removeItem(mc);
break;
case "volumeTo":
__volumeList.removeItem(mc);
break;
case "all":
__bendList.removeItem(mc);
__tweenList.removeItem(mc);
__frameList.removeItem(mc);
__circleList.removeItem(mc);
__slideList.removeItem(mc);
__scaleList.removeItem(mc);
__alphaList.removeItem(mc);
__sizeList.removeItem(mc);
__rotationList.removeItem(mc);
__volumeList.removeItem(mc);
break;
};
}
public function pauseTween(mc, type:String="all"):void{
switch (type){
case "frameTo":
__frameList.pause();
break;
case "circleTo":
__circleList.pause();
break;
case "slideTo":
__slideList.pause();
break;
case "scaleTo":
__scaleList.pause();
break;
case "alphaTo":
__alphaList.pause();
break;
case "sizeTo":
__sizeList.pause();
break;
case "rotateTo":
__rotationList.pause();
break;
case "bendTo":
__bendList.pause();
break;
case "tweenTo":
__tweenList.pause();
break;
case "volumeTo":
__volumeList.pause();
break;
case "all":
__tweenList.pause();
__bendList.pause();
__frameList.pause();
__circleList.pause();
__slideList.pause();
__scaleList.pause();
__alphaList.pause();
__sizeList.pause();
__rotationList.pause();
__volumeList.pause();
break;
};
}
private function __bend():void{
var items:Dictionary;
var mc:Object;
var item:BendItem;
var completed:Boolean;
items = __bendList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__bendList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function bendTo(mc:MovieClip, cx, cy, ax, ay, duration:int, type=null, callback:Function=null, ... _args):void{
var item:BendItem;
item = new BendItem(mc, cx, cy, ax, ay, duration, type, callback, _args);
__bendList.addItem(item);
}
private function __frame():void{
var items:Dictionary;
var mc:Object;
var item:FrameItem;
var completed:Boolean;
items = __frameList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__frameList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function __circle():void{
var items:Dictionary;
var mc:Object;
var item:CircleItem;
var completed:Boolean;
items = __circleList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__circleList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function onEnterFrame(eventObj:Event):void{
var currTime:int;
currTime = getTimer();
__timeDif = (currTime - __timeLast);
if (__circleList.length > 0){
__circle();
};
if (__slideList.length > 0){
__slide();
};
if (__scaleList.length > 0){
__scale();
};
if (__alphaList.length > 0){
__alpha();
};
if (__rotationList.length > 0){
__rotate();
};
if (__sizeList.length > 0){
__size();
};
if (__frameList.length > 0){
__frame();
};
if (__bendList.length > 0){
__bend();
};
if (__tweenList.length > 0){
__tween();
};
if (__volumeList.length > 0){
__volume();
};
__timeLast = currTime;
}
public function volumeTo(mc, vol:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:VolumeItem;
item = new VolumeItem(mc, vol, duration, type, callback, _args);
__volumeList.addItem(item);
}
public function rotateTo(mc:MovieClip, rotation:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:RotationItem;
item = new RotationItem(mc, rotation, duration, type, callback, _args);
__rotationList.addItem(item);
}
private function __rotate():void{
var items:Dictionary;
var mc:Object;
var item:RotationItem;
var completed:Boolean;
items = __rotationList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__rotationList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function __pause():void{
__frameList.pause();
__circleList.pause();
__slideList.pause();
__scaleList.pause();
__alphaList.pause();
__sizeList.pause();
__rotationList.pause();
__volumeList.pause();
__paused = !(__paused);
}
public function tweenTo(mc:MovieClip, start:Array, end:Array, duration:int, type=null, callback:Function=null, ... _args):void{
var item:TweenItem;
item = new TweenItem(mc, start, end, duration, type, callback, _args);
__tweenList.addItem(item);
}
public function frameTo(mc:MovieClip, frame, duration:int, type=null, callback:Function=null, ... _args):void{
var item:FrameItem;
item = new FrameItem(mc, frame, duration, type, callback, _args);
__frameList.addItem(item);
}
private function __slide():void{
var items:Dictionary;
var mc:Object;
var item:SlideItem;
var completed:Boolean;
items = __slideList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__slideList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
private function __size():void{
var items:Dictionary;
var mc:Object;
var item:SizeItem;
var completed:Boolean;
items = __sizeList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__sizeList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function sizeTo(mc:MovieClip, w, h, duration:int, type=null, callback:Function=null, ... _args):void{
var item:SizeItem;
item = new SizeItem(mc, w, h, duration, type, callback, _args);
__sizeList.addItem(item);
}
public function scaleTo(mc:MovieClip, x, y, duration:int, type=null, callback:Function=null, ... _args):void{
var item:ScaleItem;
item = new ScaleItem(mc, x, y, duration, type, callback, _args);
__scaleList.addItem(item);
}
public function circleTo(mc:MovieClip, startDeg, endDeg, radius, clockwise, duration:int, type=null, callback:Function=null, ... _args):void{
var item:CircleItem;
item = new CircleItem(mc, startDeg, endDeg, radius, clockwise, duration, type, callback, _args);
__circleList.addItem(item);
}
private function __scale():void{
var items:Dictionary;
var mc:Object;
var item:ScaleItem;
var completed:Boolean;
items = __scaleList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__scaleList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public function alphaTo(mc:MovieClip, alpha:int, duration:int, type=null, callback:Function=null, ... _args):void{
var item:AlphaItem;
item = new AlphaItem(mc, alpha, duration, type, callback, _args);
__alphaList.addItem(item);
}
private function __volume():void{
var items:Dictionary;
var mc:Object;
var item:VolumeItem;
var completed:Boolean;
items = __volumeList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__volumeList.removeItem(mc);
item.executeCallback();
};
};
}
private function __alpha():void{
var items:Dictionary;
var mc:Object;
var item:AlphaItem;
var completed:Boolean;
items = __alphaList.items;
for (mc in items) {
item = items[mc];
completed = item.update(__timeDif);
if (completed){
__alphaList.removeItem((mc as MovieClip));
item.executeCallback();
};
};
}
public static function pause():void{
__instance.__pause();
}
public static function getInstance():MotionManager{
if (__instance == null){
allowInstantiation = true;
__instance = new (MotionManager);
MovieClip.prototype.motionManager = __instance;
__instance.initialize();
allowInstantiation = false;
};
return (__instance);
}
}
}//package com.fuelindustries.tween
Section 204
//TweenEnterFrame (com.fuelindustries.tween.TweenEnterFrame)
package com.fuelindustries.tween {
import flash.display.*;
import flash.events.*;
public class TweenEnterFrame {
public static var mc:MovieClip;
public function TweenEnterFrame(){
super();
}
public static function init():void{
if (!exists()){
mc = new MovieClip();
};
}
public static function addListener(func:Function, weakReference:Boolean=true):void{
if (!exists()){
init();
};
mc.addEventListener(Event.ENTER_FRAME, func, false, 0, weakReference);
}
public static function removeListener(func:Function):void{
mc.removeEventListener(Event.ENTER_FRAME, func);
}
public static function exists():Boolean{
var val:Boolean;
val = ((mc)==null) ? false : true;
return (val);
}
}
}//package com.fuelindustries.tween
Section 205
//FrameCall (com.fuelindustries.utils.FrameCall)
package com.fuelindustries.utils {
import flash.events.*;
import com.fuelindustries.tween.*;
public class FrameCall extends EventDispatcher {
private var __callbackArgs:Array;
private var __currentframe:int;
private var __frames:int;
private var __callback:Function;
public function FrameCall(func:Function, frames:int, callbackArgs:Array){
super();
__callback = func;
__frames = frames;
__callbackArgs = callbackArgs;
__currentframe = 0;
TweenEnterFrame.addListener(onEnterFrame, false);
}
public function cancel():void{
TweenEnterFrame.removeListener(onEnterFrame);
delete ??getglobalscope
[this];
}
private function onEnterFrame(event:Event):void{
__currentframe++;
if (__currentframe == __frames){
__callback.apply(null, __callbackArgs);
cancel();
};
}
}
}//package com.fuelindustries.utils
Section 206
//IntervalCall (com.fuelindustries.utils.IntervalCall)
package com.fuelindustries.utils {
import flash.utils.*;
import flash.events.*;
import com.fuelindustries.tween.*;
public class IntervalCall extends EventDispatcher {
private var __timesExecuted:int;
private var __callback:Function;
private var __callbackArgs:Array;
private var __startTime:int;
private var __timediff:int;
var __id:int;
private var __interval:int;
public function IntervalCall(id:int, func:Function, interval:int, callbackArgs:Array){
super();
__callback = func;
__interval = interval;
__id = id;
__callbackArgs = callbackArgs;
__callbackArgs.push(this);
__timesExecuted = 0;
TweenEnterFrame.addListener(onEnterFrame);
}
private function onEnterFrame(event:Event):void{
var currenttime:int;
if (__startTime == 0){
__startTime = getTimer();
return;
};
currenttime = (getTimer() - __startTime);
if (currenttime >= __interval){
__startTime = getTimer();
__timediff = (currenttime - __interval);
execute();
};
}
public function get id():int{
return (__id);
}
public function get timesExecuted():int{
return (__timesExecuted);
}
public function get timeDiff():int{
return (__timediff);
}
public function cancel(fromManager:Boolean=false):void{
if (!fromManager){
IntervalManager.clearInterval(__id);
} else {
TweenEnterFrame.removeListener(onEnterFrame);
};
}
function execute():void{
__timesExecuted++;
__callback.apply(null, __callbackArgs);
}
}
}//package com.fuelindustries.utils
Section 207
//IntervalManager (com.fuelindustries.utils.IntervalManager)
package com.fuelindustries.utils {
import flash.utils.*;
import flash.events.*;
public class IntervalManager extends EventDispatcher {
private static var __intervalId:int = 0;
private static var __timeoutId:int = 0;
private static var __intervals:Dictionary = new Dictionary(true);
private static var __timeouts:Dictionary = new Dictionary(true);
public function IntervalManager(){
super();
}
public static function skipFrames(func:Function, frames:int=1, ... _args):FrameCall{
var sf:FrameCall;
sf = new FrameCall(func, frames, _args);
return (sf);
}
public static function setInterval(func:Function, interval:int, ... _args):int{
var intcall:IntervalCall;
__intervalId++;
intcall = new IntervalCall(__intervalId, func, interval, _args);
__intervals[__intervalId] = intcall;
return (__intervalId);
}
public static function clearInterval(id:int):void{
var intcall:IntervalCall;
if (id != 0){
intcall = __intervals[id];
if (intcall != null){
intcall.cancel(true);
delete __intervals[id];
};
};
}
public static function clearTimeout(id:int):void{
var timeCall:TimeoutCall;
if (id != 0){
timeCall = __timeouts[id];
if (timeCall != null){
timeCall.cancel(true);
delete __timeouts[id];
};
};
}
public static function setTimeout(func:Function, interval:int, ... _args):int{
var timeCall:TimeoutCall;
__timeoutId++;
timeCall = new TimeoutCall(__timeoutId, func, interval, _args);
__timeouts[__timeoutId] = timeCall;
return (__timeoutId);
}
}
}//package com.fuelindustries.utils
Section 208
//NumberUtils (com.fuelindustries.utils.NumberUtils)
package com.fuelindustries.utils {
public class NumberUtils {
public function NumberUtils(){
super();
}
public static function addCents(num:Number):String{
var a:Array;
a = ((Math.round((num * 100)) / 100) + "").split(".");
if (a[1] != undefined){
a[1] = (a[1] + "00").substr(0, 2);
} else {
a[1] = "00";
};
return (a.join("."));
}
public static function padZero(num:Number, amount:Number):String{
var str:String;
str = String(num);
while (str.length < amount) {
str = ("0" + str);
};
return (str);
}
public static function randomBetween(low:int, high:int):int{
return ((Math.round((Math.random() * (high - low))) + low));
}
public static function constrain(num:Number, min:Number, max:Number):Number{
return (Math.max(min, Math.min(num, max)));
}
}
}//package com.fuelindustries.utils
Section 209
//TimeoutCall (com.fuelindustries.utils.TimeoutCall)
package com.fuelindustries.utils {
public class TimeoutCall extends IntervalCall {
public function TimeoutCall(id:int, func:Function, interval:int, callbackArgs:Array){
super(id, func, interval, callbackArgs);
}
override function execute():void{
super.execute();
IntervalManager.clearTimeout(__id);
}
}
}//package com.fuelindustries.utils
Section 210
//AbstractView (com.fuelindustries.view.AbstractView)
package com.fuelindustries.view {
import com.fuelindustries.events.*;
import com.fuelindustries.core.*;
public class AbstractView extends FuelUI {
public function AbstractView(){
super();
}
public function changeSection(section:String):void{
var event:ViewEvent;
event = new ViewEvent(ViewEvent.CHANGE, section);
dispatchEvent(event);
}
public function playOut():void{
this.gotoAndPlay("out");
}
public function outComplete():void{
var event:ViewEvent;
event = new ViewEvent(ViewEvent.OUT_COMPLETE);
dispatchEvent(event);
}
}
}//package com.fuelindustries.view
Section 211
//AbstractViewManager (com.fuelindustries.view.AbstractViewManager)
package com.fuelindustries.view {
import flash.utils.*;
import com.fuelindustries.events.*;
import com.fuelindustries.core.*;
public class AbstractViewManager extends FuelUI {
protected var __currentSection:String;
public var currentView:AbstractView;
public function AbstractViewManager(){
super();
}
public function changeSection(section:String):void{
if (section != null){
if (currentView == null){
doLater(attachSection, section);
} else {
currentView.playOut();
};
};
currentSection = section;
}
public function get currentSection():String{
return (__currentSection);
}
protected function onOutComplete(event:ViewEvent):void{
currentView.removeEventListener(ViewEvent.OUT_COMPLETE, onOutComplete);
currentView.removeEventListener(ViewEvent.CHANGE, onSectionChange);
removeChild(currentView);
doLater(attachSection, __currentSection);
}
protected function onSectionChange(event:ViewEvent):void{
var section:String;
section = event.section;
if (section != __currentSection){
changeSection(section);
};
}
public function set currentSection(section:String):void{
__currentSection = section;
}
protected function attachSection(p_section:String):void{
var classRef:Class;
var instance:AbstractView;
classRef = (getDefinitionByName(__currentSection) as Class);
instance = new (classRef);
currentView = (instance as AbstractView);
currentView.addEventListener(ViewEvent.OUT_COMPLETE, onOutComplete);
currentView.addEventListener(ViewEvent.CHANGE, onSectionChange);
addChild(currentView);
}
}
}//package com.fuelindustries.view
Section 212
//anim_color_indicator_mc_48 (main_fla.anim_color_indicator_mc_48)
package main_fla {
import flash.display.*;
public dynamic class anim_color_indicator_mc_48 extends MovieClip {
public var color_indicator_mc:MovieClip;
public function anim_color_indicator_mc_48(){
super();
addFrameScript(0, frame1, 4, frame5, 8, frame9);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
}
}//package main_fla
Section 213
//arrowBtnAnim_mc_359 (main_fla.arrowBtnAnim_mc_359)
package main_fla {
import flash.display.*;
public dynamic class arrowBtnAnim_mc_359 extends MovieClip {
public function arrowBtnAnim_mc_359(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 214
//arrowColorSwatch_mc_45 (main_fla.arrowColorSwatch_mc_45)
package main_fla {
import flash.display.*;
public dynamic class arrowColorSwatch_mc_45 extends MovieClip {
public var color_mc:MovieClip;
public function arrowColorSwatch_mc_45(){
super();
}
}
}//package main_fla
Section 215
//dropDownItemLabel_mc_358 (main_fla.dropDownItemLabel_mc_358)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class dropDownItemLabel_mc_358 extends MovieClip {
public var label_txt:TextField;
public function dropDownItemLabel_mc_358(){
super();
}
}
}//package main_fla
Section 216
//HomeChallengeContainer_mc_300 (main_fla.HomeChallengeContainer_mc_300)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class HomeChallengeContainer_mc_300 extends MovieClip {
public var goal_btn:goalBtn_mc;
public var nav_home_challenge_mc:Home_mc;
public var timer_txt:TextField;
public function HomeChallengeContainer_mc_300(){
super();
}
}
}//package main_fla
Section 217
//Host_SW_250 (main_fla.Host_SW_250)
package main_fla {
import flash.display.*;
public dynamic class Host_SW_250 extends MovieClip {
public var action_mc:MovieClip;
public function Host_SW_250(){
super();
}
}
}//package main_fla
Section 218
//lefthand_216 (main_fla.lefthand_216)
package main_fla {
import flash.display.*;
public dynamic class lefthand_216 extends MovieClip {
public var nail_4_mc:leftnail_thumb;
public var nail_2_mc:leftnail_middle;
public var nail_0_mc:leftnail_pinky;
public var nail_3_mc:leftnail_index;
public var nail_1_mc:leftnail_ring;
public function lefthand_216(){
super();
}
}
}//package main_fla
Section 219
//limbSelectorAnimated_mc_218 (main_fla.limbSelectorAnimated_mc_218)
package main_fla {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class limbSelectorAnimated_mc_218 extends MovieClip {
public function limbSelectorAnimated_mc_218(){
super();
addFrameScript(64, frame65, 65, frame66);
}
function frame65(){
dispatchEvent(new AnimationEvent(AnimationEvent.LIMBANIMDONE));
}
function frame66(){
stop();
}
}
}//package main_fla
Section 220
//lotusOver_mc_276 (main_fla.lotusOver_mc_276)
package main_fla {
import flash.display.*;
public dynamic class lotusOver_mc_276 extends MovieClip {
public function lotusOver_mc_276(){
super();
addFrameScript(3, frame4);
}
function frame4(){
stop();
}
}
}//package main_fla
Section 221
//paintColorSwatch_mc_188 (main_fla.paintColorSwatch_mc_188)
package main_fla {
import flash.display.*;
public dynamic class paintColorSwatch_mc_188 extends MovieClip {
public var color_mc:MovieClip;
public function paintColorSwatch_mc_188(){
super();
}
}
}//package main_fla
Section 222
//Polaroids_holder_mc_273 (main_fla.Polaroids_holder_mc_273)
package main_fla {
import flash.display.*;
public dynamic class Polaroids_holder_mc_273 extends MovieClip {
public function Polaroids_holder_mc_273(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 223
//polishImg_mc_387 (main_fla.polishImg_mc_387)
package main_fla {
import flash.display.*;
public dynamic class polishImg_mc_387 extends MovieClip {
public var img_mc:MovieClip;
public function polishImg_mc_387(){
super();
}
}
}//package main_fla
Section 224
//righthand_209 (main_fla.righthand_209)
package main_fla {
import flash.display.*;
public dynamic class righthand_209 extends MovieClip {
public var nail_7_mc:rightnail_middle;
public var nail_5_mc:rightnail_thumb;
public var nail_8_mc:rightnail_ring;
public var nail_6_mc:rightnail_index;
public var nail_9_mc:rightnail_pinky;
public function righthand_209(){
super();
}
}
}//package main_fla
Section 225
//sparkle_anim_26 (main_fla.sparkle_anim_26)
package main_fla {
import flash.display.*;
public dynamic class sparkle_anim_26 extends MovieClip {
public function sparkle_anim_26(){
super();
addFrameScript(26, frame27);
}
function frame27(){
stop();
}
}
}//package main_fla
Section 226
//stfError_mc_384 (main_fla.stfError_mc_384)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class stfError_mc_384 extends MovieClip {
public var error_txt:TextField;
public function stfError_mc_384(){
super();
}
}
}//package main_fla
Section 227
//tipsAnim_mc_302 (main_fla.tipsAnim_mc_302)
package main_fla {
import flash.display.*;
public dynamic class tipsAnim_mc_302 extends MovieClip {
public var minimize_btn:minimize_mc;
public var action_mc:MovieClip;
public var soundBtn_mc:SoundBtn_mc;
public var help_btn:question_mc;
public var tutorialtext_mc:MovieClip;
public function tipsAnim_mc_302(){
super();
addFrameScript(52, frame53, 68, frame69);
}
function frame53(){
stop();
}
function frame69(){
stop();
}
}
}//package main_fla
Section 228
//TutorialText_306 (main_fla.TutorialText_306)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class TutorialText_306 extends MovieClip {
public var title_txt:TextField;
public var txt:TextField;
public function TutorialText_306(){
super();
}
}
}//package main_fla
Section 229
//usernameBubble_mc_354 (main_fla.usernameBubble_mc_354)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class usernameBubble_mc_354 extends MovieClip {
public var username_txt:TextField;
public function usernameBubble_mc_354(){
super();
}
}
}//package main_fla
Section 230
//wheelDrop_mc_193 (main_fla.wheelDrop_mc_193)
package main_fla {
import flash.display.*;
public dynamic class wheelDrop_mc_193 extends MovieClip {
public var color_mc:MovieClip;
public function wheelDrop_mc_193(){
super();
}
}
}//package main_fla
Section 231
//aboutspa_animated_mc (aboutspa_animated_mc)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class aboutspa_animated_mc extends MovieClip {
public var aboutspa_mc:phase_aboutspa_mc;
public function aboutspa_animated_mc(){
super();
addFrameScript(10, frame11, 20, frame21);
}
function frame21(){
dispatchEvent(new AnimationEvent(AnimationEvent.ABOUTOUTDONE));
stop();
}
function frame11(){
stop();
}
}
}//package
Section 232
//AboutSpaPopUp_mc (AboutSpaPopUp_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class AboutSpaPopUp_mc extends MovieClip {
public var title_txt:TextField;
public var txt:TextField;
public var close_btn:closeBtn_mc;
public var thanks_btn:gotItBtn_mc;
public function AboutSpaPopUp_mc(){
super();
}
}
}//package
Section 233
//anim_brush (anim_brush)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class anim_brush extends Brush {
public function anim_brush(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 234
//anim_dryer_station_button (anim_dryer_station_button)
package {
import flash.display.*;
public dynamic class anim_dryer_station_button extends MovieClip {
public function anim_dryer_station_button(){
super();
}
}
}//package
Section 235
//anim_dye_station (anim_dye_station)
package {
import com.aga.nailspa.game.phases.*;
import com.aga.nailspa.game.events.*;
public dynamic class anim_dye_station extends DyeStation {
public function anim_dye_station(){
super();
addFrameScript(2, frame3, 32, frame33, 33, frame34, 36, frame37, 66, frame67, 67, frame68);
}
function frame3(){
dispatchEvent(new AnimationEvent(AnimationEvent.INDICATORFADEOUT));
}
function frame37(){
dispatchEvent(new AnimationEvent(AnimationEvent.INDICATORFADEOUT));
}
function frame34(){
stop();
}
function frame33(){
dispatchEvent(new AnimationEvent(AnimationEvent.INDICATORFADEIN));
}
function frame67(){
dispatchEvent(new AnimationEvent(AnimationEvent.INDICATORFADEIN));
}
function frame68(){
stop();
}
}
}//package
Section 236
//anim_dye_station_lever (anim_dye_station_lever)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class anim_dye_station_lever extends Lever {
public function anim_dye_station_lever(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 237
//anim_mixer_shake (anim_mixer_shake)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class anim_mixer_shake extends MovieClip {
public function anim_mixer_shake(){
super();
addFrameScript(0, frame1, 1, frame2, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
dispatchEvent(new AnimationEvent(AnimationEvent.SHAKE));
}
function frame2(){
stop();
}
}
}//package
Section 238
//anim_mixer_station_cover (anim_mixer_station_cover)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class anim_mixer_station_cover extends MovieClip {
public function anim_mixer_station_cover(){
super();
addFrameScript(0, frame1, 14, frame15, 35, frame36);
}
function frame15(){
dispatchEvent(new AnimationEvent(AnimationEvent.OUTERCOVERON));
gotoAndStop(1);
}
function frame1(){
stop();
}
function frame36(){
dispatchEvent(new AnimationEvent(AnimationEvent.OUTERCOVEROFF));
stop();
}
}
}//package
Section 239
//anim_mixer_switch (anim_mixer_switch)
package {
import flash.display.*;
public dynamic class anim_mixer_switch extends MovieClip {
public function anim_mixer_switch(){
super();
}
}
}//package
Section 240
//anim_sparkle_station_levergold (anim_sparkle_station_levergold)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class anim_sparkle_station_levergold extends Lever {
public function anim_sparkle_station_levergold(){
super();
}
}
}//package
Section 241
//anim_sparkle_station_leversilver (anim_sparkle_station_leversilver)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class anim_sparkle_station_leversilver extends Lever {
public function anim_sparkle_station_leversilver(){
super();
}
}
}//package
Section 242
//AnimCongrats_mc (AnimCongrats_mc)
package {
import flash.display.*;
public dynamic class AnimCongrats_mc extends MovieClip {
public var congratsTxt_mc:CongratsTxt_mc;
public function AnimCongrats_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 243
//animmixer_station_cover2 (animmixer_station_cover2)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class animmixer_station_cover2 extends MovieClip {
public function animmixer_station_cover2(){
super();
addFrameScript(0, frame1, 21, frame22, 50, frame51);
}
function frame1(){
stop();
}
function frame22(){
dispatchEvent(new AnimationEvent(AnimationEvent.INNERCOVERON));
gotoAndStop(1);
}
function frame51(){
dispatchEvent(new AnimationEvent(AnimationEvent.INNERCOVEROFF));
stop();
}
}
}//package
Section 244
//backBtn_mc (backBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class backBtn_mc extends SoundEaseButton {
public function backBtn_mc(){
super();
}
}
}//package
Section 245
//BigBtn_mc (BigBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class BigBtn_mc extends SoundEaseButton {
public function BigBtn_mc(){
super();
}
}
}//package
Section 246
//bottle (bottle)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class bottle extends Bottle {
public function bottle(){
super();
}
}
}//package
Section 247
//bottle_fading_mc (bottle_fading_mc)
package {
import flash.display.*;
public dynamic class bottle_fading_mc extends MovieClip {
public var bottle_mc:nail_polish_bottle_front2;
public function bottle_fading_mc(){
super();
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame20(){
stop();
}
}
}//package
Section 248
//bottle_mixed_mc (bottle_mixed_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class bottle_mixed_mc extends PaintMasked {
public function bottle_mixed_mc(){
super();
}
}
}//package
Section 249
//bottleHolder_mc (bottleHolder_mc)
package {
import flash.display.*;
public dynamic class bottleHolder_mc extends MovieClip {
public function bottleHolder_mc(){
super();
}
}
}//package
Section 250
//button_arrow_mc (button_arrow_mc)
package {
import flash.display.*;
public dynamic class button_arrow_mc extends MovieClip {
public function button_arrow_mc(){
super();
}
}
}//package
Section 251
//button_colorcard_mc (button_colorcard_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class button_colorcard_mc extends RadioButton {
public function button_colorcard_mc(){
super();
}
}
}//package
Section 252
//button_colorwheel_mc (button_colorwheel_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class button_colorwheel_mc extends RadioButton {
public function button_colorwheel_mc(){
super();
}
}
}//package
Section 253
//cancelFormBtn_mc (cancelFormBtn_mc)
package {
import com.aga.controls.buttons.*;
public dynamic class cancelFormBtn_mc extends TweenButton {
public function cancelFormBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 254
//chooser_colormask_mc (chooser_colormask_mc)
package {
import flash.display.*;
public dynamic class chooser_colormask_mc extends MovieClip {
public function chooser_colormask_mc(){
super();
}
}
}//package
Section 255
//chooserDownArrow_mc (chooserDownArrow_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class chooserDownArrow_mc extends SoundEaseButton {
public function chooserDownArrow_mc(){
super();
}
}
}//package
Section 256
//chooserUpArrow_mc (chooserUpArrow_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class chooserUpArrow_mc extends SoundEaseButton {
public function chooserUpArrow_mc(){
super();
}
}
}//package
Section 257
//clearBtn_mc (clearBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class clearBtn_mc extends SoundEaseButton {
public function clearBtn_mc(){
super();
}
}
}//package
Section 258
//close_mc (close_mc)
package {
import flash.display.*;
public dynamic class close_mc extends MovieClip {
public function close_mc(){
super();
}
}
}//package
Section 259
//closeBtn_mc (closeBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class closeBtn_mc extends SoundEaseButton {
public function closeBtn_mc(){
super();
}
}
}//package
Section 260
//color_indicator_mc (color_indicator_mc)
package {
import flash.display.*;
public dynamic class color_indicator_mc extends MovieClip {
public function color_indicator_mc(){
super();
}
}
}//package
Section 261
//color_option_mc (color_option_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class color_option_mc extends PaintMasked {
public function color_option_mc(){
super();
}
}
}//package
Section 262
//color_select_mc (color_select_mc)
package {
import flash.display.*;
public dynamic class color_select_mc extends MovieClip {
public function color_select_mc(){
super();
}
}
}//package
Section 263
//colorChooser_mc (colorChooser_mc)
package {
import com.aga.nailspa.game.phasepaint.*;
public dynamic class colorChooser_mc extends ColorChooser {
public function colorChooser_mc(){
super();
}
}
}//package
Section 264
//colormask_mc (colormask_mc)
package {
import flash.display.*;
public dynamic class colormask_mc extends MovieClip {
public function colormask_mc(){
super();
}
}
}//package
Section 265
//colorWheel_2_mc (colorWheel_2_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class colorWheel_2_mc extends ColorWheel {
public function colorWheel_2_mc(){
super();
}
}
}//package
Section 266
//colorwheel_holder_mc (colorwheel_holder_mc)
package {
import flash.display.*;
public dynamic class colorwheel_holder_mc extends MovieClip {
public var colorwheel_mc:colorWheel_2_mc;
public function colorwheel_holder_mc(){
super();
addFrameScript(13, frame14);
}
function frame14(){
stop();
}
}
}//package
Section 267
//congrats_fading_mc (congrats_fading_mc)
package {
import flash.display.*;
public dynamic class congrats_fading_mc extends MovieClip {
public var animCongrats_mc:AnimCongrats_mc;
public function congrats_fading_mc(){
super();
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame20(){
stop();
}
}
}//package
Section 268
//CongratsTxt_mc (CongratsTxt_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class CongratsTxt_mc extends MovieClip {
public var title_txt:TextField;
public var paragraph_txt:TextField;
public function CongratsTxt_mc(){
super();
}
}
}//package
Section 269
//decal_cross_mc (decal_cross_mc)
package {
import flash.display.*;
public dynamic class decal_cross_mc extends MovieClip {
public function decal_cross_mc(){
super();
}
}
}//package
Section 270
//decal_cursor_mc (decal_cursor_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_cursor_mc extends DecalCursor {
public function decal_cursor_mc(){
super();
}
}
}//package
Section 271
//decal_heart_mc (decal_heart_mc)
package {
import flash.display.*;
public dynamic class decal_heart_mc extends MovieClip {
public function decal_heart_mc(){
super();
}
}
}//package
Section 272
//decal_masked_mc (decal_masked_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_mc extends DecalMasked {
public function decal_masked_mc(){
super();
}
}
}//package
Section 273
//decal_masked_nail0_mc (decal_masked_nail0_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail0_mc extends DecalMasked {
public function decal_masked_nail0_mc(){
super();
}
}
}//package
Section 274
//decal_masked_nail1_mc (decal_masked_nail1_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail1_mc extends DecalMasked {
public function decal_masked_nail1_mc(){
super();
}
}
}//package
Section 275
//decal_masked_nail10_mc (decal_masked_nail10_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail10_mc extends DecalMasked {
public function decal_masked_nail10_mc(){
super();
}
}
}//package
Section 276
//decal_masked_nail11_mc (decal_masked_nail11_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail11_mc extends DecalMasked {
public function decal_masked_nail11_mc(){
super();
}
}
}//package
Section 277
//decal_masked_nail12_mc (decal_masked_nail12_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail12_mc extends DecalMasked {
public function decal_masked_nail12_mc(){
super();
}
}
}//package
Section 278
//decal_masked_nail13_mc (decal_masked_nail13_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail13_mc extends DecalMasked {
public function decal_masked_nail13_mc(){
super();
}
}
}//package
Section 279
//decal_masked_nail14_mc (decal_masked_nail14_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail14_mc extends DecalMasked {
public function decal_masked_nail14_mc(){
super();
}
}
}//package
Section 280
//decal_masked_nail15_mc (decal_masked_nail15_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail15_mc extends DecalMasked {
public function decal_masked_nail15_mc(){
super();
}
}
}//package
Section 281
//decal_masked_nail16_mc (decal_masked_nail16_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail16_mc extends DecalMasked {
public function decal_masked_nail16_mc(){
super();
}
}
}//package
Section 282
//decal_masked_nail17_mc (decal_masked_nail17_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail17_mc extends DecalMasked {
public function decal_masked_nail17_mc(){
super();
}
}
}//package
Section 283
//decal_masked_nail18_mc (decal_masked_nail18_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail18_mc extends DecalMasked {
public function decal_masked_nail18_mc(){
super();
}
}
}//package
Section 284
//decal_masked_nail19_mc (decal_masked_nail19_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail19_mc extends DecalMasked {
public function decal_masked_nail19_mc(){
super();
}
}
}//package
Section 285
//decal_masked_nail2_mc (decal_masked_nail2_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail2_mc extends DecalMasked {
public function decal_masked_nail2_mc(){
super();
}
}
}//package
Section 286
//decal_masked_nail3_mc (decal_masked_nail3_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail3_mc extends DecalMasked {
public function decal_masked_nail3_mc(){
super();
}
}
}//package
Section 287
//decal_masked_nail4_mc (decal_masked_nail4_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail4_mc extends DecalMasked {
public function decal_masked_nail4_mc(){
super();
}
}
}//package
Section 288
//decal_masked_nail5_mc (decal_masked_nail5_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail5_mc extends DecalMasked {
public function decal_masked_nail5_mc(){
super();
}
}
}//package
Section 289
//decal_masked_nail6_mc (decal_masked_nail6_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail6_mc extends DecalMasked {
public function decal_masked_nail6_mc(){
super();
}
}
}//package
Section 290
//decal_masked_nail7_mc (decal_masked_nail7_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail7_mc extends DecalMasked {
public function decal_masked_nail7_mc(){
super();
}
}
}//package
Section 291
//decal_masked_nail8_mc (decal_masked_nail8_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail8_mc extends DecalMasked {
public function decal_masked_nail8_mc(){
super();
}
}
}//package
Section 292
//decal_masked_nail9_mc (decal_masked_nail9_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_masked_nail9_mc extends DecalMasked {
public function decal_masked_nail9_mc(){
super();
}
}
}//package
Section 293
//decal_polka_mc (decal_polka_mc)
package {
import flash.display.*;
public dynamic class decal_polka_mc extends MovieClip {
public function decal_polka_mc(){
super();
}
}
}//package
Section 294
//decal_select_mc (decal_select_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_select_mc extends DecalSelect {
public function decal_select_mc(){
super();
}
}
}//package
Section 295
//decal_set_mc (decal_set_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decal_set_mc extends DecalSet {
public function decal_set_mc(){
super();
}
}
}//package
Section 296
//decal_star_mc (decal_star_mc)
package {
import flash.display.*;
public dynamic class decal_star_mc extends MovieClip {
public function decal_star_mc(){
super();
}
}
}//package
Section 297
//decal1 (decal1)
package {
import flash.display.*;
public dynamic class decal1 extends MovieClip {
public function decal1(){
super();
}
}
}//package
Section 298
//decal2 (decal2)
package {
import flash.display.*;
public dynamic class decal2 extends MovieClip {
public function decal2(){
super();
}
}
}//package
Section 299
//decal3 (decal3)
package {
import flash.display.*;
public dynamic class decal3 extends MovieClip {
public function decal3(){
super();
}
}
}//package
Section 300
//decal4 (decal4)
package {
import flash.display.*;
public dynamic class decal4 extends MovieClip {
public function decal4(){
super();
}
}
}//package
Section 301
//decal5 (decal5)
package {
import flash.display.*;
public dynamic class decal5 extends MovieClip {
public function decal5(){
super();
}
}
}//package
Section 302
//decal6 (decal6)
package {
import flash.display.*;
public dynamic class decal6 extends MovieClip {
public function decal6(){
super();
}
}
}//package
Section 303
//decal7 (decal7)
package {
import flash.display.*;
public dynamic class decal7 extends MovieClip {
public function decal7(){
super();
}
}
}//package
Section 304
//decal8 (decal8)
package {
import flash.display.*;
public dynamic class decal8 extends MovieClip {
public function decal8(){
super();
}
}
}//package
Section 305
//decalChooser_mc (decalChooser_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class decalChooser_mc extends DecalChooser {
public function decalChooser_mc(){
super();
}
}
}//package
Section 306
//drip_mc (drip_mc)
package {
import flash.display.*;
public dynamic class drip_mc extends MovieClip {
public function drip_mc(){
super();
addFrameScript(20, frame21);
}
function frame21(){
stop();
this.visible = false;
}
}
}//package
Section 307
//drop_mc (drop_mc)
package {
import flash.display.*;
public dynamic class drop_mc extends MovieClip {
public function drop_mc(){
super();
}
}
}//package
Section 308
//drop_number_mc (drop_number_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class drop_number_mc extends MovieClip {
public var txt:TextField;
public function drop_number_mc(){
super();
}
}
}//package
Section 309
//drop_w_number_mc (drop_w_number_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class drop_w_number_mc extends DropWNumber {
public function drop_w_number_mc(){
super();
}
}
}//package
Section 310
//dropCounter_mc (dropCounter_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class dropCounter_mc extends ColorIndicator {
public function dropCounter_mc(){
super();
}
}
}//package
Section 311
//dropDown_mc (dropDown_mc)
package {
import com.aga.nailspa.game.controls.dropdown.*;
public dynamic class dropDown_mc extends DropDown {
public function dropDown_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 312
//dropDownBaseItem_mc (dropDownBaseItem_mc)
package {
import com.aga.nailspa.game.controls.dropdown.*;
public dynamic class dropDownBaseItem_mc extends DropDownItem {
public function dropDownBaseItem_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 313
//dryer_animation_mc (dryer_animation_mc)
package {
import flash.display.*;
public dynamic class dryer_animation_mc extends MovieClip {
public function dryer_animation_mc(){
super();
}
}
}//package
Section 314
//dryerCover_mc (dryerCover_mc)
package {
import flash.display.*;
public dynamic class dryerCover_mc extends MovieClip {
public function dryerCover_mc(){
super();
}
}
}//package
Section 315
//dye_splash_anim (dye_splash_anim)
package {
import flash.display.*;
public dynamic class dye_splash_anim extends MovieClip {
public function dye_splash_anim(){
super();
addFrameScript(16, frame17);
}
function frame17(){
stop();
}
}
}//package
Section 316
//equation_double_mc (equation_double_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class equation_double_mc extends EquationDouble {
public function equation_double_mc(){
super();
}
}
}//package
Section 317
//equation_mc (equation_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class equation_mc extends Equation {
public function equation_mc(){
super();
}
}
}//package
Section 318
//equation_single_mc (equation_single_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class equation_single_mc extends EquationSingle {
public function equation_single_mc(){
super();
}
}
}//package
Section 319
//friendsColorCon (friendsColorCon)
package {
import com.fuelindustries.core.*;
public dynamic class friendsColorCon extends FuelUI {
public function friendsColorCon(){
super();
}
}
}//package
Section 320
//gamebtn_mc (gamebtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class gamebtn_mc extends NailEaseButton {
public function gamebtn_mc(){
super();
}
}
}//package
Section 321
//gameUI_mc (gameUI_mc)
package {
import com.aga.nailspa.game.ui.*;
public dynamic class gameUI_mc extends GameUI {
public function gameUI_mc(){
super();
}
}
}//package
Section 322
//GiftBtn_mc (GiftBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class GiftBtn_mc extends SoundEaseButton {
public function GiftBtn_mc(){
super();
}
}
}//package
Section 323
//glitter_holder_mc (glitter_holder_mc)
package {
import flash.display.*;
public dynamic class glitter_holder_mc extends MovieClip {
public function glitter_holder_mc(){
super();
}
}
}//package
Section 324
//glitter_layer_mc (glitter_layer_mc)
package {
import flash.display.*;
public dynamic class glitter_layer_mc extends MovieClip {
public function glitter_layer_mc(){
super();
}
}
}//package
Section 325
//glitter_splash_anim (glitter_splash_anim)
package {
import flash.display.*;
public dynamic class glitter_splash_anim extends MovieClip {
public function glitter_splash_anim(){
super();
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package
Section 326
//glitter_station (glitter_station)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class glitter_station extends GlitterStation {
public function glitter_station(){
super();
}
}
}//package
Section 327
//glittermask_mc (glittermask_mc)
package {
import flash.display.*;
public dynamic class glittermask_mc extends MovieClip {
public function glittermask_mc(){
super();
}
}
}//package
Section 328
//goalBtn_mc (goalBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class goalBtn_mc extends SoundEaseButton {
public function goalBtn_mc(){
super();
}
}
}//package
Section 329
//goalpopup_animated_mc (goalpopup_animated_mc)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class goalpopup_animated_mc extends MovieClip {
public var goalpopup_mc:GoalPopUp_mc;
public function goalpopup_animated_mc(){
super();
addFrameScript(6, frame7, 13, frame14);
}
function frame14(){
dispatchEvent(new AnimationEvent(AnimationEvent.GOALOUTDONE));
stop();
}
function frame7(){
stop();
}
}
}//package
Section 330
//GoalPopUp_mc (GoalPopUp_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class GoalPopUp_mc extends GoalPopup {
public function GoalPopUp_mc(){
super();
}
}
}//package
Section 331
//gotItBtn_mc (gotItBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class gotItBtn_mc extends SoundEaseButton {
public function gotItBtn_mc(){
super();
}
}
}//package
Section 332
//Home_mc (Home_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class Home_mc extends SoundEaseButton {
public function Home_mc(){
super();
}
}
}//package
Section 333
//KeepBtn_mc (KeepBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class KeepBtn_mc extends SoundEaseButton {
public function KeepBtn_mc(){
super();
}
}
}//package
Section 334
//L_paintArrow_mc (L_paintArrow_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class L_paintArrow_mc extends ArrowButton {
public function L_paintArrow_mc(){
super();
}
}
}//package
Section 335
//leftfoot (leftfoot)
package {
import flash.display.*;
public dynamic class leftfoot extends MovieClip {
public var nail_12_mc:lefttoe3;
public var toe_seperator_bottom_mc:toe_left_separator_bottom_mc;
public var nail_13_mc:lefttoe2;
public var nail_10_mc:lefttoe5;
public var nail_11_mc:lefttoe4;
public var toe_separator_top_mc:toe_left_separator_top_mc;
public var nail_14_mc:lefttoe1;
public function leftfoot(){
super();
}
}
}//package
Section 336
//leftfoot_decal (leftfoot_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftfoot_decal extends LeftFoot {
public function leftfoot_decal(){
super();
}
}
}//package
Section 337
//leftFootSelector_mc (leftFootSelector_mc)
package {
import flash.display.*;
public dynamic class leftFootSelector_mc extends MovieClip {
public function leftFootSelector_mc(){
super();
}
}
}//package
Section 338
//lefthand_decal (lefthand_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefthand_decal extends LeftHand {
public function lefthand_decal(){
super();
}
}
}//package
Section 339
//lefthand_decal_holder_mc (lefthand_decal_holder_mc)
package {
import flash.display.*;
public dynamic class lefthand_decal_holder_mc extends MovieClip {
public var lefthand_mc:lefthand_decal;
public function lefthand_decal_holder_mc(){
super();
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 340
//lefthand_goal (lefthand_goal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefthand_goal extends LeftHandGoal {
public function lefthand_goal(){
super();
}
}
}//package
Section 341
//lefthand_holder_mc (lefthand_holder_mc)
package {
import flash.display.*;
public dynamic class lefthand_holder_mc extends MovieClip {
public var lefthand_mc:MovieClip;
public function lefthand_holder_mc(){
super();
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 342
//LeftHandSelector_mc (LeftHandSelector_mc)
package {
import flash.display.*;
public dynamic class LeftHandSelector_mc extends MovieClip {
public function LeftHandSelector_mc(){
super();
}
}
}//package
Section 343
//leftnail_index (leftnail_index)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_index extends Nail {
public function leftnail_index(){
super();
}
}
}//package
Section 344
//leftnail_index_decal (leftnail_index_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_index_decal extends NailDecal {
public function leftnail_index_decal(){
super();
}
}
}//package
Section 345
//leftnail_index_mask (leftnail_index_mask)
package {
import flash.display.*;
public dynamic class leftnail_index_mask extends MovieClip {
public function leftnail_index_mask(){
super();
}
}
}//package
Section 346
//leftnail_middle (leftnail_middle)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_middle extends Nail {
public function leftnail_middle(){
super();
}
}
}//package
Section 347
//leftnail_middle_decal (leftnail_middle_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_middle_decal extends NailDecal {
public function leftnail_middle_decal(){
super();
}
}
}//package
Section 348
//leftnail_middle_mask (leftnail_middle_mask)
package {
import flash.display.*;
public dynamic class leftnail_middle_mask extends MovieClip {
public function leftnail_middle_mask(){
super();
}
}
}//package
Section 349
//leftnail_pinky (leftnail_pinky)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_pinky extends Nail {
public function leftnail_pinky(){
super();
}
}
}//package
Section 350
//leftnail_pinky_decal (leftnail_pinky_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_pinky_decal extends NailDecal {
public function leftnail_pinky_decal(){
super();
}
}
}//package
Section 351
//leftnail_pinky_mask (leftnail_pinky_mask)
package {
import flash.display.*;
public dynamic class leftnail_pinky_mask extends MovieClip {
public function leftnail_pinky_mask(){
super();
}
}
}//package
Section 352
//leftnail_ring (leftnail_ring)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_ring extends Nail {
public function leftnail_ring(){
super();
}
}
}//package
Section 353
//leftnail_ring_decal (leftnail_ring_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_ring_decal extends NailDecal {
public function leftnail_ring_decal(){
super();
}
}
}//package
Section 354
//leftnail_ring_mask (leftnail_ring_mask)
package {
import flash.display.*;
public dynamic class leftnail_ring_mask extends MovieClip {
public function leftnail_ring_mask(){
super();
}
}
}//package
Section 355
//leftnail_thumb (leftnail_thumb)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_thumb extends Nail {
public function leftnail_thumb(){
super();
}
}
}//package
Section 356
//leftnail_thumb_decal (leftnail_thumb_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class leftnail_thumb_decal extends NailDecal {
public function leftnail_thumb_decal(){
super();
}
}
}//package
Section 357
//leftnail_thumb_mask (leftnail_thumb_mask)
package {
import flash.display.*;
public dynamic class leftnail_thumb_mask extends MovieClip {
public function leftnail_thumb_mask(){
super();
}
}
}//package
Section 358
//lefttoe1 (lefttoe1)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe1 extends Nail {
public function lefttoe1(){
super();
}
}
}//package
Section 359
//lefttoe1_decal (lefttoe1_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe1_decal extends NailDecal {
public function lefttoe1_decal(){
super();
}
}
}//package
Section 360
//lefttoe1_mask (lefttoe1_mask)
package {
import flash.display.*;
public dynamic class lefttoe1_mask extends MovieClip {
public function lefttoe1_mask(){
super();
}
}
}//package
Section 361
//lefttoe2 (lefttoe2)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe2 extends Nail {
public function lefttoe2(){
super();
}
}
}//package
Section 362
//lefttoe2_decal (lefttoe2_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe2_decal extends NailDecal {
public function lefttoe2_decal(){
super();
}
}
}//package
Section 363
//lefttoe2_mask (lefttoe2_mask)
package {
import flash.display.*;
public dynamic class lefttoe2_mask extends MovieClip {
public function lefttoe2_mask(){
super();
}
}
}//package
Section 364
//lefttoe3 (lefttoe3)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe3 extends Nail {
public function lefttoe3(){
super();
}
}
}//package
Section 365
//lefttoe3_decal (lefttoe3_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe3_decal extends NailDecal {
public function lefttoe3_decal(){
super();
}
}
}//package
Section 366
//lefttoe3_mask (lefttoe3_mask)
package {
import flash.display.*;
public dynamic class lefttoe3_mask extends MovieClip {
public function lefttoe3_mask(){
super();
}
}
}//package
Section 367
//lefttoe4 (lefttoe4)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe4 extends Nail {
public function lefttoe4(){
super();
}
}
}//package
Section 368
//lefttoe4_decal (lefttoe4_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe4_decal extends NailDecal {
public function lefttoe4_decal(){
super();
}
}
}//package
Section 369
//lefttoe4_mask (lefttoe4_mask)
package {
import flash.display.*;
public dynamic class lefttoe4_mask extends MovieClip {
public function lefttoe4_mask(){
super();
}
}
}//package
Section 370
//lefttoe5 (lefttoe5)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe5 extends Nail {
public function lefttoe5(){
super();
}
}
}//package
Section 371
//lefttoe5_decal (lefttoe5_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lefttoe5_decal extends NailDecal {
public function lefttoe5_decal(){
super();
}
}
}//package
Section 372
//lefttoe5_mask (lefttoe5_mask)
package {
import flash.display.*;
public dynamic class lefttoe5_mask extends MovieClip {
public function lefttoe5_mask(){
super();
}
}
}//package
Section 373
//lever_mc (lever_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class lever_mc extends Lever {
public function lever_mc(){
super();
}
}
}//package
Section 374
//limbSelector_mc (limbSelector_mc)
package {
import com.aga.nailspa.game.controls.*;
public dynamic class limbSelector_mc extends LimbSelector {
public function limbSelector_mc(){
super();
}
}
}//package
Section 375
//Mask (Mask)
package {
import flash.display.*;
public dynamic class Mask extends MovieClip {
public function Mask(){
super();
}
}
}//package
Section 376
//menuButtons_fading_mc (menuButtons_fading_mc)
package {
import flash.display.*;
public dynamic class menuButtons_fading_mc extends MovieClip {
public var mynails_btn:BigBtn_mc;
public var soundBtn2_mc:SoundBtn_mc;
public var freeplay_btn:BigBtn_mc;
public var challenge_btn:BigBtn_mc;
public var about_btn:BigBtn_mc;
public function menuButtons_fading_mc(){
super();
addFrameScript(6, frame7, 13, frame14);
}
function frame14(){
stop();
}
function frame7(){
stop();
}
}
}//package
Section 377
//MineBtn_mc (MineBtn_mc)
package {
import com.aga.nailspa.game.phasepaint.*;
public dynamic class MineBtn_mc extends TabButton {
public function MineBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 378
//minimize_mc (minimize_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class minimize_mc extends SoundEaseButton {
public function minimize_mc(){
super();
}
}
}//package
Section 379
//mixer_animation_mc (mixer_animation_mc)
package {
import flash.display.*;
public dynamic class mixer_animation_mc extends MovieClip {
public function mixer_animation_mc(){
super();
}
}
}//package
Section 380
//modal_mc (modal_mc)
package {
import com.fuelindustries.containers.*;
public dynamic class modal_mc extends ModalWindow {
public function modal_mc(){
super();
}
}
}//package
Section 381
//mynails_animated_mc (mynails_animated_mc)
package {
import flash.display.*;
import com.aga.nailspa.game.events.*;
public dynamic class mynails_animated_mc extends MovieClip {
public var mynails_mc:Mynails_mc;
public function mynails_animated_mc(){
super();
addFrameScript(10, frame11, 20, frame21);
}
function frame21(){
dispatchEvent(new AnimationEvent(AnimationEvent.MYNAILSOUTDONE));
stop();
}
function frame11(){
stop();
}
}
}//package
Section 382
//Mynails_mc (Mynails_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class Mynails_mc extends MyNails {
public function Mynails_mc(){
super();
}
}
}//package
Section 383
//nail_color_mc (nail_color_mc)
package {
import flash.display.*;
public dynamic class nail_color_mc extends MovieClip {
public function nail_color_mc(){
super();
}
}
}//package
Section 384
//nail_color_mc2 (nail_color_mc2)
package {
import flash.display.*;
public dynamic class nail_color_mc2 extends MovieClip {
public function nail_color_mc2(){
super();
}
}
}//package
Section 385
//nail_decal_mc (nail_decal_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_decal_mc extends NailDecal {
public function nail_decal_mc(){
super();
}
}
}//package
Section 386
//nail_glitter_mc (nail_glitter_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_glitter_mc extends NailGlitter {
public function nail_glitter_mc(){
super();
}
}
}//package
Section 387
//nail_mask_mc (nail_mask_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_mask_mc extends NailMask {
public function nail_mask_mc(){
super();
}
}
}//package
Section 388
//nail_masked_mc (nail_masked_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_masked_mc extends NailMasked {
public function nail_masked_mc(){
super();
}
}
}//package
Section 389
//nail_mc (nail_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_mc extends Nail {
public function nail_mc(){
super();
}
}
}//package
Section 390
//nail_natural_10_mc (nail_natural_10_mc)
package {
import flash.display.*;
public dynamic class nail_natural_10_mc extends MovieClip {
public function nail_natural_10_mc(){
super();
}
}
}//package
Section 391
//nail_natural_mc (nail_natural_mc)
package {
import flash.display.*;
public dynamic class nail_natural_mc extends MovieClip {
public function nail_natural_mc(){
super();
}
}
}//package
Section 392
//nail_polish_anim (nail_polish_anim)
package {
import flash.display.*;
public dynamic class nail_polish_anim extends MovieClip {
public var drop_mc:nail_polish_drop;
public function nail_polish_anim(){
super();
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package
Section 393
//nail_polish_bottle (nail_polish_bottle)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_polish_bottle extends Bottle {
public function nail_polish_bottle(){
super();
}
}
}//package
Section 394
//nail_polish_bottle_front2 (nail_polish_bottle_front2)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class nail_polish_bottle_front2 extends PaintMasked {
public function nail_polish_bottle_front2(){
super();
}
}
}//package
Section 395
//nail_polish_drop (nail_polish_drop)
package {
import flash.display.*;
public dynamic class nail_polish_drop extends MovieClip {
public function nail_polish_drop(){
super();
}
}
}//package
Section 396
//navigation_mc (navigation_mc)
package {
import com.aga.nailspa.game.navigation.*;
public dynamic class navigation_mc extends Navigation {
public function navigation_mc(){
super();
}
}
}//package
Section 397
//NextBtn_mc (NextBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class NextBtn_mc extends SoundNextEaseButton {
public function NextBtn_mc(){
super();
}
}
}//package
Section 398
//NextSmallBtn_mc (NextSmallBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class NextSmallBtn_mc extends SoundNextEaseButton {
public function NextSmallBtn_mc(){
super();
}
}
}//package
Section 399
//numberDisplay_mc (numberDisplay_mc)
package {
import com.fuelengines.controls.*;
public dynamic class numberDisplay_mc extends NumberDisplay {
public function numberDisplay_mc(){
super();
}
}
}//package
Section 400
//paint_masked_mc (paint_masked_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class paint_masked_mc extends PaintMasked {
public function paint_masked_mc(){
super();
}
}
}//package
Section 401
//paintColor_mc (paintColor_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class paintColor_mc extends ColorSelectable {
public function paintColor_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 402
//phase_aboutspa_mc (phase_aboutspa_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_aboutspa_mc extends AboutSpa {
public function phase_aboutspa_mc(){
super();
}
}
}//package
Section 403
//phase_add_decal (phase_add_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_add_decal extends PhaseAddDecal {
public function phase_add_decal(){
super();
}
}
}//package
Section 404
//phase_add_decal_challenge_mc (phase_add_decal_challenge_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_add_decal_challenge_mc extends PhaseAddDecalChallenge {
public function phase_add_decal_challenge_mc(){
super();
}
}
}//package
Section 405
//phase_add_glitter (phase_add_glitter)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_add_glitter extends PhaseAddGlitter {
public function phase_add_glitter(){
super();
}
}
}//package
Section 406
//phase_color_idea_pick (phase_color_idea_pick)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_color_idea_pick extends PhaseLoading {
public function phase_color_idea_pick(){
super();
}
}
}//package
Section 407
//phase_color_mix (phase_color_mix)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_color_mix extends PhaseColorMix {
public function phase_color_mix(){
super();
}
}
}//package
Section 408
//phase_conclusion (phase_conclusion)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_conclusion extends PhaseConclusion {
public function phase_conclusion(){
super();
}
}
}//package
Section 409
//phase_conclusion_challenge_mc (phase_conclusion_challenge_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_conclusion_challenge_mc extends PhaseConclusionChallenge {
public function phase_conclusion_challenge_mc(){
super();
}
}
}//package
Section 410
//phase_dryer_challenge_mc (phase_dryer_challenge_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_dryer_challenge_mc extends PhaseDryerChallenge {
public function phase_dryer_challenge_mc(){
super();
addFrameScript(0, frame1, 29, frame30, 75, frame76, 105, frame106);
}
function frame76(){
dryerOff();
}
function frame106(){
stop();
onAnimationComplete();
}
function frame1(){
dryerOff();
}
function frame30(){
dryerOn();
}
}
}//package
Section 411
//phase_dryer_mc (phase_dryer_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_dryer_mc extends PhaseDryer {
public function phase_dryer_mc(){
super();
addFrameScript(0, frame1, 29, frame30, 75, frame76, 133, frame134, 179, frame180, 236, frame237, 282, frame283, 342, frame343, 388, frame389, 417, frame418);
}
function frame283(){
dryerOff();
}
function frame180(){
dryerOff();
}
function frame1(){
dryerOff();
}
function frame76(){
dryerOff();
}
function frame343(){
dryerOn();
}
function frame237(){
dryerOn();
}
function frame30(){
dryerOn();
}
function frame134(){
dryerOn();
}
function frame418(){
stop();
onAnimationComplete();
}
function frame389(){
dryerOff();
}
}
}//package
Section 412
//phase_intro (phase_intro)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_intro extends PhaseIntro {
public function phase_intro(){
super();
}
}
}//package
Section 413
//phase_mixer (phase_mixer)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_mixer extends PhaseMixer {
public function phase_mixer(){
super();
}
}
}//package
Section 414
//phase_paint (phase_paint)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_paint extends PhasePaint {
public function phase_paint(){
super();
}
}
}//package
Section 415
//phase_paint_challenge_mc (phase_paint_challenge_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_paint_challenge_mc extends PhasePaintChallenge {
public function phase_paint_challenge_mc(){
super();
}
}
}//package
Section 416
//phase_view_goal_mc (phase_view_goal_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class phase_view_goal_mc extends PhaseViewGoal {
public function phase_view_goal_mc(){
super();
}
}
}//package
Section 417
//PlayAgainBtn_mc (PlayAgainBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class PlayAgainBtn_mc extends SoundEaseButton {
public function PlayAgainBtn_mc(){
super();
}
}
}//package
Section 418
//playHomeBtnCorner_mc (playHomeBtnCorner_mc)
package {
import flash.display.*;
public dynamic class playHomeBtnCorner_mc extends MovieClip {
public var nav_home_mc:Home_mc;
public function playHomeBtnCorner_mc(){
super();
}
}
}//package
Section 419
//pointsCapsule_mc (pointsCapsule_mc)
package {
import flash.display.*;
public dynamic class pointsCapsule_mc extends MovieClip {
public var pointsDisplay_mc:numberDisplay_mc;
public function pointsCapsule_mc(){
super();
__setProp_pointsDisplay_mc_pointsCapsule_mc_pointsDisplay_mc_1();
}
function __setProp_pointsDisplay_mc_pointsCapsule_mc_pointsDisplay_mc_1(){
pointsDisplay_mc["componentInspectorSetting"] = true;
//unresolved jump
var _slot1 = e;
pointsDisplay_mc.charSkin = "pointsGameSkin_mc";
pointsDisplay_mc.comma = false;
pointsDisplay_mc.justify = "left";
pointsDisplay_mc.number = 0;
pointsDisplay_mc.prefix = false;
pointsDisplay_mc.spacing = 0.75;
pointsDisplay_mc.suffix = false;
pointsDisplay_mc.zeroPadding = 6;
pointsDisplay_mc["componentInspectorSetting"] = false;
//unresolved jump
var _slot1 = e;
}
}
}//package
Section 420
//pointsGameSkin_mc (pointsGameSkin_mc)
package {
import flash.display.*;
public dynamic class pointsGameSkin_mc extends MovieClip {
public function pointsGameSkin_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 421
//polaroid1_mc (polaroid1_mc)
package {
import flash.display.*;
public dynamic class polaroid1_mc extends MovieClip {
public var leftfoot_mc:leftfoot_decal;
public function polaroid1_mc(){
super();
}
}
}//package
Section 422
//polaroid2_mc (polaroid2_mc)
package {
import flash.display.*;
public dynamic class polaroid2_mc extends MovieClip {
public var rightfoot_mc:rightfoot_decal;
public function polaroid2_mc(){
super();
}
}
}//package
Section 423
//polaroid3_mc (polaroid3_mc)
package {
import flash.display.*;
public dynamic class polaroid3_mc extends MovieClip {
public var lefthand_mc:lefthand_decal;
public function polaroid3_mc(){
super();
}
}
}//package
Section 424
//polaroid4_mc (polaroid4_mc)
package {
import flash.display.*;
public dynamic class polaroid4_mc extends MovieClip {
public var righthand_mc:righthand_decal;
public function polaroid4_mc(){
super();
}
}
}//package
Section 425
//polaroidChallenge_mc (polaroidChallenge_mc)
package {
import flash.display.*;
public dynamic class polaroidChallenge_mc extends MovieClip {
public var leftHandChallenge_mc:lefthand_decal;
public function polaroidChallenge_mc(){
super();
}
}
}//package
Section 426
//polaroidGoal_mccopy (polaroidGoal_mccopy)
package {
import flash.display.*;
public dynamic class polaroidGoal_mccopy extends MovieClip {
public var leftHandGoal_mc:lefthand_goal;
public function polaroidGoal_mccopy(){
super();
}
}
}//package
Section 427
//Polaroids_mc (Polaroids_mc)
package {
import com.aga.nailspa.game.phases.*;
import com.aga.nailspa.game.events.*;
public dynamic class Polaroids_mc extends Polaroids {
public function Polaroids_mc(){
super();
addFrameScript(21, frame22, 32, frame33, 39, frame40, 50, frame51, 57, frame58, 68, frame69, 75, frame76, 86, frame87, 93, frame94);
}
function frame22(){
stop();
}
function frame33(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID1ZOOMINDONE));
stop();
}
function frame40(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID1ZOOMOUTDONE));
stop();
}
function frame51(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID2ZOOMINDONE));
stop();
}
function frame58(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID2ZOOMOUTDONE));
stop();
}
function frame69(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID3ZOOMINDONE));
stop();
}
function frame76(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID3ZOOMOUTDONE));
stop();
}
function frame87(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID4ZOOMINDONE));
stop();
}
function frame94(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROID4ZOOMOUTDONE));
stop();
}
}
}//package
Section 428
//Polaroids_still_mc (Polaroids_still_mc)
package {
import flash.display.*;
public dynamic class Polaroids_still_mc extends MovieClip {
public function Polaroids_still_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 429
//polaroidsHolderChallenge_mc (polaroidsHolderChallenge_mc)
package {
import com.aga.nailspa.game.phases.*;
import com.aga.nailspa.game.events.*;
public dynamic class polaroidsHolderChallenge_mc extends PolaroidsChallenge {
public function polaroidsHolderChallenge_mc(){
super();
addFrameScript(21, frame22, 30, frame31, 39, frame40, 48, frame49, 57, frame58);
}
function frame22(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROIDINTRODONE));
stop();
}
function frame40(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROIDGOALZOOMOUTDONE));
stop();
}
function frame31(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROIDGOALZOOMINDONE));
stop();
}
function frame49(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROIDYOURSZOOMINDONE));
stop();
}
function frame58(){
dispatchEvent(new AnimationEvent(AnimationEvent.POLAROIDYOURSZOOMOUTDONE));
stop();
}
}
}//package
Section 430
//question_mc (question_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class question_mc extends SoundEaseButton {
public function question_mc(){
super();
}
}
}//package
Section 431
//R_paintArrow_mc (R_paintArrow_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class R_paintArrow_mc extends ArrowButton {
public function R_paintArrow_mc(){
super();
}
}
}//package
Section 432
//radioBtn_mc (radioBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class radioBtn_mc extends RadioEaseButton {
public function radioBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 433
//radioBtnFriend_mc (radioBtnFriend_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class radioBtnFriend_mc extends RadioEaseButton {
public function radioBtnFriend_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 434
//resultsChallenge_mc (resultsChallenge_mc)
package {
import flash.display.*;
public dynamic class resultsChallenge_mc extends MovieClip {
public var resultsText_mc:resultsText;
public function resultsChallenge_mc(){
super();
addFrameScript(21, frame22);
}
function frame22(){
stop();
}
}
}//package
Section 435
//resultsText (resultsText)
package {
import flash.display.*;
import flash.text.*;
public dynamic class resultsText extends MovieClip {
public var time_txt:TextField;
public var decalsValue_txt:TextField;
public var decals_txt:TextField;
public var glitterValue_txt:TextField;
public var breakdown_txt:TextField;
public var timeValue_txt:TextField;
public var polish_txt:TextField;
public var polishValue_txt:TextField;
public var glitter_txt:TextField;
public var overall_txt:TextField;
public function resultsText(){
super();
}
}
}//package
Section 436
//rightfoot (rightfoot)
package {
import flash.display.*;
public dynamic class rightfoot extends MovieClip {
public var nail_18_mc:righttoe4;
public var nail_15_mc:righttoe1;
public var nail_16_mc:righttoe2;
public var toe_separator_top_mc:toe_right_separator_top_mc;
public var nail_19_mc:righttoe5;
public var toe_separator_bottom_mc:toe_right_separator_bottom_mc;
public var nail_17_mc:righttoe3;
public function rightfoot(){
super();
}
}
}//package
Section 437
//rightfoot_decal (rightfoot_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightfoot_decal extends RightFoot {
public function rightfoot_decal(){
super();
}
}
}//package
Section 438
//rightFootSelector_mc (rightFootSelector_mc)
package {
import flash.display.*;
public dynamic class rightFootSelector_mc extends MovieClip {
public function rightFootSelector_mc(){
super();
}
}
}//package
Section 439
//righthand_decal (righthand_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righthand_decal extends RightHand {
public function righthand_decal(){
super();
}
}
}//package
Section 440
//rightHandSelector_mc (rightHandSelector_mc)
package {
import flash.display.*;
public dynamic class rightHandSelector_mc extends MovieClip {
public function rightHandSelector_mc(){
super();
}
}
}//package
Section 441
//rightnail_index (rightnail_index)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_index extends Nail {
public function rightnail_index(){
super();
}
}
}//package
Section 442
//rightnail_index_decal (rightnail_index_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_index_decal extends NailDecal {
public function rightnail_index_decal(){
super();
}
}
}//package
Section 443
//rightnail_index_mask (rightnail_index_mask)
package {
import flash.display.*;
public dynamic class rightnail_index_mask extends MovieClip {
public function rightnail_index_mask(){
super();
}
}
}//package
Section 444
//rightnail_middle (rightnail_middle)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_middle extends Nail {
public function rightnail_middle(){
super();
}
}
}//package
Section 445
//rightnail_middle_decal (rightnail_middle_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_middle_decal extends NailDecal {
public function rightnail_middle_decal(){
super();
}
}
}//package
Section 446
//rightnail_middle_mask (rightnail_middle_mask)
package {
import flash.display.*;
public dynamic class rightnail_middle_mask extends MovieClip {
public function rightnail_middle_mask(){
super();
}
}
}//package
Section 447
//rightnail_pinky (rightnail_pinky)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_pinky extends Nail {
public function rightnail_pinky(){
super();
}
}
}//package
Section 448
//rightnail_pinky_decal (rightnail_pinky_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_pinky_decal extends NailDecal {
public function rightnail_pinky_decal(){
super();
}
}
}//package
Section 449
//rightnail_pinky_mask (rightnail_pinky_mask)
package {
import flash.display.*;
public dynamic class rightnail_pinky_mask extends MovieClip {
public function rightnail_pinky_mask(){
super();
}
}
}//package
Section 450
//rightnail_ring (rightnail_ring)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_ring extends Nail {
public function rightnail_ring(){
super();
}
}
}//package
Section 451
//rightnail_ring_decal (rightnail_ring_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_ring_decal extends NailDecal {
public function rightnail_ring_decal(){
super();
}
}
}//package
Section 452
//rightnail_ring_mask (rightnail_ring_mask)
package {
import flash.display.*;
public dynamic class rightnail_ring_mask extends MovieClip {
public function rightnail_ring_mask(){
super();
}
}
}//package
Section 453
//rightnail_thumb (rightnail_thumb)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_thumb extends Nail {
public function rightnail_thumb(){
super();
}
}
}//package
Section 454
//rightnail_thumb_decal (rightnail_thumb_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class rightnail_thumb_decal extends NailDecal {
public function rightnail_thumb_decal(){
super();
}
}
}//package
Section 455
//rightnail_thumb_mask (rightnail_thumb_mask)
package {
import flash.display.*;
public dynamic class rightnail_thumb_mask extends MovieClip {
public function rightnail_thumb_mask(){
super();
}
}
}//package
Section 456
//righttoe1 (righttoe1)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe1 extends Nail {
public function righttoe1(){
super();
}
}
}//package
Section 457
//righttoe1_decal (righttoe1_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe1_decal extends NailDecal {
public function righttoe1_decal(){
super();
}
}
}//package
Section 458
//righttoe1_mask (righttoe1_mask)
package {
import flash.display.*;
public dynamic class righttoe1_mask extends MovieClip {
public function righttoe1_mask(){
super();
}
}
}//package
Section 459
//righttoe2 (righttoe2)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe2 extends Nail {
public function righttoe2(){
super();
}
}
}//package
Section 460
//righttoe2_decal (righttoe2_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe2_decal extends NailDecal {
public function righttoe2_decal(){
super();
}
}
}//package
Section 461
//righttoe2_mask (righttoe2_mask)
package {
import flash.display.*;
public dynamic class righttoe2_mask extends MovieClip {
public function righttoe2_mask(){
super();
}
}
}//package
Section 462
//righttoe3 (righttoe3)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe3 extends Nail {
public function righttoe3(){
super();
}
}
}//package
Section 463
//righttoe3_decal (righttoe3_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe3_decal extends NailDecal {
public function righttoe3_decal(){
super();
}
}
}//package
Section 464
//righttoe3_mask (righttoe3_mask)
package {
import flash.display.*;
public dynamic class righttoe3_mask extends MovieClip {
public function righttoe3_mask(){
super();
}
}
}//package
Section 465
//righttoe4 (righttoe4)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe4 extends Nail {
public function righttoe4(){
super();
}
}
}//package
Section 466
//righttoe4_decal (righttoe4_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe4_decal extends NailDecal {
public function righttoe4_decal(){
super();
}
}
}//package
Section 467
//righttoe4_mask (righttoe4_mask)
package {
import flash.display.*;
public dynamic class righttoe4_mask extends MovieClip {
public function righttoe4_mask(){
super();
}
}
}//package
Section 468
//righttoe5 (righttoe5)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe5 extends Nail {
public function righttoe5(){
super();
}
}
}//package
Section 469
//righttoe5_decal (righttoe5_decal)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class righttoe5_decal extends NailDecal {
public function righttoe5_decal(){
super();
}
}
}//package
Section 470
//righttoe5_mask (righttoe5_mask)
package {
import flash.display.*;
public dynamic class righttoe5_mask extends MovieClip {
public function righttoe5_mask(){
super();
}
}
}//package
Section 471
//scrollbar_mc (scrollbar_mc)
package {
import com.fuelindustries.controls.scrollers.*;
public dynamic class scrollbar_mc extends ScrollBar {
public function scrollbar_mc(){
super();
}
}
}//package
Section 472
//scrollbarBtn_mc (scrollbarBtn_mc)
package {
import com.fuelindustries.controls.buttons.*;
public dynamic class scrollbarBtn_mc extends SimpleButton {
public function scrollbarBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 473
//scrollbarThumb_mc (scrollbarThumb_mc)
package {
import com.fuelindustries.controls.scrollers.*;
public dynamic class scrollbarThumb_mc extends ScrollThumb {
public function scrollbarThumb_mc(){
super();
}
}
}//package
Section 474
//sendFormBtn_mc (sendFormBtn_mc)
package {
import com.aga.controls.buttons.*;
public dynamic class sendFormBtn_mc extends TweenButton {
public function sendFormBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 475
//shadows_dye_station (shadows_dye_station)
package {
import flash.display.*;
public dynamic class shadows_dye_station extends MovieClip {
public function shadows_dye_station(){
super();
}
}
}//package
Section 476
//shadows_mix_station (shadows_mix_station)
package {
import flash.display.*;
public dynamic class shadows_mix_station extends MovieClip {
public function shadows_mix_station(){
super();
}
}
}//package
Section 477
//shadows_sparkle_station (shadows_sparkle_station)
package {
import flash.display.*;
public dynamic class shadows_sparkle_station extends MovieClip {
public function shadows_sparkle_station(){
super();
}
}
}//package
Section 478
//shape_mask_mc (shape_mask_mc)
package {
import flash.display.*;
public dynamic class shape_mask_mc extends MovieClip {
public function shape_mask_mc(){
super();
}
}
}//package
Section 479
//smallDownBtn_mc (smallDownBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class smallDownBtn_mc extends SoundEaseButton {
public function smallDownBtn_mc(){
super();
}
}
}//package
Section 480
//smallUpBtn_mc (smallUpBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class smallUpBtn_mc extends SoundEaseButton {
public function smallUpBtn_mc(){
super();
}
}
}//package
Section 481
//SoundBtn_mc (SoundBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class SoundBtn_mc extends SoundSoundToggleButton {
public function SoundBtn_mc(){
super();
addFrameScript(0, frame1, 5, frame6, 13, frame14);
}
function frame14(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 482
//soundon_mc (soundon_mc)
package {
import com.aga.base.controls.buttons.*;
public dynamic class soundon_mc extends SoundToggleButton {
public function soundon_mc(){
super();
}
}
}//package
Section 483
//spa_item_container_mc (spa_item_container_mc)
package {
import com.aga.nailspa.game.phases.*;
import com.aga.nailspa.game.events.*;
public dynamic class spa_item_container_mc extends SpaItemContainer {
public function spa_item_container_mc(){
super();
addFrameScript(6, frame7, 30, frame31, 31, frame32, 52, frame53, 72, frame73, 73, frame74, 93, frame94, 114, frame115, 115, frame116, 136, frame137, 137, frame138, 165, frame166, 187, frame188, 188, frame189, 215, frame216);
}
function frame73(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTOADDGLITTERDONE));
stop();
}
function frame166(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
function frame74(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGOUT));
}
function frame94(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
function frame7(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
function frame188(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTODRYERDONE));
stop();
}
function frame216(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTOADDDECALDONE));
stop();
}
function frame189(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
function frame116(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
function frame31(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTOCOLORMIXDONE));
stop();
}
function frame115(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTOMIXERDONE));
stop();
}
function frame32(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGOUT));
}
function frame138(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGOUT));
}
function frame137(){
dispatchEvent(new AnimationEvent(AnimationEvent.TRANSITIONTOPAINTDONE));
stop();
}
function frame53(){
dispatchEvent(new AnimationEvent(AnimationEvent.ZOOMINGIN));
}
}
}//package
Section 484
//spa_mc (spa_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class spa_mc extends SpaItem {
public function spa_mc(){
super();
}
}
}//package
Section 485
//sparkCityBtn_mc (sparkCityBtn_mc)
package {
import com.aga.nailspa.game.controls.buttons.*;
public dynamic class sparkCityBtn_mc extends SoundEaseButton {
public function sparkCityBtn_mc(){
super();
}
}
}//package
Section 486
//sparkletexture (sparkletexture)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class sparkletexture extends NailGlitter {
public function sparkletexture(){
super();
}
}
}//package
Section 487
//stf_mc (stf_mc)
package {
import com.aga.nailspa.game.stf.*;
public dynamic class stf_mc extends STF {
public function stf_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 488
//submitForm_mc (submitForm_mc)
package {
import com.aga.nailspa.game.stf.*;
public dynamic class submitForm_mc extends SubmitForm {
public function submitForm_mc(){
super();
}
}
}//package
Section 489
//switch_button_mc (switch_button_mc)
package {
import flash.display.*;
public dynamic class switch_button_mc extends MovieClip {
public function switch_button_mc(){
super();
}
}
}//package
Section 490
//switch_mc (switch_mc)
package {
import com.aga.nailspa.game.phases.*;
public dynamic class switch_mc extends Switch {
public function switch_mc(){
super();
}
}
}//package
Section 491
//tabMineBtn_mc (tabMineBtn_mc)
package {
import com.aga.nailspa.game.phasepaint.*;
public dynamic class tabMineBtn_mc extends TabButton {
public function tabMineBtn_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 492
//timer_mc (timer_mc)
package {
import flash.display.*;
public dynamic class timer_mc extends MovieClip {
public function timer_mc(){
super();
}
}
}//package
Section 493
//timerSkin_mc (timerSkin_mc)
package {
import flash.display.*;
public dynamic class timerSkin_mc extends MovieClip {
public function timerSkin_mc(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 494
//titleBG_mc (titleBG_mc)
package {
import flash.display.*;
public dynamic class titleBG_mc extends MovieClip {
public function titleBG_mc(){
super();
}
}
}//package
Section 495
//toe_left_separator_bottom_mc (toe_left_separator_bottom_mc)
package {
import flash.display.*;
public dynamic class toe_left_separator_bottom_mc extends MovieClip {
public function toe_left_separator_bottom_mc(){
super();
}
}
}//package
Section 496
//toe_left_separator_top_mc (toe_left_separator_top_mc)
package {
import flash.display.*;
public dynamic class toe_left_separator_top_mc extends MovieClip {
public function toe_left_separator_top_mc(){
super();
}
}
}//package
Section 497
//toe_right_separator_bottom_mc (toe_right_separator_bottom_mc)
package {
import flash.display.*;
public dynamic class toe_right_separator_bottom_mc extends MovieClip {
public function toe_right_separator_bottom_mc(){
super();
}
}
}//package
Section 498
//toe_right_separator_top_mc (toe_right_separator_top_mc)
package {
import flash.display.*;
public dynamic class toe_right_separator_top_mc extends MovieClip {
public function toe_right_separator_top_mc(){
super();
}
}
}//package
Section 499
//usernameTooltip_mc (usernameTooltip_mc)
package {
import com.aga.nailspa.game.phasepaint.*;
public dynamic class usernameTooltip_mc extends UsernameTooltip {
public function usernameTooltip_mc(){
super();
addFrameScript(0, frame1, 6, frame7);
}
function frame7(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 500
//WelcomeScreen_mc (WelcomeScreen_mc)
package {
import flash.display.*;
public dynamic class WelcomeScreen_mc extends MovieClip {
public var host_mc:MovieClip;
public function WelcomeScreen_mc(){
super();
addFrameScript(0, frame1, 203, frame204, 312, frame313, 337, frame338);
}
function frame313(){
stop();
}
function frame204(){
host_mc.gotoAndStop(1);
}
function frame338(){
stop();
}
function frame1(){
host_mc.gotoAndPlay(1);
}
}
}//package
Section 501
//wheelDrop_mc (wheelDrop_mc)
package {
import flash.display.*;
public dynamic class wheelDrop_mc extends MovieClip {
public var color_mc:MovieClip;
public function wheelDrop_mc(){
super();
}
}
}//package
Section 502
//yourColorCon (yourColorCon)
package {
import com.fuelindustries.core.*;
public dynamic class yourColorCon extends FuelUI {
public function yourColorCon(){
super();
}
}
}//package