STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229595
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2595 · P5190

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/59604988?noj=FRM59604988-22DC" width="1" height="1"></div>

Nail-Studio.swf

This is the info page for
Flash #126638

(Click the ID number above for more basic data on this flash file.)


Text
Select Friend:

TextField

<p align="center"><font face="Arial" size="16" color="#ffffff" letterSpacing="-1.000000" kerning="1"><b>FROM: RockerChick</b></font></p>

Paint Full

Glitter Full

0

1

2

3

4

5

6

7

8

9

:

0

1

2

3

4

5

6

7

8

9

BUTTON

DRYER ANIMATION PLAYS

MIXING ANIMATION PLAYS

3

YOUR GOAL

Do your best to match the design provided. You will be awarded points based on how close you match your nails to the design.

*Hint:

Blah blah blah

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>GOT IT</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>GOAL</b></font></p>

GOAL

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>ABOUT SPA FACTORY</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>CLEAR</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>BACK</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>DRY NAILS</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>PLAY AGAIN</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>SPARK CITY</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>GIFT</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>KEEP</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>CLEAR</b></font></p>

<p align="center"><font face="DS-Digital" size="18" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>00:45</b></font></p>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et

TITLE GOES HERE

<p align="left"><font face="Univers LT Std 59 UltraCn" size="20" color="#400341" letterSpacing="0.000000" kerning="1"><b>ABOUT SPA FACTORY</b></font></p>

<p align="left"><font face="Arial" size="12" color="#a90166" letterSpacing="0.000000" kerning="1">Spa Factory Custom Mix Nail Studio is a fun and creative experiment that allows you to create unique, personalized nail polish to express yourself. Spa Factory products are great to give away as gifts or to keep for yourself.</font></p>

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.

AWESOME JOB

You can pamper yourself and personalize your own nail color with our Spa Factory
Custom Mix Nail Studio. Mixing up your custom nail polish has never been easier
or more fun!

WELCOME TO THE SPA FACTORY!

DECAL

DECAL

R

R

L

L

R

R

L

L

GIFTS

MINE

COLORS

COLORS

<p align="center"><font face="Myriad Pro" size="16" color="#660066" letterSpacing="0.000000" kerning="1"><b>20</b></font></p>

+

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Color</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Glitter</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Decals</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Time Bonus</b></font></p>

<p align="left"><font face="arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>1:30</b></font></p>

<p align="center"><font face="Arial" size="49" color="#cf0f65" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

<p align="center"><font face="Univers LT Std 59 UltraCn" size="22" color="#400341" letterSpacing="0.000000" kerning="1"><b>BREAKDOWN</b></font></p>

<p align="center"><font face="Myriad Pro" size="13" color="#990099" letterSpacing="0.000000" kerning="1"><b>20</b></font></p>

<p align="center"><font face="Myriad Pro" size="13" color="#990099" letterSpacing="0.000000" kerning="1"><b>20</b></font></p>

<p align="center"><font face="Myriad Pro" size="13" color="#990099" letterSpacing="0.000000" kerning="1"><b>20</b></font></p>

ActionScript [AS3]

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("&amp;") < 0)) ? "&" : "&amp;"; 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

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {modal_mc}Uses:1Used by:64
Symbol 3 ShapeTweeningUsed by:64
Symbol 4 BitmapUsed by:6
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:4 5Used by:62
Symbol 7 FontUsed by:8 30 75 225 232 424 516 517 700 701 791 792 793 794 795 796 797 798 799
Symbol 8 EditableTextUses:7Used by:9
Symbol 9 MovieClip {main_fla.stfError_mc_384}Uses:8Used by:62
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClipUses:10Used by:62
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:23 26
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14Used by:23
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:23 26
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:20
Symbol 20 MovieClipUses:19Used by:21
Symbol 21 MovieClipUses:20Used by:22
Symbol 22 MovieClipUses:21Used by:23 26
Symbol 23 MovieClip {sendFormBtn_mc}Uses:13 15 17 22Used by:62
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:26
Symbol 26 MovieClip {cancelFormBtn_mc}Uses:13 25 17 22Used by:62
Symbol 27 GraphicUsed by:62
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:62
Symbol 30 EditableTextUses:7Used by:62
Symbol 31 GraphicUsed by:59
Symbol 32 GraphicUsed by:44
Symbol 33 FontUsed by:34
Symbol 34 EditableTextUses:33Used by:35
Symbol 35 MovieClip {main_fla.dropDownItemLabel_mc_358}Uses:34Used by:44 73
Symbol 36 GraphicUsed by:41 51
Symbol 37 GraphicUsed by:41 51
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:41 43 51
Symbol 40 GraphicUsed by:41 51
Symbol 41 MovieClip {main_fla.arrowBtnAnim_mc_359}Uses:36 37 39 40Used by:44
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42 39Used by:44
Symbol 44 MovieClip {dropDownBaseItem_mc}Uses:32 35 41 43Used by:59
Symbol 45 MovieClipUsed by:59 61
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:59
Symbol 48 GraphicUsed by:54
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:54
Symbol 51 MovieClip {scrollbarBtn_mc}Uses:36 37 39 40Used by:54
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip {scrollbarThumb_mc}Uses:52Used by:54
Symbol 54 MovieClip {scrollbar_mc}Uses:48 50 51 53Used by:59
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:59
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:59
Symbol 59 MovieClip {dropDown_mc}Uses:31 44 45 47 54 56 58Used by:62
Symbol 60 GraphicUsed by:62
Symbol 61 MovieClip {main_fla.polishImg_mc_387}Uses:45Used by:62
Symbol 62 MovieClip {submitForm_mc}Uses:6 9 11 23 26 27 29 30 59 60 61Used by:64
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClip {stf_mc}Uses:2 3 62 63
Symbol 65 GraphicUsed by:68
Symbol 66 GraphicUsed by:68 71
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClip {radioBtnFriend_mc}Uses:65 66 67
Symbol 69 GraphicUsed by:71
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClip {radioBtn_mc}Uses:69 66 70
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClip {com.aga.nailspa.game.controls.dropdown.DropDownItem}Uses:72 35
Symbol 74 GraphicUsed by:77
Symbol 75 EditableTextUses:7 230 363 687Used by:77
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClip {main_fla.usernameBubble_mc_354}Uses:74 75 76Used by:78
Symbol 78 MovieClip {usernameTooltip_mc}Uses:77
Symbol 79 MovieClip {nail_glitter_mc}
Symbol 80 GraphicUsed by:85 300
Symbol 81 GraphicUsed by:85 281 300
Symbol 82 GraphicUsed by:85 300
Symbol 83 GraphicUsed by:84 276 312
Symbol 84 MovieClipUses:83Used by:85 281 284 300
Symbol 85 MovieClip {soundon_mc}Uses:80 81 82 84
Symbol 86 GraphicUsed by:113
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:113 123
Symbol 89 GraphicUsed by:90 461
Symbol 90 MovieClip {nail_color_mc}Uses:89Used by:113 176
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:111
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:111
Symbol 95 GraphicUsed by:96
Symbol 96 MovieClipUses:95Used by:111
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClipUses:97Used by:111
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:99Used by:111
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:101Used by:111
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClipUses:103Used by:111
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:105Used by:111
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:111
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:109Used by:111
Symbol 111 MovieClip {sparkletexture}Uses:92 94 96 98 100 102 104 106 108 110Used by:113 176 462 677
Symbol 112 GraphicUsed by:113 123
Symbol 113 MovieClip {bottle_mixed_mc}Uses:86 88 90 111 112
Symbol 114 GraphicUsed by:123
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClip {drip_mc}Uses:115Used by:123
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClip {Mask}Uses:117Used by:123 950
Symbol 119 MovieClip {glitter_holder_mc}Used by:123 950
Symbol 120 FontUsed by:121 122 150 207 209
Symbol 121 EditableTextUses:120Used by:123
Symbol 122 EditableTextUses:120Used by:123
Symbol 123 MovieClip {bottle}Uses:114 116 118 88 119 112 121 122
Symbol 124 GraphicUsed by:137 148
Symbol 125 FontUsed by:126 127 128 129 130 131 132 133 134 135 136 138 139 140 141 142 143 144 145 146 147
Symbol 126 TextUses:125Used by:137
Symbol 127 TextUses:125Used by:137
Symbol 128 TextUses:125Used by:137
Symbol 129 TextUses:125Used by:137
Symbol 130 TextUses:125Used by:137
Symbol 131 TextUses:125Used by:137
Symbol 132 TextUses:125Used by:137
Symbol 133 TextUses:125Used by:137
Symbol 134 TextUses:125Used by:137
Symbol 135 TextUses:125Used by:137
Symbol 136 TextUses:125Used by:137
Symbol 137 MovieClip {timerSkin_mc}Uses:124 126 127 128 129 130 131 132 133 134 135 136
Symbol 138 TextUses:125Used by:148
Symbol 139 TextUses:125Used by:148
Symbol 140 TextUses:125Used by:148
Symbol 141 TextUses:125Used by:148
Symbol 142 TextUses:125Used by:148
Symbol 143 TextUses:125Used by:148
Symbol 144 TextUses:125Used by:148
Symbol 145 TextUses:125Used by:148
Symbol 146 TextUses:125Used by:148
Symbol 147 TextUses:125Used by:148
Symbol 148 MovieClip {pointsGameSkin_mc}Uses:124 138 139 140 141 142 143 144 145 146 147
Symbol 149 GraphicUsed by:151
Symbol 150 EditableTextUses:120Used by:151
Symbol 151 MovieClip {gamebtn_mc}Uses:149 150
Symbol 152 GraphicUsed by:175 179
Symbol 153 GraphicUsed by:154 549 554 559 564
Symbol 154 MovieClip {nail_natural_mc}Uses:153Used by:172 178 268 269 270 271 272 569 595 603 607 611 615 619
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClip {decal8}Uses:155Used by:171 196
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClip {decal7}Uses:157Used by:171 196
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClip {decal6}Uses:159Used by:171 196
Symbol 161 GraphicUsed by:162
Symbol 162 MovieClip {decal5}Uses:161Used by:171 196
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClip {decal4}Uses:163Used by:171 196
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClip {decal3}Uses:165Used by:171 196
Symbol 167 GraphicUsed by:168
Symbol 168 MovieClip {decal2}Uses:167Used by:171 196
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClip {decal1}Uses:169Used by:171 196
Symbol 171 MovieClip {decal_set_mc}Uses:156 158 160 162 164 166 168 170Used by:172 268 269 270 271 272 544 550 555 560 565 569 579 583 587 591 595 603 607 611 615 619
Symbol 172 MovieClip {decal_masked_mc}Uses:154 171Used by:175
Symbol 173 GraphicUsed by:174
Symbol 174 MovieClip {shape_mask_mc}Uses:173Used by:175 179
Symbol 175 MovieClip {nail_decal_mc}Uses:152 172 174
Symbol 176 MovieClip {paint_masked_mc}Uses:90 111Used by:178
Symbol 177 MovieClip {nail_mask_mc}Used by:178
Symbol 178 MovieClip {nail_masked_mc}Uses:154 176 177Used by:179 251 255 259 263 267 705 707 709 711 713 715 717 719 721 723 726 728 730 732 734
Symbol 179 MovieClip {nail_mc}Uses:152 178 174
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClip {decal_polka_mc}Uses:180
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClip {decal_cross_mc}Uses:182
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClip {decal_heart_mc}Uses:184
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClip {decal_star_mc}Uses:186
Symbol 188 GraphicUsed by:196
Symbol 189 GraphicUsed by:196
Symbol 190 GraphicUsed by:196
Symbol 191 GraphicUsed by:196
Symbol 192 GraphicUsed by:196
Symbol 193 GraphicUsed by:196
Symbol 194 GraphicUsed by:196
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClip {decal_select_mc}Uses:188 170 189 168 190 166 191 164 192 162 193 160 194 158 195 156
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClip {lever_mc}Uses:197
Symbol 199 GraphicUsed by:200
Symbol 200 MovieClip {color_indicator_mc}Uses:199
Symbol 201 GraphicUsed by:202
Symbol 202 MovieClip {button_arrow_mc}Uses:201
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClip {switch_button_mc}Uses:203Used by:206
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClip {switch_mc}Uses:205 204
Symbol 207 EditableTextUses:120Used by:208
Symbol 208 MovieClip {dryer_animation_mc}Uses:207
Symbol 209 EditableTextUses:120Used by:210
Symbol 210 MovieClip {mixer_animation_mc}Uses:209
Symbol 211 GraphicUsed by:214
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:214
Symbol 214 MovieClip {button_colorwheel_mc}Uses:211 213
Symbol 215 GraphicUsed by:218
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClipUses:216Used by:218
Symbol 218 MovieClip {button_colorcard_mc}Uses:215 217
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClip {close_mc}Uses:219
Symbol 221 GraphicUsed by:222
Symbol 222 MovieClip {glitter_layer_mc}Uses:221
Symbol 223 GraphicUsed by:224
Symbol 224 MovieClip {drop_mc}Uses:223
Symbol 225 EditableTextUses:7Used by:226
Symbol 226 MovieClip {drop_number_mc}Uses:225
Symbol 227 GraphicUsed by:278
Symbol 228 FontUsed by:229 236 286 288 293 305 317 325 332 336 342 345 348 365 423 447 470 800
Symbol 229 EditableTextUses:228Used by:278
Symbol 230 FontUsed by:75 231 233 424 469 791 792 793 794 795 796 797 798 799
Symbol 231 EditableTextUses:230Used by:278
Symbol 232 EditableTextUses:7Used by:278
Symbol 233 EditableTextUses:230Used by:278
Symbol 234 GraphicUsed by:245
Symbol 235 GraphicUsed by:245
Symbol 236 EditableTextUses:228Used by:245
Symbol 237 ShapeTweeningUsed by:245
Symbol 238 GraphicUsed by:245
Symbol 239 GraphicUsed by:240
Symbol 240 ButtonUses:239Used by:243
Symbol 241 GraphicUsed by:242
Symbol 242 ButtonUses:241Used by:243
Symbol 243 MovieClip {main_fla.lotusOver_mc_276}Uses:240 242Used by:245 297 309 321 329 334 339 344 347 351
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClip {gotItBtn_mc}Uses:234 235 236 237 238 243 244Used by:278 425
Symbol 246 GraphicUsed by:278
Symbol 247 GraphicUsed by:273
Symbol 248 GraphicUsed by:251
Symbol 249 GraphicUsed by:250
Symbol 250 MovieClip {leftnail_pinky_mask}Uses:249Used by:251 532
Symbol 251 MovieClip {leftnail_pinky}Uses:248 178 250Used by:273 668
Symbol 252 GraphicUsed by:255
Symbol 253 GraphicUsed by:254
Symbol 254 MovieClip {leftnail_ring_mask}Uses:253Used by:255 533
Symbol 255 MovieClip {leftnail_ring}Uses:252 178 254Used by:273 668
Symbol 256 GraphicUsed by:259
Symbol 257 GraphicUsed by:258
Symbol 258 MovieClip {leftnail_middle_mask}Uses:257Used by:259 534
Symbol 259 MovieClip {leftnail_middle}Uses:256 178 258Used by:273 668
Symbol 260 GraphicUsed by:263
Symbol 261 GraphicUsed by:262
Symbol 262 MovieClip {leftnail_index_mask}Uses:261Used by:263 535
Symbol 263 MovieClip {leftnail_index}Uses:260 178 262Used by:273 668
Symbol 264 GraphicUsed by:267
Symbol 265 GraphicUsed by:266
Symbol 266 MovieClip {leftnail_thumb_mask}Uses:265Used by:267 536
Symbol 267 MovieClip {leftnail_thumb}Uses:264 178 266Used by:273 668
Symbol 268 MovieClip {decal_masked_nail0_mc}Uses:154 171Used by:273 532
Symbol 269 MovieClip {decal_masked_nail1_mc}Uses:154 171Used by:273 533
Symbol 270 MovieClip {decal_masked_nail2_mc}Uses:154 171Used by:273 534
Symbol 271 MovieClip {decal_masked_nail3_mc}Uses:154 171Used by:273 535
Symbol 272 MovieClip {decal_masked_nail4_mc}Uses:154 171Used by:273 536
Symbol 273 MovieClip {lefthand_goal}Uses:247 251 255 259 263 267 268 269 270 271 272Used by:278 467 789
Symbol 274 GraphicUsed by:277
Symbol 275 GraphicUsed by:277
Symbol 276 MovieClipUses:83Used by:277
Symbol 277 MovieClip {closeBtn_mc}Uses:274 275 276Used by:278 425
Symbol 278 MovieClip {GoalPopUp_mc}Uses:227 229 231 232 233 245 246 273 277Used by:279
Symbol 279 MovieClip {goalpopup_animated_mc}Uses:278Used by:421
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClip {question_mc}Uses:81 280 84Used by:420
Symbol 282 GraphicUsed by:284
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClip {minimize_mc}Uses:282 283 84Used by:420
Symbol 285 GraphicUsed by:289
Symbol 286 EditableTextUses:228Used by:289
Symbol 287 GraphicUsed by:289
Symbol 288 TextUses:228Used by:289
Symbol 289 MovieClip {goalBtn_mc}Uses:285 286 287 288Used by:356
Symbol 290 GraphicUsed by:297
Symbol 291 GraphicUsed by:297
Symbol 292 GraphicUsed by:297
Symbol 293 EditableTextUses:228Used by:297
Symbol 294 ShapeTweeningUsed by:297
Symbol 295 ShapeTweeningUsed by:297
Symbol 296 GraphicUsed by:297
Symbol 297 MovieClip {BigBtn_mc}Uses:290 291 292 293 294 295 243 296Used by:301
Symbol 298 GraphicUsed by:300
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClip {SoundBtn_mc}Uses:80 81 84 82 298 299Used by:301 420
Symbol 301 MovieClip {menuButtons_fading_mc}Uses:297 300Used by:421
Symbol 302 GraphicUsed by:309 321 351
Symbol 303 GraphicUsed by:309 321 347 351
Symbol 304 GraphicUsed by:309 321 347 351
Symbol 305 EditableTextUses:228Used by:309
Symbol 306 ShapeTweeningUsed by:309
Symbol 307 ShapeTweeningUsed by:309
Symbol 308 GraphicUsed by:309 351
Symbol 309 MovieClip {NextSmallBtn_mc}Uses:302 303 304 305 306 307 243 308Used by:421
Symbol 310 GraphicUsed by:313
Symbol 311 GraphicUsed by:313
Symbol 312 MovieClipUses:83Used by:313
Symbol 313 MovieClip {Home_mc}Uses:310 311 312Used by:316 356
Symbol 314 GraphicUsed by:316
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClip {playHomeBtnCorner_mc}Uses:314 313 315Used by:421
Symbol 317 EditableTextUses:228Used by:321
Symbol 318 ShapeTweeningUsed by:321
Symbol 319 ShapeTweeningUsed by:321
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClip {backBtn_mc}Uses:302 303 304 317 318 319 243 320Used by:421
Symbol 322 GraphicUsed by:329
Symbol 323 GraphicUsed by:329
Symbol 324 GraphicUsed by:329
Symbol 325 EditableTextUses:228Used by:329
Symbol 326 ShapeTweeningUsed by:329
Symbol 327 ShapeTweeningUsed by:329
Symbol 328 GraphicUsed by:329
Symbol 329 MovieClip {NextBtn_mc}Uses:322 323 324 325 326 327 243 328Used by:421
Symbol 330 GraphicUsed by:334 339
Symbol 331 GraphicUsed by:334 339
Symbol 332 EditableTextUses:228Used by:334
Symbol 333 GraphicUsed by:334 339
Symbol 334 MovieClip {PlayAgainBtn_mc}Uses:330 331 332 333 243Used by:421
Symbol 335 GraphicUsed by:339
Symbol 336 EditableTextUses:228Used by:339
Symbol 337 ShapeTweeningUsed by:339
Symbol 338 ShapeTweeningUsed by:339
Symbol 339 MovieClip {sparkCityBtn_mc}Uses:335 330 331 336 337 338 243 333Used by:421
Symbol 340 GraphicUsed by:344
Symbol 341 GraphicUsed by:344
Symbol 342 EditableTextUses:228Used by:344
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClip {GiftBtn_mc}Uses:340 341 342 343 243Used by:421
Symbol 345 EditableTextUses:228Used by:347
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClip {KeepBtn_mc}Uses:303 304 345 346 243Used by:421
Symbol 348 EditableTextUses:228Used by:351
Symbol 349 ShapeTweeningUsed by:351
Symbol 350 ShapeTweeningUsed by:351
Symbol 351 MovieClip {clearBtn_mc}Uses:302 303 304 348 349 350 243 308Used by:421 452
Symbol 352 GraphicUsed by:356
Symbol 353 FontUsed by:354
Symbol 354 EditableTextUses:353Used by:356
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClip {main_fla.HomeChallengeContainer_mc_300}Uses:352 354 355 289 313Used by:421
Symbol 357 GraphicUsed by:420
Symbol 358 ShapeTweeningUsed by:420
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClipUses:359Used by:420
Symbol 361 ShapeTweeningUsed by:420
Symbol 362 GraphicUsed by:420
Symbol 363 FontUsed by:75 364 424 446 791 792 793 794 795 796 797 798 799
Symbol 364 EditableTextUses:363Used by:366
Symbol 365 EditableTextUses:228Used by:366
Symbol 366 MovieClip {main_fla.TutorialText_306}Uses:364 365Used by:420
Symbol 367 ShapeTweeningUsed by:420
Symbol 368 GraphicUsed by:420
Symbol 369 GraphicUsed by:420
Symbol 370 GraphicUsed by:420
Symbol 371 GraphicUsed by:420
Symbol 372 GraphicUsed by:420
Symbol 373 GraphicUsed by:420
Symbol 374 GraphicUsed by:375
Symbol 375 MovieClipUses:374Used by:420
Symbol 376 ShapeTweeningUsed by:420
Symbol 377 GraphicUsed by:420
Symbol 378 GraphicUsed by:420
Symbol 379 GraphicUsed by:420
Symbol 380 GraphicUsed by:381
Symbol 381 MovieClipUses:380Used by:420
Symbol 382 GraphicUsed by:383 471
Symbol 383 MovieClipUses:382Used by:420
Symbol 384 GraphicUsed by:385 472
Symbol 385 MovieClipUses:384Used by:420
Symbol 386 GraphicUsed by:387 473
Symbol 387 MovieClipUses:386Used by:420
Symbol 388 GraphicUsed by:389 474
Symbol 389 MovieClipUses:388Used by:420
Symbol 390 GraphicUsed by:420
Symbol 391 GraphicUsed by:392 476
Symbol 392 MovieClipUses:391Used by:420
Symbol 393 GraphicUsed by:420 500
Symbol 394 GraphicUsed by:420
Symbol 395 GraphicUsed by:420 500
Symbol 396 GraphicUsed by:420
Symbol 397 GraphicUsed by:398 479
Symbol 398 MovieClipUses:397Used by:420
Symbol 399 GraphicUsed by:420
Symbol 400 GraphicUsed by:420
Symbol 401 GraphicUsed by:420 500
Symbol 402 GraphicUsed by:420 500
Symbol 403 GraphicUsed by:420
Symbol 404 GraphicUsed by:420
Symbol 405 GraphicUsed by:406
Symbol 406 MovieClipUses:405Used by:420
Symbol 407 GraphicUsed by:420
Symbol 408 GraphicUsed by:420
Symbol 409 GraphicUsed by:420
Symbol 410 ShapeTweeningUsed by:420
Symbol 411 GraphicUsed by:420
Symbol 412 GraphicUsed by:420
Symbol 413 ShapeTweeningUsed by:420
Symbol 414 ShapeTweeningUsed by:420
Symbol 415 GraphicUsed by:420
Symbol 416 ShapeTweeningUsed by:420
Symbol 417 ShapeTweeningUsed by:420
Symbol 418 GraphicUsed by:420
Symbol 419 GraphicUsed by:420
Symbol 420 MovieClip {main_fla.tipsAnim_mc_302}Uses:357 358 360 361 284 300 281 362 366 367 368 369 370 371 372 373 375 376 377 378 379 381 383 385 387 389 390 392 393 394 395 396 398 399 400 401 402 403 404 406 407 408 409 410 411 412 413 414 415 416 417 418 419Used by:421
Symbol 421 MovieClip {navigation_mc}Uses:347 344 339 334 329 321 351 316 309 301 356 420 279Used by:Timeline
Symbol 422 GraphicUsed by:425
Symbol 423 EditableTextUses:228Used by:425
Symbol 424 EditableTextUses:7 230 363 687Used by:425
Symbol 425 MovieClip {AboutSpaPopUp_mc}Uses:422 423 424 245 277Used by:430
Symbol 426 BitmapUsed by:427
Symbol 427 GraphicUses:426Used by:430  Timeline
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:430
Symbol 430 MovieClip {phase_aboutspa_mc}Uses:427 425 429Used by:431
Symbol 431 MovieClip {aboutspa_animated_mc}Uses:430Used by:456
Symbol 432 GraphicUsed by:433
Symbol 433 MovieClip {titleBG_mc}Uses:432Used by:452
Symbol 434 GraphicUsed by:436 439 440 441 810 811 812 813
Symbol 435 GraphicUsed by:436 439 440 441 786 789 810 811 812 813
Symbol 436 MovieClipUses:434 435Used by:442
Symbol 437 GraphicUsed by:438
Symbol 438 MovieClipUses:437Used by:442
Symbol 439 MovieClipUses:434 435Used by:442
Symbol 440 MovieClipUses:434 435Used by:442
Symbol 441 MovieClipUses:434 435Used by:442
Symbol 442 MovieClip {Polaroids_still_mc}Uses:436 438 439 440 441Used by:452
Symbol 443 BitmapUsed by:444 806 816
Symbol 444 GraphicUses:443Used by:452
Symbol 445 GraphicUsed by:448
Symbol 446 EditableTextUses:363Used by:448
Symbol 447 EditableTextUses:228Used by:448
Symbol 448 MovieClip {CongratsTxt_mc}Uses:445 446 447Used by:449
Symbol 449 MovieClip {AnimCongrats_mc}Uses:448Used by:452 807
Symbol 450 MovieClip {main_fla.Polaroids_holder_mc_273}Used by:452
Symbol 451 GraphicUsed by:452
Symbol 452 MovieClip {Mynails_mc}Uses:444 442 449 450 433 451 351Used by:453
Symbol 453 MovieClip {mynails_animated_mc}Uses:452Used by:456
Symbol 454 BitmapUsed by:455
Symbol 455 GraphicUses:454Used by:456
Symbol 456 MovieClip {phase_color_idea_pick}Uses:455 453 431Used by:Timeline
Symbol 457 GraphicUsed by:458
Symbol 458 MovieClip {color_select_mc}Uses:457Used by:466
Symbol 459 GraphicUsed by:460
Symbol 460 MovieClip {chooser_colormask_mc}Uses:459Used by:466
Symbol 461 MovieClip {nail_color_mc2}Uses:89Used by:462 677
Symbol 462 MovieClip {color_option_mc}Uses:461 111Used by:466
Symbol 463 GraphicUsed by:466
Symbol 464 GraphicUsed by:465
Symbol 465 MovieClipUses:464Used by:466
Symbol 466 MovieClip {paintColor_mc}Uses:463 462 460 465 458Used by:Timeline
Symbol 467 MovieClip {phase_view_goal_mc}Uses:273Used by:Timeline
Symbol 468 ShapeTweeningUsed by:511
Symbol 469 TextUses:230Used by:511
Symbol 470 TextUses:228Used by:511
Symbol 471 MovieClipUses:382Used by:500
Symbol 472 MovieClipUses:384Used by:500
Symbol 473 MovieClipUses:386Used by:500
Symbol 474 MovieClipUses:388Used by:500
Symbol 475 GraphicUsed by:500
Symbol 476 MovieClipUses:391Used by:500
Symbol 477 GraphicUsed by:500
Symbol 478 GraphicUsed by:500
Symbol 479 MovieClipUses:397Used by:500
Symbol 480 GraphicUsed by:500
Symbol 481 GraphicUsed by:500
Symbol 482 GraphicUsed by:500
Symbol 483 GraphicUsed by:500
Symbol 484 GraphicUsed by:500
Symbol 485 GraphicUsed by:500
Symbol 486 GraphicUsed by:500
Symbol 487 GraphicUsed by:500
Symbol 488 GraphicUsed by:500
Symbol 489 GraphicUsed by:500
Symbol 490 GraphicUsed by:500
Symbol 491 GraphicUsed by:500
Symbol 492 GraphicUsed by:500
Symbol 493 GraphicUsed by:500
Symbol 494 GraphicUsed by:500
Symbol 495 GraphicUsed by:500
Symbol 496 GraphicUsed by:500
Symbol 497 GraphicUsed by:500
Symbol 498 GraphicUsed by:500
Symbol 499 GraphicUsed by:500
Symbol 500 MovieClip {main_fla.Host_SW_250}Uses:471 472 473 474 475 476 393 477 395 478 479 480 481 401 402 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499Used by:511
Symbol 501 GraphicUsed by:502
Symbol 502 MovieClipUses:501Used by:511
Symbol 503 ShapeTweeningUsed by:511
Symbol 504 GraphicUsed by:511 702 823
Symbol 505 ShapeTweeningUsed by:511
Symbol 506 GraphicUsed by:511
Symbol 507 ShapeTweeningUsed by:511
Symbol 508 GraphicUsed by:511
Symbol 509 ShapeTweeningUsed by:511
Symbol 510 GraphicUsed by:511
Symbol 511 MovieClip {WelcomeScreen_mc}Uses:468 469 470 500 502 503 504 505 506 507 508 509 510Used by:514
Symbol 512 BitmapUsed by:513
Symbol 513 GraphicUses:512Used by:514
Symbol 514 MovieClip {phase_intro}Uses:513 511Used by:Timeline
Symbol 515 GraphicUsed by:530
Symbol 516 TextUses:7Used by:530
Symbol 517 TextUses:7Used by:530
Symbol 518 GraphicUsed by:530
Symbol 519 GraphicUsed by:530
Symbol 520 MovieClip {yourColorCon}Used by:530 703
Symbol 521 GraphicUsed by:523
Symbol 522 GraphicUsed by:523
Symbol 523 MovieClip {chooserUpArrow_mc}Uses:521 522Used by:530 703
Symbol 524 GraphicUsed by:527
Symbol 525 GraphicUsed by:527
Symbol 526 GraphicUsed by:527
Symbol 527 MovieClip {chooserDownArrow_mc}Uses:524 525 526Used by:530 703
Symbol 528 GraphicUsed by:529
Symbol 529 MovieClipUses:528Used by:530 703
Symbol 530 MovieClip {decalChooser_mc}Uses:515 516 517 518 519 520 523 527 529Used by:545 666
Symbol 531 GraphicUsed by:537
Symbol 532 MovieClip {leftnail_pinky_decal}Uses:268 250Used by:537
Symbol 533 MovieClip {leftnail_ring_decal}Uses:269 254Used by:537
Symbol 534 MovieClip {leftnail_middle_decal}Uses:270 258Used by:537
Symbol 535 MovieClip {leftnail_index_decal}Uses:271 262Used by:537
Symbol 536 MovieClip {leftnail_thumb_decal}Uses:272 266Used by:537
Symbol 537 MovieClip {lefthand_decal}Uses:531 532 533 534 535 536Used by:538 782 783 786 811
Symbol 538 MovieClip {lefthand_decal_holder_mc}Uses:537Used by:545 666
Symbol 539 GraphicUsed by:540
Symbol 540 MovieClipUses:539Used by:541
Symbol 541 MovieClip {main_fla.sparkle_anim_26}Uses:540Used by:544 950
Symbol 542 GraphicUsed by:543
Symbol 543 MovieClipUses:542Used by:544
Symbol 544 MovieClip {decal_cursor_mc}Uses:171 541 543Used by:545 666
Symbol 545 MovieClip {phase_add_decal_challenge_mc}Uses:530 538 544Used by:Timeline
Symbol 546 GraphicUsed by:547
Symbol 547 MovieClip {toe_left_separator_bottom_mc}Uses:546Used by:575 724
Symbol 548 GraphicUsed by:575 724
Symbol 549 MovieClip {nail_natural_10_mc}Uses:153Used by:550 579
Symbol 550 MovieClip {decal_masked_nail10_mc}Uses:549 171Used by:553
Symbol 551 GraphicUsed by:552
Symbol 552 MovieClip {lefttoe5_mask}Uses:551Used by:553 723
Symbol 553 MovieClip {lefttoe5_decal}Uses:550 552Used by:575
Symbol 554 MovieClipUses:153Used by:555 583
Symbol 555 MovieClip {decal_masked_nail11_mc}Uses:554 171Used by:558
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClip {lefttoe4_mask}Uses:556Used by:558 721
Symbol 558 MovieClip {lefttoe4_decal}Uses:555 557Used by:575
Symbol 559 MovieClipUses:153Used by:560 587
Symbol 560 MovieClip {decal_masked_nail12_mc}Uses:559 171Used by:563
Symbol 561 GraphicUsed by:562
Symbol 562 MovieClip {lefttoe3_mask}Uses:561Used by:563 719
Symbol 563 MovieClip {lefttoe3_decal}Uses:560 562Used by:575
Symbol 564 MovieClipUses:153Used by:565 591
Symbol 565 MovieClip {decal_masked_nail13_mc}Uses:564 171Used by:568
Symbol 566 GraphicUsed by:567
Symbol 567 MovieClip {lefttoe2_mask}Uses:566Used by:568 717
Symbol 568 MovieClip {lefttoe2_decal}Uses:565 567Used by:575
Symbol 569 MovieClip {decal_masked_nail14_mc}Uses:154 171Used by:572
Symbol 570 GraphicUsed by:571
Symbol 571 MovieClip {lefttoe1_mask}Uses:570Used by:572 715
Symbol 572 MovieClip {lefttoe1_decal}Uses:569 571Used by:575
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClip {toe_left_separator_top_mc}Uses:573Used by:575 724
Symbol 575 MovieClip {leftfoot_decal}Uses:547 548 553 558 563 568 572 574Used by:666 783 813
Symbol 576 GraphicUsed by:577
Symbol 577 MovieClip {toe_right_separator_bottom_mc}Uses:576Used by:601 736
Symbol 578 GraphicUsed by:601
Symbol 579 MovieClip {decal_masked_nail19_mc}Uses:549 171Used by:582
Symbol 580 GraphicUsed by:581
Symbol 581 MovieClip {righttoe5_mask}Uses:580Used by:582 734
Symbol 582 MovieClip {righttoe5_decal}Uses:579 581Used by:601
Symbol 583 MovieClip {decal_masked_nail18_mc}Uses:554 171Used by:586
Symbol 584 GraphicUsed by:585
Symbol 585 MovieClip {righttoe4_mask}Uses:584Used by:586 732
Symbol 586 MovieClip {righttoe4_decal}Uses:583 585Used by:601
Symbol 587 MovieClip {decal_masked_nail17_mc}Uses:559 171Used by:590
Symbol 588 GraphicUsed by:589
Symbol 589 MovieClip {righttoe3_mask}Uses:588Used by:590 730
Symbol 590 MovieClip {righttoe3_decal}Uses:587 589Used by:601
Symbol 591 MovieClip {decal_masked_nail16_mc}Uses:564 171Used by:594
Symbol 592 GraphicUsed by:593
Symbol 593 MovieClip {righttoe2_mask}Uses:592Used by:594 728
Symbol 594 MovieClip {righttoe2_decal}Uses:591 593Used by:601
Symbol 595 MovieClip {decal_masked_nail15_mc}Uses:154 171Used by:598
Symbol 596 GraphicUsed by:597
Symbol 597 MovieClip {righttoe1_mask}Uses:596Used by:598 726
Symbol 598 MovieClip {righttoe1_decal}Uses:595 597Used by:601
Symbol 599 GraphicUsed by:600
Symbol 600 MovieClip {toe_right_separator_top_mc}Uses:599Used by:601 736
Symbol 601 MovieClip {rightfoot_decal}Uses:577 578 582 586 590 594 598 600Used by:666 783 812
Symbol 602 GraphicUsed by:623
Symbol 603 MovieClip {decal_masked_nail9_mc}Uses:154 171Used by:606
Symbol 604 GraphicUsed by:605
Symbol 605 MovieClip {rightnail_pinky_mask}Uses:604Used by:606 713
Symbol 606 MovieClip {rightnail_pinky_decal}Uses:603 605Used by:623
Symbol 607 MovieClip {decal_masked_nail8_mc}Uses:154 171Used by:610
Symbol 608 GraphicUsed by:609
Symbol 609 MovieClip {rightnail_ring_mask}Uses:608Used by:610 711
Symbol 610 MovieClip {rightnail_ring_decal}Uses:607 609Used by:623
Symbol 611 MovieClip {decal_masked_nail7_mc}Uses:154 171Used by:614
Symbol 612 GraphicUsed by:613
Symbol 613 MovieClip {rightnail_middle_mask}Uses:612Used by:614 709
Symbol 614 MovieClip {rightnail_middle_decal}Uses:611 613Used by:623
Symbol 615 MovieClip {decal_masked_nail6_mc}Uses:154 171Used by:618
Symbol 616 GraphicUsed by:617
Symbol 617 MovieClip {rightnail_index_mask}Uses:616Used by:618 707
Symbol 618 MovieClip {rightnail_index_decal}Uses:615 617Used by:623
Symbol 619 MovieClip {decal_masked_nail5_mc}Uses:154 171Used by:622
Symbol 620 GraphicUsed by:621
Symbol 621 MovieClip {rightnail_thumb_mask}Uses:620Used by:622 705
Symbol 622 MovieClip {rightnail_thumb_decal}Uses:619 621Used by:623
Symbol 623 MovieClip {righthand_decal}Uses:602 606 610 614 618 622Used by:666 783 810
Symbol 624 GraphicUsed by:646 647
Symbol 625 GraphicUsed by:630 651
Symbol 626 FontUsed by:627 629 632 634 637 639 642 644
Symbol 627 TextUses:626Used by:630 651
Symbol 628 GraphicUsed by:630
Symbol 629 TextUses:626Used by:630
Symbol 630 MovieClip {rightFootSelector_mc}Uses:625 627 628 629Used by:646
Symbol 631 GraphicUsed by:635 657
Symbol 632 TextUses:626Used by:635 657
Symbol 633 GraphicUsed by:635
Symbol 634 TextUses:626Used by:635
Symbol 635 MovieClip {leftFootSelector_mc}Uses:631 632 633 634Used by:646
Symbol 636 GraphicUsed by:640 659
Symbol 637 TextUses:626Used by:640 659
Symbol 638 GraphicUsed by:640
Symbol 639 TextUses:626Used by:640
Symbol 640 MovieClip {rightHandSelector_mc}Uses:636 637 638 639Used by:646
Symbol 641 GraphicUsed by:645 663
Symbol 642 TextUses:626Used by:645 663
Symbol 643 GraphicUsed by:645
Symbol 644 TextUses:626Used by:645 665
Symbol 645 MovieClip {LeftHandSelector_mc}Uses:641 642 643 644Used by:646
Symbol 646 MovieClip {limbSelector_mc}Uses:624 630 635 640 645Used by:666 739
Symbol 647 MovieClipUses:624Used by:665
Symbol 648 ShapeTweeningUsed by:665
Symbol 649 ShapeTweeningUsed by:665
Symbol 650 GraphicUsed by:665
Symbol 651 MovieClipUses:625 627Used by:665
Symbol 652 ShapeTweeningUsed by:665
Symbol 653 ShapeTweeningUsed by:665
Symbol 654 GraphicUsed by:665
Symbol 655 ShapeTweeningUsed by:665
Symbol 656 ShapeTweeningUsed by:665
Symbol 657 MovieClipUses:631 632Used by:665
Symbol 658 GraphicUsed by:665
Symbol 659 MovieClipUses:636 637Used by:665
Symbol 660 ShapeTweeningUsed by:665
Symbol 661 ShapeTweeningUsed by:665
Symbol 662 GraphicUsed by:665
Symbol 663 MovieClipUses:641 642Used by:665
Symbol 664 GraphicUsed by:665
Symbol 665 MovieClip {main_fla.limbSelectorAnimated_mc_218}Uses:647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 644Used by:666 739
Symbol 666 MovieClip {phase_add_decal}Uses:530 538 575 601 623 646 665 544Used by:Timeline
Symbol 667 GraphicUsed by:668
Symbol 668 MovieClip {main_fla.lefthand_216}Uses:667 251 255 259 263 267Used by:669
Symbol 669 MovieClip {lefthand_holder_mc}Uses:668Used by:684 739
Symbol 670 GraphicUsed by:671
Symbol 671 MovieClip {bottleHolder_mc}Uses:670Used by:684 739
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClipUses:672Used by:677
Symbol 674 GraphicUsed by:677
Symbol 675 GraphicUsed by:676
Symbol 676 MovieClipUses:675Used by:677
Symbol 677 MovieClip {nail_polish_bottle_front2}Uses:673 461 111 674 676Used by:684 739 808
Symbol 678 GraphicUsed by:679
Symbol 679 MovieClipUses:678Used by:683
Symbol 680 GraphicUsed by:681
Symbol 681 MovieClipUses:680Used by:683
Symbol 682 GraphicUsed by:683
Symbol 683 MovieClip {anim_brush}Uses:679 681 682Used by:684 739
Symbol 684 MovieClip {phase_paint_challenge_mc}Uses:669 671 677 683Used by:Timeline
Symbol 685 GraphicUsed by:691
Symbol 686 GraphicUsed by:691
Symbol 687 FontUsed by:75 424 688 694 747 791 792 793 794 795 796 797 798 799
Symbol 688 TextUses:687Used by:691
Symbol 689 GraphicUsed by:691
Symbol 690 GraphicUsed by:691
Symbol 691 MovieClip {tabMineBtn_mc}Uses:685 686 688 689 690Used by:703
Symbol 692 GraphicUsed by:697
Symbol 693 GraphicUsed by:697
Symbol 694 TextUses:687Used by:697
Symbol 695 GraphicUsed by:697
Symbol 696 GraphicUsed by:697
Symbol 697 MovieClip {MineBtn_mc}Uses:692 693 694 695 696Used by:703
Symbol 698 MovieClip {friendsColorCon}Used by:703
Symbol 699 GraphicUsed by:703
Symbol 700 TextUses:7Used by:703
Symbol 701 TextUses:7Used by:703
Symbol 702 MovieClipUses:504Used by:703
Symbol 703 MovieClip {colorChooser_mc}Uses:699 700 701 529 523 527 702 698 520 697 691Used by:739
Symbol 704 GraphicUsed by:705
Symbol 705 MovieClip {rightnail_thumb}Uses:704 178 621Used by:738
Symbol 706 GraphicUsed by:707
Symbol 707 MovieClip {rightnail_index}Uses:706 178 617Used by:738
Symbol 708 GraphicUsed by:709
Symbol 709 MovieClip {rightnail_middle}Uses:708 178 613Used by:738
Symbol 710 GraphicUsed by:711
Symbol 711 MovieClip {rightnail_ring}Uses:710 178 609Used by:738
Symbol 712 GraphicUsed by:713
Symbol 713 MovieClip {rightnail_pinky}Uses:712 178 605Used by:738
Symbol 714 GraphicUsed by:715
Symbol 715 MovieClip {lefttoe1}Uses:714 178 571Used by:724
Symbol 716 GraphicUsed by:717
Symbol 717 MovieClip {lefttoe2}Uses:716 178 567Used by:724
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClip {lefttoe3}Uses:718 178 562Used by:724
Symbol 720 GraphicUsed by:721
Symbol 721 MovieClip {lefttoe4}Uses:720 178 557Used by:724
Symbol 722 GraphicUsed by:723
Symbol 723 MovieClip {lefttoe5}Uses:722 178 552Used by:724
Symbol 724 MovieClip {leftfoot}Uses:547 548 723 721 719 717 715 574Used by:739
Symbol 725 GraphicUsed by:726
Symbol 726 MovieClip {righttoe1}Uses:725 178 597Used by:736
Symbol 727 GraphicUsed by:728
Symbol 728 MovieClip {righttoe2}Uses:727 178 593Used by:736
Symbol 729 GraphicUsed by:730
Symbol 730 MovieClip {righttoe3}Uses:729 178 589Used by:736
Symbol 731 GraphicUsed by:732
Symbol 732 MovieClip {righttoe4}Uses:731 178 585Used by:736
Symbol 733 GraphicUsed by:734
Symbol 734 MovieClip {righttoe5}Uses:733 178 581Used by:736
Symbol 735 GraphicUsed by:736
Symbol 736 MovieClip {rightfoot}Uses:577 735 734 732 730 728 726 600Used by:739
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClip {main_fla.righthand_209}Uses:737 713 711 709 707 705Used by:739
Symbol 739 MovieClip {phase_paint}Uses:736 724 738 669 671 665 646 677 703 683Used by:Timeline
Symbol 740 GraphicUsed by:743
Symbol 741 GraphicUsed by:742
Symbol 742 MovieClipUses:741Used by:743
Symbol 743 MovieClip {main_fla.wheelDrop_mc_193}Uses:740 742Used by:746
Symbol 744 FontUsed by:745 840 841 842
Symbol 745 EditableTextUses:744Used by:746
Symbol 746 MovieClip {drop_w_number_mc}Uses:743 745Used by:748 749
Symbol 747 TextUses:687Used by:748
Symbol 748 MovieClip {equation_double_mc}Uses:746 747Used by:750
Symbol 749 MovieClip {equation_single_mc}Uses:746Used by:750
Symbol 750 MovieClip {equation_mc}Uses:749 748Used by:765
Symbol 751 GraphicUsed by:754
Symbol 752 GraphicUsed by:754
Symbol 753 GraphicUsed by:754
Symbol 754 MovieClip {smallDownBtn_mc}Uses:751 752 753Used by:765
Symbol 755 GraphicUsed by:758
Symbol 756 GraphicUsed by:758
Symbol 757 GraphicUsed by:758
Symbol 758 MovieClip {smallUpBtn_mc}Uses:755 756 757Used by:765
Symbol 759 GraphicUsed by:765
Symbol 760 GraphicUsed by:761
Symbol 761 MovieClipUses:760Used by:763
Symbol 762 GraphicUsed by:763
Symbol 763 MovieClip {main_fla.paintColorSwatch_mc_188}Uses:761 762Used by:765
Symbol 764 GraphicUsed by:765
Symbol 765 MovieClip {colorWheel_2_mc}Uses:759 758 754 763 764 750Used by:766
Symbol 766 MovieClip {colorwheel_holder_mc}Uses:765Used by:767
Symbol 767 MovieClip {phase_color_mix}Uses:766Used by:Timeline
Symbol 768 GraphicUsed by:782 783
Symbol 769 GraphicUsed by:775
Symbol 770 ShapeTweeningUsed by:775
Symbol 771 GraphicUsed by:775
Symbol 772 GraphicUsed by:773
Symbol 773 MovieClipUses:772Used by:775
Symbol 774 GraphicUsed by:775
Symbol 775 MovieClipUses:769 770 771 773 774Used by:782 783
Symbol 776 GraphicUsed by:781
Symbol 777 GraphicUsed by:781
Symbol 778 GraphicUsed by:781
Symbol 779 GraphicUsed by:781
Symbol 780 GraphicUsed by:781
Symbol 781 MovieClipUses:776 777 778 779 780Used by:782 783
Symbol 782 MovieClip {phase_dryer_challenge_mc}Uses:537 768 775 781Used by:Timeline
Symbol 783 MovieClip {phase_dryer_mc}Uses:601 575 537 623 768 775 781Used by:Timeline
Symbol 784 GraphicUsed by:786
Symbol 785 GraphicUsed by:786
Symbol 786 MovieClip {polaroidChallenge_mc}Uses:784 435 537 785Used by:790
Symbol 787 GraphicUsed by:789
Symbol 788 GraphicUsed by:789
Symbol 789 MovieClip {polaroidGoal_mccopy}Uses:787 435 273 788Used by:790
Symbol 790 MovieClip {polaroidsHolderChallenge_mc}Uses:789 786Used by:809
Symbol 791 EditableTextUses:7 230 363 687Used by:802
Symbol 792 EditableTextUses:7 230 363 687Used by:802
Symbol 793 EditableTextUses:7 230 363 687Used by:802
Symbol 794 EditableTextUses:7 230 363 687Used by:802
Symbol 795 EditableTextUses:7 230 363 687Used by:802
Symbol 796 EditableTextUses:7 230 363 687Used by:802
Symbol 797 EditableTextUses:7 230 363 687Used by:802
Symbol 798 EditableTextUses:7 230 363 687Used by:802
Symbol 799 EditableTextUses:7 230 363 687Used by:802
Symbol 800 EditableTextUses:228Used by:802
Symbol 801 GraphicUsed by:802
Symbol 802 MovieClip {resultsText}Uses:791 792 793 794 795 796 797 798 799 800 801Used by:805
Symbol 803 GraphicUsed by:805
Symbol 804 GraphicUsed by:805
Symbol 805 MovieClip {resultsChallenge_mc}Uses:802 803 804Used by:809
Symbol 806 GraphicUses:443Used by:809 814
Symbol 807 MovieClip {congrats_fading_mc}Uses:449Used by:809 817
Symbol 808 MovieClip {bottle_fading_mc}Uses:677Used by:809 817
Symbol 809 MovieClip {phase_conclusion_challenge_mc}Uses:806 805 790 807 808Used by:Timeline
Symbol 810 MovieClip {polaroid4_mc}Uses:434 435 623Used by:815
Symbol 811 MovieClip {polaroid3_mc}Uses:434 435 537Used by:815
Symbol 812 MovieClip {polaroid2_mc}Uses:434 435 601Used by:815
Symbol 813 MovieClip {polaroid1_mc}Uses:434 435 575Used by:815
Symbol 814 MovieClipUses:806Used by:815
Symbol 815 MovieClip {Polaroids_mc}Uses:814 813 812 811 810Used by:817
Symbol 816 GraphicUses:443Used by:817
Symbol 817 MovieClip {phase_conclusion}Uses:816 815 808 807Used by:Timeline
Symbol 818 MovieClip {phase_add_glitter}Used by:Timeline
Symbol 819 GraphicUsed by:823
Symbol 820 ShapeTweeningUsed by:823
Symbol 821 GraphicUsed by:823
Symbol 822 GraphicUsed by:823
Symbol 823 MovieClipUses:819 820 821 822 504Used by:824
Symbol 824 MovieClip {phase_mixer}Uses:823Used by:Timeline
Symbol 825 GraphicUsed by:831
Symbol 826 GraphicUsed by:827
Symbol 827 MovieClipUses:826Used by:829
Symbol 828 GraphicUsed by:829
Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}Uses:827 828Used by:831 834 989 993
Symbol 830 GraphicUsed by:831
Symbol 831 MovieClip {L_paintArrow_mc}Uses:825 829 830Used by:993
Symbol 832 GraphicUsed by:834
Symbol 833 GraphicUsed by:834
Symbol 834 MovieClip {R_paintArrow_mc}Uses:832 829 833Used by:993
Symbol 835 GraphicUsed by:838
Symbol 836 GraphicUsed by:837
Symbol 837 MovieClipUses:836Used by:838
Symbol 838 MovieClip {wheelDrop_mc}Uses:835 837Used by:843
Symbol 839 GraphicUsed by:843
Symbol 840 EditableTextUses:744Used by:843
Symbol 841 EditableTextUses:744Used by:843
Symbol 842 EditableTextUses:744Used by:843
Symbol 843 MovieClip {dropCounter_mc}Uses:839 838 840 841 842Used by:993
Symbol 844 GraphicUsed by:845
Symbol 845 MovieClip {shadows_mix_station}Uses:844Used by:993
Symbol 846 GraphicUsed by:847
Symbol 847 MovieClip {shadows_sparkle_station}Uses:846Used by:993
Symbol 848 GraphicUsed by:849
Symbol 849 MovieClip {shadows_dye_station}Uses:848Used by:993
Symbol 850 GraphicUsed by:855
Symbol 851 GraphicUsed by:855
Symbol 852 GraphicUsed by:855
Symbol 853 GraphicUsed by:855
Symbol 854 GraphicUsed by:855
Symbol 855 MovieClip {anim_sparkle_station_leversilver}Uses:850 851 852 853 854Used by:865
Symbol 856 GraphicUsed by:861
Symbol 857 GraphicUsed by:861
Symbol 858 GraphicUsed by:861
Symbol 859 GraphicUsed by:861
Symbol 860 GraphicUsed by:861
Symbol 861 MovieClip {anim_sparkle_station_levergold}Uses:856 857 858 859 860Used by:865
Symbol 862 GraphicUsed by:863
Symbol 863 MovieClipUses:862Used by:865 918
Symbol 864 GraphicUsed by:865
Symbol 865 MovieClip {glitter_station}Uses:863 864 861 855Used by:993
Symbol 866 GraphicUsed by:872
Symbol 867 GraphicUsed by:872
Symbol 868 GraphicUsed by:872
Symbol 869 GraphicUsed by:872
Symbol 870 GraphicUsed by:872
Symbol 871 GraphicUsed by:872
Symbol 872 MovieClip {anim_dye_station_lever}Uses:866 867 868 869 870 871Used by:918
Symbol 873 GraphicUsed by:874
Symbol 874 MovieClipUses:873Used by:918
Symbol 875 GraphicUsed by:918
Symbol 876 GraphicUsed by:918
Symbol 877 GraphicUsed by:918
Symbol 878 GraphicUsed by:918
Symbol 879 GraphicUsed by:918
Symbol 880 GraphicUsed by:918
Symbol 881 GraphicUsed by:918
Symbol 882 GraphicUsed by:918
Symbol 883 GraphicUsed by:918
Symbol 884 GraphicUsed by:918
Symbol 885 GraphicUsed by:918
Symbol 886 GraphicUsed by:918
Symbol 887 GraphicUsed by:918
Symbol 888 GraphicUsed by:918
Symbol 889 GraphicUsed by:918
Symbol 890 GraphicUsed by:918
Symbol 891 GraphicUsed by:918
Symbol 892 GraphicUsed by:918
Symbol 893 GraphicUsed by:918
Symbol 894 GraphicUsed by:918
Symbol 895 GraphicUsed by:918
Symbol 896 GraphicUsed by:918
Symbol 897 GraphicUsed by:918
Symbol 898 GraphicUsed by:918
Symbol 899 GraphicUsed by:918
Symbol 900 GraphicUsed by:918
Symbol 901 GraphicUsed by:918
Symbol 902 GraphicUsed by:918
Symbol 903 GraphicUsed by:918
Symbol 904 GraphicUsed by:918
Symbol 905 GraphicUsed by:918
Symbol 906 GraphicUsed by:918
Symbol 907 GraphicUsed by:918
Symbol 908 GraphicUsed by:918
Symbol 909 GraphicUsed by:918
Symbol 910 GraphicUsed by:918
Symbol 911 GraphicUsed by:918
Symbol 912 GraphicUsed by:918
Symbol 913 GraphicUsed by:918
Symbol 914 GraphicUsed by:918
Symbol 915 GraphicUsed by:918
Symbol 916 GraphicUsed by:918
Symbol 917 GraphicUsed by:918
Symbol 918 MovieClip {anim_dye_station}Uses:874 863 875 876 872 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917Used by:993
Symbol 919 GraphicUsed by:926
Symbol 920 GraphicUsed by:926
Symbol 921 GraphicUsed by:926
Symbol 922 GraphicUsed by:926
Symbol 923 GraphicUsed by:926
Symbol 924 GraphicUsed by:926
Symbol 925 GraphicUsed by:926 936
Symbol 926 MovieClip {glitter_splash_anim}Uses:919 920 921 922 923 924 925Used by:950
Symbol 927 GraphicUsed by:936
Symbol 928 GraphicUsed by:936
Symbol 929 GraphicUsed by:936
Symbol 930 GraphicUsed by:936
Symbol 931 GraphicUsed by:936
Symbol 932 GraphicUsed by:936
Symbol 933 GraphicUsed by:936
Symbol 934 GraphicUsed by:936
Symbol 935 GraphicUsed by:936
Symbol 936 MovieClip {dye_splash_anim}Uses:927 928 929 930 931 932 933 934 935 925Used by:950
Symbol 937 GraphicUsed by:938
Symbol 938 MovieClip {nail_polish_drop}Uses:937Used by:941
Symbol 939 GraphicUsed by:940
Symbol 940 MovieClipUses:939Used by:941
Symbol 941 MovieClip {nail_polish_anim}Uses:938 940Used by:950
Symbol 942 GraphicUsed by:943
Symbol 943 MovieClipUses:942Used by:950
Symbol 944 GraphicUsed by:950
Symbol 945 GraphicUsed by:946
Symbol 946 MovieClipUses:945Used by:950
Symbol 947 GraphicUsed by:948
Symbol 948 MovieClipUses:947Used by:950
Symbol 949 GraphicUsed by:950
Symbol 950 MovieClip {nail_polish_bottle}Uses:943 944 941 119 936 926 541 118 946 948 949Used by:993
Symbol 951 GraphicUsed by:952
Symbol 952 MovieClip {glittermask_mc}Uses:951Used by:993
Symbol 953 GraphicUsed by:954
Symbol 954 MovieClip {colormask_mc}Uses:953Used by:993
Symbol 955 GraphicUsed by:956
Symbol 956 MovieClipUses:955Used by:957
Symbol 957 MovieClip {anim_mixer_station_cover}Uses:956Used by:993
Symbol 958 GraphicUsed by:959
Symbol 959 MovieClipUses:958Used by:960
Symbol 960 MovieClip {animmixer_station_cover2}Uses:959Used by:993
Symbol 961 GraphicUsed by:971 985
Symbol 962 GraphicUsed by:971
Symbol 963 GraphicUsed by:971
Symbol 964 GraphicUsed by:971
Symbol 965 GraphicUsed by:971
Symbol 966 GraphicUsed by:971
Symbol 967 GraphicUsed by:971
Symbol 968 GraphicUsed by:971
Symbol 969 GraphicUsed by:971
Symbol 970 GraphicUsed by:971
Symbol 971 MovieClip {anim_mixer_shake}Uses:961 962 963 964 965 966 967 968 969 970Used by:993
Symbol 972 GraphicUsed by:975
Symbol 973 GraphicUsed by:975
Symbol 974 GraphicUsed by:975
Symbol 975 MovieClip {anim_mixer_switch}Uses:972 973 974Used by:993
Symbol 976 GraphicUsed by:977
Symbol 977 MovieClip {dryerCover_mc}Uses:976Used by:993
Symbol 978 GraphicUsed by:980
Symbol 979 GraphicUsed by:980
Symbol 980 MovieClip {anim_dryer_station_button}Uses:978 979Used by:993
Symbol 981 BitmapUsed by:982
Symbol 982 GraphicUses:981Used by:993
Symbol 983 GraphicUsed by:993
Symbol 984 GraphicUsed by:993
Symbol 985 MovieClipUses:961Used by:993
Symbol 986 GraphicUsed by:993
Symbol 987 GraphicUsed by:993
Symbol 988 GraphicUsed by:993
Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48}Uses:829Used by:993
Symbol 990 GraphicUsed by:991
Symbol 991 MovieClipUses:990Used by:992
Symbol 992 MovieClipUses:991Used by:993
Symbol 993 MovieClip {spa_mc}Uses:982 980 977 983 975 984 985 971 986 960 957 987 954 988 952 950 918 865 849 847 845 843 834 831 829 989 992Used by:994
Symbol 994 MovieClip {spa_item_container_mc}Uses:993Used by:Timeline
Symbol 995 MovieClip {timer_mc}Used by:998
Symbol 996 MovieClip {numberDisplay_mc}Used by:997
Symbol 997 MovieClip {pointsCapsule_mc}Uses:996Used by:998
Symbol 998 MovieClip {gameUI_mc}Uses:997 995Used by:Timeline

Instance Names

"gameUI_mc"Frame 1Symbol 998 MovieClip {gameUI_mc}
"nailSpaItemContainer_mc"Frame 1Symbol 994 MovieClip {spa_item_container_mc}
"phase_mixer_mc"Frame 1Symbol 824 MovieClip {phase_mixer}
"phase_add_glitter_mc"Frame 1Symbol 818 MovieClip {phase_add_glitter}
"phase_conclusion_mc"Frame 1Symbol 817 MovieClip {phase_conclusion}
"phase_conclusion_challenge_mc"Frame 1Symbol 809 MovieClip {phase_conclusion_challenge_mc}
"phase_dryer_mc"Frame 1Symbol 783 MovieClip {phase_dryer_mc}
"phase_dryer_challenge_mc"Frame 1Symbol 782 MovieClip {phase_dryer_challenge_mc}
"phase_color_mix_mc"Frame 1Symbol 767 MovieClip {phase_color_mix}
"phase_paint_mc"Frame 1Symbol 739 MovieClip {phase_paint}
"phase_paint_challenge_mc"Frame 1Symbol 684 MovieClip {phase_paint_challenge_mc}
"phase_add_decal_mc"Frame 1Symbol 666 MovieClip {phase_add_decal}
"phase_add_decal_challenge_mc"Frame 1Symbol 545 MovieClip {phase_add_decal_challenge_mc}
"phase_intro_mc"Frame 1Symbol 514 MovieClip {phase_intro}
"phase_view_goal_mc"Frame 1Symbol 467 MovieClip {phase_view_goal_mc}
"phase_loading_mc"Frame 1Symbol 456 MovieClip {phase_color_idea_pick}
"navigation_mc"Frame 1Symbol 421 MovieClip {navigation_mc}
"error_txt"Symbol 9 MovieClip {main_fla.stfError_mc_384} Frame 1Symbol 8 EditableText
"bg_mc"Symbol 23 MovieClip {sendFormBtn_mc} Frame 1Symbol 13 MovieClip
"bg_mc"Symbol 26 MovieClip {cancelFormBtn_mc} Frame 1Symbol 13 MovieClip
"label_txt"Symbol 35 MovieClip {main_fla.dropDownItemLabel_mc_358} Frame 1Symbol 34 EditableText
"label_mc"Symbol 44 MovieClip {dropDownBaseItem_mc} Frame 1Symbol 35 MovieClip {main_fla.dropDownItemLabel_mc_358}
"track_mc"Symbol 54 MovieClip {scrollbar_mc} Frame 1Symbol 50 MovieClip
"up_mc"Symbol 54 MovieClip {scrollbar_mc} Frame 1Symbol 51 MovieClip {scrollbarBtn_mc}
"down_mc"Symbol 54 MovieClip {scrollbar_mc} Frame 1Symbol 51 MovieClip {scrollbarBtn_mc}
"thumb_mc"Symbol 54 MovieClip {scrollbar_mc} Frame 1Symbol 53 MovieClip {scrollbarThumb_mc}
"base_mc"Symbol 59 MovieClip {dropDown_mc} Frame 1Symbol 44 MovieClip {dropDownBaseItem_mc}
"items_mc"Symbol 59 MovieClip {dropDown_mc} Frame 1Symbol 45 MovieClip
"scrollmask_mc"Symbol 59 MovieClip {dropDown_mc} Frame 1Symbol 47 MovieClip
"scrollbar_mc"Symbol 59 MovieClip {dropDown_mc} Frame 1Symbol 54 MovieClip {scrollbar_mc}
"img_mc"Symbol 61 MovieClip {main_fla.polishImg_mc_387} Frame 1Symbol 45 MovieClip
"error_mc"Symbol 62 MovieClip {submitForm_mc} Frame 1Symbol 9 MovieClip {main_fla.stfError_mc_384}
"sendBtn_mc"Symbol 62 MovieClip {submitForm_mc} Frame 1Symbol 23 MovieClip {sendFormBtn_mc}
"cancelBtn_mc"Symbol 62 MovieClip {submitForm_mc} Frame 1Symbol 26 MovieClip {cancelFormBtn_mc}
"dropdown_mc"Symbol 62 MovieClip {submitForm_mc} Frame 1Symbol 59 MovieClip {dropDown_mc}
"polish_mc"Symbol 62 MovieClip {submitForm_mc} Frame 1Symbol 61 MovieClip {main_fla.polishImg_mc_387}
"form_mc"Symbol 64 MovieClip {stf_mc} Frame 1Symbol 62 MovieClip {submitForm_mc}
"label_mc"Symbol 73 MovieClip {com.aga.nailspa.game.controls.dropdown.DropDownItem} Frame 1Symbol 35 MovieClip {main_fla.dropDownItemLabel_mc_358}
"username_txt"Symbol 77 MovieClip {main_fla.usernameBubble_mc_354} Frame 1Symbol 75 EditableText
"name_mc"Symbol 78 MovieClip {usernameTooltip_mc} Frame 1Symbol 77 MovieClip {main_fla.usernameBubble_mc_354}
"sparkle_layer_9_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 92 MovieClip
"sparkle_layer_8_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 94 MovieClip
"sparkle_layer_7_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 96 MovieClip
"sparkle_layer_6_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 98 MovieClip
"sparkle_layer_5_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 100 MovieClip
"sparkle_layer_4_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 102 MovieClip
"sparkle_layer_3_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 104 MovieClip
"sparkle_layer_2_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 106 MovieClip
"sparkle_layer_1_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 108 MovieClip
"sparkle_layer_0_mc"Symbol 111 MovieClip {sparkletexture} Frame 1Symbol 110 MovieClip
"color_mc"Symbol 113 MovieClip {bottle_mixed_mc} Frame 1Symbol 88 MovieClip
"nail_color_mc"Symbol 113 MovieClip {bottle_mixed_mc} Frame 1Symbol 90 MovieClip {nail_color_mc}
"sparkle_mc"Symbol 113 MovieClip {bottle_mixed_mc} Frame 1Symbol 111 MovieClip {sparkletexture}
"drip_mc"Symbol 123 MovieClip {bottle} Frame 1Symbol 116 MovieClip {drip_mc}
"mask_mc"Symbol 123 MovieClip {bottle} Frame 1Symbol 118 MovieClip {Mask}
"color_mc"Symbol 123 MovieClip {bottle} Frame 1Symbol 88 MovieClip
"glitter_holder_mc"Symbol 123 MovieClip {bottle} Frame 1Symbol 119 MovieClip {glitter_holder_mc}
"paint_full_text"Symbol 123 MovieClip {bottle} Frame 1Symbol 121 EditableText
"glitter_full_text"Symbol 123 MovieClip {bottle} Frame 1Symbol 122 EditableText
"btnname_mc"Symbol 151 MovieClip {gamebtn_mc} Frame 1Symbol 150 EditableText
"decal8_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 156 MovieClip {decal8}
"decal7_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 158 MovieClip {decal7}
"decal6_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 160 MovieClip {decal6}
"decal5_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 162 MovieClip {decal5}
"decal4_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 164 MovieClip {decal4}
"decal3_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 166 MovieClip {decal3}
"decal2_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 168 MovieClip {decal2}
"decal1_mc"Symbol 171 MovieClip {decal_set_mc} Frame 1Symbol 170 MovieClip {decal1}
"nail_painted_mc"Symbol 172 MovieClip {decal_masked_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 172 MovieClip {decal_masked_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 175 MovieClip {nail_decal_mc} Frame 1Symbol 172 MovieClip {decal_masked_mc}
"shape_mask_mc"Symbol 175 MovieClip {nail_decal_mc} Frame 1Symbol 174 MovieClip {shape_mask_mc}
"nail_color_mc"Symbol 176 MovieClip {paint_masked_mc} Frame 1Symbol 90 MovieClip {nail_color_mc}
"sparkle_mc"Symbol 176 MovieClip {paint_masked_mc} Frame 1Symbol 111 MovieClip {sparkletexture}
"nail_natural_mc"Symbol 178 MovieClip {nail_masked_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"paint_masked_mc"Symbol 178 MovieClip {nail_masked_mc} Frame 1Symbol 176 MovieClip {paint_masked_mc}
"nail_mask_mc"Symbol 178 MovieClip {nail_masked_mc} Frame 1Symbol 177 MovieClip {nail_mask_mc}
"nail_masked_mc"Symbol 179 MovieClip {nail_mc} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 179 MovieClip {nail_mc} Frame 1Symbol 174 MovieClip {shape_mask_mc}
"decal1_mc"Symbol 196 MovieClip {decal_select_mc} Frame 1Symbol 170 MovieClip {decal1}
"decal2_mc"Symbol 196 MovieClip {decal_select_mc} Frame 2Symbol 168 MovieClip {decal2}
"decal3_mc"Symbol 196 MovieClip {decal_select_mc} Frame 3Symbol 166 MovieClip {decal3}
"decal4_mc"Symbol 196 MovieClip {decal_select_mc} Frame 4Symbol 164 MovieClip {decal4}
"decal5_mc"Symbol 196 MovieClip {decal_select_mc} Frame 5Symbol 162 MovieClip {decal5}
"decal6_mc"Symbol 196 MovieClip {decal_select_mc} Frame 6Symbol 160 MovieClip {decal6}
"decal7_mc"Symbol 196 MovieClip {decal_select_mc} Frame 7Symbol 158 MovieClip {decal7}
"decal8_mc"Symbol 196 MovieClip {decal_select_mc} Frame 8Symbol 156 MovieClip {decal8}
"switch_button_mc"Symbol 206 MovieClip {switch_mc} Frame 1Symbol 204 MovieClip {switch_button_mc}
"highlight_mc"Symbol 214 MovieClip {button_colorwheel_mc} Frame 1Symbol 213 MovieClip
"highlight_mc"Symbol 218 MovieClip {button_colorcard_mc} Frame 1Symbol 217 MovieClip
"txt"Symbol 226 MovieClip {drop_number_mc} Frame 1Symbol 225 EditableText
"txt"Symbol 245 MovieClip {gotItBtn_mc} Frame 1Symbol 236 EditableText
"nail_masked_mc"Symbol 251 MovieClip {leftnail_pinky} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 251 MovieClip {leftnail_pinky} Frame 1Symbol 250 MovieClip {leftnail_pinky_mask}
"nail_masked_mc"Symbol 255 MovieClip {leftnail_ring} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 255 MovieClip {leftnail_ring} Frame 1Symbol 254 MovieClip {leftnail_ring_mask}
"nail_masked_mc"Symbol 259 MovieClip {leftnail_middle} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 259 MovieClip {leftnail_middle} Frame 1Symbol 258 MovieClip {leftnail_middle_mask}
"nail_masked_mc"Symbol 263 MovieClip {leftnail_index} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 263 MovieClip {leftnail_index} Frame 1Symbol 262 MovieClip {leftnail_index_mask}
"nail_masked_mc"Symbol 267 MovieClip {leftnail_thumb} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 267 MovieClip {leftnail_thumb} Frame 1Symbol 266 MovieClip {leftnail_thumb_mask}
"nail_painted_mc"Symbol 268 MovieClip {decal_masked_nail0_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 268 MovieClip {decal_masked_nail0_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"nail_painted_mc"Symbol 269 MovieClip {decal_masked_nail1_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 269 MovieClip {decal_masked_nail1_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"nail_painted_mc"Symbol 270 MovieClip {decal_masked_nail2_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 270 MovieClip {decal_masked_nail2_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"nail_painted_mc"Symbol 271 MovieClip {decal_masked_nail3_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 271 MovieClip {decal_masked_nail3_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"nail_painted_mc"Symbol 272 MovieClip {decal_masked_nail4_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 272 MovieClip {decal_masked_nail4_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"nail_0_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 251 MovieClip {leftnail_pinky}
"nail_1_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 255 MovieClip {leftnail_ring}
"nail_2_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 259 MovieClip {leftnail_middle}
"nail_3_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 263 MovieClip {leftnail_index}
"nail_4_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 267 MovieClip {leftnail_thumb}
"decal_0_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 268 MovieClip {decal_masked_nail0_mc}
"decal_1_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 269 MovieClip {decal_masked_nail1_mc}
"decal_2_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 270 MovieClip {decal_masked_nail2_mc}
"decal_3_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 271 MovieClip {decal_masked_nail3_mc}
"decal_4_mc"Symbol 273 MovieClip {lefthand_goal} Frame 1Symbol 272 MovieClip {decal_masked_nail4_mc}
"title_txt"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 229 EditableText
"paragraph_txt"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 231 EditableText
"hintTitle_txt"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 232 EditableText
"hintParagraph_txt"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 233 EditableText
"thanks_btn"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 245 MovieClip {gotItBtn_mc}
"lefthand_mc"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 273 MovieClip {lefthand_goal}
"close_btn"Symbol 278 MovieClip {GoalPopUp_mc} Frame 1Symbol 277 MovieClip {closeBtn_mc}
"goalpopup_mc"Symbol 279 MovieClip {goalpopup_animated_mc} Frame 1Symbol 278 MovieClip {GoalPopUp_mc}
"txt"Symbol 289 MovieClip {goalBtn_mc} Frame 1Symbol 286 EditableText
"txt"Symbol 297 MovieClip {BigBtn_mc} Frame 1Symbol 293 EditableText
"about_btn"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1Symbol 297 MovieClip {BigBtn_mc}
"mynails_btn"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1Symbol 297 MovieClip {BigBtn_mc}
"challenge_btn"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1Symbol 297 MovieClip {BigBtn_mc}
"freeplay_btn"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1Symbol 297 MovieClip {BigBtn_mc}
"soundBtn2_mc"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1Symbol 300 MovieClip {SoundBtn_mc}
"txt"Symbol 309 MovieClip {NextSmallBtn_mc} Frame 1Symbol 305 EditableText
"nav_home_mc"Symbol 316 MovieClip {playHomeBtnCorner_mc} Frame 1Symbol 313 MovieClip {Home_mc}
"txt"Symbol 321 MovieClip {backBtn_mc} Frame 1Symbol 317 EditableText
"txt"Symbol 329 MovieClip {NextBtn_mc} Frame 1Symbol 325 EditableText
"txt"Symbol 351 MovieClip {clearBtn_mc} Frame 1Symbol 348 EditableText
"timer_txt"Symbol 356 MovieClip {main_fla.HomeChallengeContainer_mc_300} Frame 1Symbol 354 EditableText
"goal_btn"Symbol 356 MovieClip {main_fla.HomeChallengeContainer_mc_300} Frame 1Symbol 289 MovieClip {goalBtn_mc}
"nav_home_challenge_mc"Symbol 356 MovieClip {main_fla.HomeChallengeContainer_mc_300} Frame 1Symbol 313 MovieClip {Home_mc}
"txt"Symbol 366 MovieClip {main_fla.TutorialText_306} Frame 1Symbol 364 EditableText
"title_txt"Symbol 366 MovieClip {main_fla.TutorialText_306} Frame 1Symbol 365 EditableText
"minimize_btn"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 1Symbol 284 MovieClip {minimize_mc}
"soundBtn_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 1Symbol 300 MovieClip {SoundBtn_mc}
"help_btn"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 1Symbol 281 MovieClip {question_mc}
"tutorialtext_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 1Symbol 366 MovieClip {main_fla.TutorialText_306}
"action_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 7Symbol 383 MovieClip
"action_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 7Symbol 387 MovieClip
"action_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 7Symbol 389 MovieClip
"action_mc"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 7Symbol 398 MovieClip
"keep_btn"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 347 MovieClip {KeepBtn_mc}
"gift_btn"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 344 MovieClip {GiftBtn_mc}
"spark_btn"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 339 MovieClip {sparkCityBtn_mc}
"playagain_btn"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 334 MovieClip {PlayAgainBtn_mc}
"nav_next_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 329 MovieClip {NextBtn_mc}
"nav_back_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 321 MovieClip {backBtn_mc}
"nav_clear_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 351 MovieClip {clearBtn_mc}
"nav_home_container_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 316 MovieClip {playHomeBtnCorner_mc}
"nav_next_small_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 309 MovieClip {NextSmallBtn_mc}
"menuButtons_fading_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 301 MovieClip {menuButtons_fading_mc}
"nav_home_challenge_container_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 356 MovieClip {main_fla.HomeChallengeContainer_mc_300}
"tutorial_container_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 420 MovieClip {main_fla.tipsAnim_mc_302}
"goalpopup_animated_mc"Symbol 421 MovieClip {navigation_mc} Frame 1Symbol 279 MovieClip {goalpopup_animated_mc}
"title_txt"Symbol 425 MovieClip {AboutSpaPopUp_mc} Frame 1Symbol 423 EditableText
"txt"Symbol 425 MovieClip {AboutSpaPopUp_mc} Frame 1Symbol 424 EditableText
"thanks_btn"Symbol 425 MovieClip {AboutSpaPopUp_mc} Frame 1Symbol 245 MovieClip {gotItBtn_mc}
"close_btn"Symbol 425 MovieClip {AboutSpaPopUp_mc} Frame 1Symbol 277 MovieClip {closeBtn_mc}
"aboutspapopup_mc"Symbol 430 MovieClip {phase_aboutspa_mc} Frame 1Symbol 425 MovieClip {AboutSpaPopUp_mc}
"aboutspa_mc"Symbol 431 MovieClip {aboutspa_animated_mc} Frame 1Symbol 430 MovieClip {phase_aboutspa_mc}
"paragraph_txt"Symbol 448 MovieClip {CongratsTxt_mc} Frame 1Symbol 446 EditableText
"title_txt"Symbol 448 MovieClip {CongratsTxt_mc} Frame 1Symbol 447 EditableText
"congratsTxt_mc"Symbol 449 MovieClip {AnimCongrats_mc} Frame 1Symbol 448 MovieClip {CongratsTxt_mc}
"polaroids_blank_mc"Symbol 452 MovieClip {Mynails_mc} Frame 1Symbol 442 MovieClip {Polaroids_still_mc}
"animCongrats_mc"Symbol 452 MovieClip {Mynails_mc} Frame 1Symbol 449 MovieClip {AnimCongrats_mc}
"polaroids_holder_mc"Symbol 452 MovieClip {Mynails_mc} Frame 1Symbol 450 MovieClip {main_fla.Polaroids_holder_mc_273}
"titleBG_mc"Symbol 452 MovieClip {Mynails_mc} Frame 1Symbol 433 MovieClip {titleBG_mc}
"thanks_btn"Symbol 452 MovieClip {Mynails_mc} Frame 1Symbol 351 MovieClip {clearBtn_mc}
"mynails_mc"Symbol 453 MovieClip {mynails_animated_mc} Frame 1Symbol 452 MovieClip {Mynails_mc}
"mynails_animated_mc"Symbol 456 MovieClip {phase_color_idea_pick} Frame 1Symbol 453 MovieClip {mynails_animated_mc}
"aboutspa_animated_mc"Symbol 456 MovieClip {phase_color_idea_pick} Frame 1Symbol 431 MovieClip {aboutspa_animated_mc}
"nail_color_mc"Symbol 462 MovieClip {color_option_mc} Frame 1Symbol 461 MovieClip {nail_color_mc2}
"sparkle_mc"Symbol 462 MovieClip {color_option_mc} Frame 1Symbol 111 MovieClip {sparkletexture}
"color_option_mc"Symbol 466 MovieClip {paintColor_mc} Frame 1Symbol 462 MovieClip {color_option_mc}
"chooser_colormask_mc"Symbol 466 MovieClip {paintColor_mc} Frame 1Symbol 460 MovieClip {chooser_colormask_mc}
"color_inactive_mc"Symbol 466 MovieClip {paintColor_mc} Frame 1Symbol 465 MovieClip
"color_select_mc"Symbol 466 MovieClip {paintColor_mc} Frame 1Symbol 458 MovieClip {color_select_mc}
"lefthand_mc"Symbol 467 MovieClip {phase_view_goal_mc} Frame 1Symbol 273 MovieClip {lefthand_goal}
"action_mc"Symbol 500 MovieClip {main_fla.Host_SW_250} Frame 1Symbol 471 MovieClip
"action_mc"Symbol 500 MovieClip {main_fla.Host_SW_250} Frame 1Symbol 473 MovieClip
"action_mc"Symbol 500 MovieClip {main_fla.Host_SW_250} Frame 1Symbol 474 MovieClip
"action_mc"Symbol 500 MovieClip {main_fla.Host_SW_250} Frame 1Symbol 479 MovieClip
"host_mc"Symbol 511 MovieClip {WelcomeScreen_mc} Frame 1Symbol 500 MovieClip {main_fla.Host_SW_250}
"welcome_mc"Symbol 514 MovieClip {phase_intro} Frame 1Symbol 511 MovieClip {WelcomeScreen_mc}
"viewingCon"Symbol 530 MovieClip {decalChooser_mc} Frame 1Symbol 520 MovieClip {yourColorCon}
"downarrow_btn"Symbol 530 MovieClip {decalChooser_mc} Frame 1Symbol 523 MovieClip {chooserUpArrow_mc}
"uparrow_btn"Symbol 530 MovieClip {decalChooser_mc} Frame 1Symbol 527 MovieClip {chooserDownArrow_mc}
"decal_masked_mc"Symbol 532 MovieClip {leftnail_pinky_decal} Frame 1Symbol 268 MovieClip {decal_masked_nail0_mc}
"shape_mask_mc"Symbol 532 MovieClip {leftnail_pinky_decal} Frame 1Symbol 250 MovieClip {leftnail_pinky_mask}
"decal_masked_mc"Symbol 533 MovieClip {leftnail_ring_decal} Frame 1Symbol 269 MovieClip {decal_masked_nail1_mc}
"shape_mask_mc"Symbol 533 MovieClip {leftnail_ring_decal} Frame 1Symbol 254 MovieClip {leftnail_ring_mask}
"decal_masked_mc"Symbol 534 MovieClip {leftnail_middle_decal} Frame 1Symbol 270 MovieClip {decal_masked_nail2_mc}
"shape_mask_mc"Symbol 534 MovieClip {leftnail_middle_decal} Frame 1Symbol 258 MovieClip {leftnail_middle_mask}
"decal_masked_mc"Symbol 535 MovieClip {leftnail_index_decal} Frame 1Symbol 271 MovieClip {decal_masked_nail3_mc}
"shape_mask_mc"Symbol 535 MovieClip {leftnail_index_decal} Frame 1Symbol 262 MovieClip {leftnail_index_mask}
"decal_masked_mc"Symbol 536 MovieClip {leftnail_thumb_decal} Frame 1Symbol 272 MovieClip {decal_masked_nail4_mc}
"shape_mask_mc"Symbol 536 MovieClip {leftnail_thumb_decal} Frame 1Symbol 266 MovieClip {leftnail_thumb_mask}
"nail_0_mc"Symbol 537 MovieClip {lefthand_decal} Frame 1Symbol 532 MovieClip {leftnail_pinky_decal}
"nail_1_mc"Symbol 537 MovieClip {lefthand_decal} Frame 1Symbol 533 MovieClip {leftnail_ring_decal}
"nail_2_mc"Symbol 537 MovieClip {lefthand_decal} Frame 1Symbol 534 MovieClip {leftnail_middle_decal}
"nail_3_mc"Symbol 537 MovieClip {lefthand_decal} Frame 1Symbol 535 MovieClip {leftnail_index_decal}
"nail_4_mc"Symbol 537 MovieClip {lefthand_decal} Frame 1Symbol 536 MovieClip {leftnail_thumb_decal}
"lefthand_mc"Symbol 538 MovieClip {lefthand_decal_holder_mc} Frame 1Symbol 537 MovieClip {lefthand_decal}
"decal_set_mc"Symbol 544 MovieClip {decal_cursor_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"sparkle_mc"Symbol 544 MovieClip {decal_cursor_mc} Frame 1Symbol 541 MovieClip {main_fla.sparkle_anim_26}
"hit"Symbol 544 MovieClip {decal_cursor_mc} Frame 1Symbol 543 MovieClip
"decalChooser_mc"Symbol 545 MovieClip {phase_add_decal_challenge_mc} Frame 1Symbol 530 MovieClip {decalChooser_mc}
"lefthand_holder_mc"Symbol 545 MovieClip {phase_add_decal_challenge_mc} Frame 1Symbol 538 MovieClip {lefthand_decal_holder_mc}
"decal_cursor_mc"Symbol 545 MovieClip {phase_add_decal_challenge_mc} Frame 1Symbol 544 MovieClip {decal_cursor_mc}
"nail_painted_mc"Symbol 550 MovieClip {decal_masked_nail10_mc} Frame 1Symbol 549 MovieClip {nail_natural_10_mc}
"decal_set_mc"Symbol 550 MovieClip {decal_masked_nail10_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 553 MovieClip {lefttoe5_decal} Frame 1Symbol 550 MovieClip {decal_masked_nail10_mc}
"shape_mask_mc"Symbol 553 MovieClip {lefttoe5_decal} Frame 1Symbol 552 MovieClip {lefttoe5_mask}
"nail_painted_mc"Symbol 555 MovieClip {decal_masked_nail11_mc} Frame 1Symbol 554 MovieClip
"decal_set_mc"Symbol 555 MovieClip {decal_masked_nail11_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 558 MovieClip {lefttoe4_decal} Frame 1Symbol 555 MovieClip {decal_masked_nail11_mc}
"shape_mask_mc"Symbol 558 MovieClip {lefttoe4_decal} Frame 1Symbol 557 MovieClip {lefttoe4_mask}
"nail_painted_mc"Symbol 560 MovieClip {decal_masked_nail12_mc} Frame 1Symbol 559 MovieClip
"decal_set_mc"Symbol 560 MovieClip {decal_masked_nail12_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 563 MovieClip {lefttoe3_decal} Frame 1Symbol 560 MovieClip {decal_masked_nail12_mc}
"shape_mask_mc"Symbol 563 MovieClip {lefttoe3_decal} Frame 1Symbol 562 MovieClip {lefttoe3_mask}
"nail_painted_mc"Symbol 565 MovieClip {decal_masked_nail13_mc} Frame 1Symbol 564 MovieClip
"decal_set_mc"Symbol 565 MovieClip {decal_masked_nail13_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 568 MovieClip {lefttoe2_decal} Frame 1Symbol 565 MovieClip {decal_masked_nail13_mc}
"shape_mask_mc"Symbol 568 MovieClip {lefttoe2_decal} Frame 1Symbol 567 MovieClip {lefttoe2_mask}
"nail_painted_mc"Symbol 569 MovieClip {decal_masked_nail14_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 569 MovieClip {decal_masked_nail14_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 572 MovieClip {lefttoe1_decal} Frame 1Symbol 569 MovieClip {decal_masked_nail14_mc}
"shape_mask_mc"Symbol 572 MovieClip {lefttoe1_decal} Frame 1Symbol 571 MovieClip {lefttoe1_mask}
"toe_separator_bottom_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 547 MovieClip {toe_left_separator_bottom_mc}
"nail_10_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 553 MovieClip {lefttoe5_decal}
"nail_11_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 558 MovieClip {lefttoe4_decal}
"nail_12_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 563 MovieClip {lefttoe3_decal}
"nail_13_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 568 MovieClip {lefttoe2_decal}
"nail_14_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 572 MovieClip {lefttoe1_decal}
"toe_separator_top_mc"Symbol 575 MovieClip {leftfoot_decal} Frame 1Symbol 574 MovieClip {toe_left_separator_top_mc}
"nail_painted_mc"Symbol 579 MovieClip {decal_masked_nail19_mc} Frame 1Symbol 549 MovieClip {nail_natural_10_mc}
"decal_set_mc"Symbol 579 MovieClip {decal_masked_nail19_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 582 MovieClip {righttoe5_decal} Frame 1Symbol 579 MovieClip {decal_masked_nail19_mc}
"shape_mask_mc"Symbol 582 MovieClip {righttoe5_decal} Frame 1Symbol 581 MovieClip {righttoe5_mask}
"nail_painted_mc"Symbol 583 MovieClip {decal_masked_nail18_mc} Frame 1Symbol 554 MovieClip
"decal_set_mc"Symbol 583 MovieClip {decal_masked_nail18_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 586 MovieClip {righttoe4_decal} Frame 1Symbol 583 MovieClip {decal_masked_nail18_mc}
"shape_mask_mc"Symbol 586 MovieClip {righttoe4_decal} Frame 1Symbol 585 MovieClip {righttoe4_mask}
"nail_painted_mc"Symbol 587 MovieClip {decal_masked_nail17_mc} Frame 1Symbol 559 MovieClip
"decal_set_mc"Symbol 587 MovieClip {decal_masked_nail17_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 590 MovieClip {righttoe3_decal} Frame 1Symbol 587 MovieClip {decal_masked_nail17_mc}
"shape_mask_mc"Symbol 590 MovieClip {righttoe3_decal} Frame 1Symbol 589 MovieClip {righttoe3_mask}
"nail_painted_mc"Symbol 591 MovieClip {decal_masked_nail16_mc} Frame 1Symbol 564 MovieClip
"decal_set_mc"Symbol 591 MovieClip {decal_masked_nail16_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 594 MovieClip {righttoe2_decal} Frame 1Symbol 591 MovieClip {decal_masked_nail16_mc}
"shape_mask_mc"Symbol 594 MovieClip {righttoe2_decal} Frame 1Symbol 593 MovieClip {righttoe2_mask}
"nail_painted_mc"Symbol 595 MovieClip {decal_masked_nail15_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 595 MovieClip {decal_masked_nail15_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 598 MovieClip {righttoe1_decal} Frame 1Symbol 595 MovieClip {decal_masked_nail15_mc}
"shape_mask_mc"Symbol 598 MovieClip {righttoe1_decal} Frame 1Symbol 597 MovieClip {righttoe1_mask}
"toe_separator_bottom_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 577 MovieClip {toe_right_separator_bottom_mc}
"nail_19_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 582 MovieClip {righttoe5_decal}
"nail_18_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 586 MovieClip {righttoe4_decal}
"nail_17_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 590 MovieClip {righttoe3_decal}
"nail_16_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 594 MovieClip {righttoe2_decal}
"nail_15_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 598 MovieClip {righttoe1_decal}
"toe_separator_top_mc"Symbol 601 MovieClip {rightfoot_decal} Frame 1Symbol 600 MovieClip {toe_right_separator_top_mc}
"nail_painted_mc"Symbol 603 MovieClip {decal_masked_nail9_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 603 MovieClip {decal_masked_nail9_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 606 MovieClip {rightnail_pinky_decal} Frame 1Symbol 603 MovieClip {decal_masked_nail9_mc}
"shape_mask_mc"Symbol 606 MovieClip {rightnail_pinky_decal} Frame 1Symbol 605 MovieClip {rightnail_pinky_mask}
"nail_painted_mc"Symbol 607 MovieClip {decal_masked_nail8_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 607 MovieClip {decal_masked_nail8_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 610 MovieClip {rightnail_ring_decal} Frame 1Symbol 607 MovieClip {decal_masked_nail8_mc}
"shape_mask_mc"Symbol 610 MovieClip {rightnail_ring_decal} Frame 1Symbol 609 MovieClip {rightnail_ring_mask}
"nail_painted_mc"Symbol 611 MovieClip {decal_masked_nail7_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 611 MovieClip {decal_masked_nail7_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 614 MovieClip {rightnail_middle_decal} Frame 1Symbol 611 MovieClip {decal_masked_nail7_mc}
"shape_mask_mc"Symbol 614 MovieClip {rightnail_middle_decal} Frame 1Symbol 613 MovieClip {rightnail_middle_mask}
"nail_painted_mc"Symbol 615 MovieClip {decal_masked_nail6_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 615 MovieClip {decal_masked_nail6_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 618 MovieClip {rightnail_index_decal} Frame 1Symbol 615 MovieClip {decal_masked_nail6_mc}
"shape_mask_mc"Symbol 618 MovieClip {rightnail_index_decal} Frame 1Symbol 617 MovieClip {rightnail_index_mask}
"nail_painted_mc"Symbol 619 MovieClip {decal_masked_nail5_mc} Frame 1Symbol 154 MovieClip {nail_natural_mc}
"decal_set_mc"Symbol 619 MovieClip {decal_masked_nail5_mc} Frame 1Symbol 171 MovieClip {decal_set_mc}
"decal_masked_mc"Symbol 622 MovieClip {rightnail_thumb_decal} Frame 1Symbol 619 MovieClip {decal_masked_nail5_mc}
"shape_mask_mc"Symbol 622 MovieClip {rightnail_thumb_decal} Frame 1Symbol 621 MovieClip {rightnail_thumb_mask}
"nail_9_mc"Symbol 623 MovieClip {righthand_decal} Frame 1Symbol 606 MovieClip {rightnail_pinky_decal}
"nail_8_mc"Symbol 623 MovieClip {righthand_decal} Frame 1Symbol 610 MovieClip {rightnail_ring_decal}
"nail_7_mc"Symbol 623 MovieClip {righthand_decal} Frame 1Symbol 614 MovieClip {rightnail_middle_decal}
"nail_6_mc"Symbol 623 MovieClip {righthand_decal} Frame 1Symbol 618 MovieClip {rightnail_index_decal}
"nail_5_mc"Symbol 623 MovieClip {righthand_decal} Frame 1Symbol 622 MovieClip {rightnail_thumb_decal}
"rightFootSelector_mc"Symbol 646 MovieClip {limbSelector_mc} Frame 1Symbol 630 MovieClip {rightFootSelector_mc}
"leftFootSelector_mc"Symbol 646 MovieClip {limbSelector_mc} Frame 1Symbol 635 MovieClip {leftFootSelector_mc}
"rightHandSelector_mc"Symbol 646 MovieClip {limbSelector_mc} Frame 1Symbol 640 MovieClip {rightHandSelector_mc}
"leftHandSelector_mc"Symbol 646 MovieClip {limbSelector_mc} Frame 1Symbol 645 MovieClip {LeftHandSelector_mc}
"decalChooser_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 530 MovieClip {decalChooser_mc}
"lefthand_holder_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 538 MovieClip {lefthand_decal_holder_mc}
"leftfoot_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 575 MovieClip {leftfoot_decal}
"rightfoot_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 601 MovieClip {rightfoot_decal}
"righthand_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 623 MovieClip {righthand_decal}
"limbSelector_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 646 MovieClip {limbSelector_mc}
"limbSelectorAnimated_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 665 MovieClip {main_fla.limbSelectorAnimated_mc_218}
"decal_cursor_mc"Symbol 666 MovieClip {phase_add_decal} Frame 1Symbol 544 MovieClip {decal_cursor_mc}
"nail_0_mc"Symbol 668 MovieClip {main_fla.lefthand_216} Frame 1Symbol 251 MovieClip {leftnail_pinky}
"nail_1_mc"Symbol 668 MovieClip {main_fla.lefthand_216} Frame 1Symbol 255 MovieClip {leftnail_ring}
"nail_2_mc"Symbol 668 MovieClip {main_fla.lefthand_216} Frame 1Symbol 259 MovieClip {leftnail_middle}
"nail_3_mc"Symbol 668 MovieClip {main_fla.lefthand_216} Frame 1Symbol 263 MovieClip {leftnail_index}
"nail_4_mc"Symbol 668 MovieClip {main_fla.lefthand_216} Frame 1Symbol 267 MovieClip {leftnail_thumb}
"lefthand_mc"Symbol 669 MovieClip {lefthand_holder_mc} Frame 1Symbol 668 MovieClip {main_fla.lefthand_216}
"color_mc"Symbol 677 MovieClip {nail_polish_bottle_front2} Frame 1Symbol 673 MovieClip
"nail_color_mc"Symbol 677 MovieClip {nail_polish_bottle_front2} Frame 1Symbol 461 MovieClip {nail_color_mc2}
"sparkle_mc"Symbol 677 MovieClip {nail_polish_bottle_front2} Frame 1Symbol 111 MovieClip {sparkletexture}
"cap_mc"Symbol 677 MovieClip {nail_polish_bottle_front2} Frame 1Symbol 676 MovieClip
"lefthand_holder_mc"Symbol 684 MovieClip {phase_paint_challenge_mc} Frame 1Symbol 669 MovieClip {lefthand_holder_mc}
"bottleHolder_mc"Symbol 684 MovieClip {phase_paint_challenge_mc} Frame 1Symbol 671 MovieClip {bottleHolder_mc}
"bottle_mc"Symbol 684 MovieClip {phase_paint_challenge_mc} Frame 1Symbol 677 MovieClip {nail_polish_bottle_front2}
"brush_mc"Symbol 684 MovieClip {phase_paint_challenge_mc} Frame 1Symbol 683 MovieClip {anim_brush}
"downarrow_btn"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 523 MovieClip {chooserUpArrow_mc}
"uparrow_btn"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 527 MovieClip {chooserDownArrow_mc}
"mask_mc"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 702 MovieClip
"friendsColorCon"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 698 MovieClip {friendsColorCon}
"yourColorsCon"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 520 MovieClip {yourColorCon}
"tabMine_btn"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 697 MovieClip {MineBtn_mc}
"tabFriends_btn"Symbol 703 MovieClip {colorChooser_mc} Frame 1Symbol 691 MovieClip {tabMineBtn_mc}
"nail_masked_mc"Symbol 705 MovieClip {rightnail_thumb} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 705 MovieClip {rightnail_thumb} Frame 1Symbol 621 MovieClip {rightnail_thumb_mask}
"nail_masked_mc"Symbol 707 MovieClip {rightnail_index} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 707 MovieClip {rightnail_index} Frame 1Symbol 617 MovieClip {rightnail_index_mask}
"nail_masked_mc"Symbol 709 MovieClip {rightnail_middle} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 709 MovieClip {rightnail_middle} Frame 1Symbol 613 MovieClip {rightnail_middle_mask}
"nail_masked_mc"Symbol 711 MovieClip {rightnail_ring} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 711 MovieClip {rightnail_ring} Frame 1Symbol 609 MovieClip {rightnail_ring_mask}
"nail_masked_mc"Symbol 713 MovieClip {rightnail_pinky} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 713 MovieClip {rightnail_pinky} Frame 1Symbol 605 MovieClip {rightnail_pinky_mask}
"nail_masked_mc"Symbol 715 MovieClip {lefttoe1} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 715 MovieClip {lefttoe1} Frame 1Symbol 571 MovieClip {lefttoe1_mask}
"nail_masked_mc"Symbol 717 MovieClip {lefttoe2} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 717 MovieClip {lefttoe2} Frame 1Symbol 567 MovieClip {lefttoe2_mask}
"nail_masked_mc"Symbol 719 MovieClip {lefttoe3} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 719 MovieClip {lefttoe3} Frame 1Symbol 562 MovieClip {lefttoe3_mask}
"nail_masked_mc"Symbol 721 MovieClip {lefttoe4} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 721 MovieClip {lefttoe4} Frame 1Symbol 557 MovieClip {lefttoe4_mask}
"nail_masked_mc"Symbol 723 MovieClip {lefttoe5} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 723 MovieClip {lefttoe5} Frame 1Symbol 552 MovieClip {lefttoe5_mask}
"toe_seperator_bottom_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 547 MovieClip {toe_left_separator_bottom_mc}
"nail_10_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 723 MovieClip {lefttoe5}
"nail_11_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 721 MovieClip {lefttoe4}
"nail_12_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 719 MovieClip {lefttoe3}
"nail_13_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 717 MovieClip {lefttoe2}
"nail_14_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 715 MovieClip {lefttoe1}
"toe_separator_top_mc"Symbol 724 MovieClip {leftfoot} Frame 1Symbol 574 MovieClip {toe_left_separator_top_mc}
"nail_masked_mc"Symbol 726 MovieClip {righttoe1} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 726 MovieClip {righttoe1} Frame 1Symbol 597 MovieClip {righttoe1_mask}
"nail_masked_mc"Symbol 728 MovieClip {righttoe2} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 728 MovieClip {righttoe2} Frame 1Symbol 593 MovieClip {righttoe2_mask}
"nail_masked_mc"Symbol 730 MovieClip {righttoe3} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 730 MovieClip {righttoe3} Frame 1Symbol 589 MovieClip {righttoe3_mask}
"nail_masked_mc"Symbol 732 MovieClip {righttoe4} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 732 MovieClip {righttoe4} Frame 1Symbol 585 MovieClip {righttoe4_mask}
"nail_masked_mc"Symbol 734 MovieClip {righttoe5} Frame 1Symbol 178 MovieClip {nail_masked_mc}
"shape_mask_mc"Symbol 734 MovieClip {righttoe5} Frame 1Symbol 581 MovieClip {righttoe5_mask}
"toe_separator_bottom_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 577 MovieClip {toe_right_separator_bottom_mc}
"nail_19_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 734 MovieClip {righttoe5}
"nail_18_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 732 MovieClip {righttoe4}
"nail_17_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 730 MovieClip {righttoe3}
"nail_16_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 728 MovieClip {righttoe2}
"nail_15_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 726 MovieClip {righttoe1}
"toe_separator_top_mc"Symbol 736 MovieClip {rightfoot} Frame 1Symbol 600 MovieClip {toe_right_separator_top_mc}
"nail_9_mc"Symbol 738 MovieClip {main_fla.righthand_209} Frame 1Symbol 713 MovieClip {rightnail_pinky}
"nail_8_mc"Symbol 738 MovieClip {main_fla.righthand_209} Frame 1Symbol 711 MovieClip {rightnail_ring}
"nail_7_mc"Symbol 738 MovieClip {main_fla.righthand_209} Frame 1Symbol 709 MovieClip {rightnail_middle}
"nail_6_mc"Symbol 738 MovieClip {main_fla.righthand_209} Frame 1Symbol 707 MovieClip {rightnail_index}
"nail_5_mc"Symbol 738 MovieClip {main_fla.righthand_209} Frame 1Symbol 705 MovieClip {rightnail_thumb}
"rightfoot_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 736 MovieClip {rightfoot}
"leftfoot_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 724 MovieClip {leftfoot}
"righthand_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 738 MovieClip {main_fla.righthand_209}
"lefthand_holder_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 669 MovieClip {lefthand_holder_mc}
"bottleHolder_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 671 MovieClip {bottleHolder_mc}
"limbSelectorAnimated_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 665 MovieClip {main_fla.limbSelectorAnimated_mc_218}
"limbSelector_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 646 MovieClip {limbSelector_mc}
"bottle_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 677 MovieClip {nail_polish_bottle_front2}
"colorChooser_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 703 MovieClip {colorChooser_mc}
"brush_mc"Symbol 739 MovieClip {phase_paint} Frame 1Symbol 683 MovieClip {anim_brush}
"color_mc"Symbol 743 MovieClip {main_fla.wheelDrop_mc_193} Frame 1Symbol 742 MovieClip
"drop_mc"Symbol 746 MovieClip {drop_w_number_mc} Frame 1Symbol 743 MovieClip {main_fla.wheelDrop_mc_193}
"txt"Symbol 746 MovieClip {drop_w_number_mc} Frame 1Symbol 745 EditableText
"drop_w_number_1_mc"Symbol 748 MovieClip {equation_double_mc} Frame 1Symbol 746 MovieClip {drop_w_number_mc}
"drop_w_number_2_mc"Symbol 748 MovieClip {equation_double_mc} Frame 1Symbol 746 MovieClip {drop_w_number_mc}
"drop_w_number_1_mc"Symbol 749 MovieClip {equation_single_mc} Frame 1Symbol 746 MovieClip {drop_w_number_mc}
"equation_single_mc"Symbol 750 MovieClip {equation_mc} Frame 1Symbol 749 MovieClip {equation_single_mc}
"equation_double_mc"Symbol 750 MovieClip {equation_mc} Frame 1Symbol 748 MovieClip {equation_double_mc}
"color_mc"Symbol 763 MovieClip {main_fla.paintColorSwatch_mc_188} Frame 1Symbol 761 MovieClip
"colorwheel_button_up_mc"Symbol 765 MovieClip {colorWheel_2_mc} Frame 1Symbol 758 MovieClip {smallUpBtn_mc}
"colorwheel_button_down_mc"Symbol 765 MovieClip {colorWheel_2_mc} Frame 1Symbol 754 MovieClip {smallDownBtn_mc}
"colorwheel_color_mc"Symbol 765 MovieClip {colorWheel_2_mc} Frame 1Symbol 763 MovieClip {main_fla.paintColorSwatch_mc_188}
"equation_A_mc"Symbol 765 MovieClip {colorWheel_2_mc} Frame 1Symbol 750 MovieClip {equation_mc}
"equation_B_mc"Symbol 765 MovieClip {colorWheel_2_mc} Frame 1Symbol 750 MovieClip {equation_mc}
"colorwheel_mc"Symbol 766 MovieClip {colorwheel_holder_mc} Frame 1Symbol 765 MovieClip {colorWheel_2_mc}
"colorwheel_holder_mc"Symbol 767 MovieClip {phase_color_mix} Frame 1Symbol 766 MovieClip {colorwheel_holder_mc}
"lefthand_mc"Symbol 782 MovieClip {phase_dryer_challenge_mc} Frame 1Symbol 537 MovieClip {lefthand_decal}
"dryerMeter_mc"Symbol 782 MovieClip {phase_dryer_challenge_mc} Frame 1Symbol 775 MovieClip
"rightfoot_mc"Symbol 783 MovieClip {phase_dryer_mc} Frame 1Symbol 601 MovieClip {rightfoot_decal}
"leftfoot_mc"Symbol 783 MovieClip {phase_dryer_mc} Frame 1Symbol 575 MovieClip {leftfoot_decal}
"lefthand_mc"Symbol 783 MovieClip {phase_dryer_mc} Frame 1Symbol 537 MovieClip {lefthand_decal}
"righthand_mc"Symbol 783 MovieClip {phase_dryer_mc} Frame 1Symbol 623 MovieClip {righthand_decal}
"dryerMeter_mc"Symbol 783 MovieClip {phase_dryer_mc} Frame 1Symbol 775 MovieClip
"leftHandChallenge_mc"Symbol 786 MovieClip {polaroidChallenge_mc} Frame 1Symbol 537 MovieClip {lefthand_decal}
"leftHandGoal_mc"Symbol 789 MovieClip {polaroidGoal_mccopy} Frame 1Symbol 273 MovieClip {lefthand_goal}
"polaroidGoal_mc"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 1Symbol 789 MovieClip {polaroidGoal_mccopy}
"polaroidChallenge_mc"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 1Symbol 786 MovieClip {polaroidChallenge_mc}
"polish_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 791 EditableText
"glitter_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 792 EditableText
"decals_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 793 EditableText
"polishValue_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 794 EditableText
"glitterValue_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 795 EditableText
"decalsValue_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 796 EditableText
"time_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 797 EditableText
"timeValue_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 798 EditableText
"overall_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 799 EditableText
"breakdown_txt"Symbol 802 MovieClip {resultsText} Frame 1Symbol 800 EditableText
"resultsText_mc"Symbol 805 MovieClip {resultsChallenge_mc} Frame 1Symbol 802 MovieClip {resultsText}
"animCongrats_mc"Symbol 807 MovieClip {congrats_fading_mc} Frame 1Symbol 449 MovieClip {AnimCongrats_mc}
"bottle_mc"Symbol 808 MovieClip {bottle_fading_mc} Frame 1Symbol 677 MovieClip {nail_polish_bottle_front2}
"results_mc"Symbol 809 MovieClip {phase_conclusion_challenge_mc} Frame 1Symbol 805 MovieClip {resultsChallenge_mc}
"polaroids_mc"Symbol 809 MovieClip {phase_conclusion_challenge_mc} Frame 1Symbol 790 MovieClip {polaroidsHolderChallenge_mc}
"congrats_fading_mc"Symbol 809 MovieClip {phase_conclusion_challenge_mc} Frame 1Symbol 807 MovieClip {congrats_fading_mc}
"bottle_fading_mc"Symbol 809 MovieClip {phase_conclusion_challenge_mc} Frame 1Symbol 808 MovieClip {bottle_fading_mc}
"righthand_mc"Symbol 810 MovieClip {polaroid4_mc} Frame 1Symbol 623 MovieClip {righthand_decal}
"lefthand_mc"Symbol 811 MovieClip {polaroid3_mc} Frame 1Symbol 537 MovieClip {lefthand_decal}
"rightfoot_mc"Symbol 812 MovieClip {polaroid2_mc} Frame 1Symbol 601 MovieClip {rightfoot_decal}
"leftfoot_mc"Symbol 813 MovieClip {polaroid1_mc} Frame 1Symbol 575 MovieClip {leftfoot_decal}
"polaroids_bg_mc"Symbol 815 MovieClip {Polaroids_mc} Frame 1Symbol 814 MovieClip
"polaroid1_mc"Symbol 815 MovieClip {Polaroids_mc} Frame 1Symbol 813 MovieClip {polaroid1_mc}
"polaroid2_mc"Symbol 815 MovieClip {Polaroids_mc} Frame 1Symbol 812 MovieClip {polaroid2_mc}
"polaroid3_mc"Symbol 815 MovieClip {Polaroids_mc} Frame 1Symbol 811 MovieClip {polaroid3_mc}
"polaroid4_mc"Symbol 815 MovieClip {Polaroids_mc} Frame 1Symbol 810 MovieClip {polaroid4_mc}
"polaroids_mc"Symbol 817 MovieClip {phase_conclusion} Frame 1Symbol 815 MovieClip {Polaroids_mc}
"bottle_fading_mc"Symbol 817 MovieClip {phase_conclusion} Frame 1Symbol 808 MovieClip {bottle_fading_mc}
"congrats_fading_mc"Symbol 817 MovieClip {phase_conclusion} Frame 1Symbol 807 MovieClip {congrats_fading_mc}
"mixerMeter_mc"Symbol 824 MovieClip {phase_mixer} Frame 1Symbol 823 MovieClip
"color_mc"Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45} Frame 1Symbol 827 MovieClip
"swatch_mc"Symbol 831 MovieClip {L_paintArrow_mc} Frame 1Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}
"swatch_mc"Symbol 834 MovieClip {R_paintArrow_mc} Frame 1Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}
"color_mc"Symbol 838 MovieClip {wheelDrop_mc} Frame 1Symbol 837 MovieClip
"yellow_mc"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 838 MovieClip {wheelDrop_mc}
"red_mc"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 838 MovieClip {wheelDrop_mc}
"blue_mc"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 838 MovieClip {wheelDrop_mc}
"red_txt"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 840 EditableText
"yellow_txt"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 841 EditableText
"blue_txt"Symbol 843 MovieClip {dropCounter_mc} Frame 1Symbol 842 EditableText
"levergold_mc"Symbol 865 MovieClip {glitter_station} Frame 1Symbol 861 MovieClip {anim_sparkle_station_levergold}
"leverpearl_mc"Symbol 865 MovieClip {glitter_station} Frame 1Symbol 855 MovieClip {anim_sparkle_station_leversilver}
"lever_mc"Symbol 918 MovieClip {anim_dye_station} Frame 1Symbol 872 MovieClip {anim_dye_station_lever}
"anim_dye_station_lever_mc"Symbol 918 MovieClip {anim_dye_station} Frame 3Symbol 872 MovieClip {anim_dye_station_lever}
"anim_dye_station_lever_mc"Symbol 918 MovieClip {anim_dye_station} Frame 29Symbol 872 MovieClip {anim_dye_station_lever}
"anim_dye_station_lever_mc"Symbol 918 MovieClip {anim_dye_station} Frame 35Symbol 872 MovieClip {anim_dye_station_lever}
"anim_dye_station_lever_mc"Symbol 918 MovieClip {anim_dye_station} Frame 63Symbol 872 MovieClip {anim_dye_station_lever}
"drop_mc"Symbol 941 MovieClip {nail_polish_anim} Frame 1Symbol 938 MovieClip {nail_polish_drop}
"nail_polish_anim_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 941 MovieClip {nail_polish_anim}
"glitter_holder_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 119 MovieClip {glitter_holder_mc}
"dye_splash_anim_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 936 MovieClip {dye_splash_anim}
"glitter_splash_anim_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 926 MovieClip {glitter_splash_anim}
"sparkle_anim_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 541 MovieClip {main_fla.sparkle_anim_26}
"mask_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 118 MovieClip {Mask}
"color_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 946 MovieClip
"sparkle_anim_front_mc"Symbol 950 MovieClip {nail_polish_bottle} Frame 1Symbol 541 MovieClip {main_fla.sparkle_anim_26}
"color_indicator_mc"Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48} Frame 1Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}
"anim_dryer_station_button_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 980 MovieClip {anim_dryer_station_button}
"dryerCover_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 977 MovieClip {dryerCover_mc}
"anim_mixer_switch_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 975 MovieClip {anim_mixer_switch}
"anim_mixer_shake_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 971 MovieClip {anim_mixer_shake}
"anim_mixer_station_cover2_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 960 MovieClip {animmixer_station_cover2}
"anim_mixer_station_cover_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 957 MovieClip {anim_mixer_station_cover}
"colormask_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 954 MovieClip {colormask_mc}
"glittermask_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 952 MovieClip {glittermask_mc}
"bottle_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 950 MovieClip {nail_polish_bottle}
"anim_dye_station_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 918 MovieClip {anim_dye_station}
"glitter_station_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 865 MovieClip {glitter_station}
"shadows_dye_station"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 849 MovieClip {shadows_dye_station}
"shadows_glitter_station_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 847 MovieClip {shadows_sparkle_station}
"shadows_mix_station_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 845 MovieClip {shadows_mix_station}
"dropCounter_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 843 MovieClip {dropCounter_mc}
"button_arrow_right_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 834 MovieClip {R_paintArrow_mc}
"button_arrow_left_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 831 MovieClip {L_paintArrow_mc}
"button_arrow_pearl_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 834 MovieClip {R_paintArrow_mc}
"button_arrow_gold_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 831 MovieClip {L_paintArrow_mc}
"gold_indicator_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}
"pearl_indicator_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 829 MovieClip {main_fla.arrowColorSwatch_mc_45}
"anim_color_indicator_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48}
"colorLeverArrow_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 992 MovieClip
"leftLeverArrow_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 992 MovieClip
"rightLeverArrow_mc"Symbol 993 MovieClip {spa_mc} Frame 1Symbol 992 MovieClip
"spa_mc"Symbol 994 MovieClip {spa_item_container_mc} Frame 1Symbol 993 MovieClip {spa_mc}
"pointsDisplay_mc"Symbol 997 MovieClip {pointsCapsule_mc} Frame 1Symbol 996 MovieClip {numberDisplay_mc}
"points_mc"Symbol 998 MovieClip {gameUI_mc} Frame 1Symbol 997 MovieClip {pointsCapsule_mc}
"timer_mc"Symbol 998 MovieClip {gameUI_mc} Frame 1Symbol 995 MovieClip {timer_mc}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
EnableDebugger2 (64)Timeline Frame 131 bytes "..$1$07$Em.mIrODu39x2MOKEwgEs1."

Labels

"out"Symbol 41 MovieClip {main_fla.arrowBtnAnim_mc_359} Frame 1
"over"Symbol 41 MovieClip {main_fla.arrowBtnAnim_mc_359} Frame 2
"out"Symbol 51 MovieClip {scrollbarBtn_mc} Frame 1
"over"Symbol 51 MovieClip {scrollbarBtn_mc} Frame 2
"in"Symbol 78 MovieClip {usernameTooltip_mc} Frame 7
"out"Symbol 78 MovieClip {usernameTooltip_mc} Frame 13
"off"Symbol 85 MovieClip {soundon_mc} Frame 1
"over"Symbol 85 MovieClip {soundon_mc} Frame 5
"colon"Symbol 137 MovieClip {timerSkin_mc} Frame 11
"off"Symbol 245 MovieClip {gotItBtn_mc} Frame 1
"over"Symbol 245 MovieClip {gotItBtn_mc} Frame 6
"off"Symbol 277 MovieClip {closeBtn_mc} Frame 1
"over"Symbol 277 MovieClip {closeBtn_mc} Frame 5
"in"Symbol 279 MovieClip {goalpopup_animated_mc} Frame 1
"on"Symbol 279 MovieClip {goalpopup_animated_mc} Frame 7
"out"Symbol 279 MovieClip {goalpopup_animated_mc} Frame 8
"off"Symbol 279 MovieClip {goalpopup_animated_mc} Frame 14
"off"Symbol 281 MovieClip {question_mc} Frame 1
"over"Symbol 281 MovieClip {question_mc} Frame 5
"off"Symbol 284 MovieClip {minimize_mc} Frame 1
"over"Symbol 284 MovieClip {minimize_mc} Frame 5
"off"Symbol 289 MovieClip {goalBtn_mc} Frame 1
"over"Symbol 289 MovieClip {goalBtn_mc} Frame 5
"off"Symbol 297 MovieClip {BigBtn_mc} Frame 1
"overState"Symbol 297 MovieClip {BigBtn_mc} Frame 6
"onOut"Symbol 300 MovieClip {SoundBtn_mc} Frame 1
"onOver"Symbol 300 MovieClip {SoundBtn_mc} Frame 2
"onDown"Symbol 300 MovieClip {SoundBtn_mc} Frame 7
"offOut"Symbol 300 MovieClip {SoundBtn_mc} Frame 9
"offOver"Symbol 300 MovieClip {SoundBtn_mc} Frame 10
"offDown"Symbol 300 MovieClip {SoundBtn_mc} Frame 15
"in"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 1
"on"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 7
"out"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 8
"off"Symbol 301 MovieClip {menuButtons_fading_mc} Frame 14
"off"Symbol 309 MovieClip {NextSmallBtn_mc} Frame 1
"over"Symbol 309 MovieClip {NextSmallBtn_mc} Frame 6
"off"Symbol 313 MovieClip {Home_mc} Frame 1
"over"Symbol 313 MovieClip {Home_mc} Frame 5
"off"Symbol 321 MovieClip {backBtn_mc} Frame 1
"over"Symbol 321 MovieClip {backBtn_mc} Frame 6
"off"Symbol 329 MovieClip {NextBtn_mc} Frame 1
"over"Symbol 329 MovieClip {NextBtn_mc} Frame 6
"off"Symbol 334 MovieClip {PlayAgainBtn_mc} Frame 1
"over"Symbol 334 MovieClip {PlayAgainBtn_mc} Frame 6
"off"Symbol 339 MovieClip {sparkCityBtn_mc} Frame 1
"over"Symbol 339 MovieClip {sparkCityBtn_mc} Frame 6
"off"Symbol 344 MovieClip {GiftBtn_mc} Frame 1
"over"Symbol 344 MovieClip {GiftBtn_mc} Frame 6
"off"Symbol 347 MovieClip {KeepBtn_mc} Frame 1
"over"Symbol 347 MovieClip {KeepBtn_mc} Frame 6
"off"Symbol 351 MovieClip {clearBtn_mc} Frame 1
"over"Symbol 351 MovieClip {clearBtn_mc} Frame 6
"in"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 1
"on"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 17
"out"Symbol 420 MovieClip {main_fla.tipsAnim_mc_302} Frame 54
"in"Symbol 431 MovieClip {aboutspa_animated_mc} Frame 1
"on"Symbol 431 MovieClip {aboutspa_animated_mc} Frame 11
"out"Symbol 431 MovieClip {aboutspa_animated_mc} Frame 12
"off"Symbol 431 MovieClip {aboutspa_animated_mc} Frame 21
"first pic"Symbol 436 MovieClip Frame 1
"second pic"Symbol 439 MovieClip Frame 1
"third pic"Symbol 440 MovieClip Frame 1
"fourth pic"Symbol 441 MovieClip Frame 1
"in"Symbol 453 MovieClip {mynails_animated_mc} Frame 1
"on"Symbol 453 MovieClip {mynails_animated_mc} Frame 11
"out"Symbol 453 MovieClip {mynails_animated_mc} Frame 12
"off"Symbol 453 MovieClip {mynails_animated_mc} Frame 21
"entrance"Symbol 511 MovieClip {WelcomeScreen_mc} Frame 1
"exit"Symbol 511 MovieClip {WelcomeScreen_mc} Frame 314
"off"Symbol 523 MovieClip {chooserUpArrow_mc} Frame 1
"over"Symbol 523 MovieClip {chooserUpArrow_mc} Frame 5
"off"Symbol 527 MovieClip {chooserDownArrow_mc} Frame 1
"over"Symbol 527 MovieClip {chooserDownArrow_mc} Frame 5
"off"Symbol 630 MovieClip {rightFootSelector_mc} Frame 1
"on"Symbol 630 MovieClip {rightFootSelector_mc} Frame 6
"off"Symbol 635 MovieClip {leftFootSelector_mc} Frame 1
"on"Symbol 635 MovieClip {leftFootSelector_mc} Frame 6
"off"Symbol 640 MovieClip {rightHandSelector_mc} Frame 1
"on"Symbol 640 MovieClip {rightHandSelector_mc} Frame 5
"off"Symbol 645 MovieClip {LeftHandSelector_mc} Frame 1
"on"Symbol 645 MovieClip {LeftHandSelector_mc} Frame 5
"off"Symbol 651 MovieClip Frame 1
"off"Symbol 657 MovieClip Frame 1
"off"Symbol 659 MovieClip Frame 1
"off"Symbol 663 MovieClip Frame 1
"rest"Symbol 683 MovieClip {anim_brush} Frame 1
"paint"Symbol 683 MovieClip {anim_brush} Frame 2
"off"Symbol 691 MovieClip {tabMineBtn_mc} Frame 1
"on"Symbol 691 MovieClip {tabMineBtn_mc} Frame 2
"out"Symbol 697 MovieClip {MineBtn_mc} Frame 1
"over"Symbol 697 MovieClip {MineBtn_mc} Frame 2
"on"Symbol 697 MovieClip {MineBtn_mc} Frame 3
"off"Symbol 754 MovieClip {smallDownBtn_mc} Frame 1
"over"Symbol 754 MovieClip {smallDownBtn_mc} Frame 5
"off"Symbol 758 MovieClip {smallUpBtn_mc} Frame 1
"over"Symbol 758 MovieClip {smallUpBtn_mc} Frame 5
"dryerOff0"Symbol 782 MovieClip {phase_dryer_challenge_mc} Frame 1
"dryerOn0"Symbol 782 MovieClip {phase_dryer_challenge_mc} Frame 30
"dryerOff1"Symbol 782 MovieClip {phase_dryer_challenge_mc} Frame 76
"dryerOff0"Symbol 783 MovieClip {phase_dryer_mc} Frame 1
"dryerOn0"Symbol 783 MovieClip {phase_dryer_mc} Frame 30
"dryerOff1"Symbol 783 MovieClip {phase_dryer_mc} Frame 76
"dryerOn1"Symbol 783 MovieClip {phase_dryer_mc} Frame 134
"dryerOff2"Symbol 783 MovieClip {phase_dryer_mc} Frame 180
"dryerOn2"Symbol 783 MovieClip {phase_dryer_mc} Frame 237
"dryerOff3"Symbol 783 MovieClip {phase_dryer_mc} Frame 283
"dryerOn3"Symbol 783 MovieClip {phase_dryer_mc} Frame 343
"dryerOff4"Symbol 783 MovieClip {phase_dryer_mc} Frame 389
"third pic"Symbol 786 MovieClip {polaroidChallenge_mc} Frame 1
"third pic"Symbol 789 MovieClip {polaroidGoal_mccopy} Frame 1
"in"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 1
"on"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 22
"zoomInGoal"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 23
"zoomOutGoal"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 32
"zoomInYours"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 41
"zoomOutYours"Symbol 790 MovieClip {polaroidsHolderChallenge_mc} Frame 50
"fadeIn"Symbol 807 MovieClip {congrats_fading_mc} Frame 2
"fadeOut"Symbol 807 MovieClip {congrats_fading_mc} Frame 11
"fadeIn"Symbol 808 MovieClip {bottle_fading_mc} Frame 2
"fadeOut"Symbol 808 MovieClip {bottle_fading_mc} Frame 11
"fourth pic"Symbol 810 MovieClip {polaroid4_mc} Frame 1
"third pic"Symbol 811 MovieClip {polaroid3_mc} Frame 1
"second pic"Symbol 812 MovieClip {polaroid2_mc} Frame 1
"first pic"Symbol 813 MovieClip {polaroid1_mc} Frame 1
"on"Symbol 815 MovieClip {Polaroids_mc} Frame 22
"polaroidOneZoomIn"Symbol 815 MovieClip {Polaroids_mc} Frame 23
"polaroidOneZoomOut"Symbol 815 MovieClip {Polaroids_mc} Frame 34
"polaroidTwoZoomIn"Symbol 815 MovieClip {Polaroids_mc} Frame 41
"polaroidTwoZoomOut"Symbol 815 MovieClip {Polaroids_mc} Frame 52
"polaroidThreeZoomIn"Symbol 815 MovieClip {Polaroids_mc} Frame 59
"polaroidThreeZoomOut"Symbol 815 MovieClip {Polaroids_mc} Frame 70
"polaroidFourZoomIn"Symbol 815 MovieClip {Polaroids_mc} Frame 77
"polaroidFourZoomOut"Symbol 815 MovieClip {Polaroids_mc} Frame 88
"off"Symbol 831 MovieClip {L_paintArrow_mc} Frame 1
"over"Symbol 831 MovieClip {L_paintArrow_mc} Frame 2
"off"Symbol 834 MovieClip {R_paintArrow_mc} Frame 1
"over"Symbol 834 MovieClip {R_paintArrow_mc} Frame 5
"inactive"Symbol 855 MovieClip {anim_sparkle_station_leversilver} Frame 1
"active"Symbol 855 MovieClip {anim_sparkle_station_leversilver} Frame 2
"inactive"Symbol 861 MovieClip {anim_sparkle_station_levergold} Frame 1
"active"Symbol 861 MovieClip {anim_sparkle_station_levergold} Frame 2
"inactive"Symbol 872 MovieClip {anim_dye_station_lever} Frame 1
"active"Symbol 872 MovieClip {anim_dye_station_lever} Frame 2
"CLOCK"Symbol 918 MovieClip {anim_dye_station} Frame 1
"COUNTERCLOCK"Symbol 918 MovieClip {anim_dye_station} Frame 35
"coveron"Symbol 957 MovieClip {anim_mixer_station_cover} Frame 1
"startDown"Symbol 957 MovieClip {anim_mixer_station_cover} Frame 2
"startUp"Symbol 957 MovieClip {anim_mixer_station_cover} Frame 16
"coveron"Symbol 960 MovieClip {animmixer_station_cover2} Frame 1
"startDown"Symbol 960 MovieClip {animmixer_station_cover2} Frame 2
"startUp"Symbol 960 MovieClip {animmixer_station_cover2} Frame 23
"nobottle"Symbol 971 MovieClip {anim_mixer_shake} Frame 1
"capoff"Symbol 971 MovieClip {anim_mixer_shake} Frame 2
"start"Symbol 971 MovieClip {anim_mixer_shake} Frame 3
"off"Symbol 975 MovieClip {anim_mixer_switch} Frame 1
"mixeron"Symbol 975 MovieClip {anim_mixer_switch} Frame 2
"dryeron"Symbol 975 MovieClip {anim_mixer_switch} Frame 3
"off"Symbol 980 MovieClip {anim_dryer_station_button} Frame 1
"on"Symbol 980 MovieClip {anim_dryer_station_button} Frame 2
"on"Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48} Frame 1
"fadeOut"Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48} Frame 2
"off"Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48} Frame 5
"fadeIn"Symbol 989 MovieClip {main_fla.anim_color_indicator_mc_48} Frame 6
"default"Symbol 994 MovieClip {spa_item_container_mc} Frame 1
"phaseIntro"Symbol 994 MovieClip {spa_item_container_mc} Frame 2
"transitionToColorMix"Symbol 994 MovieClip {spa_item_container_mc} Frame 3
"phaseColorMix"Symbol 994 MovieClip {spa_item_container_mc} Frame 31
"transitionToAddGlitter"Symbol 994 MovieClip {spa_item_container_mc} Frame 32
"phaseAddGlitter"Symbol 994 MovieClip {spa_item_container_mc} Frame 73
"transitionToMixer"Symbol 994 MovieClip {spa_item_container_mc} Frame 74
"phaseMixer"Symbol 994 MovieClip {spa_item_container_mc} Frame 115
"transitionToPaint"Symbol 994 MovieClip {spa_item_container_mc} Frame 116
"phasePaint"Symbol 994 MovieClip {spa_item_container_mc} Frame 137
"transitionToDryer"Symbol 994 MovieClip {spa_item_container_mc} Frame 138
"phaseDryer"Symbol 994 MovieClip {spa_item_container_mc} Frame 188
"transitionToAddDecal"Symbol 994 MovieClip {spa_item_container_mc} Frame 189
"phaseAddDecal"Symbol 994 MovieClip {spa_item_container_mc} Frame 216




http://swfchan.com/26/126638/info.shtml
Created: 25/2 -2019 21:13:37 Last modified: 25/2 -2019 21:13:37 Server time: 22/12 -2024 11:30:55