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

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

Bahrain Racer v1.2.swf

This is the info page for
Flash #72643

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


Text
Quit game

Quit game

LOADING : PLEASE WAIT

SPEED

Play game

Play game

Win a trip to the Kingdom of Bahrain

Win a trip to the Kingdom of Bahrain

Tell a friend

Tell a friend

Highscores

Highscores

Fly with Gulf Air

Fly with Gulf Air

Visit BIC

Visit BIC

How to play

How to play

Play game

Play game

Highscores

Select a track to view the highscores

Grand Prix

Inner Circuit

Paddock Circuit

Outer Circuit

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Karl Bloor

--:--:---

Grand Prix

Inner

Paddock

Outer

Send invitation

Send invitation

Send to a Friend

Complete the form below to invite your friend

Your Details:

Friend Details:

Name

Email

I would like to receive information from Gulf Air & BIC

SENDING EMAIL

How to Play

Use the arrow keys to control your car

Submit Entry

Submit Entry

Win flights to Bahrain

Enter your details below for your chance to win!

I would like to receive information from Gulf Air & BIC

First name

Surname

Title

Country

Terms & Conditions apply

Terms & Conditions apply

SUBMITTING DETAILS

DETAILS SUCCESSFULY SUBMITTED

Submit your Time

For your chances to win flights to Bahrain!

--:--:---

1st Place

2nd Place

3rd Place

4th Place

5th Place

6th Place

7th Place

8th Place

Continue

Continue

Select circuit

Grand Prix

3 Laps

Inner

5 Laps

Paddock

4 Laps

Outer

Select colour

Red

Green

Blue

Yellow

Pink

Purple

Begin Race

Begin Race

Fly with Gulf Air

Visit BIC

Main Menu

Race Over

POS

/

8

1

2

3

4

5

6

7

8

LAP

3

CURRENT LAP

FASTEST LAP

-.--.--

-.--.--

ActionScript [AS3]

Section 1
//asterix_45 (bahrainracer_fla.asterix_45) package bahrainracer_fla { import flash.display.*; public dynamic class asterix_45 extends MovieClip { public function asterix_45(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 2
//carHolder_135 (bahrainracer_fla.carHolder_135) package bahrainracer_fla { import flash.display.*; public dynamic class carHolder_135 extends MovieClip { public function carHolder_135(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 3
//Formula1Car_112 (bahrainracer_fla.Formula1Car_112) package bahrainracer_fla { import flash.display.*; public dynamic class Formula1Car_112 extends MovieClip { public function Formula1Car_112(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 4
//lap_132 (bahrainracer_fla.lap_132) package bahrainracer_fla { import flash.display.*; import flash.text.*; public dynamic class lap_132 extends MovieClip { public var totalLaps:TextField; public function lap_132(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 5
//mainMenuButtons_121 (bahrainracer_fla.mainMenuButtons_121) package bahrainracer_fla { import flash.display.*; public dynamic class mainMenuButtons_121 extends MovieClip { public var mainMenuBack_btn:SimpleButton; public var visitBICLink_btn:SimpleButton; public var gulfAirLink_btn:SimpleButton; public function mainMenuButtons_121(){ addFrameScript(0, frame1, 14, frame15); } function frame15(){ stop(); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 6
//Menu_109 (bahrainracer_fla.Menu_109) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_109 extends MovieClip { public var col4_btn:SimpleButton; public var col8_btn:SimpleButton; public var col2_btn:SimpleButton; public var col1_btn:SimpleButton; public var col3_btn:SimpleButton; public var col5_btn:SimpleButton; public var race_btn:SimpleButton; public var selectCar_mc:MovieClip; } }//package bahrainracer_fla
Section 7
//Menu_119 (bahrainracer_fla.Menu_119) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_119 extends MovieClip { public var additionalMenus_mc:MovieClip; public var kokoLogo_btn:SimpleButton; public var gulfAir_btn:SimpleButton; public var gulfAirLink_btn:SimpleButton; public function Menu_119(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package bahrainracer_fla
Section 8
//Menu_19 (bahrainracer_fla.Menu_19) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_19 extends MovieClip { public function Menu_19(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package bahrainracer_fla
Section 9
//Menu_24 (bahrainracer_fla.Menu_24) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_24 extends MovieClip { public var playGame_btn:SimpleButton; public var howToPlay_btn:SimpleButton; public var tellAFriend_btn:SimpleButton; public var enterComp_btn:SimpleButton; public var visitBICLink_btn:SimpleButton; public var highScores_btn:SimpleButton; public var gulfAirLink_btn:SimpleButton; } }//package bahrainracer_fla
Section 10
//Menu_32 (bahrainracer_fla.Menu_32) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_32 extends MovieClip { public var playGame_btn:SimpleButton; public var tellAFriend_btn:SimpleButton; public var hs4_mc:MovieClip; public var hs7_mc:MovieClip; public var highScore1_btn:SimpleButton; public var hs2_mc:MovieClip; public var hs5_mc:MovieClip; public var highScore3_btn:SimpleButton; public var hs8_mc:MovieClip; public var highScoresTitle_mc:MovieClip; public var hs10_mc:MovieClip; public var hs3_mc:MovieClip; public var highScore4_btn:SimpleButton; public var hs6_mc:MovieClip; public var highScore2_btn:SimpleButton; public var hs9_mc:MovieClip; public var hs1_mc:MovieClip; } }//package bahrainracer_fla
Section 11
//Menu_36 (bahrainracer_fla.Menu_36) package bahrainracer_fla { import flash.display.*; import flash.text.*; public dynamic class Menu_36 extends MovieClip { public var playerName:TextField; public var playerScore:TextField; } }//package bahrainracer_fla
Section 12
//Menu_41 (bahrainracer_fla.Menu_41) package bahrainracer_fla { import flash.display.*; import flash.text.*; public dynamic class Menu_41 extends MovieClip { public var friendsEmail:TextField; public var yourEmail:TextField; public var asterix3_mc:MovieClip; public var yourName:TextField; public var asterix1_mc:MovieClip; public var tickBox_mc:MovieClip; public var asterix4_mc:MovieClip; public var err:TextField; public var sendInvite_btn:SimpleButton; public var friendsName:TextField; public var asterix2_mc:MovieClip; public function Menu_41(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 13
//Menu_47 (bahrainracer_fla.Menu_47) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_47 extends MovieClip { public var playGame_btn:SimpleButton; public function Menu_47(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 14
//Menu_49 (bahrainracer_fla.Menu_49) package bahrainracer_fla { import flash.display.*; import fl.data.*; import flash.text.*; public dynamic class Menu_49 extends MovieClip { public var playGame_btn:SimpleButton; public var playerTitle:CustomComboBox; public var j2; public var j1; public var collObj2:DataProvider; public var collObj1:DataProvider; public var playerEmail:TextField; public var asterix3_mc:MovieClip; public var playerCountry:CustomComboBox; public var asterix1_mc:MovieClip; public var highScores_btn:SimpleButton; public var tickBox_mc:MovieClip; public var asterix4_mc:MovieClip; public var playerFirstName:TextField; public var collProp1:Object; public var terms_btn:SimpleButton; public var err:TextField; public var playerSurname:TextField; public var submitEntry_mc:SimpleButton; public var collProp2:Object; public var itemObj2:SimpleCollectionItem; public var itemObj1:SimpleCollectionItem; public var collProps2:Array; public var asterix2_mc:MovieClip; public var collProps1:Array; public var i1:int; public var i2:int; public function Menu_49(){ __setProp_playerTitle_Menu_1(); __setProp_playerCountry_Menu_1(); } function __setProp_playerTitle_Menu_1(){ try { playerTitle["componentInspectorSetting"] = true; } catch(e:Error) { }; collObj1 = new DataProvider(); collProps1 = [{label:"Mr", data:"Mr"}, {label:"Mrs", data:"Mrs"}, {label:"Miss", data:"Miss"}]; i1 = 0; while (i1 < collProps1.length) { itemObj1 = new SimpleCollectionItem(); collProp1 = collProps1[i1]; for (j1 in collProp1) { itemObj1[j1] = collProp1[j1]; }; collObj1.addItem(itemObj1); i1++; }; playerTitle.dataProvider = collObj1; playerTitle.editable = false; playerTitle.enabled = true; playerTitle.prompt = ""; playerTitle.restrict = ""; playerTitle.rowCount = 5; playerTitle.visible = true; try { playerTitle["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_playerCountry_Menu_1(){ try { playerCountry["componentInspectorSetting"] = true; } catch(e:Error) { }; collObj2 = new DataProvider(); collProps2 = []; i2 = 0; while (i2 < collProps2.length) { itemObj2 = new SimpleCollectionItem(); collProp2 = collProps2[i2]; for (j2 in collProp2) { itemObj2[j2] = collProp2[j2]; }; collObj2.addItem(itemObj2); i2++; }; playerCountry.dataProvider = collObj2; playerCountry.editable = false; playerCountry.enabled = true; playerCountry.prompt = ""; playerCountry.restrict = ""; playerCountry.rowCount = 5; playerCountry.visible = true; try { playerCountry["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package bahrainracer_fla
Section 15
//Menu_89 (bahrainracer_fla.Menu_89) package bahrainracer_fla { import flash.display.*; import fl.data.*; import flash.text.*; public dynamic class Menu_89 extends MovieClip { public var playGame_btn:SimpleButton; public var playerTitle:CustomComboBox; public var j3; public var i4:int; public var j4; public var collObj4:DataProvider; public var playerEmail:TextField; public var time_mc:MovieClip; public var asterix3_mc:MovieClip; public var playerCountry:CustomComboBox; public var finalPos_mc:MovieClip; public var collObj3:DataProvider; public var asterix1_mc:MovieClip; public var highScores_btn:SimpleButton; public var tickBox_mc:MovieClip; public var asterix4_mc:MovieClip; public var playerFirstName:TextField; public var collProp4:Object; public var terms_btn:SimpleButton; public var err:TextField; public var playerSurname:TextField; public var submitScore_mc:SimpleButton; public var itemObj3:SimpleCollectionItem; public var itemObj4:SimpleCollectionItem; public var collProp3:Object; public var collProps4:Array; public var collProps3:Array; public var asterix2_mc:MovieClip; public var i3:int; public function Menu_89(){ addFrameScript(0, frame1); __setProp_playerCountry_Menu_1(); __setProp_playerTitle_Menu_1(); } function __setProp_playerTitle_Menu_1(){ try { playerTitle["componentInspectorSetting"] = true; } catch(e:Error) { }; collObj3 = new DataProvider(); collProps3 = [{label:"Mr", data:"Mr"}, {label:"Mrs", data:"Mrs"}, {label:"Ms", data:"Ms"}]; i3 = 0; while (i3 < collProps3.length) { itemObj3 = new SimpleCollectionItem(); collProp3 = collProps3[i3]; for (j3 in collProp3) { itemObj3[j3] = collProp3[j3]; }; collObj3.addItem(itemObj3); i3++; }; playerTitle.dataProvider = collObj3; playerTitle.editable = false; playerTitle.enabled = true; playerTitle.prompt = ""; playerTitle.restrict = ""; playerTitle.rowCount = 5; playerTitle.visible = true; try { playerTitle["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } function __setProp_playerCountry_Menu_1(){ try { playerCountry["componentInspectorSetting"] = true; } catch(e:Error) { }; collObj4 = new DataProvider(); collProps4 = []; i4 = 0; while (i4 < collProps4.length) { itemObj4 = new SimpleCollectionItem(); collProp4 = collProps4[i4]; for (j4 in collProp4) { itemObj4[j4] = collProp4[j4]; }; collObj4.addItem(itemObj4); i4++; }; playerCountry.dataProvider = collObj4; playerCountry.editable = false; playerCountry.enabled = true; playerCountry.prompt = ""; playerCountry.restrict = ""; playerCountry.rowCount = 5; playerCountry.visible = true; try { playerCountry["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package bahrainracer_fla
Section 16
//Menu_93 (bahrainracer_fla.Menu_93) package bahrainracer_fla { import flash.display.*; public dynamic class Menu_93 extends MovieClip { public var circuit1_btn:SimpleButton; public var circuit3_btn:SimpleButton; public var circuitShadow_mc:MovieClip; public var circuit2_btn:SimpleButton; public var circuit4_btn:SimpleButton; public var circuit_mc:MovieClip; public var chooseColour_btn:SimpleButton; } }//package bahrainracer_fla
Section 17
//position_130 (bahrainracer_fla.position_130) package bahrainracer_fla { import flash.display.*; public dynamic class position_130 extends MovieClip { public function position_130(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 18
//progressBar1_1 (bahrainracer_fla.progressBar1_1) package bahrainracer_fla { import flash.display.*; public dynamic class progressBar1_1 extends MovieClip { public var mask_mc:MovieClip; } }//package bahrainracer_fla
Section 19
//raceTracksRotate_100 (bahrainracer_fla.raceTracksRotate_100) package bahrainracer_fla { import flash.display.*; public dynamic class raceTracksRotate_100 extends MovieClip { public function raceTracksRotate_100(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 20
//speedBars_6 (bahrainracer_fla.speedBars_6) package bahrainracer_fla { import flash.display.*; public dynamic class speedBars_6 extends MovieClip { public function speedBars_6(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 21
//tickBox_44 (bahrainracer_fla.tickBox_44) package bahrainracer_fla { import flash.display.*; public dynamic class tickBox_44 extends MovieClip { public function tickBox_44(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bahrainracer_fla
Section 22
//timeTaken_91 (bahrainracer_fla.timeTaken_91) package bahrainracer_fla { import flash.display.*; import flash.text.*; public dynamic class timeTaken_91 extends MovieClip { public var time:TextField; } }//package bahrainracer_fla
Section 23
//TrackRotate1_101 (bahrainracer_fla.TrackRotate1_101) package bahrainracer_fla { import flash.display.*; public dynamic class TrackRotate1_101 extends MovieClip { public function TrackRotate1_101(){ addFrameScript(79, frame80); } function frame80(){ gotoAndPlay(1); } } }//package bahrainracer_fla
Section 24
//TrackRotate2_105 (bahrainracer_fla.TrackRotate2_105) package bahrainracer_fla { import flash.display.*; public dynamic class TrackRotate2_105 extends MovieClip { public function TrackRotate2_105(){ addFrameScript(79, frame80); } function frame80(){ gotoAndPlay(1); } } }//package bahrainracer_fla
Section 25
//TrackRotate3_103 (bahrainracer_fla.TrackRotate3_103) package bahrainracer_fla { import flash.display.*; public dynamic class TrackRotate3_103 extends MovieClip { public function TrackRotate3_103(){ addFrameScript(79, frame80); } function frame80(){ gotoAndPlay(1); } } }//package bahrainracer_fla
Section 26
//TrackRotate4_107 (bahrainracer_fla.TrackRotate4_107) package bahrainracer_fla { import flash.display.*; public dynamic class TrackRotate4_107 extends MovieClip { public function TrackRotate4_107(){ addFrameScript(79, frame80); } function frame80(){ gotoAndPlay(1); } } }//package bahrainracer_fla
Section 27
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import com.adobe.utils.*; public class MD5 { private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = createBlocks(_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.adobe.crypto
Section 28
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 29
//Tracker (com.memecounter.Tracker) package com.memecounter { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class Tracker { private static var ori_dom:String; private static var lurl:String; private static var _isReady:Boolean = false; public static var a:uint = 0; public static var root:DisplayObject; public static var c:uint; public static var d:String = ""; private static var _isInited:Boolean = false; public static var fpv:String = ""; private static var l:Loader; private static var tracker:MovieClip; public static var da:Array = ["distralytics.com", "distralytics.co.uk"]; private static function loadError(_arg1:Event):void{ a++; lc(); } public static function init(_arg1:uint, _arg2:DisplayObject):void{ var _local3:uint; if (!_isInited){ _isInited = true; c = _arg1; root = _arg2; _local3 = 0; while (_local3 < da.length) { Security.allowDomain(da[_local3], ((c + ".c.") + da[_local3]), ("*." + da[_local3])); _local3++; }; ori_dom = (root.loaderInfo.parameters.hasOwnProperty("ori_dom")) ? root.loaderInfo.parameters.ori_dom : ""; d = ((ori_dom)!="") ? ori_dom : ((root.loaderInfo.loaderURL.split("/")[0].indexOf("http"))==-1) ? "Local" : root.loaderInfo.loaderURL.split("/")[2].split("?")[0]; fpv = Capabilities.version.split(" ")[1].split(",")[0]; lurl = ((((((((("/control/tracking/trackerAS3.swf" + "?c=") + c) + "&r=") + Math.floor((Math.random() * 10000000000))) + "&d=") + d) + "&p=") + fpv) + "&as=3"); l = new Loader(); l.contentLoaderInfo.addEventListener(Event.INIT, loadComplete); l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); lc(); }; } public static function get isReady():Boolean{ return (isReady); } public static function kvClick(_arg1:uint):void{ if (_isReady){ trace("CLICKTHROUGH SENT"); tracker.kvClick(_arg1); }; } public static function kvCountry():String{ if (_isReady){ return (tracker.kvCountry()); }; return (""); } public static function kvEvent(_arg1:uint):void{ if (_isReady){ trace("EVENT SENT"); tracker.kvEvent(_arg1); }; } private static function lc():void{ var _local1:String; _local1 = (((("http://" + c) + ".c.") + da[(a % da.length)]) + lurl); Security.allowDomain(_local1); l.load(new URLRequest(_local1)); } private static function loadComplete(_arg1:Event):void{ tracker = _arg1.target.content; tracker.init(getDefinitionByName("com.memecounter.Tracker"), root); _isReady = true; } } }//package com.memecounter
Section 30
//CountryDropdown (console.components.CountryDropdown) package console.components { public class CountryDropdown { public function CountryDropdown(_arg1){ var _local2:Array; var _local3:*; super(); _local2 = ["Select a country", "United Kingdom", "United States of America", "Afghanistan", "Åland Islands", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo, Democratic Republic", "Cook Islands", "Costa Rica", "Côte d'Ivoire (Ivory Coast)", "Croatia (Hrvatska)", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and McDonald Islands", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea (north)", "Korea (south)", "Kuwait", "Kyrgyzstan", "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia, Former Yugoslav Republic Of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestinian Territories", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Réunion", "Romania", "Russian Federation", "Rwanda", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia and Montenegro", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (US)", "Wallis and Futuna Islands", "Western Sahara", "Yemen", "Zaire", "Zambia", "Zimbabwe"]; _local3 = 0; while (_local3 < _local2.length) { _arg1.addItem({label:_local2[_local3], data:_local2[_local3]}); _local3++; }; } } }//package console.components
Section 31
//KeyObject (console.control.KeyObject) package console.control { import flash.display.*; import flash.events.*; import flash.utils.*; import console.strings.*; import flash.ui.*; public dynamic class KeyObject extends Proxy { private static var keysTime:Array; private static var lastTime; private static var thisTime; private static var keysDown:Object; private static var timeCapture:Number = 300; private static var keysCombo:Array; private static var stage:Stage; public function KeyObject(_arg1:Stage){ construct(_arg1); } private function keyPressed(_arg1:KeyboardEvent):void{ var _local2:*; var _local3:*; var _local4:uint; var _local5:*; var _local6:*; keysDown[_arg1.keyCode] = true; _local2 = getTimer(); lastTime = _local2; _local3 = _arg1.keyCode; _local4 = keysTime.length; if (_local4 == 0){ keysTime.push(_local2); keysCombo.push(_local3); } else { _local5 = ((keysTime[(_local4 - 1)]) || (keysTime[0])); _local6 = (_local2 - _local5); if (_local6 > timeCapture){ keysTime = new Array(); keysCombo = new Array(); keysTime.push(_local2); keysCombo.push(_local3); } else { keysTime.push(_local2); keysCombo.push(_local3); }; }; } public function isCombo(_arg1:Array):Boolean{ var _local2:*; var _local3:*; var _local4:uint; var _local5:int; _local2 = _arg1.length; _local3 = keysCombo.length; _local4 = 0; if (_local2 > _local3){ return (false); }; _local5 = 0; while (_local5 < _local2) { return (isinArray(_arg1, keysCombo)); _local5++; }; return (false); } public function construct(_arg1:Stage, _arg2:Number=300):void{ timeCapture = _arg2; KeyObject.stage = _arg1; keysDown = new Object(); keysTime = new Array(); keysCombo = new Array(); _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.ENTER_FRAME, noKeys); } public function destroy():void{ stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased); keysDown = new Object(); keysTime = new Array(); keysCombo = new Array(); KeyObject.stage = null; } private function isinArray(_arg1:Array, _arg2:Array):Boolean{ var _local3:*; var _local4:*; _local3 = _arg1.toString(); _local4 = _arg2.toString(); return (StringUtils.contains(_local4, _local3)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (((_arg1 in Keyboard)) ? Keyboard[_arg1] : -1); } public function isDown(_arg1:uint):Boolean{ return (Boolean((_arg1 in keysDown))); } private function noKeys(_arg1:Event):void{ var _local2:*; thisTime = getTimer(); _local2 = (thisTime - lastTime); if (_local2 > timeCapture){ keysTime = new Array(); keysCombo = new Array(); }; } private function keyReleased(_arg1:KeyboardEvent):void{ delete keysDown[_arg1.keyCode]; } } }//package console.control
Section 32
//TimeBasedAnimation (console.engines.TimeBasedAnimation) package console.engines { import flash.display.*; import flash.events.*; import flash.utils.*; public class TimeBasedAnimation extends Sprite { private static var _timeDiff:int; private static var _lastTime:int = 0; public function startTimer():void{ _lastTime = getTimer(); addEventListener(Event.ENTER_FRAME, setTimeDiff); } public function setTimeDiff(_arg1:Event):void{ _timeDiff = (getTimer() - _lastTime); _lastTime = (_lastTime + _timeDiff); } public function returnTimeDiff():int{ return (_timeDiff); } public function destroy():void{ removeEventListener(Event.ENTER_FRAME, setTimeDiff); } } }//package console.engines
Section 33
//CommonHighScore (console.highscore.CommonHighScore) package console.highscore { import flash.events.*; import console.parsers.*; public class CommonHighScore extends EventDispatcher { public var _highScores:Array; public var _xmlPass; public static const SCORES_LOADED:String = "SCORESLOADED"; public static const SCORES_FAILED:String = "SCORESFAILED"; public function CommonHighScore(){ _xmlPass = new ParseXML(); super(); } public function xml_progress(_arg1:Event):void{ trace(_arg1.target._progressBytesPerc); } public function xml_display(_arg1:Event):void{ var _local2:XML; var _local3:uint; var _local4:*; var _local5:*; var _local6:Array; var _local7:*; _xmlPass.removeEventListener(ParseXML.XML_LOADED, xml_display); _xmlPass.removeEventListener(ParseXML.XML_FAILED, xml_failed); _xmlPass.removeEventListener(ParseXML.XML_PROGRESS, xml_progress); _local2 = _xmlPass._xmlDoc; _highScores = null; _highScores = new Array(); _local3 = _local2.daily_scores.entry.length(); _local4 = 1; while (_local4 <= _local3) { _local5 = _local2.daily_scores.entry[(_local4 - 1)]; _local6 = new Array(); _local6.push(_local4); _local7 = 0; while (_local7 <= 50) { if (_local5.attributes()[_local7] != undefined){ _local6.push(_local5.attributes()[_local7]); trace(("ATT = " + _local5.attributes()[_local7])); }; _local7++; }; _highScores.push(_local6); _local4++; }; trace(("ATTRIBUTES ARRAY = " + _highScores[0])); trace(("SCORES ARRAY = " + _highScores)); dispatchEvent(new Event(CommonHighScore.SCORES_LOADED)); } public function xml_failed(_arg1:Event):void{ dispatchEvent(new Event(CommonHighScore.SCORES_FAILED)); } public function showScores(_arg1):void{ _xmlPass.addEventListener(ParseXML.XML_LOADED, xml_display); _xmlPass.addEventListener(ParseXML.XML_FAILED, xml_failed); _xmlPass.addEventListener(ParseXML.XML_PROGRESS, xml_progress); _xmlPass.parseURL(_arg1, true); } } }//package console.highscore
Section 34
//Cache (console.loaders.Cache) package console.loaders { public class Cache { public function returnAntiCacheURL(_arg1:String):String{ var _local2:*; var _local3:*; var _local4:*; _local2 = ("rand=" + Math.ceil((Math.random() * 1000000))); _local3 = "?"; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1.charAt(_local4) == "?"){ _local3 = "&"; break; }; _local4++; }; _arg1 = (_arg1 + (_local3 + _local2)); return (_arg1); } } }//package console.loaders
Section 35
//SendReceiveData (console.loaders.SendReceiveData) package console.loaders { import flash.events.*; import flash.net.*; public class SendReceiveData extends EventDispatcher { public var _loader:URLLoader; public var _errorMessage:String; public static const DATA_LOADED:String = "Data Loaded"; public static const DATA_ERROR:String = "Data Error"; public function onError(_arg1:IOErrorEvent){ trace(("ERROR = " + _arg1.text)); trace("POSSIBLE PROBLEMS - crossdomain.xml missing"); _errorMessage = _arg1.text; dispatchEvent(new Event(SendReceiveData.DATA_ERROR)); } public function sendData(_arg1:String, _arg2:URLVariables):void{ var _local3:URLRequest; _local3 = new URLRequest(_arg1); _local3.data = _arg2; _local3.method = URLRequestMethod.POST; _loader = new URLLoader(); _loader.addEventListener(Event.COMPLETE, onComplete); _loader.addEventListener(IOErrorEvent.IO_ERROR, onError); _loader.load(_local3); } public function onComplete(_arg1:Event){ dispatchEvent(new Event(SendReceiveData.DATA_LOADED)); } } }//package console.loaders
Section 36
//URLPreload (console.loaders.URLPreload) package console.loaders { import flash.events.*; import flash.net.*; public class URLPreload extends EventDispatcher { public var _progressBytesTotal:uint; public var _progress:uint; private var _URL:String; public var _progressBytesPerc:uint; public var _urlLoader:URLLoader;// = null public var _progressBytesLoaded:uint; private var _retry:uint;// = 0 private var _antiCache:Boolean; public static const LOAD_COMPLETE:String = "Complete"; public static const LOAD_PROGRESS:String = "Load Progress"; public static const LOAD_ERROR:String = "Error"; public function URLPreload(_arg1:String, _arg2:Boolean){ _retry = 0; _urlLoader = null; super(); _URL = _arg1; _antiCache = _arg2; setupPreload(_URL, _antiCache); } private function onProgress(_arg1:ProgressEvent):void{ _progressBytesLoaded = _arg1.target.bytesLoaded; _progressBytesTotal = _arg1.target.bytesTotal; _progressBytesPerc = ((_arg1.target.bytesLoaded / _arg1.target.bytesTotal) * 100); dispatchEvent(new Event(URLPreload.LOAD_PROGRESS)); } public function setupPreload(_arg1:String, _arg2:Boolean){ var _local3:URLRequest; var _local4:*; if (_arg2){ _local4 = new Cache(); _arg1 = _local4.returnAntiCacheURL(_arg1); trace(("URL: " + _arg1)); }; _local3 = new URLRequest(_arg1); _local3.method = URLRequestMethod.POST; _urlLoader = new URLLoader(); _urlLoader.load(_local3); _urlLoader.addEventListener(Event.COMPLETE, onComplete); _urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress); _urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError); } private function onError(_arg1:IOErrorEvent):void{ if (_retry > 10){ dispatchEvent(new Event(URLPreload.LOAD_ERROR)); } else { _retry++; setupPreload(_URL, _antiCache); }; } private function onComplete(_arg1:Event):void{ dispatchEvent(new Event(URLPreload.LOAD_COMPLETE)); } } }//package console.loaders
Section 37
//OpenURL (console.loadurl.OpenURL) package console.loadurl { import flash.net.*; import flash.external.*; public class OpenURL { public static function loadURL(_arg1:String, _arg2:String="_blank"):void{ var WINDOW_OPEN_FUNCTION:String; var url = _arg1; var window = _arg2; WINDOW_OPEN_FUNCTION = "window.open"; if (ExternalInterface.available){ try { ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window); trace("EXTERNAL INTERFACE TO URL"); } catch(e:Error) { navigateToURL(new URLRequest(url), window); trace("NAVIGATE TO URL"); }; } else { navigateToURL(new URLRequest(url), window); trace("EXTERNAL INTERFACE NOT AVAILABLE"); }; } } }//package console.loadurl
Section 38
//ConvertDegrees (console.math.ConvertDegrees) package console.math { public class ConvertDegrees { public function convertToDegree(_arg1:Number){ var _local2:*; _local2 = ((_arg1 * 180) / Math.PI); return (_local2); } public function convertToRadian(_arg1:Number){ var _local2:*; _local2 = ((_arg1 * Math.PI) / 180); return (_local2); } } }//package console.math
Section 39
//Pythag (console.math.Pythag) package console.math { public class Pythag { public function findOppositeLength(_arg1, _arg2):Number{ var _local3:*; _local3 = (Math.sin(_arg1) * _arg2); return (_local3); } public function findNewXY(_arg1, _arg2, _arg3, _arg4):Array{ var _local5:*; var _local6:*; var _local7:Array; var _local8:*; var _local9:*; _local5 = findAdjascentLength(_arg3, _arg4); _local6 = findOppositeLength(_arg3, _arg4); _local7 = new Array(); _local8 = (_arg1 + _local5); _local9 = (_arg2 + _local6); _local7[0] = _local8; _local7[1] = _local9; return (_local7); } public function findHypotenuseLength(_arg1, _arg2:Number){ var _local3:*; _local3 = Math.sqrt((Math.pow(_arg1, 2) + Math.pow(_arg2, 2))); return (_local3); } public function findAngle(_arg1, _arg2, _arg3, _arg4){ var _local5:Number; var _local6:Number; var _local7:Number; _local5 = (_arg1 - _arg3); _local6 = (_arg2 - _arg4); _local7 = Math.atan2(_local6, _local5); return (_local7); } public function findAdjascentLength(_arg1, _arg2):Number{ var _local3:*; _local3 = (Math.cos(_arg1) * _arg2); return (_local3); } } }//package console.math
Section 40
//ParseTOKEN (console.parsers.ParseTOKEN) package console.parsers { import flash.events.*; import flash.net.*; import com.adobe.crypto.*; import console.loaders.*; public class ParseTOKEN extends EventDispatcher { public var _loadToken; public var _loadedVars:URLVariables; public var _token:String; private var _MD5; public static const TOKEN_GENERATED:String = "Token Generated"; public function ParseTOKEN(_arg1){ var _local2:URLVariables; _MD5 = new MD5(); super(); _local2 = new URLVariables(); _local2.action = "token_generate"; _loadToken = new SendReceiveData(); _loadToken.sendData(_arg1, _local2); _loadToken.addEventListener(SendReceiveData.DATA_LOADED, loadToken); } public function loadToken(_arg1:Event):void{ var _local2:URLLoader; var _local3:String; var _local4:*; var _local5:*; var _local6:*; var _local7:*; _local2 = URLLoader(_arg1.target._loader); _loadedVars = new URLVariables(_local2.data); _token = _loadedVars.token; _local3 = _token.substr(28, 8); _local4 = MD5.hash(_local3); _local5 = Math.ceil((Math.random() * 1000000)); _local6 = Math.ceil((Math.random() * 1000000)); _local7 = Math.ceil((Math.random() * 1000000)); _token = (((MD5.hash(_local5) + MD5.hash(_local6)) + _local4) + MD5.hash(_local7)); trace(_token); dispatchEvent(new Event(ParseTOKEN.TOKEN_GENERATED)); } } }//package console.parsers
Section 41
//ParseXML (console.parsers.ParseXML) package console.parsers { import flash.events.*; import flash.net.*; import console.loaders.*; public class ParseXML extends EventDispatcher { public var _progressBytesPerc:uint;// = 0 public var _progressBytesTotal:uint;// = 0 public var _xmlDoc:XML; public var _tag:String;// = null private var _urlLoader:URLLoader; public var _progressBytesLoaded:uint;// = 0 public var _loaded:Boolean;// = false public var _preloader:URLPreload; public static const XML_FAILED:String = "XMLFailed"; public static const XML_PROGRESS:String = "XMLProgress"; public static const XML_LOADED:String = "XMLLoaded"; public function ParseXML(){ _tag = null; _progressBytesLoaded = 0; _progressBytesTotal = 0; _progressBytesPerc = 0; _loaded = false; super(); } public function checkProgress(_arg1:Event):void{ _progressBytesLoaded = _arg1.target._progressBytesLoaded; _progressBytesTotal = _arg1.target._progressBytesTotal; _progressBytesPerc = _arg1.target._progressBytesPerc; dispatchEvent(new Event(ParseXML.XML_PROGRESS)); } public function parseURL(_arg1:String, _arg2:Boolean):void{ _preloader = new URLPreload(_arg1, _arg2); _preloader.addEventListener(URLPreload.LOAD_PROGRESS, checkProgress); _preloader.addEventListener(URLPreload.LOAD_COMPLETE, completeLoad); } public function completeLoad(_arg1:Event):void{ _xmlDoc = new XML(_arg1.target._urlLoader.data); dispatchEvent(new Event(ParseXML.XML_LOADED)); } } }//package console.parsers
Section 42
//StringUtils (console.strings.StringUtils) package console.strings { public class StringUtils { private static function _swapCase(_arg1:String, ... _args):String{ var _local3:String; var _local4:String; _local3 = _arg1.toLowerCase(); _local4 = _arg1.toUpperCase(); switch (_arg1){ case _local3: return (_local4); case _local4: return (_local3); default: return (_arg1); }; } public static function isEmpty(_arg1:String):Boolean{ if (_arg1 == null){ return (true); }; return (!(_arg1.length)); } public static function remove(_arg1:String, _arg2:String, _arg3:Boolean=true):String{ var _local4:String; var _local5:String; if (_arg1 == null){ return (""); }; _local4 = escapePattern(_arg2); _local5 = (_arg3) ? "g" : "ig"; return (_arg1.replace(new RegExp(_local4, _local5), "")); } public static function countOf(_arg1:String, _arg2:String, _arg3:Boolean=true):uint{ var _local4:String; var _local5:String; if (_arg1 == null){ return (0); }; _local4 = escapePattern(_arg2); _local5 = (_arg3) ? "g" : "ig"; return (_arg1.match(new RegExp(_local4, _local5)).length); } public static function between(_arg1:String, _arg2:String, _arg3:String):String{ var _local4:String; var _local5:int; var _local6:int; _local4 = ""; if (_arg1 == null){ return (_local4); }; _local5 = _arg1.indexOf(_arg2); if (_local5 != -1){ _local5 = (_local5 + _arg2.length); _local6 = _arg1.indexOf(_arg3, _local5); if (_local6 != -1){ _local4 = _arg1.substr(_local5, (_local6 - _local5)); }; }; return (_local4); } public static function padRight(_arg1:String, _arg2:String, _arg3:uint):String{ var _local4:String; _local4 = _arg1; while (_local4.length < _arg3) { _local4 = (_local4 + _arg2); }; return (_local4); } public static function isNumeric(_arg1:String):Boolean{ var _local2:RegExp; if (_arg1 == null){ return (false); }; _local2 = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/; return (_local2.test(_arg1)); } public static function block(_arg1:String, _arg2:uint, _arg3:String="."):Array{ var _local4:Array; var _local5:uint; var _local6:uint; var _local7:RegExp; var _local8:String; _local4 = new Array(); if ((((_arg1 == null)) || (!(contains(_arg1, _arg3))))){ return (_local4); }; _local5 = 0; _local6 = _arg1.length; _local7 = new RegExp((("[^" + escapePattern(_arg3)) + "]+$")); while (_local5 < _local6) { _local8 = _arg1.substr(_local5, _arg2); if (!contains(_local8, _arg3)){ _local4.push(truncate(_local8, _local8.length)); _local5 = (_local5 + _local8.length); }; _local8 = _local8.replace(_local7, ""); _local4.push(_local8); _local5 = (_local5 + _local8.length); }; return (_local4); } public static function trim(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.replace(/^\s+|\s+$/g, "")); } public static function beginsWith(_arg1:String, _arg2:String):Boolean{ if (_arg1 == null){ return (false); }; return ((_arg1.indexOf(_arg2) == 0)); } public static function stripTags(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.replace(/<\/?[^>]+>/igm, "")); } public static function afterLast(_arg1:String, _arg2:String):String{ var _local3:int; if (_arg1 == null){ return (""); }; _local3 = _arg1.lastIndexOf(_arg2); if (_local3 == -1){ return (""); }; _local3 = (_local3 + _arg2.length); return (_arg1.substr(_local3)); } private static function _minimum(_arg1:uint, _arg2:uint, _arg3:uint):uint{ return (Math.min(_arg1, Math.min(_arg2, Math.min(_arg3, _arg1)))); } private static function escapePattern(_arg1:String):String{ return (_arg1.replace(/(\]|\[|\{|\}|\(|\)|\*|\+|\?|\.|\\)/g, "\\$1")); } public static function removeExtraWhitespace(_arg1:String):String{ var _local2:String; if (_arg1 == null){ return (""); }; _local2 = trim(_arg1); return (_local2.replace(/\s+/g, " ")); } public static function trimRight(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.replace(/\s+$/, "")); } public static function endsWith(_arg1:String, _arg2:String):Boolean{ return ((_arg1.lastIndexOf(_arg2) == (_arg1.length - _arg2.length))); } public static function contains(_arg1:String, _arg2:String):Boolean{ if (_arg1 == null){ return (false); }; return (!((_arg1.indexOf(_arg2) == -1))); } public static function properCase(_arg1:String):String{ var _local2:String; if (_arg1 == null){ return (""); }; _local2 = _arg1.toLowerCase().replace(/\b([^.?;!]+)/, capitalize); return (_local2.replace(/\b[i]\b/, "I")); } public static function trimLeft(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.replace(/^\s+/, "")); } public static function similarity(_arg1:String, _arg2:String):Number{ var _local3:uint; var _local4:uint; _local3 = editDistance(_arg1, _arg2); _local4 = Math.max(_arg1.length, _arg2.length); if (_local4 == 0){ return (100); }; return (((1 - (_local3 / _local4)) * 100)); } public static function wordCount(_arg1:String):uint{ if (_arg1 == null){ return (0); }; return (_arg1.match(/\b\w+\b/g).length); } public static function editDistance(_arg1:String, _arg2:String):uint{ var _local3:uint; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:String; var _local10:String; if (_arg1 == null){ _arg1 = ""; }; if (_arg2 == null){ _arg2 = ""; }; if (_arg1 == _arg2){ return (0); }; _local4 = new Array(); _local6 = _arg1.length; _local7 = _arg2.length; if (_local6 == 0){ return (_local7); }; if (_local7 == 0){ return (_local6); }; _local3 = 0; while (_local3 <= _local6) { _local4[_local3] = new Array(); _local3++; }; _local3 = 0; while (_local3 <= _local6) { _local4[_local3][0] = _local3; _local3++; }; _local8 = 0; while (_local8 <= _local7) { _local4[0][_local8] = _local8; _local8++; }; _local3 = 1; while (_local3 <= _local6) { _local9 = _arg1.charAt((_local3 - 1)); _local8 = 1; while (_local8 <= _local7) { _local10 = _arg2.charAt((_local8 - 1)); if (_local9 == _local10){ _local5 = 0; } else { _local5 = 1; }; _local4[_local3][_local8] = _minimum((_local4[(_local3 - 1)][_local8] + 1), (_local4[_local3][(_local8 - 1)] + 1), (_local4[(_local3 - 1)][(_local8 - 1)] + _local5)); _local8++; }; _local3++; }; return (_local4[_local6][_local7]); } public static function hasText(_arg1:String):Boolean{ var _local2:String; _local2 = removeExtraWhitespace(_arg1); return (!(!(_local2.length))); } public static function reverse(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.split("").reverse().join("")); } public static function swapCase(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.replace(/(\w)/, _swapCase)); } public static function capitalize(_arg1:String, ... _args):String{ var _local3:String; _local3 = trimLeft(_arg1); trace("capl", _args[0]); if (_args[0] === true){ return (_local3.replace(/^.|\b./g, _upperCase)); }; return (_local3.replace(/(^\w)/, _upperCase)); } public static function truncate(_arg1:String, _arg2:uint, _arg3:String="..."):String{ var _local4:String; if (_arg1 == null){ return (""); }; _arg2 = (_arg2 - _arg3.length); _local4 = _arg1; if (_local4.length > _arg2){ _local4 = _local4.substr(0, _arg2); if (/[^\s]/.test(_arg1.charAt(_arg2))){ _local4 = trimRight(_local4.replace(/\w+$|\s+$/, "")); }; _local4 = (_local4 + _arg3); }; return (_local4); } public static function reverseWords(_arg1:String):String{ if (_arg1 == null){ return (""); }; return (_arg1.split(/\s+/).reverse().join("")); } public static function beforeFirst(_arg1:String, _arg2:String):String{ var _local3:int; if (_arg1 == null){ return (""); }; _local3 = _arg1.indexOf(_arg2); if (_local3 == -1){ return (""); }; return (_arg1.substr(0, _local3)); } private static function _upperCase(_arg1:String, ... _args):String{ trace("cap latter ", _arg1); return (_arg1.toUpperCase()); } public static function afterFirst(_arg1:String, _arg2:String):String{ var _local3:int; if (_arg1 == null){ return (""); }; _local3 = _arg1.indexOf(_arg2); if (_local3 == -1){ return (""); }; _local3 = (_local3 + _arg2.length); return (_arg1.substr(_local3)); } public static function beforeLast(_arg1:String, _arg2:String):String{ var _local3:int; if (_arg1 == null){ return (""); }; _local3 = _arg1.lastIndexOf(_arg2); if (_local3 == -1){ return (""); }; return (_arg1.substr(0, _local3)); } public static function padLeft(_arg1:String, _arg2:String, _arg3:uint):String{ var _local4:String; _local4 = _arg1; while (_local4.length < _arg3) { _local4 = (_arg2 + _local4); }; return (_local4); } public static function quote(_arg1:String):String{ var _local2:RegExp; _local2 = /[\\"\r\n]/g; return ((("\"" + _arg1.replace(_local2, _quote)) + "\"")); } private static function _quote(_arg1:String, ... _args):String{ switch (_arg1){ case "\\": return ("\\\\"); case "\r": return ("\\r"); case "\n": return ("\\n"); case "\"": return ("\\\""); default: return (""); }; } } }//package console.strings
Section 43
//MochiBot (console.trackers.MochiBot) package console.trackers { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; trace("RUN MOCHIBOT TRACKING"); if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package console.trackers
Section 44
//badLANGUAGE (console.verification.badLANGUAGE) package console.verification { import flash.display.*; import console.strings.*; public class badLANGUAGE extends MovieClip { private static const swearing:Array = new Array("anal", "arse", "ass", "asshole", "bastard", "bellend", "bitch", "boob", "bollocks", "bollox", "bukkake", "clit", "crap", "cum", "cunt", "cunting", "dick", "dicks", "facial", "faggot", "fanny", "fisting", "fuck", "fucker", "fucking", "gay", "jizz", "lesbian", "knob", "nob", "penis", "phedo", "phedophile", "phedophilia", "phallace", "piss", "pisshead", "pussy", "poo", "prick", "puff", "scrubber", "shit", "stab", "slag", "slut", "smeg", "spunk", "stupid", "tit", "tits", "titty", "turd", "wank", "wanker", "wanking", "whore"); public function Report(_arg1:Array, _arg2:uint):void{ var _local3:uint; if (_arg2 > 0){ trace("--------------- SWEARING CHECK ----------------"); trace((_arg2 + " account of swearing")); trace("----------------- WORDS USED ------------------"); _local3 = 0; while (_local3 < _arg1.length) { trace(("FOUND:" + _arg1[_local3])); _local3++; }; } else { trace("--------------- NO SWEARING DETECTED----------------"); }; } public function Remove(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):String{ var _local4:uint; var _local5:Array; var _local6:uint; var _local7:*; var _local8:uint; var _local9:*; var _local10:uint; _local4 = 0; _local5 = new Array(); _local6 = 0; while (_local6 < swearing.length) { _local9 = StringUtils.countOf(_arg1, swearing[_local6], false); _local4 = (_local4 + _local9); if (_local9 > 0){ _local10 = 0; while (_local10 < _local9) { _local5.push(swearing[_local10]); _local10++; }; }; _local6++; }; _local7 = _arg1; _local8 = 0; while (_local8 < swearing.length) { _local7 = StringUtils.remove(_local7, swearing[_local8], false); _local8++; }; if (!_arg2){ return (_arg1); }; return (_local7); } public function Detect(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):String{ var _local4:Array; var _local5:Array; var _local6:*; var _local7:int; var _local8:int; var _local9:*; var _local10:Boolean; var _local11:uint; _local4 = _arg1.split(" "); _local5 = new Array(); _local6 = ""; _local7 = 0; while (_local7 < _local4.length) { _local9 = _local4[_local7]; _local10 = false; _local11 = 0; while (_local11 < swearing.length) { if (_local9.toLowerCase() == swearing[_local11]){ _local10 = true; }; _local11++; }; if (!_local10){ _local5.push(_local9); }; _local7++; }; _local8 = 0; while (_local8 < _local5.length) { if (_local8 == (_local5.length - 1)){ _local6 = (_local6 + _local5[_local8]); } else { _local6 = (_local6 + (_local5[_local8] + " ")); }; _local8++; }; return (_local6); } } }//package console.verification
Section 45
//formVERIFY (console.verification.formVERIFY) package console.verification { public class formVERIFY { public function email(_arg1:String):Boolean{ var _local2:String; var _local3:int; var _local4:String; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:uint; var _local9:String; _local2 = "@"; _local4 = "."; _local5 = false; _local6 = false; _local7 = false; _local8 = 0; while (_local8 < _arg1.length) { _local9 = new String(); _local9 = _arg1.substr(_local8, 1); if (_local9 == _local2){ _local3 = _local8; _local5 = true; }; if ((((_local9 == _local4)) && (_local5))){ _local6 = true; }; _local8++; }; if (((_local5) && (_local6))){ _local7 = true; } else { _local7 = false; }; return (_local7); } } }//package console.verification
Section 46
//BaseScrollPane (fl.containers.BaseScrollPane) package fl.containers { import fl.core.*; import fl.controls.*; import flash.display.*; import flash.events.*; import flash.geom.*; import fl.events.*; public class BaseScrollPane extends UIComponent { protected var defaultLineScrollSize:Number;// = 4 protected var _maxHorizontalScrollPosition:Number;// = 0 protected var vScrollBar:Boolean; protected var disabledOverlay:Shape; protected var hScrollBar:Boolean; protected var availableWidth:Number; protected var _verticalPageScrollSize:Number;// = 0 protected var vOffset:Number;// = 0 protected var _verticalScrollBar:ScrollBar; protected var useFixedHorizontalScrolling:Boolean;// = false protected var contentWidth:Number;// = 0 protected var contentHeight:Number;// = 0 protected var _horizontalPageScrollSize:Number;// = 0 protected var background:DisplayObject; protected var _useBitmpScrolling:Boolean;// = false protected var contentPadding:Number;// = 0 protected var availableHeight:Number; protected var _horizontalScrollBar:ScrollBar; protected var contentScrollRect:Rectangle; protected var _horizontalScrollPolicy:String; protected var _verticalScrollPolicy:String; protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5}; public function BaseScrollPane(){ contentWidth = 0; contentHeight = 0; contentPadding = 0; vOffset = 0; _maxHorizontalScrollPosition = 0; _horizontalPageScrollSize = 0; _verticalPageScrollSize = 0; defaultLineScrollSize = 4; useFixedHorizontalScrolling = false; _useBitmpScrolling = false; super(); } protected function handleWheel(_arg1:MouseEvent):void{ if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){ return; }; _verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize)); setVerticalScrollPosition(_verticalScrollBar.scrollPosition); dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition)); } public function get verticalScrollPosition():Number{ return (_verticalScrollBar.scrollPosition); } protected function drawDisabledOverlay():void{ if (enabled){ if (contains(disabledOverlay)){ removeChild(disabledOverlay); }; } else { disabledOverlay.x = (disabledOverlay.y = contentPadding); disabledOverlay.width = availableWidth; disabledOverlay.height = availableHeight; disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number); addChild(disabledOverlay); }; } public function set verticalScrollPosition(_arg1:Number):void{ drawNow(); _verticalScrollBar.scrollPosition = _arg1; setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); } protected function setContentSize(_arg1:Number, _arg2:Number):void{ if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){ return; }; contentWidth = _arg1; contentHeight = _arg2; invalidate(InvalidationType.SIZE); } public function get horizontalScrollPosition():Number{ return (_horizontalScrollBar.scrollPosition); } public function get horizontalScrollBar():ScrollBar{ return (_horizontalScrollBar); } override public function set enabled(_arg1:Boolean):void{ if (enabled == _arg1){ return; }; _verticalScrollBar.enabled = _arg1; _horizontalScrollBar.enabled = _arg1; super.enabled = _arg1; } public function get verticalLineScrollSize():Number{ return (_verticalScrollBar.lineScrollSize); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } protected function calculateAvailableSize():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = ScrollBar.WIDTH; _local2 = (contentPadding = Number(getStyleValue("contentPadding"))); _local3 = ((height - (2 * _local2)) - vOffset); vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3))))); _local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2)); _local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4); hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0))))); if (hScrollBar){ _local3 = (_local3 - _local1); }; if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){ vScrollBar = true; _local4 = (_local4 - _local1); }; availableHeight = (_local3 + vOffset); availableWidth = _local4; } public function get maxVerticalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentHeight - availableHeight))); } public function set horizontalScrollPosition(_arg1:Number):void{ drawNow(); _horizontalScrollBar.scrollPosition = _arg1; setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); } public function get horizontalLineScrollSize():Number{ return (_horizontalScrollBar.lineScrollSize); } public function set verticalPageScrollSize(_arg1:Number):void{ _verticalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function get useBitmapScrolling():Boolean{ return (_useBitmpScrolling); } protected function handleScroll(_arg1:ScrollEvent):void{ if (_arg1.target == _verticalScrollBar){ setVerticalScrollPosition(_arg1.position); } else { setHorizontalScrollPosition(_arg1.position); }; } public function set verticalLineScrollSize(_arg1:Number):void{ _verticalScrollBar.lineScrollSize = _arg1; } public function get verticalScrollBar():ScrollBar{ return (_verticalScrollBar); } protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function set horizontalPageScrollSize(_arg1:Number):void{ _horizontalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ setStyles(); drawBackground(); if (contentPadding != getStyleValue("contentPadding")){ invalidate(InvalidationType.SIZE, false); }; }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){ drawLayout(); }; updateChildren(); super.draw(); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } override protected function configUI():void{ var _local1:Graphics; super.configUI(); contentScrollRect = new Rectangle(0, 0, 85, 85); _verticalScrollBar = new ScrollBar(); _verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _verticalScrollBar.visible = false; _verticalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_verticalScrollBar); copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); _horizontalScrollBar = new ScrollBar(); _horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL; _horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _horizontalScrollBar.visible = false; _horizontalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_horizontalScrollBar); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); disabledOverlay = new Shape(); _local1 = disabledOverlay.graphics; _local1.beginFill(0xFFFFFF); _local1.drawRect(0, 0, width, height); _local1.endFill(); addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true); } protected function calculateContentWidth():void{ } public function get verticalPageScrollSize():Number{ if (isNaN(availableHeight)){ drawNow(); }; return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize); } protected function drawLayout():void{ calculateAvailableSize(); calculateContentWidth(); background.width = width; background.height = height; if (vScrollBar){ _verticalScrollBar.visible = true; _verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding); _verticalScrollBar.y = contentPadding; _verticalScrollBar.height = availableHeight; } else { _verticalScrollBar.visible = false; }; _verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize); setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); if (hScrollBar){ _horizontalScrollBar.visible = true; _horizontalScrollBar.x = contentPadding; _horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding); _horizontalScrollBar.width = availableWidth; } else { _horizontalScrollBar.visible = false; }; _horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize); setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); drawDisabledOverlay(); } protected function drawBackground():void{ var _local1:DisplayObject; _local1 = background; background = getDisplayObjectInstance(getStyleValue("skin")); background.width = width; background.height = height; addChildAt(background, 0); if (((!((_local1 == null))) && (!((_local1 == background))))){ removeChild(_local1); }; } public function set horizontalLineScrollSize(_arg1:Number):void{ _horizontalScrollBar.lineScrollSize = _arg1; } public function get horizontalPageScrollSize():Number{ if (isNaN(availableWidth)){ drawNow(); }; return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize); } public function get maxHorizontalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentWidth - availableWidth))); } protected function setStyles():void{ copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); } protected function updateChildren():void{ _verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled); _verticalScrollBar.drawNow(); _horizontalScrollBar.drawNow(); } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } public function set useBitmapScrolling(_arg1:Boolean):void{ _useBitmpScrolling = _arg1; invalidate(InvalidationType.STATE); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.containers
Section 47
//CellRenderer (fl.controls.listClasses.CellRenderer) package fl.controls.listClasses { import fl.controls.*; import flash.events.*; public class CellRenderer extends LabelButton implements ICellRenderer { protected var _data:Object; protected var _listData:ListData; private static var defaultStyles:Object = {upSkin:"CellRenderer_upSkin", downSkin:"CellRenderer_downSkin", overSkin:"CellRenderer_overSkin", disabledSkin:"CellRenderer_disabledSkin", selectedDisabledSkin:"CellRenderer_selectedDisabledSkin", selectedUpSkin:"CellRenderer_selectedUpSkin", selectedDownSkin:"CellRenderer_selectedDownSkin", selectedOverSkin:"CellRenderer_selectedOverSkin", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5}; public function CellRenderer():void{ toggle = true; focusEnabled = false; } override protected function toggleSelected(_arg1:MouseEvent):void{ } override public function get selected():Boolean{ return (super.selected); } public function set listData(_arg1:ListData):void{ _listData = _arg1; label = _listData.label; setStyle("icon", _listData.icon); } override public function set selected(_arg1:Boolean):void{ super.selected = _arg1; } public function set data(_arg1:Object):void{ _data = _arg1; } public function get listData():ListData{ return (_listData); } override public function setSize(_arg1:Number, _arg2:Number):void{ super.setSize(_arg1, _arg2); } override protected function drawLayout():void{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = 0; if (icon != null){ icon.x = _local1; icon.y = Math.round(((height - icon.height) >> 1)); _local2 = (icon.width + _local1); }; if (label.length > 0){ textField.visible = true; _local3 = Math.max(0, ((width - _local2) - (_local1 * 2))); textField.width = _local3; textField.height = (textField.textHeight + 4); textField.x = (_local2 + _local1); textField.y = Math.round(((height - textField.height) >> 1)); } else { textField.visible = false; }; background.width = width; background.height = height; } public function get data():Object{ return (_data); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls.listClasses
Section 48
//ICellRenderer (fl.controls.listClasses.ICellRenderer) package fl.controls.listClasses { public interface ICellRenderer { function setSize(_arg1:Number, _arg2:Number):void; function get listData():ListData; function get data():Object; function setMouseState(_arg1:String):void; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function set data(_arg1:Object):void; function set selected(_arg1:Boolean):void; function set listData(_arg1:ListData):void; function get selected():Boolean; } }//package fl.controls.listClasses
Section 49
//ListData (fl.controls.listClasses.ListData) package fl.controls.listClasses { import fl.core.*; public class ListData { protected var _index:uint; protected var _owner:UIComponent; protected var _label:String; protected var _icon:Object;// = null protected var _row:uint; protected var _column:uint; public function ListData(_arg1:String, _arg2:Object, _arg3:UIComponent, _arg4:uint, _arg5:uint, _arg6:uint=0){ _icon = null; super(); _label = _arg1; _icon = _arg2; _owner = _arg3; _index = _arg4; _row = _arg5; _column = _arg6; } public function get owner():UIComponent{ return (_owner); } public function get label():String{ return (_label); } public function get row():uint{ return (_row); } public function get index():uint{ return (_index); } public function get icon():Object{ return (_icon); } public function get column():uint{ return (_column); } } }//package fl.controls.listClasses
Section 50
//BaseButton (fl.controls.BaseButton) package fl.controls { import fl.core.*; import flash.display.*; import flash.events.*; import flash.utils.*; import fl.events.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var unlockedMouseState:String; protected var pressTimer:Timer; protected var mouseState:String; protected var background:DisplayObject; private var _mouseStateLocked:Boolean;// = false protected var _autoRepeat:Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false; _autoRepeat = false; _mouseStateLocked = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; setupMouseEvents(); setMouseState("up"); pressTimer = new Timer(1, 0); pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{ pressTimer.reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ _mouseStateLocked = _arg1; if (_arg1 == false){ setMouseState(unlockedMouseState); } else { unlockedMouseState = mouseState; }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (_mouseStateLocked){ unlockedMouseState = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if (_autoRepeat){ pressTimer.delay = Number(getStyleValue("repeatDelay")); pressTimer.start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (!_autoRepeat){ endPress(); return; }; if (pressTimer.currentCount == 1){ pressTimer.delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function setupMouseEvents():void{ addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 51
//Button (fl.controls.Button) package fl.controls { import fl.core.*; import flash.display.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var emphasizedBorder:DisplayObject; protected var _emphasized:Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){ _emphasized = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(_emphasized)))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ drawEmphasized(); }; super.draw(); if (emphasizedBorder != null){ setChildIndex(emphasizedBorder, (numChildren - 1)); }; } public function get emphasized():Boolean{ return (_emphasized); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function drawEmphasized():void{ var _local1:Object; var _local2:Number; if (emphasizedBorder != null){ removeChild(emphasizedBorder); }; emphasizedBorder = null; if (!_emphasized){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){ emphasizedBorder = getDisplayObjectInstance(_local1); }; if (emphasizedBorder != null){ addChildAt(emphasizedBorder, 0); _local2 = Number(getStyleValue("emphasizedPadding")); emphasizedBorder.x = (emphasizedBorder.y = -(_local2)); emphasizedBorder.width = (width + (_local2 * 2)); emphasizedBorder.height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 52
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 53
//ComboBox (fl.controls.ComboBox) package fl.controls { import fl.controls.listClasses.*; import fl.core.*; import flash.display.*; import flash.events.*; import flash.geom.*; import fl.data.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class ComboBox extends UIComponent implements IFocusManagerComponent { protected var _dropdownWidth:Number; protected var highlightedCell:int;// = -1 protected var _prompt:String; protected var isOpen:Boolean;// = false protected var list:List; protected var _rowCount:uint;// = 5 protected var currentIndex:int; protected var isKeyDown:Boolean;// = false protected var _labels:Array; protected var background:BaseButton; protected var inputField:TextInput; protected var listOverIndex:uint; protected var editableValue:String; protected var _editable:Boolean;// = false private var collectionItemImport:SimpleCollectionItem; protected static const BACKGROUND_STYLES:Object = {overSkin:"overSkin", downSkin:"downSkin", upSkin:"upSkin", disabledSkin:"disabledSkin", repeatInterval:"repeatInterval"}; protected static const LIST_STYLES:Object = {upSkin:"comboListUpSkin", overSkin:"comboListOverSkin", downSkin:"comobListDownSkin", disabledSkin:"comboListDisabledSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval", textFormat:"textFormat", disabledAlpha:"disabledAlpha", skin:"listSkin"}; private static var defaultStyles:Object = {upSkin:"ComboBox_upSkin", downSkin:"ComboBox_downSkin", overSkin:"ComboBox_overSkin", disabledSkin:"ComboBox_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, buttonWidth:24, disabledAlpha:null, listSkin:null}; public static var createAccessibilityImplementation:Function; public function ComboBox(){ _rowCount = 5; _editable = false; isOpen = false; highlightedCell = -1; isKeyDown = false; super(); } protected function drawList():void{ list.rowCount = Math.max(0, Math.min(_rowCount, list.dataProvider.length)); } public function set imeMode(_arg1:String):void{ inputField.imeMode = _arg1; } public function get dropdown():List{ return (list); } public function get dropdownWidth():Number{ return (list.width); } public function sortItemsOn(_arg1:String, _arg2:Object=null){ return (list.sortItemsOn(_arg1, _arg2)); } protected function onEnter(_arg1:ComponentEvent):void{ _arg1.stopPropagation(); } public function removeItemAt(_arg1:uint):void{ list.removeItemAt(_arg1); invalidate(InvalidationType.DATA); } public function open():void{ currentIndex = selectedIndex; if (((isOpen) || ((length == 0)))){ return; }; dispatchEvent(new Event(Event.OPEN)); isOpen = true; addEventListener(Event.ENTER_FRAME, addCloseListener, false, 0, true); positionList(); list.scrollToSelected(); stage.addChild(list); } public function get selectedItem():Object{ return (list.selectedItem); } public function set text(_arg1:String):void{ if (!editable){ return; }; inputField.text = _arg1; } public function get labelField():String{ return (list.labelField); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:uint; var _local4:Number; var _local5:int; isKeyDown = true; if (_arg1.ctrlKey){ switch (_arg1.keyCode){ case Keyboard.UP: if (highlightedCell > -1){ selectedIndex = highlightedCell; dispatchEvent(new Event(Event.CHANGE)); }; close(); break; case Keyboard.DOWN: open(); break; }; return; }; _arg1.stopPropagation(); _local2 = Math.max(((calculateAvailableHeight() / list.rowHeight) << 0), 1); _local3 = selectedIndex; _local4 = ((highlightedCell)==-1) ? selectedIndex : highlightedCell; _local5 = -1; switch (_arg1.keyCode){ case Keyboard.SPACE: if (isOpen){ close(); } else { open(); }; return; case Keyboard.ESCAPE: if (isOpen){ if (highlightedCell > -1){ selectedIndex = selectedIndex; }; close(); }; return; case Keyboard.UP: _local5 = Math.max(0, (_local4 - 1)); break; case Keyboard.DOWN: _local5 = Math.min((length - 1), (_local4 + 1)); break; case Keyboard.PAGE_UP: _local5 = Math.max((_local4 - _local2), 0); break; case Keyboard.PAGE_DOWN: _local5 = Math.min((_local4 + _local2), (length - 1)); break; case Keyboard.HOME: _local5 = 0; break; case Keyboard.END: _local5 = (length - 1); break; case Keyboard.ENTER: if (((_editable) && ((highlightedCell == -1)))){ editableValue = inputField.text; selectedIndex = -1; } else { if (((isOpen) && ((highlightedCell > -1)))){ editableValue = null; selectedIndex = highlightedCell; dispatchEvent(new Event(Event.CHANGE)); }; }; dispatchEvent(new ComponentEvent(ComponentEvent.ENTER)); close(); return; default: if (editable){ break; }; _local5 = list.getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), _local4); break; }; if (_local5 > -1){ if (isOpen){ highlightCell(_local5); inputField.text = list.itemToLabel(getItemAt(_local5)); } else { highlightCell(); selectedIndex = _local5; dispatchEvent(new Event(Event.CHANGE)); }; }; } public function set dropdownWidth(_arg1:Number):void{ _dropdownWidth = _arg1; invalidate(InvalidationType.SIZE); } public function get editable():Boolean{ return (_editable); } override protected function focusInHandler(_arg1:FocusEvent):void{ super.focusInHandler(_arg1); if (editable){ stage.focus = inputField.textField; }; } protected function onStageClick(_arg1:MouseEvent):void{ if (!isOpen){ return; }; if (((!(contains((_arg1.target as DisplayObject)))) && (!(list.contains((_arg1.target as DisplayObject)))))){ if (highlightedCell != -1){ selectedIndex = highlightedCell; dispatchEvent(new Event(Event.CHANGE)); }; close(); }; } protected function handleDataChange(_arg1:DataChangeEvent):void{ invalidate(InvalidationType.DATA); } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ isKeyDown = false; } protected function onListItemUp(_arg1:MouseEvent):void{ var _local2:*; stage.removeEventListener(MouseEvent.MOUSE_UP, onListItemUp); if (((!((_arg1.target is ICellRenderer))) || (!(list.contains((_arg1.target as DisplayObject)))))){ return; }; editableValue = null; _local2 = selectedIndex; selectedIndex = _arg1.target.listData.index; if (_local2 != selectedIndex){ dispatchEvent(new Event(Event.CHANGE)); }; close(); } public function removeAll():void{ list.removeAll(); inputField.text = ""; invalidate(InvalidationType.DATA); } public function set selectedItem(_arg1:Object):void{ list.selectedItem = _arg1; invalidate(InvalidationType.SELECTED); } protected function highlightCell(_arg1:int=-1):void{ var _local2:ICellRenderer; if (highlightedCell > -1){ _local2 = list.itemToCellRenderer(getItemAt(highlightedCell)); if (_local2 != null){ _local2.setMouseState("up"); }; }; if (_arg1 == -1){ return; }; list.scrollToIndex(_arg1); list.drawNow(); _local2 = list.itemToCellRenderer(getItemAt(_arg1)); if (_local2 != null){ _local2.setMouseState("over"); highlightedCell = _arg1; }; } public function itemToLabel(_arg1:Object):String{ if (_arg1 == null){ return (""); }; return (list.itemToLabel(_arg1)); } public function addItemAt(_arg1:Object, _arg2:uint):void{ list.addItemAt(_arg1, _arg2); invalidate(InvalidationType.DATA); } public function replaceItemAt(_arg1:Object, _arg2:uint):Object{ return (list.replaceItemAt(_arg1, _arg2)); } protected function showPrompt():void{ inputField.text = _prompt; } public function set rowCount(_arg1:uint):void{ _rowCount = _arg1; invalidate(InvalidationType.SIZE); } public function get restrict():String{ return (inputField.restrict); } protected function setEmbedFonts():void{ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ inputField.textField.embedFonts = _local1; }; } public function sortItems(... _args){ return (list.sortItems.apply(list, _args)); } public function set labelField(_arg1:String):void{ list.labelField = _arg1; invalidate(InvalidationType.DATA); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; drawTextField(); } public function set prompt(_arg1:String):void{ if (_arg1 == ""){ _prompt = null; } else { _prompt = _arg1; }; invalidate(InvalidationType.STATE); } public function get length():int{ return (list.length); } protected function drawTextField():void{ inputField.setStyle("upSkin", ""); inputField.setStyle("disabledSkin", ""); inputField.enabled = enabled; inputField.editable = _editable; inputField.textField.selectable = ((enabled) && (_editable)); inputField.mouseEnabled = (inputField.mouseChildren = ((enabled) && (_editable))); inputField.focusEnabled = false; if (_editable){ inputField.addEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus, false, 0, true); inputField.addEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut, false, 0, true); } else { inputField.removeEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus); inputField.removeEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut); }; } protected function onInputFieldFocusOut(_arg1:FocusEvent):void{ inputField.removeEventListener(ComponentEvent.ENTER, onEnter); selectedIndex = selectedIndex; } protected function passEvent(_arg1:Event):void{ dispatchEvent(_arg1); } public function get imeMode():String{ return (inputField.imeMode); } public function get labelFunction():Function{ return (list.labelFunction); } protected function calculateAvailableHeight():Number{ var _local1:Number; _local1 = Number(getStyleValue("contentPadding")); return ((list.height - (_local1 * 2))); } public function get selectedIndex():int{ return (list.selectedIndex); } override protected function focusOutHandler(_arg1:FocusEvent):void{ isKeyDown = false; if (isOpen){ if (((!(_arg1.relatedObject)) || (!(list.contains(_arg1.relatedObject))))){ if (((!((highlightedCell == -1))) && (!((highlightedCell == selectedIndex))))){ selectedIndex = highlightedCell; dispatchEvent(new Event(Event.CHANGE)); }; close(); }; }; super.focusOutHandler(_arg1); } public function get selectedLabel():String{ if (editableValue != null){ return (editableValue); }; if (selectedIndex == -1){ return (null); }; return (itemToLabel(selectedItem)); } public function get text():String{ return (inputField.text); } protected function onListChange(_arg1:Event):void{ editableValue = null; dispatchEvent(_arg1); invalidate(InvalidationType.SELECTED); if (isKeyDown){ return; }; close(); } protected function onToggleListVisibility(_arg1:MouseEvent):void{ _arg1.stopPropagation(); dispatchEvent(_arg1); if (isOpen){ close(); } else { open(); stage.addEventListener(MouseEvent.MOUSE_UP, onListItemUp, false, 0, true); }; } override protected function draw():void{ var _local1:*; _local1 = selectedIndex; if ((((_local1 == -1)) && (((((!((prompt == null))) || (editable))) || ((length == 0)))))){ _local1 = Math.max(-1, Math.min(_local1, (length - 1))); } else { editableValue = null; _local1 = Math.max(0, Math.min(_local1, (length - 1))); }; if (list.selectedIndex != _local1){ list.selectedIndex = _local1; invalidate(InvalidationType.SELECTED, false); }; if (isInvalid(InvalidationType.STYLES)){ setStyles(); setEmbedFonts(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.STATE)){ drawTextFormat(); drawLayout(); invalidate(InvalidationType.DATA); }; if (isInvalid(InvalidationType.DATA)){ drawList(); invalidate(InvalidationType.SELECTED, true); }; if (isInvalid(InvalidationType.SELECTED)){ if ((((_local1 == -1)) && (!((editableValue == null))))){ inputField.text = editableValue; } else { if (_local1 > -1){ if (length > 0){ inputField.horizontalScrollPosition = 0; inputField.text = itemToLabel(list.selectedItem); }; } else { if ((((_local1 == -1)) && (!((_prompt == null))))){ showPrompt(); } else { inputField.text = ""; }; }; }; if (((((editable) && ((selectedIndex > -1)))) && ((stage.focus == inputField.textField)))){ inputField.setSelection(0, inputField.length); }; }; drawTextField(); super.draw(); } public function addItem(_arg1:Object):void{ list.addItem(_arg1); invalidate(InvalidationType.DATA); } public function get rowCount():uint{ return (_rowCount); } override protected function configUI():void{ super.configUI(); background = new BaseButton(); background.focusEnabled = false; copyStylesToChild(background, BACKGROUND_STYLES); background.addEventListener(MouseEvent.MOUSE_DOWN, onToggleListVisibility, false, 0, true); addChild(background); inputField = new TextInput(); inputField.focusTarget = (this as IFocusManagerComponent); inputField.focusEnabled = false; inputField.addEventListener(Event.CHANGE, onTextInput, false, 0, true); addChild(inputField); list = new List(); list.focusEnabled = false; copyStylesToChild(list, LIST_STYLES); list.addEventListener(Event.CHANGE, onListChange, false, 0, true); list.addEventListener(ListEvent.ITEM_CLICK, onListChange, false, 0, true); list.addEventListener(ListEvent.ITEM_ROLL_OUT, passEvent, false, 0, true); list.addEventListener(ListEvent.ITEM_ROLL_OVER, passEvent, false, 0, true); list.verticalScrollBar.addEventListener(Event.SCROLL, passEvent, false, 0, true); } protected function positionList():void{ var _local1:Point; _local1 = localToGlobal(new Point(0, 0)); list.x = _local1.x; if (((_local1.y + height) + list.height) > stage.stageHeight){ list.y = (_local1.y - list.height); } else { list.y = (_local1.y + height); }; } public function get value():String{ var _local1:Object; if (editableValue != null){ return (editableValue); }; _local1 = selectedItem; if (((!(_editable)) && (!((_local1.data == null))))){ return (_local1.data); }; return (itemToLabel(_local1)); } public function get prompt():String{ return (_prompt); } public function set dataProvider(_arg1:DataProvider):void{ _arg1.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true); list.dataProvider = _arg1; invalidate(InvalidationType.DATA); } public function set restrict(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ _arg1 = null; }; if (!_editable){ return; }; inputField.restrict = _arg1; } protected function onTextInput(_arg1:Event):void{ _arg1.stopPropagation(); if (!_editable){ return; }; editableValue = inputField.text; selectedIndex = -1; dispatchEvent(new Event(Event.CHANGE)); } protected function onInputFieldFocus(_arg1:FocusEvent):void{ inputField.addEventListener(ComponentEvent.ENTER, onEnter, false, 0, true); close(); } public function getItemAt(_arg1:uint):Object{ return (list.getItemAt(_arg1)); } override protected function initializeAccessibility():void{ if (ComboBox.createAccessibilityImplementation != null){ ComboBox.createAccessibilityImplementation(this); }; } protected function drawLayout():void{ var _local1:Number; var _local2:Number; _local1 = (getStyleValue("buttonWidth") as Number); _local2 = (getStyleValue("textPadding") as Number); background.setSize(width, height); inputField.x = (inputField.y = _local2); inputField.setSize(((width - _local1) - _local2), (height - _local2)); list.width = (isNaN(_dropdownWidth)) ? width : _dropdownWidth; background.enabled = enabled; background.drawNow(); } public function removeItem(_arg1:Object):Object{ return (list.removeItem(_arg1)); } private function addCloseListener(_arg1:Event){ removeEventListener(Event.ENTER_FRAME, addCloseListener); if (!isOpen){ return; }; stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageClick, false, 0, true); } public function get dataProvider():DataProvider{ return (list.dataProvider); } public function get textField():TextInput{ return (inputField); } protected function setStyles():void{ copyStylesToChild(background, BACKGROUND_STYLES); copyStylesToChild(list, LIST_STYLES); } public function set labelFunction(_arg1:Function):void{ list.labelFunction = _arg1; invalidate(InvalidationType.DATA); } protected function drawTextFormat():void{ var _local1:TextFormat; _local1 = (getStyleValue((_enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local1 == null){ _local1 = new TextFormat(); }; inputField.textField.defaultTextFormat = _local1; inputField.textField.setTextFormat(_local1); setEmbedFonts(); } public function set selectedIndex(_arg1:int):void{ list.selectedIndex = _arg1; highlightCell(); invalidate(InvalidationType.SELECTED); } public function close():void{ highlightCell(); highlightedCell = -1; if (!isOpen){ return; }; dispatchEvent(new Event(Event.CLOSE)); stage.removeEventListener(MouseEvent.MOUSE_DOWN, onStageClick); isOpen = false; stage.removeChild(list); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, List.getStyleDefinition())); } } }//package fl.controls
Section 54
//LabelButton (fl.controls.LabelButton) package fl.controls { import fl.core.*; import flash.display.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var _toggle:Boolean;// = false protected var icon:DisplayObject; protected var oldMouseState:String; protected var mode:String;// = "center" public var textField:TextField; protected var _label:String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT; _toggle = false; _label = "Label"; mode = "center"; super(); } protected function toggleSelected(_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (oldMouseState == null){ oldMouseState = mouseState; }; setMouseState("down"); startPress(); }; } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState(oldMouseState); oldMouseState = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return ((_toggle) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; _toggle = _arg1; if (_toggle){ addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true); } else { removeEventListener(MouseEvent.CLICK, toggleSelected); }; invalidate(InvalidationType.STATE); } public function get label():String{ return (_label); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if (_toggle){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text != _label){ label = _label; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); drawIcon(); drawTextFormat(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return (_toggle); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function drawIcon():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ _label = _arg1; if (textField.text != _label){ textField.text = _label; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 55
//List (fl.controls.List) package fl.controls { import fl.controls.listClasses.*; import fl.core.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import fl.managers.*; import flash.ui.*; public class List extends SelectableList implements IFocusManagerComponent { protected var _labelField:String;// = "label" protected var _rowHeight:Number;// = 20 protected var _cellRenderer:Object; protected var _iconField:String;// = "icon" protected var _labelFunction:Function; protected var _iconFunction:Function; private static var defaultStyles:Object = {focusRectSkin:null, focusRectPadding:null}; public static var createAccessibilityImplementation:Function; public function List(){ _rowHeight = 20; _labelField = "label"; _iconField = "icon"; super(); } public function get iconField():String{ return (_iconField); } protected function doKeySelection(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{ var _local4:Boolean; var _local5:int; var _local6:Array; var _local7:int; var _local8:int; _local4 = false; if (_arg2){ _local6 = []; _local7 = lastCaretIndex; _local8 = _arg1; if (_local7 == -1){ _local7 = ((caretIndex)!=-1) ? caretIndex : _arg1; }; if (_local7 > _local8){ _local8 = _local7; _local7 = _arg1; }; _local5 = _local7; while (_local5 <= _local8) { _local6.push(_local5); _local5++; }; selectedIndices = _local6; caretIndex = _arg1; _local4 = true; } else { selectedIndex = _arg1; caretIndex = (lastCaretIndex = _arg1); _local4 = true; }; if (_local4){ dispatchEvent(new Event(Event.CHANGE)); }; invalidate(InvalidationType.DATA); } override protected function drawList():void{ var _local1:Rectangle; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:ICellRenderer; var _local7:Dictionary; var _local8:Dictionary; var _local9:Boolean; var _local10:String; var _local11:Object; var _local12:Sprite; var _local13:String; listHolder.x = (listHolder.y = contentPadding); _local1 = listHolder.scrollRect; _local1.x = _horizontalScrollPosition; _local1.y = (Math.floor(_verticalScrollPosition) % rowHeight); listHolder.scrollRect = _local1; listHolder.cacheAsBitmap = useBitmapScrolling; _local2 = Math.floor((_verticalScrollPosition / rowHeight)); _local3 = Math.min(length, ((_local2 + rowCount) + 1)); _local7 = (renderedItems = new Dictionary(true)); _local4 = _local2; while (_local4 < _local3) { _local7[_dataProvider.getItemAt(_local4)] = true; _local4++; }; _local8 = new Dictionary(true); while (activeCellRenderers.length > 0) { _local6 = (activeCellRenderers.pop() as ICellRenderer); _local5 = _local6.data; if ((((_local7[_local5] == null)) || ((invalidItems[_local5] == true)))){ availableCellRenderers.push(_local6); } else { _local8[_local5] = _local6; invalidItems[_local5] = true; }; list.removeChild((_local6 as DisplayObject)); }; invalidItems = new Dictionary(true); _local4 = _local2; while (_local4 < _local3) { _local9 = false; _local5 = _dataProvider.getItemAt(_local4); if (_local8[_local5] != null){ _local9 = true; _local6 = _local8[_local5]; delete _local8[_local5]; } else { if (availableCellRenderers.length > 0){ _local6 = (availableCellRenderers.pop() as ICellRenderer); } else { _local6 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer); _local12 = (_local6 as Sprite); if (_local12 != null){ _local12.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true); _local12.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true); _local12.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true); _local12.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true); _local12.doubleClickEnabled = true; _local12.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true); if (_local12["setStyle"] != null){ for (_local13 in rendererStyles) { var _local16 = _local12; _local16["setStyle"](_local13, rendererStyles[_local13]); }; }; }; }; }; list.addChild((_local6 as Sprite)); activeCellRenderers.push(_local6); _local6.y = (rowHeight * (_local4 - _local2)); _local6.setSize((availableWidth + _maxHorizontalScrollPosition), rowHeight); _local10 = itemToLabel(_local5); _local11 = null; if (_iconFunction != null){ _local11 = _iconFunction(_local5); } else { if (_iconField != null){ _local11 = _local5[_iconField]; }; }; if (!_local9){ _local6.data = _local5; }; _local6.listData = new ListData(_local10, _local11, this, _local4, _local4, 0); _local6.selected = !((_selectedIndices.indexOf(_local4) == -1)); if ((_local6 is UIComponent)){ (_local6 as UIComponent).drawNow(); }; _local4++; }; } public function get iconFunction():Function{ return (_iconFunction); } public function set iconField(_arg1:String):void{ if (_arg1 == _iconField){ return; }; _iconField = _arg1; invalidate(InvalidationType.DATA); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:int; if (!selectable){ return; }; switch (_arg1.keyCode){ case Keyboard.UP: case Keyboard.DOWN: case Keyboard.END: case Keyboard.HOME: case Keyboard.PAGE_UP: case Keyboard.PAGE_DOWN: moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection))); break; case Keyboard.LEFT: case Keyboard.RIGHT: moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection))); break; case Keyboard.SPACE: if (caretIndex == -1){ caretIndex = 0; }; doKeySelection(caretIndex, _arg1.shiftKey, _arg1.ctrlKey); scrollToSelected(); break; default: _local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex); if (_local2 > -1){ selectedIndex = _local2; scrollToSelected(); }; break; }; _arg1.stopPropagation(); } override public function itemToLabel(_arg1:Object):String{ if (_labelFunction != null){ return (String(_labelFunction(_arg1))); }; return (((_arg1[_labelField])!=null) ? String(_arg1[_labelField]) : ""); } public function get labelField():String{ return (_labelField); } override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ var _local4:int; var _local5:int; var _local6:int; _local4 = Math.max(Math.floor((calculateAvailableHeight() / rowHeight)), 1); _local5 = -1; _local6 = 0; switch (_arg1){ case Keyboard.UP: if (caretIndex > 0){ _local5 = (caretIndex - 1); }; break; case Keyboard.DOWN: if (caretIndex < (length - 1)){ _local5 = (caretIndex + 1); }; break; case Keyboard.PAGE_UP: if (caretIndex > 0){ _local5 = Math.max((caretIndex - _local4), 0); }; break; case Keyboard.PAGE_DOWN: if (caretIndex < (length - 1)){ _local5 = Math.min((caretIndex + _local4), (length - 1)); }; break; case Keyboard.HOME: if (caretIndex > 0){ _local5 = 0; }; break; case Keyboard.END: if (caretIndex < (length - 1)){ _local5 = (length - 1); }; break; }; if (_local5 >= 0){ doKeySelection(_local5, _arg2, _arg3); scrollToSelected(); }; } public function set labelField(_arg1:String):void{ if (_arg1 == _labelField){ return; }; _labelField = _arg1; invalidate(InvalidationType.DATA); } public function set rowCount(_arg1:uint):void{ var _local2:Number; var _local3:Number; _local2 = Number(getStyleValue("contentPadding")); _local3 = ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0; height = (((rowHeight * _arg1) + (2 * _local2)) + _local3); } override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ list.x = -(_arg1); super.setHorizontalScrollPosition(_arg1, true); } public function set iconFunction(_arg1:Function):void{ if (_iconFunction == _arg1){ return; }; _iconFunction = _arg1; invalidate(InvalidationType.DATA); } public function get labelFunction():Function{ return (_labelFunction); } override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ } override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ invalidate(InvalidationType.SCROLL); super.setVerticalScrollPosition(_arg1, true); } protected function calculateAvailableHeight():Number{ var _local1:Number; _local1 = Number(getStyleValue("contentPadding")); return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0)); } override protected function draw():void{ var _local1:Boolean; _local1 = !((contentHeight == (rowHeight * length))); contentHeight = (rowHeight * length); if (isInvalid(InvalidationType.STYLES)){ setStyles(); drawBackground(); if (contentPadding != getStyleValue("contentPadding")){ invalidate(InvalidationType.SIZE, false); }; if (_cellRenderer != getStyleValue("cellRenderer")){ _invalidateList(); _cellRenderer = getStyleValue("cellRenderer"); }; }; if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){ drawLayout(); }; if (isInvalid(InvalidationType.RENDERER_STYLES)){ updateRendererStyles(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){ drawList(); }; updateChildren(); validate(); } override protected function configUI():void{ useFixedHorizontalScrolling = true; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; super.configUI(); } override public function get rowCount():uint{ return (Math.ceil((calculateAvailableHeight() / rowHeight))); } override protected function initializeAccessibility():void{ if (List.createAccessibilityImplementation != null){ List.createAccessibilityImplementation(this); }; } override public function scrollToIndex(_arg1:int):void{ var _local2:uint; var _local3:uint; drawNow(); _local2 = (Math.floor(((_verticalScrollPosition + availableHeight) / rowHeight)) - 1); _local3 = Math.ceil((_verticalScrollPosition / rowHeight)); if (_arg1 < _local3){ verticalScrollPosition = (_arg1 * rowHeight); } else { if (_arg1 > _local2){ verticalScrollPosition = (((_arg1 + 1) * rowHeight) - availableHeight); }; }; } public function get rowHeight():Number{ return (_rowHeight); } public function set labelFunction(_arg1:Function):void{ if (_labelFunction == _arg1){ return; }; _labelFunction = _arg1; invalidate(InvalidationType.DATA); } public function set rowHeight(_arg1:Number):void{ _rowHeight = _arg1; invalidate(InvalidationType.SIZE); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition())); } } }//package fl.controls
Section 56
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import fl.core.*; import flash.events.*; import fl.events.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" protected var inDrag:Boolean;// = false protected var upArrow:BaseButton; private var _pageScrollSize:Number;// = 0 protected var downArrow:BaseButton; private var _pageSize:Number;// = 10 private var thumbScrollOffset:Number; private var _maxScrollPosition:Number;// = 0 private var _scrollPosition:Number;// = 0 protected var track:BaseButton; private var _minScrollPosition:Number;// = 0 private var _lineScrollSize:Number;// = 1 protected var thumb:LabelButton; protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){ _pageSize = 10; _pageScrollSize = 0; _lineScrollSize = 1; _minScrollPosition = 0; _maxScrollPosition = 0; _scrollPosition = 0; _direction = ScrollBarDirection.VERTICAL; inDrag = false; super(); setStyles(); focusEnabled = false; } public function get minScrollPosition():Number{ return (_minScrollPosition); } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _arg1, _maxScrollPosition); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number; _local3 = scrollPosition; _scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1)); if (_local3 == _scrollPosition){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition)); }; updateThumb(); } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } public function get pageScrollSize():Number{ return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize); } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){ _pageSize = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1; _minScrollPosition = _arg2; _maxScrollPosition = _arg3; if (_arg4 >= 0){ _pageScrollSize = _arg4; }; enabled = (_maxScrollPosition > _minScrollPosition); setScrollPosition(_scrollPosition, false); updateThumb(); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition)))))); updateThumb(); } protected function updateThumb():void{ var _local1:Number; _local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize); if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){ thumb.height = 12; thumb.visible = false; } else { thumb.height = Math.max(13, ((_pageSize / _local1) * track.height)); thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition)))); thumb.visible = enabled; }; } protected function thumbPressHandler(_arg1:MouseEvent):void{ inDrag = true; thumbScrollOffset = (mouseY - thumb.y); thumb.mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true); } protected function thumbReleaseHandler(_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true; thumb.mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){ _pageScrollSize = _arg1; }; } protected function handleThumbDrag(_arg1:MouseEvent):void{ var _local2:Number; _local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset))); setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition)); } public function set direction(_arg1:String):void{ var _local2:Boolean; if (_direction == _arg1){ return; }; _direction = _arg1; if (isLivePreview){ return; }; setScaleY(1); _local2 = (_direction == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){ _lineScrollSize = _arg1; }; } override public function get height():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } protected function scrollPressHandler(_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget == upArrow){ setScrollPosition((_scrollPosition - _lineScrollSize)); } else { if (_arg1.currentTarget == downArrow){ setScrollPosition((_scrollPosition + _lineScrollSize)); } else { _local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if (_scrollPosition < _local2){ setScrollPosition(Math.min(_local2, (_scrollPosition + _local3))); } else { if (_scrollPosition > _local2){ setScrollPosition(Math.max(_local2, (_scrollPosition - _local3))); }; }; }; }; } public function get pageSize():Number{ return (_pageSize); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _minScrollPosition, _arg1); } public function get scrollPosition():Number{ return (_scrollPosition); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height; downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height))); track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height)))); updateThumb(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ setStyles(); }; downArrow.drawNow(); upArrow.drawNow(); track.drawNow(); thumb.drawNow(); validate(); } override protected function configUI():void{ super.configUI(); track = new BaseButton(); track.move(0, 14); track.useHandCursor = false; track.autoRepeat = true; track.focusEnabled = false; addChild(track); thumb = new LabelButton(); thumb.label = ""; thumb.setSize(WIDTH, 15); thumb.move(0, 15); thumb.focusEnabled = false; addChild(thumb); downArrow = new BaseButton(); downArrow.setSize(WIDTH, 14); downArrow.autoRepeat = true; downArrow.focusEnabled = false; addChild(downArrow); upArrow = new BaseButton(); upArrow.setSize(WIDTH, 14); upArrow.move(0, 0); upArrow.autoRepeat = true; upArrow.focusEnabled = false; addChild(upArrow); upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true); enabled = false; } public function get direction():String{ return (_direction); } public function get lineScrollSize():Number{ return (_lineScrollSize); } override public function setSize(_arg1:Number, _arg2:Number):void{ if (_direction == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } override public function get width():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } protected function setStyles():void{ copyStylesToChild(downArrow, DOWN_ARROW_STYLES); copyStylesToChild(thumb, THUMB_STYLES); copyStylesToChild(track, TRACK_STYLES); copyStylesToChild(upArrow, UP_ARROW_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 57
//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controls
Section 58
//ScrollPolicy (fl.controls.ScrollPolicy) package fl.controls { public class ScrollPolicy { public static const OFF:String = "off"; public static const ON:String = "on"; public static const AUTO:String = "auto"; } }//package fl.controls
Section 59
//SelectableList (fl.controls.SelectableList) package fl.controls { import fl.controls.listClasses.*; import fl.core.*; import flash.display.*; import flash.events.*; import flash.utils.*; import fl.data.*; import fl.managers.*; import fl.events.*; import fl.containers.*; import flash.ui.*; public class SelectableList extends BaseScrollPane implements IFocusManagerComponent { protected var invalidItems:Dictionary; protected var renderedItems:Dictionary; protected var listHolder:Sprite; protected var _allowMultipleSelection:Boolean;// = false protected var lastCaretIndex:int;// = -1 protected var _selectedIndices:Array; protected var availableCellRenderers:Array; protected var list:Sprite; protected var caretIndex:int;// = -1 protected var updatedRendererStyles:Object; protected var preChangeItems:Array; protected var activeCellRenderers:Array; protected var rendererStyles:Object; protected var _verticalScrollPosition:Number; protected var _dataProvider:DataProvider; protected var _horizontalScrollPosition:Number; private var collectionItemImport:SimpleCollectionItem; protected var _selectable:Boolean;// = true private static var defaultStyles:Object = {skin:"List_skin", cellRenderer:CellRenderer, contentPadding:null, disabledAlpha:null}; public static var createAccessibilityImplementation:Function; public function SelectableList(){ _allowMultipleSelection = false; _selectable = true; caretIndex = -1; lastCaretIndex = -1; super(); activeCellRenderers = []; availableCellRenderers = []; invalidItems = new Dictionary(true); renderedItems = new Dictionary(true); _selectedIndices = []; if (dataProvider == null){ dataProvider = new DataProvider(); }; verticalScrollPolicy = ScrollPolicy.AUTO; rendererStyles = {}; updatedRendererStyles = {}; } protected function drawList():void{ } public function set allowMultipleSelection(_arg1:Boolean):void{ if (_arg1 == _allowMultipleSelection){ return; }; _allowMultipleSelection = _arg1; if (((!(_arg1)) && ((_selectedIndices.length > 1)))){ _selectedIndices = [_selectedIndices.pop()]; invalidate(InvalidationType.DATA); }; } public function sortItemsOn(_arg1:String, _arg2:Object=null){ return (_dataProvider.sortOn(_arg1, _arg2)); } public function removeItemAt(_arg1:uint):Object{ return (_dataProvider.removeItemAt(_arg1)); } public function get selectedItem():Object{ return (((_selectedIndices.length)==0) ? null : _dataProvider.getItemAt(selectedIndex)); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!selectable){ return; }; switch (_arg1.keyCode){ case Keyboard.UP: case Keyboard.DOWN: case Keyboard.END: case Keyboard.HOME: case Keyboard.PAGE_UP: case Keyboard.PAGE_DOWN: moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection))); _arg1.stopPropagation(); break; case Keyboard.LEFT: case Keyboard.RIGHT: moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection))); _arg1.stopPropagation(); break; }; } public function get selectable():Boolean{ return (_selectable); } public function itemToCellRenderer(_arg1:Object):ICellRenderer{ var _local2:*; var _local3:ICellRenderer; if (_arg1 != null){ for (_local2 in activeCellRenderers) { _local3 = (activeCellRenderers[_local2] as ICellRenderer); if (_local3.data == _arg1){ return (_local3); }; }; }; return (null); } public function getNextIndexAtLetter(_arg1:String, _arg2:int=-1):int{ var _local3:int; var _local4:Number; var _local5:Number; var _local6:Object; var _local7:String; if (length == 0){ return (-1); }; _arg1 = _arg1.toUpperCase(); _local3 = (length - 1); _local4 = 0; while (_local4 < _local3) { _local5 = ((_arg2 + 1) + _local4); if (_local5 > (length - 1)){ _local5 = (_local5 - length); }; _local6 = getItemAt(_local5); if (_local6 == null){ break; }; _local7 = itemToLabel(_local6); if (_local7 == null){ } else { if (_local7.charAt(0).toUpperCase() == _arg1){ return (_local5); }; }; _local4++; }; return (-1); } public function invalidateList():void{ _invalidateList(); invalidate(InvalidationType.DATA); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; list.mouseChildren = _enabled; } public function get selectedIndices():Array{ return (_selectedIndices.concat()); } public function set selectable(_arg1:Boolean):void{ if (_arg1 == _selectable){ return; }; if (!_arg1){ selectedIndices = []; }; _selectable = _arg1; } public function itemToLabel(_arg1:Object):String{ return (_arg1["label"]); } public function addItemAt(_arg1:Object, _arg2:uint):void{ _dataProvider.addItemAt(_arg1, _arg2); invalidateList(); } public function replaceItemAt(_arg1:Object, _arg2:uint):Object{ return (_dataProvider.replaceItemAt(_arg1, _arg2)); } protected function handleDataChange(_arg1:DataChangeEvent):void{ var _local2:int; var _local3:int; var _local4:String; var _local5:uint; _local2 = _arg1.startIndex; _local3 = _arg1.endIndex; _local4 = _arg1.changeType; if (_local4 == DataChangeType.INVALIDATE_ALL){ clearSelection(); invalidateList(); } else { if (_local4 == DataChangeType.INVALIDATE){ _local5 = 0; while (_local5 < _arg1.items.length) { invalidateItem(_arg1.items[_local5]); _local5++; }; } else { if (_local4 == DataChangeType.ADD){ _local5 = 0; while (_local5 < _selectedIndices.length) { if (_selectedIndices[_local5] >= _local2){ _selectedIndices[_local5] = (_selectedIndices[_local5] + (_local2 - _local3)); }; _local5++; }; } else { if (_local4 == DataChangeType.REMOVE){ _local5 = 0; while (_local5 < _selectedIndices.length) { if (_selectedIndices[_local5] >= _local2){ if (_selectedIndices[_local5] <= _local3){ delete _selectedIndices[_local5]; } else { _selectedIndices[_local5] = (_selectedIndices[_local5] - ((_local2 - _local3) + 1)); }; }; _local5++; }; } else { if (_local4 == DataChangeType.REMOVE_ALL){ clearSelection(); } else { if (_local4 == DataChangeType.REPLACE){ } else { selectedItems = preChangeItems; preChangeItems = null; }; }; }; }; }; }; invalidate(InvalidationType.DATA); } protected function _invalidateList():void{ availableCellRenderers = []; while (activeCellRenderers.length > 0) { list.removeChild((activeCellRenderers.pop() as DisplayObject)); }; } protected function updateRendererStyles():void{ var _local1:Array; var _local2:uint; var _local3:uint; var _local4:String; _local1 = availableCellRenderers.concat(activeCellRenderers); _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { if (_local1[_local3].setStyle == null){ } else { for (_local4 in updatedRendererStyles) { _local1[_local3].setStyle(_local4, updatedRendererStyles[_local4]); }; _local1[_local3].drawNow(); }; _local3++; }; updatedRendererStyles = {}; } public function set selectedItem(_arg1:Object):void{ var _local2:int; _local2 = _dataProvider.getItemIndex(_arg1); selectedIndex = _local2; } public function sortItems(... _args){ return (_dataProvider.sort.apply(_dataProvider, _args)); } public function removeAll():void{ _dataProvider.removeAll(); } protected function handleCellRendererChange(_arg1:Event):void{ var _local2:ICellRenderer; var _local3:uint; _local2 = (_arg1.currentTarget as ICellRenderer); _local3 = _local2.listData.index; _dataProvider.invalidateItemAt(_local3); } protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ } override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:Number; if (_arg1 == _horizontalScrollPosition){ return; }; _local3 = (_arg1 - _horizontalScrollPosition); _horizontalScrollPosition = _arg1; if (_arg2){ dispatchEvent(new ScrollEvent(ScrollBarDirection.HORIZONTAL, _local3, _arg1)); }; } public function scrollToSelected():void{ scrollToIndex(selectedIndex); } public function invalidateItem(_arg1:Object):void{ if (renderedItems[_arg1] == null){ return; }; invalidItems[_arg1] = true; invalidate(InvalidationType.DATA); } protected function handleCellRendererClick(_arg1:MouseEvent):void{ var _local2:ICellRenderer; var _local3:uint; var _local4:int; var _local5:int; var _local6:uint; if (!_enabled){ return; }; _local2 = (_arg1.currentTarget as ICellRenderer); _local3 = _local2.listData.index; if (((!(dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)))) || (!(_selectable)))){ return; }; _local4 = selectedIndices.indexOf(_local3); if (!_allowMultipleSelection){ if (_local4 != -1){ return; }; _local2.selected = true; _selectedIndices = [_local3]; lastCaretIndex = (caretIndex = _local3); } else { if (_arg1.shiftKey){ _local6 = ((_selectedIndices.length)>0) ? _selectedIndices[0] : _local3; _selectedIndices = []; if (_local6 > _local3){ _local5 = _local6; while (_local5 >= _local3) { _selectedIndices.push(_local5); _local5--; }; } else { _local5 = _local6; while (_local5 <= _local3) { _selectedIndices.push(_local5); _local5++; }; }; caretIndex = _local3; } else { if (_arg1.ctrlKey){ if (_local4 != -1){ _local2.selected = false; _selectedIndices.splice(_local4, 1); } else { _local2.selected = true; _selectedIndices.push(_local3); }; caretIndex = _local3; } else { _selectedIndices = [_local3]; lastCaretIndex = (caretIndex = _local3); }; }; }; dispatchEvent(new Event(Event.CHANGE)); invalidate(InvalidationType.DATA); } public function get length():uint{ return (_dataProvider.length); } public function get allowMultipleSelection():Boolean{ return (_allowMultipleSelection); } protected function onPreChange(_arg1:DataChangeEvent):void{ switch (_arg1.changeType){ case DataChangeType.REMOVE: case DataChangeType.ADD: case DataChangeType.INVALIDATE: case DataChangeType.REMOVE_ALL: case DataChangeType.REPLACE: case DataChangeType.INVALIDATE_ALL: break; default: preChangeItems = selectedItems; break; }; } public function getRendererStyle(_arg1:String, _arg2:int=-1):Object{ return (rendererStyles[_arg1]); } override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:Number; if (_arg1 == _verticalScrollPosition){ return; }; _local3 = (_arg1 - _verticalScrollPosition); _verticalScrollPosition = _arg1; if (_arg2){ dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _local3, _arg1)); }; } protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ } public function set selectedIndices(_arg1:Array):void{ if (!_selectable){ return; }; _selectedIndices = ((_arg1)==null) ? [] : _arg1.concat(); invalidate(InvalidationType.SELECTED); } public function get selectedIndex():int{ return (((_selectedIndices.length)==0) ? -1 : _selectedIndices[(_selectedIndices.length - 1)]); } override protected function draw():void{ super.draw(); } override protected function configUI():void{ super.configUI(); listHolder = new Sprite(); addChild(listHolder); listHolder.scrollRect = contentScrollRect; list = new Sprite(); listHolder.addChild(list); } public function addItem(_arg1:Object):void{ _dataProvider.addItem(_arg1); invalidateList(); } protected function handleCellRendererMouseEvent(_arg1:MouseEvent):void{ var _local2:ICellRenderer; var _local3:String; _local2 = (_arg1.target as ICellRenderer); _local3 = ((_arg1.type)==MouseEvent.ROLL_OVER) ? ListEvent.ITEM_ROLL_OVER : ListEvent.ITEM_ROLL_OUT; dispatchEvent(new ListEvent(_local3, false, false, _local2.listData.column, _local2.listData.row, _local2.listData.index, _local2.data)); } public function clearRendererStyle(_arg1:String, _arg2:int=-1):void{ delete rendererStyles[_arg1]; updatedRendererStyles[_arg1] = null; invalidate(InvalidationType.RENDERER_STYLES); } protected function handleCellRendererDoubleClick(_arg1:MouseEvent):void{ var _local2:ICellRenderer; var _local3:uint; if (!_enabled){ return; }; _local2 = (_arg1.currentTarget as ICellRenderer); _local3 = _local2.listData.index; dispatchEvent(new ListEvent(ListEvent.ITEM_DOUBLE_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)); } public function get rowCount():uint{ return (0); } public function isItemSelected(_arg1:Object):Boolean{ return ((selectedItems.indexOf(_arg1) > -1)); } public function set dataProvider(_arg1:DataProvider):void{ if (_dataProvider != null){ _dataProvider.removeEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange); _dataProvider.removeEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange); }; _dataProvider = _arg1; _dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true); _dataProvider.addEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange, false, 0, true); clearSelection(); invalidateList(); } override protected function drawLayout():void{ super.drawLayout(); contentScrollRect = listHolder.scrollRect; contentScrollRect.width = availableWidth; contentScrollRect.height = availableHeight; listHolder.scrollRect = contentScrollRect; } public function getItemAt(_arg1:uint):Object{ return (_dataProvider.getItemAt(_arg1)); } override protected function initializeAccessibility():void{ if (SelectableList.createAccessibilityImplementation != null){ SelectableList.createAccessibilityImplementation(this); }; } public function scrollToIndex(_arg1:int):void{ } public function removeItem(_arg1:Object):Object{ return (_dataProvider.removeItem(_arg1)); } public function get dataProvider():DataProvider{ return (_dataProvider); } public function set maxHorizontalScrollPosition(_arg1:Number):void{ _maxHorizontalScrollPosition = _arg1; invalidate(InvalidationType.SIZE); } public function setRendererStyle(_arg1:String, _arg2:Object, _arg3:uint=0):void{ if (rendererStyles[_arg1] == _arg2){ return; }; updatedRendererStyles[_arg1] = _arg2; rendererStyles[_arg1] = _arg2; invalidate(InvalidationType.RENDERER_STYLES); } public function invalidateItemAt(_arg1:uint):void{ var _local2:Object; _local2 = _dataProvider.getItemAt(_arg1); if (_local2 != null){ invalidateItem(_local2); }; } public function set selectedItems(_arg1:Array):void{ var _local2:Array; var _local3:uint; var _local4:int; if (_arg1 == null){ selectedIndices = null; return; }; _local2 = []; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _dataProvider.getItemIndex(_arg1[_local3]); if (_local4 != -1){ _local2.push(_local4); }; _local3++; }; selectedIndices = _local2; } public function clearSelection():void{ selectedIndex = -1; } override public function get maxHorizontalScrollPosition():Number{ return (_maxHorizontalScrollPosition); } public function get selectedItems():Array{ var _local1:Array; var _local2:uint; _local1 = []; _local2 = 0; while (_local2 < _selectedIndices.length) { _local1.push(_dataProvider.getItemAt(_selectedIndices[_local2])); _local2++; }; return (_local1); } public function set selectedIndex(_arg1:int):void{ selectedIndices = ((_arg1)==-1) ? null : [_arg1]; } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition())); } } }//package fl.controls
Section 60
//TextInput (fl.controls.TextInput) package fl.controls { import fl.core.*; import flash.display.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class TextInput extends UIComponent implements IFocusManagerComponent { protected var _html:Boolean;// = false protected var _savedHTML:String; protected var background:DisplayObject; protected var _editable:Boolean;// = true public var textField:TextField; private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function TextInput(){ _editable = true; _html = false; super(); } override public function drawFocus(_arg1:Boolean):void{ if (focusTarget != null){ focusTarget.drawFocus(_arg1); return; }; super.drawFocus(_arg1); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } protected function handleKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.ENTER){ dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true)); }; } public function set text(_arg1:String):void{ textField.text = _arg1; _html = false; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); } protected function updateTextFieldType():void{ textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; textField.selectable = enabled; } public function get selectionEndIndex():int{ return (textField.selectionEndIndex); } public function get editable():Boolean{ return (_editable); } override protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (_arg1.target == this){ stage.focus = textField; }; _local2 = focusManager; if (((editable) && (_local2))){ _local2.showFocusIndicator = true; if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){ setSelection(0, textField.length); }; }; super.focusInHandler(_arg1); if (editable){ setIMEMode(true); }; } public function get selectionBeginIndex():int{ return (textField.selectionBeginIndex); } public function set alwaysShowSelection(_arg1:Boolean):void{ textField.alwaysShowSelection = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; updateTextFieldType(); } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } public function get horizontalScrollPosition():int{ return (textField.scrollH); } public function set condenseWhite(_arg1:Boolean):void{ textField.condenseWhite = _arg1; } public function set displayAsPassword(_arg1:Boolean):void{ textField.displayAsPassword = _arg1; } public function set horizontalScrollPosition(_arg1:int):void{ textField.scrollH = _arg1; } public function get restrict():String{ return (textField.restrict); } public function get textWidth():Number{ return (textField.textWidth); } public function get textHeight():Number{ return (textField.textHeight); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; updateTextFieldType(); } public function get maxChars():int{ return (textField.maxChars); } public function get length():int{ return (textField.length); } public function getLineMetrics(_arg1:int):TextLineMetrics{ return (textField.getLineMetrics(_arg1)); } public function get imeMode():String{ return (_imeMode); } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); if (editable){ setIMEMode(false); }; } public function set htmlText(_arg1:String):void{ if (_arg1 == ""){ text = ""; return; }; _html = true; _savedHTML = _arg1; textField.htmlText = _arg1; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); } public function get text():String{ return (textField.text); } override public function get enabled():Boolean{ return (super.enabled); } public function get condenseWhite():Boolean{ return (textField.condenseWhite); } public function get alwaysShowSelection():Boolean{ return (textField.alwaysShowSelection); } override protected function draw():void{ var _local1:Object; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawTextFormat(); drawBackground(); _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function handleTextInput(_arg1:TextEvent):void{ _arg1.stopPropagation(); dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text)); } override protected function configUI():void{ super.configUI(); tabChildren = true; textField = new TextField(); addChild(textField); updateTextFieldType(); textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true); textField.addEventListener(Event.CHANGE, handleChange, false, 0, true); textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true); } public function setSelection(_arg1:int, _arg2:int):void{ textField.setSelection(_arg1, _arg2); } public function get displayAsPassword():Boolean{ return (textField.displayAsPassword); } public function appendText(_arg1:String):void{ textField.appendText(_arg1); } public function set restrict(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ _arg1 = null; }; textField.restrict = _arg1; } public function get htmlText():String{ return (textField.htmlText); } protected function drawBackground():void{ var _local1:DisplayObject; var _local2:String; _local1 = background; _local2 = (enabled) ? "upSkin" : "disabledSkin"; background = getDisplayObjectInstance(getStyleValue(_local2)); if (background == null){ return; }; addChildAt(background, 0); if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){ removeChild(_local1); }; } override public function setFocus():void{ stage.focus = textField; } protected function drawLayout():void{ var _local1:Number; _local1 = Number(getStyleValue("textPadding")); if (background != null){ background.width = width; background.height = height; }; textField.width = (width - (2 * _local1)); textField.height = (height - (2 * _local1)); textField.x = (textField.y = _local1); } public function set maxChars(_arg1:int):void{ textField.maxChars = _arg1; } public function get maxHorizontalScrollPosition():int{ return (textField.maxScrollH); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); if (_html){ textField.htmlText = _savedHTML; }; } protected function handleChange(_arg1:Event):void{ _arg1.stopPropagation(); dispatchEvent(new Event(Event.CHANGE, true)); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 61
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 62
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 63
//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import flash.utils.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.system.*; public class UIComponent extends Sprite { protected var _enabled:Boolean;// = true private var _mouseFocusEnabled:Boolean;// = true protected var startHeight:Number; protected var _height:Number; protected var _oldIMEMode:String;// = null protected var startWidth:Number; public var focusTarget:IFocusManagerComponent; protected var errorCaught:Boolean;// = false protected var uiFocusRect:DisplayObject; protected var _width:Number; public var version:String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var callLaterMethods:Dictionary; private var _focusEnabled:Boolean;// = true private var tempText:TextField; protected var invalidateFlag:Boolean;// = false protected var _inspector:Boolean;// = false protected var sharedStyles:Object; protected var invalidHash:Object; protected var isLivePreview:Boolean;// = false protected var _imeMode:String;// = null protected var instanceStyles:Object; protected var _x:Number; protected var _y:Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ version = "3.0.0.15"; isLivePreview = false; invalidateFlag = false; _enabled = true; isFocused = false; _focusEnabled = true; _mouseFocusEnabled = true; _imeMode = null; _oldIMEMode = null; errorCaught = false; _inspector = false; super(); instanceStyles = {}; sharedStyles = {}; invalidHash = {}; callLaterMethods = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; initializeFocusManager(); addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function callLaterDispatcher(_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; _local2 = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function addedHandler(_arg1:Event):void{ removeEventListener("addedToStage", addedHandler); initializeFocusManager(); } protected function getStyleValue(_arg1:String):Object{ return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]); } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / startWidth)); } override public function get scaleY():Number{ return ((height / startHeight)); } override public function set height(_arg1:Number):void{ if (_height == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function setStyle(_arg1:String, _arg2:Object):void{ if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; instanceStyles[_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (_inspector); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN(_y)) ? super.y : _y); } protected function setIMEMode(_arg1:Boolean){ var enabled = _arg1; if (_imeMode != null){ if (enabled){ IME.enabled = true; _oldIMEMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; throw (new Error(("IME mode not supported: " + _imeMode))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _oldIMEMode; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == _enabled){ return; }; _enabled = _arg1; invalidate(InvalidationType.STATE); } public function setSharedStyle(_arg1:String, _arg2:Object):void{ if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; sharedStyles[_arg1] = _arg2; if (instanceStyles[_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize((startWidth * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } override public function set scaleY(_arg1:Number):void{ setSize(width, (startHeight * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.setStyle(_local3, getStyleValue(_arg2[_local3])); }; } protected function beforeComponentParameters():void{ } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } protected function createFocusManager():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function hookAccessibility(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, hookAccessibility); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ _inspector = _arg1; if (_inspector){ beforeComponentParameters(); } else { afterComponentParameters(); }; } override public function set x(_arg1:Number):void{ move(_arg1, _y); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{ invalidHash = {}; } override public function get height():Number{ return (_height); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } public function get enabled():Boolean{ return (_enabled); } protected function getScaleX():Number{ return (super.scaleX); } protected function getScaleY():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return (_focusEnabled); } protected function afterComponentParameters():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = checkLivePreview(); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; startWidth = _local2; startHeight = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function initializeFocusManager():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true); } else { createFocusManager(); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{ _width = _arg1; _height = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if (_width == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return (_width); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; _y = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } public function getStyle(_arg1:String):Object{ return (instanceStyles[_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 64
//DataProvider (fl.data.DataProvider) package fl.data { import flash.events.*; import fl.events.*; public class DataProvider extends EventDispatcher { protected var data:Array; public function DataProvider(_arg1:Object=null){ if (_arg1 == null){ data = []; } else { data = getDataFromObject(_arg1); }; } protected function dispatchPreChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{ dispatchEvent(new DataChangeEvent(DataChangeEvent.PRE_DATA_CHANGE, _arg1, _arg2, _arg3, _arg4)); } public function invalidateItemAt(_arg1:int):void{ checkIndex(_arg1, (data.length - 1)); dispatchChangeEvent(DataChangeType.INVALIDATE, [data[_arg1]], _arg1, _arg1); } public function getItemIndex(_arg1:Object):int{ return (data.indexOf(_arg1)); } protected function getDataFromObject(_arg1:Object):Array{ var _local2:Array; var _local3:Array; var _local4:uint; var _local5:Object; var _local6:XML; var _local7:XMLList; var _local8:XML; var _local9:XMLList; var _local10:XML; var _local11:XMLList; var _local12:XML; if ((_arg1 is Array)){ _local3 = (_arg1 as Array); if (_local3.length > 0){ if ((((_local3[0] is String)) || ((_local3[0] is Number)))){ _local2 = []; _local4 = 0; while (_local4 < _local3.length) { _local5 = {label:String(_local3[_local4]), data:_local3[_local4]}; _local2.push(_local5); _local4++; }; return (_local2); }; }; return (_arg1.concat()); //unresolved jump }; if ((_arg1 is DataProvider)){ return (_arg1.toArray()); }; if ((_arg1 is XML)){ _local6 = (_arg1 as XML); _local2 = []; _local7 = _local6.*; for each (_local8 in _local7) { _arg1 = {}; _local9 = _local8.attributes(); for each (_local10 in _local9) { _arg1[_local10.localName()] = _local10.toString(); }; _local11 = _local8.*; for each (_local12 in _local11) { if (_local12.hasSimpleContent()){ _arg1[_local12.localName()] = _local12.toString(); }; }; _local2.push(_arg1); }; return (_local2); //unresolved jump }; throw (new TypeError((("Error: Type Coercion failed: cannot convert " + _arg1) + " to Array or DataProvider."))); } public function removeItemAt(_arg1:uint):Object{ var _local2:Array; checkIndex(_arg1, (data.length - 1)); dispatchPreChangeEvent(DataChangeType.REMOVE, data.slice(_arg1, (_arg1 + 1)), _arg1, _arg1); _local2 = data.splice(_arg1, 1); dispatchChangeEvent(DataChangeType.REMOVE, _local2, _arg1, _arg1); return (_local2[0]); } public function addItem(_arg1:Object):void{ dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1)); data.push(_arg1); dispatchChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1)); } public function sortOn(_arg1:Object, _arg2:Object=null){ var _local3:Array; dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1)); _local3 = data.sortOn(_arg1, _arg2); dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1)); return (_local3); } public function sort(... _args){ var _local2:Array; dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1)); _local2 = data.sort.apply(data, _args); dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1)); return (_local2); } public function addItems(_arg1:Object):void{ addItemsAt(_arg1, data.length); } public function concat(_arg1:Object):void{ addItems(_arg1); } public function clone():DataProvider{ return (new DataProvider(data)); } public function toArray():Array{ return (data.concat()); } public function get length():uint{ return (data.length); } public function addItemAt(_arg1:Object, _arg2:uint):void{ checkIndex(_arg2, data.length); dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2); data.splice(_arg2, 0, _arg1); dispatchChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2); } public function getItemAt(_arg1:uint):Object{ checkIndex(_arg1, (data.length - 1)); return (data[_arg1]); } override public function toString():String{ return ((("DataProvider [" + data.join(" , ")) + "]")); } public function invalidateItem(_arg1:Object):void{ var _local2:uint; _local2 = getItemIndex(_arg1); if (_local2 == -1){ return; }; invalidateItemAt(_local2); } protected function dispatchChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{ dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, _arg1, _arg2, _arg3, _arg4)); } protected function checkIndex(_arg1:int, _arg2:int):void{ if ((((_arg1 > _arg2)) || ((_arg1 < 0)))){ throw (new RangeError((((("DataProvider index (" + _arg1) + ") is not in acceptable range (0 - ") + _arg2) + ")"))); }; } public function addItemsAt(_arg1:Object, _arg2:uint):void{ var _local3:Array; checkIndex(_arg2, data.length); _local3 = getDataFromObject(_arg1); dispatchPreChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1)); data.splice.apply(data, [_arg2, 0].concat(_local3)); dispatchChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1)); } public function replaceItem(_arg1:Object, _arg2:Object):Object{ var _local3:int; _local3 = getItemIndex(_arg2); if (_local3 != -1){ return (replaceItemAt(_arg1, _local3)); }; return (null); } public function removeItem(_arg1:Object):Object{ var _local2:int; _local2 = getItemIndex(_arg1); if (_local2 != -1){ return (removeItemAt(_local2)); }; return (null); } public function merge(_arg1:Object):void{ var _local2:Array; var _local3:uint; var _local4:uint; var _local5:uint; var _local6:Object; _local2 = getDataFromObject(_arg1); _local3 = _local2.length; _local4 = data.length; dispatchPreChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1)); _local5 = 0; while (_local5 < _local3) { _local6 = _local2[_local5]; if (getItemIndex(_local6) == -1){ data.push(_local6); }; _local5++; }; if (data.length > _local4){ dispatchChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1)); } else { dispatchChangeEvent(DataChangeType.ADD, [], -1, -1); }; } public function replaceItemAt(_arg1:Object, _arg2:uint):Object{ var _local3:Array; checkIndex(_arg2, (data.length - 1)); _local3 = [data[_arg2]]; dispatchPreChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2); data[_arg2] = _arg1; dispatchChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2); return (_local3[0]); } public function invalidate():void{ dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, DataChangeType.INVALIDATE_ALL, data.concat(), 0, data.length)); } public function removeAll():void{ var _local1:Array; _local1 = data.concat(); dispatchPreChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length); data = []; dispatchChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length); } } }//package fl.data
Section 65
//SimpleCollectionItem (fl.data.SimpleCollectionItem) package fl.data { public dynamic class SimpleCollectionItem { public var label:String; public var data:String; public function toString():String{ return ((((("[SimpleCollectionItem: " + label) + ",") + data) + "]")); } } }//package fl.data
Section 66
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 67
//DataChangeEvent (fl.events.DataChangeEvent) package fl.events { import flash.events.*; public class DataChangeEvent extends Event { protected var _items:Array; protected var _endIndex:uint; protected var _changeType:String; protected var _startIndex:uint; public static const PRE_DATA_CHANGE:String = "preDataChange"; public static const DATA_CHANGE:String = "dataChange"; public function DataChangeEvent(_arg1:String, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{ super(_arg1); _changeType = _arg2; _startIndex = _arg4; _items = _arg3; _endIndex = ((_arg5)==-1) ? _startIndex : _arg5; } public function get changeType():String{ return (_changeType); } public function get startIndex():uint{ return (_startIndex); } public function get items():Array{ return (_items); } override public function clone():Event{ return (new DataChangeEvent(type, _changeType, _items, _startIndex, _endIndex)); } override public function toString():String{ return (formatToString("DataChangeEvent", "type", "changeType", "startIndex", "endIndex", "bubbles", "cancelable")); } public function get endIndex():uint{ return (_endIndex); } } }//package fl.events
Section 68
//DataChangeType (fl.events.DataChangeType) package fl.events { public class DataChangeType { public static const ADD:String = "add"; public static const REMOVE:String = "remove"; public static const REMOVE_ALL:String = "removeAll"; public static const CHANGE:String = "change"; public static const REPLACE:String = "replace"; public static const INVALIDATE:String = "invalidate"; public static const INVALIDATE_ALL:String = "invalidateAll"; public static const SORT:String = "sort"; } }//package fl.events
Section 69
//ListEvent (fl.events.ListEvent) package fl.events { import flash.events.*; public class ListEvent extends Event { protected var _index:int; protected var _item:Object; protected var _columnIndex:int; protected var _rowIndex:int; public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick"; public static const ITEM_ROLL_OUT:String = "itemRollOut"; public static const ITEM_ROLL_OVER:String = "itemRollOver"; public static const ITEM_CLICK:String = "itemClick"; public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:Object=null){ super(_arg1, _arg2, _arg3); _rowIndex = _arg5; _columnIndex = _arg4; _index = _arg6; _item = _arg7; } public function get rowIndex():Object{ return (_rowIndex); } public function get index():int{ return (_index); } public function get item():Object{ return (_item); } public function get columnIndex():int{ return (_columnIndex); } override public function clone():Event{ return (new ListEvent(type, bubbles, cancelable, _columnIndex, _rowIndex)); } override public function toString():String{ return (formatToString("ListEvent", "type", "bubbles", "cancelable", "columnIndex", "rowIndex", "index", "item")); } } }//package fl.events
Section 70
//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var _position:Number; private var _direction:String; private var _delta:Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false); _direction = _arg1; _delta = _arg2; _position = _arg3; } override public function clone():Event{ return (new ScrollEvent(_direction, _delta, _position)); } public function get position():Number{ return (_position); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } public function get delta():Number{ return (_delta); } public function get direction():String{ return (_direction); } } }//package fl.events
Section 71
//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.core.*; import fl.controls.*; import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Dictionary; private var _showFocusIndicator:Boolean;// = true private var defButton:Button; private var focusableCandidates:Array; private var _form:DisplayObjectContainer; private var _defaultButtonEnabled:Boolean;// = true private var activated:Boolean;// = false private var _defaultButton:Button; private var calculateCandidates:Boolean;// = true private var lastFocus:InteractiveObject; private var lastAction:String; public function FocusManager(_arg1:DisplayObjectContainer){ activated = false; calculateCandidates = true; _showFocusIndicator = true; _defaultButtonEnabled = true; super(); focusableObjects = new Dictionary(true); if (_arg1 != null){ _form = _arg1; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); activate(); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = focusableCandidates.length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects[o] = true; calculateCandidates = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){ focusableObjects[io] = true; calculateCandidates = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ addFocusables(doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function sortFocusableObjectsTabIndex():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ focusableCandidates.push(_local2); }; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); for (_local2 in focusableObjects) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == lastFocus){ lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local2]; calculateCandidates = true; }; }; }; } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function tabChildrenChangeHandler(_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2); }; } public function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return (findFocusManagerComponent(_local1)); } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function setFocusToNextObject(_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!hasFocusableObjects()){ return; }; _local2 = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function hasFocusableObjects():Boolean{ var _local1:Object; for (_local1 in focusableObjects) { return (true); }; return (false); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local2); }; focusableCandidates.sort(sortByDepth); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = focusableCandidates.length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function hideFocus():void{ } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){ if (_local3 == lastFocus){ IFocusManagerComponent(lastFocus).drawFocus(false); lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local3]; calculateCandidates = true; } else { if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == lastFocus){ lastFocus = null; }; delete focusableObjects[_local4]; calculateCandidates = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); }; }; removeFocusables(_local3); } private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return (_defaultButton); } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if (lastFocus){ if ((lastFocus is IFocusManagerComponent)){ IFocusManagerComponent(lastFocus).setFocus(); } else { form.stage.focus = lastFocus; }; }; lastAction = "ACTIVATE"; } public function showFocus():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!hasFocusableObjects()){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; _local2 = form.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 = getIndexOfFocusedObject(_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; _local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; lastAction = "MOUSEDOWN"; } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ sendDefaultButtonEvent(); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is Button)){ _local3 = Button(lastFocus); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } private function tabEnabledChangeHandler(_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean; calculateCandidates = true; _local2 = InteractiveObject(_arg1.target); _local3 = (focusableObjects[_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && (isTabVisible(_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; focusableObjects[_local2] = true; }; } else { if (_local3){ delete focusableObjects[_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } public function get form():DisplayObjectContainer{ return (_form); } private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2)); } public function activate():void{ if (activated){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function deactivate():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } } }//package fl.managers
Section 72
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function deactivate():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject; function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 73
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 74
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managers
Section 75
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.utils.*; import flash.text.*; public class StyleManager { private var globalStyles:Object; private var classToDefaultStylesDict:Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); classToDefaultStylesDict = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2.classToDefaultStylesDict[_local3]; for (_local5 in _local4) { _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst.classToDefaultStylesDict[classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function getStyle(_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4.classToDefaultStylesDict[_local3][_arg2]); } public static function setStyle(_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 76
//MatrixTransformer (fl.motion.MatrixTransformer) package fl.motion { import flash.geom.*; public class MatrixTransformer { public static function getSkewY(_arg1:Matrix):Number{ return ((Math.atan2(_arg1.b, _arg1.a) * (180 / Math.PI))); } public static function getScaleX(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b)))); } public static function getScaleY(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.c * _arg1.c) + (_arg1.d * _arg1.d)))); } public static function setSkewXRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; _local3 = getScaleY(_arg1); _arg1.c = (-(_local3) * Math.sin(_arg2)); _arg1.d = (_local3 * Math.cos(_arg2)); } public static function setRotation(_arg1:Matrix, _arg2:Number):void{ setRotationRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function rotateAroundInternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Point; _local5 = new Point(_arg2, _arg3); _local5 = _arg1.transformPoint(_local5); _arg1.tx = (_arg1.tx - _local5.x); _arg1.ty = (_arg1.ty - _local5.y); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _local5.x); _arg1.ty = (_arg1.ty + _local5.y); } public static function setSkewX(_arg1:Matrix, _arg2:Number):void{ setSkewXRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setSkewY(_arg1:Matrix, _arg2:Number):void{ setSkewYRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setScaleX(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = getScaleX(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.a = (_arg1.a * _local4); _arg1.b = (_arg1.b * _local4); } else { _local5 = getSkewYRadians(_arg1); _arg1.a = (Math.cos(_local5) * _arg2); _arg1.b = (Math.sin(_local5) * _arg2); }; } public static function setScaleY(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = getScaleY(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.c = (_arg1.c * _local4); _arg1.d = (_arg1.d * _local4); } else { _local5 = getSkewXRadians(_arg1); _arg1.c = (-(Math.sin(_local5)) * _arg2); _arg1.d = (Math.cos(_local5) * _arg2); }; } public static function setRotationRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; _local3 = getRotationRadians(_arg1); _local4 = getSkewXRadians(_arg1); setSkewXRadians(_arg1, ((_local4 + _arg2) - _local3)); setSkewYRadians(_arg1, _arg2); } public static function setSkewYRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; _local3 = getScaleX(_arg1); _arg1.a = (_local3 * Math.cos(_arg2)); _arg1.b = (_local3 * Math.sin(_arg2)); } public static function getSkewX(_arg1:Matrix):Number{ return ((Math.atan2(-(_arg1.c), _arg1.d) * (180 / Math.PI))); } public static function getSkewYRadians(_arg1:Matrix):Number{ return (Math.atan2(_arg1.b, _arg1.a)); } public static function getSkewXRadians(_arg1:Matrix):Number{ return (Math.atan2(-(_arg1.c), _arg1.d)); } public static function getRotation(_arg1:Matrix):Number{ return ((getRotationRadians(_arg1) * (180 / Math.PI))); } public static function rotateAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.tx = (_arg1.tx - _arg2); _arg1.ty = (_arg1.ty - _arg3); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _arg2); _arg1.ty = (_arg1.ty + _arg3); } public static function getRotationRadians(_arg1:Matrix):Number{ return (getSkewYRadians(_arg1)); } public static function matchInternalPointWithExternal(_arg1:Matrix, _arg2:Point, _arg3:Point):void{ var _local4:Point; var _local5:Number; var _local6:Number; _local4 = _arg1.transformPoint(_arg2); _local5 = (_arg3.x - _local4.x); _local6 = (_arg3.y - _local4.y); _arg1.tx = (_arg1.tx + _local5); _arg1.ty = (_arg1.ty + _local6); } } }//package fl.motion
Section 77
//TweenEvent (gs.events.TweenEvent) package gs.events { import flash.events.*; public class TweenEvent extends Event { public var info:Object; public static const UPDATE:String = "update"; public static const START:String = "start"; public static const version:Number = 0.9; public static const COMPLETE:String = "complete"; public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.info = _arg2; } override public function clone():Event{ return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable)); } } }//package gs.events
Section 78
//OverwriteManager (gs.OverwriteManager) package gs { import flash.utils.*; import flash.errors.*; public class OverwriteManager { public static const ALL:int = 1; public static const NONE:int = 0; public static const AUTO:int = 2; public static const CONCURRENT:int = 3; public static const version:Number = 0.96; public static var mode:int; public static var enabled:Boolean; public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{ var _local6:int; var _local7:String; _local6 = (_arg4.length - 1); while (_local6 > -1) { if (_arg1[_arg4[_local6].name] != undefined){ _arg4.splice(_local6, 1); }; _local6--; }; _local6 = (_arg3.length - 1); while (_local6 > -1) { if (_arg1[_arg3[_local6].name] != undefined){ _arg3.splice(_local6, 1); }; _local6--; }; _local6 = (_arg5.length - 1); while (_local6 > -1) { if (_arg1[_arg5[_local6].name] != undefined){ _arg5.splice(_local6, 1); }; _local6--; }; for (_local7 in _arg1) { delete _arg2[_local7]; }; } public static function manageOverwrites(_arg1:TweenLite, _arg2:Dictionary):void{ var _local3:Object; var _local4:int; var _local5:Object; var _local6:Number; var _local7:Array; var _local8:int; var _local9:Object; var _local10:String; _local3 = _arg1.vars; _local4 = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite); if (_local4 < 2){ return; }; _local6 = _arg1.startTime; _local7 = []; for each (_local5 in _arg2) { if (((!((_local5 == _arg1))) && ((_local5.startTime <= _local6)))){ _local7[_local7.length] = _local5; }; }; if (_local7.length == 0){ return; }; if (_local4 == AUTO){ if (_local3.isTV == true){ _local3 = _local3.exposedProps; }; _local9 = {}; for (_local10 in _local3) { if ((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))){ } else { _local9[_local10] = 1; }; }; _local8 = (_local7.length - 1); while (_local8 > -1) { _local7[_local8].killVars(_local9); _local8--; }; } else { _local8 = (_local7.length - 1); while (_local8 > -1) { _arg2[_local7[_local8]] = null; delete _arg2[_local7[_local8]]; _local8--; }; }; } public static function init(_arg1:int=2):int{ if (TweenLite.version < 8.14){ trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."); }; TweenLite.overwriteManager = OverwriteManager; mode = _arg1; enabled = true; return (mode); } } }//package gs
Section 79
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.filters.*; public class TweenFilterLite extends TweenLite { protected var _endMatrix:Array; protected var _hf:Boolean;// = false protected var _clrsa:Array; protected var _filters:Array; protected var _originalEase:Function; protected var _matrix:Array; protected var _cmf:ColorMatrixFilter; public static var removeTween:Function = TweenLite.removeTween; public static var defaultEase:Function = TweenLite.defaultEase; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var version:Number = 8.16; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _hf = false; _filters = []; super(_arg1, _arg2, _arg3); _originalEase = this.vars.ease; if (TweenLite.version < 8.15){ trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; if (_arg3.type != undefined){ trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details.")); }; } override public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Array; _local2 = (((_arg1 - this.startTime) / 1000) * _timeScale); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((_originalEase == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.vars.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hf){ _local5 = (_clrsa.length - 1); while (_local5 > -1) { _local4 = _clrsa[_local5]; _local6 = (_local4.sr + (_local3 * _local4.cr)); _local7 = (_local4.sg + (_local3 * _local4.cg)); _local8 = (_local4.sb + (_local3 * _local4.cb)); _local4.f[_local4.p] = (((_local6 << 16) | (_local7 << 8)) | _local8); _local5--; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local10 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local9 = (_local10.length - 1); while (_local9 > -1) { if ((_local10[_local9] is _filters[_local5].type)){ _local10.splice(_local9, 1, _filters[_local5].filter); break; }; _local9--; }; _local5++; }; this.target.filters = _local10; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function get timeScale():Number{ return (_timeScale); } public function set timeScale(_arg1:Number):void{ if (((_initted) && ((_curTime > (this.initTime + (this.delay * 1000)))))){ this.initTime = ((_curTime - (((_curTime - (this.initTime + (this.delay * 1000))) * _timeScale) * (1 / _arg1))) - (this.delay * 1000)); if (this.startTime != 99999999999){ this.startTime = (this.initTime + (this.delay * 1000)); }; }; _timeScale = _arg1; } override public function killVars(_arg1:Object):void{ if (TweenLite.overwriteManager.enabled){ TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, _filters); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:int; var _local4:Object; var _local5:Object; var _local6:Object; if (((((!(_arg1)) && (!((this.delay == 0))))) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, _all[this.target]); }; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter "); if (_isDisplayObject){ if (this.vars.blurFilter != null){ _local4 = this.vars.blurFilter; addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != null){ _local4 = this.vars.glowFilter; addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != null){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){ _endMatrix = _local4.matrix; } else { if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens[this.tweens.length] = {o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3]), name:"colorMatrixFilter"}; }; _local3++; }; }; if (this.vars.dropShadowFilter != null){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != null){ _local4 = this.vars.bevelFilter; addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = (_clrsa.length - 1); while (_local3 > -1) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3--; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local6:Object; var _local7:Array; var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; _local6 = {type:_arg3, name:_arg1}; _local7 = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7[_local7.length] = _local6.filter; this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}; } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens[this.tweens.length] = {o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10, name:_arg1}; }; }; }; _local8++; }; _filters[_filters.length] = _local6; _hf = true; return (_local6); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); _local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; _local4 = (((_arg2 >> 16) & 0xFF) / 0xFF); _local5 = (((_arg2 >> 8) & 0xFF) / 0xFF); _local6 = ((_arg2 & 0xFF) / 0xFF); _local7 = (1 - _arg3); _local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = (1 - _arg2); _local4 = (_local3 * _lumR); _local5 = (_local3 * _lumG); _local6 = (_local3 * _lumB); _local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; _local3 = []; _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function setHue(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); _local3 = Math.cos(_arg2); _local4 = Math.sin(_arg2); _local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } } }//package gs
Section 80
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class TweenLite { public var delay:Number; protected var _hasUpdate:Boolean; protected var _subTweens:Array; protected var _initted:Boolean; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _isDisplayObject:Boolean; protected var _active:Boolean; public var vars:Object; public var tweens:Array; public var initTime:int; protected var _timeScale:Number; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 8.15; protected static var _all:Dictionary = new Dictionary(); private static var _sprite:Sprite = new Sprite(); protected static var _curTime:uint; public static var overwriteManager:Object; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:int; var _local5:*; super(); if (_arg1 == null){ return; }; if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _classInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); _timeScale = ((_arg3.timeScale) || (1)); _active = (((_arg2 == 0)) && ((this.delay == 0))); this.target = _arg1; _isDisplayObject = (_arg1 is DisplayObject); if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); this.vars.visible = (this.vars.alpha > 0); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); this.initTime = _curTime; this.startTime = (this.initTime + (this.delay * 1000)); _local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if ((((_all[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(true); } else { if ((((_local4 > 1)) && ((this.delay == 0)))){ overwriteManager.manageOverwrites(this, _all[_arg1]); }; }; _all[_arg1][this] = this; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; _local5 = this.vars.visible; if (this.vars.isTV == true){ _local5 = this.vars.exposedProps.visible; }; if (((((!((_local5 == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){ this.target.visible = Boolean(_local5); }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{ var _local6:Object; var _local7:String; _local6 = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5}; _subTweens[_subTweens.length] = _local6; for (_local7 in _arg4) { if (typeof(_arg4[_local7]) == "number"){ this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:(_arg4[_local7] - _arg3[_local7]), sub:_local6, name:_arg1}; } else { this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:Number(_arg4[_local7]), sub:_local6, name:_arg1}; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Array; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; _local5 = this.vars; if (_local5.isTV == true){ _local5 = _local5.exposedProps; }; if (((((!(_arg1)) && (!((this.delay == 0))))) && (overwriteManager.enabled))){ overwriteManager.manageOverwrites(this, _all[this.target]); }; if ((this.target is Array)){ _local6 = ((this.vars.endArray) || ([])); _local4 = 0; while (_local4 < _local6.length) { if (((!((this.target[_local4] == _local6[_local4]))) && (!((this.target[_local4] == undefined))))){ this.tweens[this.tweens.length] = {o:this.target, p:_local4.toString(), s:this.target[_local4], c:(_local6[_local4] - this.target[_local4]), name:_local4.toString()}; }; _local4++; }; } else { if (((((!((typeof(_local5.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (_local5.alpha != undefined){ _local8.alphaMultiplier = _local5.alpha; delete _local5.alpha; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((!((this.vars.removeTint == true))) && (((((!((_local5.tint == null))) && (!((_local5.tint == ""))))) || ((_local5.tint == 0)))))){ _local8.color = _local5.tint; }; addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); }; if (((!((_local5.frame == null))) && (_isDisplayObject))){ addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_local5.frame}, {target:this.target}); }; if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){ addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target}); }; for (_local3 in _local5) { if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "timeScale")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){ } else { if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){ if (typeof(_local5[_local3]) == "number"){ this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:(_local5[_local3] - this.target[_local3]), name:_local3}; } else { this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:Number(_local5[_local3]), name:_local3}; }; }; }; }; }; if (this.vars.runBackwards == true){ _local4 = (this.tweens.length - 1); while (_local4 > -1) { _local9 = this.tweens[_local4]; this.tweens[_local4].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); _local4--; }; }; if ((((_local5.visible == true)) && (_isDisplayObject))){ this.target.visible = true; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (_curTime >= this.startTime){ _active = true; if (!_initted){ initTweenVals(); } else { if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = 1; } else { _local3 = this.vars.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []); }; } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - ((this.duration * 1000) / _timeScale)); render(_curTime); return; }; if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){ if (((!(isNaN(this.vars.autoAlpha))) && ((this.target.alpha == 0)))){ this.target.visible = false; } else { if (this.vars.runBackwards != true){ this.target.visible = this.vars.visible; }; }; }; if (this.vars.persist != true){ removeTween(this); }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ _all[_arg1.target][_arg1] = null; delete _all[_arg1.target][_arg1]; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Object; var _local5:Object; _local2 = (_curTime = getTimer()); if (_listening){ _local3 = _all; for each (_local4 in _local3) { for (_local5 in _local4) { if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){ _local4[_local5].render(_local2); }; }; }; }; } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function killGarbage(_arg1:TimerEvent):void{ var _local2:uint; var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; _local2 = 0; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Object; _local2 = _arg1.target.progress; _local3 = (1 - _local2); _local4 = _arg1.info.color; _local5 = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 81
//TweenMax (gs.TweenMax) package gs { import flash.events.*; import flash.utils.*; import gs.events.*; public class TweenMax extends TweenFilterLite implements IEventDispatcher { protected var _isProcessingComplete:Boolean; protected var _dispatcher:EventDispatcher; protected var _callbacks:Object; protected var _pauseTime:int; protected static const _RAD2DEG:Number = 57.2957795130823; public static var removeTween:Function = TweenLite.removeTween; private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(); ; public static var defaultEase:Function = TweenLite.defaultEase; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var version:Number = 2.19; public static var killDelayedCallsTo:Function = TweenLite.killDelayedCallsTo; public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); _pauseTime = -1; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ initDispatcher(); if ((((_arg2 == 0)) && ((this.delay == 0)))){ onUpdateDispatcher(); onCompleteDispatcher(); }; }; if ((((this.vars.yoyo == true)) || ((this.vars.loop == true)))){ this.vars.persist = true; }; if (TweenFilterLite.version < 8.16){ trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."); }; } override public function get active():Boolean{ if (_active){ return (true); }; if (_pauseTime != -1){ return (false); }; if (_curTime >= this.startTime){ _active = true; if (!_initted){ initTweenVals(); } else { if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function get paused():Boolean{ if (_pauseTime != -1){ return (true); }; return (false); } public function resume():void{ var _local1:Boolean; var _local2:Number; if (_pauseTime != -1){ _local1 = (_pauseTime > (this.initTime + (this.delay * 1000))); _local2 = (_curTime - _pauseTime); this.initTime = (this.initTime + _local2); this.startTime = (this.initTime + (this.delay * 1000)); _pauseTime = -1; if (((!(_local1)) && ((_curTime >= this.startTime)))){ _local1 = this.active; } else { _active = _local1; }; }; } protected function adjustStartValues():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; _local1 = this.progress; if (_local1 != 0){ _local2 = (1 / (1 - this.vars.ease((_local1 * this.duration), 0, 1, this.duration))); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local3 = (_local4.s + _local4.c); _local4.c = ((_local3 - _local4.o[_local4.p]) * _local2); _local4.s = (_local3 - _local4.c); _local5--; }; }; } override public function complete(_arg1:Boolean=false):void{ if (!_isProcessingComplete){ _isProcessingComplete = true; if ((((this.vars.yoyo == true)) || ((this.vars.loop == true)))){ if (this.vars.yoyo == true){ reverse(false); }; this.startTime = _curTime; this.initTime = (this.startTime - (this.delay * 1000)); render(_curTime); } else { if (this.vars.persist == true){ pause(); }; }; super.complete(_arg1); _isProcessingComplete = false; }; } public function invalidate(_arg1:Boolean=true):void{ var _local2:Number; if (_initted){ _local2 = this.progress; if (((!(_arg1)) && (!((_local2 == 0))))){ this.progress = 0; }; this.tweens = []; _subTweens = []; initTweenVals(); if (_local2 != 0){ if (_arg1){ adjustStartValues(); } else { this.progress = _local2; }; }; }; } public function willTrigger(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.willTrigger(_arg1)); } public function get progress():Number{ var _local1:Number; _local1 = (((((((_curTime - this.initTime) / 1000) - this.delay) / this.duration) * _timeScale)) || (0)); if (_local1 > 1){ return (1); }; return (_local1); } public function dispatchEvent(_arg1:Event):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.dispatchEvent(_arg1)); } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Object; var _local7:Array; var _local8:Function; _arg2 = (_arg2 + " hexColors bezier bezierThrough orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener "); if (((((!(_arg1)) && (!((this.delay == 0))))) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, _all[this.target]); }; _local8 = bezierProxy; if (this.vars.orientToBezier == true){ this.vars.orientToBezier = [["x", "y", "rotation", 0]]; _local8 = bezierProxy2; } else { if ((this.vars.orientToBezier is Array)){ _local8 = bezierProxy2; }; }; if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){ _local6 = {}; _local7 = this.vars.bezier; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){ _local6 = {}; _local7 = this.vars.bezierThrough; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){ for (_local3 in this.vars.hexColors) { addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target}); }; }; super.initTweenVals(true, _arg2); } protected function onStartDispatcher(... _args):void{ if (_callbacks.onStart != null){ _callbacks.onStart.apply(null, this.vars.onStartParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START)); } public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{ var _local4:Number; var _local5:Object; var _local6:int; var _local7:Object; var _local8:Array; var _local9:Array; _local4 = this.progress; if (((!((this.vars[_arg1] == undefined))) && (_initted))){ if (((!(_arg3)) && (!((_local4 == 0))))){ _local6 = (this.tweens.length - 1); while (_local6 > -1) { if (this.tweens[_local6].name == _arg1){ this.tweens[_local6].o[this.tweens[_local6].p] = this.tweens[_local6].s; }; _local6--; }; }; _local5 = {}; _local5[_arg1] = 1; killVars(_local5); }; this.vars[_arg1] = _arg2; if (_initted){ _local7 = this.vars; _local8 = this.tweens; _local9 = _subTweens; this.vars = {}; this.tweens = []; _subTweens = []; this.vars[_arg1] = _arg2; initTweenVals(); if (((_arg3) && (!((_local4 == 0))))){ this.vars.ease = _local7.ease; adjustStartValues(); }; this.vars = _local7; this.tweens = _local8.concat(this.tweens); _subTweens = _local9.concat(_subTweens); }; } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (_dispatcher == null){ initDispatcher(); }; _dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function restart():void{ this.progress = 0; resume(); } protected function initDispatcher():void{ var _local1:Object; var _local2:String; if (_dispatcher == null){ _dispatcher = new EventDispatcher(this); _callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete}; _local1 = {}; for (_local2 in this.vars) { _local1[_local2] = this.vars[_local2]; }; this.vars = _local1; this.vars.onStart = onStartDispatcher; this.vars.onUpdate = onUpdateDispatcher; this.vars.onComplete = onCompleteDispatcher; if ((this.vars.onStartListener is Function)){ _dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true); }; if ((this.vars.onUpdateListener is Function)){ _dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true); }; if ((this.vars.onCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true); }; }; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (_dispatcher != null){ _dispatcher.removeEventListener(_arg1, _arg2, _arg3); }; } public function killProperties(_arg1:Array):void{ var _local2:Object; var _local3:int; _local2 = {}; _local3 = (_arg1.length - 1); while (_local3 > -1) { if (this.vars[_arg1[_local3]] != null){ _local2[_arg1[_local3]] = 1; }; _local3--; }; killVars(_local2); } public function set progress(_arg1:Number):void{ var _local2:Number; var _local3:Boolean; var _local4:*; _local2 = (_curTime - ((this.duration * _arg1) * 1000)); this.initTime = (_local2 - (this.delay * 1000)); this.startTime = _local2; _local3 = this.active; render(_curTime); if (_pauseTime != -1){ this.startTime = 99999999999; }; _local4 = this.vars.visible; if (this.vars.isTV == true){ _local4 = this.vars.exposedProps.visible; }; if (((((!((_local4 == null))) && (_isDisplayObject))) && ((_arg1 < 1)))){ this.target.visible = Boolean(_local4); }; } public function reverse(_arg1:Boolean=true):void{ this.vars.ease = ((this.vars.ease)==_originalEase) ? reverseEase : _originalEase; if (((_arg1) && ((_curTime > (this.initTime + (this.delay * 1000)))))){ this.initTime = ((_curTime - ((((1 - this.progress) * this.duration) * 1000) / _timeScale)) - (this.delay * 1000)); if (_pauseTime == -1){ this.startTime = (this.initTime + (this.delay * 1000)); }; }; resume(); } public function set paused(_arg1:Boolean):void{ if (_arg1){ this.pause(); } else { this.resume(); }; } protected function onUpdateDispatcher(... _args):void{ if (_callbacks.onUpdate != null){ _callbacks.onUpdate.apply(null, this.vars.onUpdateParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); } public function hasEventListener(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.hasEventListener(_arg1)); } public function pause():void{ if (_pauseTime == -1){ _pauseTime = _curTime; this.startTime = 99999999999; _active = false; }; } public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (_originalEase((_arg4 - _arg1), _arg2, _arg3, _arg4)); } protected function onCompleteDispatcher(... _args):void{ if (_callbacks.onComplete != null){ _callbacks.onComplete.apply(null, this.vars.onCompleteParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); } public static function sequence(_arg1:Object, _arg2:Array):Array{ var _local3:uint; _local3 = 0; while (_local3 < _arg2.length) { _arg2[_local3].target = _arg1; _local3++; }; return (multiSequence(_arg2)); } public static function hexColorsProxy(_arg1:Object):void{ _arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b)); } public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{ var _local3:int; var _local4:Array; var _local5:Object; var _local6:String; var _local7:Object; _local7 = {}; if (_arg2){ for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 2){ _local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]}; _local3 = 1; while (_local3 < (_local4.length - 1)) { _local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]}; _local3++; }; } else { _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; } else { for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)}; _local3 = 2; while (_local3 < (_local4.length - 2)) { _local5.push({s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)}); _local3++; }; _local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]}; } else { if (_local4.length == 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]}; } else { if (_local4.length == 2){ _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; }; }; }; return (_local7); } public static function bezierProxy2(_arg1:Object):void{ var _local2:Object; var _local3:Object; var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; var _local9:Number; var _local10:uint; bezierProxy(_arg1); _local2 = {}; _local3 = _arg1.info.target; _arg1.info.target = _local2; _arg1.target.t = (_arg1.target.t + 0.01); bezierProxy(_arg1); _local4 = _arg1.info.orientToBezier; _local10 = 0; while (_local10 < _local4.length) { _local8 = _local4[_local10]; _local9 = ((_local8[3]) || (0)); _local6 = (_local2[_local8[0]] - _local3[_local8[0]]); _local7 = (_local2[_local8[1]] - _local3[_local8[1]]); _local3[_local8[2]] = ((Math.atan2(_local7, _local6) * _RAD2DEG) + _local9); _local10++; }; _arg1.info.target = _local3; _arg1.target.t = (_arg1.target.t - 0.01); } public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(true, _arg1, _arg2); } public static function getTweensOf(_arg1:Object):Array{ var _local2:Dictionary; var _local3:Array; var _local4:Object; _local2 = _all[_arg1]; _local3 = []; if (_local2 != null){ for (_local4 in _local2) { if (_local2[_local4].tweens != undefined){ _local3[_local3.length] = _local2[_local4]; }; }; }; return (_local3); } public static function multiSequence(_arg1:Array):Array{ var _local2:Dictionary; var _local3:Array; var _local4:int; var _local5:Number; var _local6:Object; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:uint; var _local11:Object; var _local12:String; _local2 = new Dictionary(); _local3 = []; _local4 = TweenLite.overwriteManager.mode; _local5 = 0; _local10 = 0; while (_local10 < _arg1.length) { _local6 = _arg1[_local10]; _local9 = ((_local6.time) || (0)); _local11 = {}; for (_local12 in _local6) { _local11[_local12] = _local6[_local12]; }; delete _local11.time; _local8 = ((_local11.delay) || (0)); _local11.delay = (_local5 + _local8); _local7 = _local11.target; delete _local11.target; if (_local4 == 1){ if (_local2[_local7] == undefined){ _local2[_local7] = _local11; } else { _local11.overwrite = 2; }; }; _local3[_local3.length] = new TweenMax(_local7, _local9, _local11); _local5 = (_local5 + (_local9 + _local8)); _local10++; }; return (_local3); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenMax{ return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function isTweening(_arg1:Object):Boolean{ var _local2:Array; var _local3:int; _local2 = getTweensOf(_arg1); _local3 = (_local2.length - 1); while (_local3 > -1) { if (_local2[_local3].active){ return (true); }; _local3--; }; return (false); } public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local4:Array; var _local5:int; _local4 = getAllTweens(); _local5 = (_local4.length - 1); while (_local5 > -1) { if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){ if (_arg1){ _local4[_local5].complete(); } else { TweenLite.removeTween(_local4[_local5]); }; }; _local5--; }; } public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{ var _local4:Array; var _local5:int; _local4 = getAllTweens(); _local5 = (_local4.length - 1); while (_local5 > -1) { if ((((_local4[_local5] is TweenMax)) && (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))))){ _local4[_local5].paused = _arg1; }; _local5--; }; } public static function bezierProxy(_arg1:Object):void{ var _local2:Number; var _local3:Object; var _local4:Object; var _local5:int; var _local6:String; var _local7:Object; var _local8:Number; var _local9:uint; _local2 = _arg1.target.t; _local3 = _arg1.info.props; _local4 = _arg1.info.target; if (_local2 == 1){ for (_local6 in _local3) { _local5 = (_local3[_local6].length - 1); _local4[_local6] = _local3[_local6][_local5].e; }; } else { for (_local6 in _local3) { _local9 = _local3[_local6].length; if (_local2 < 0){ _local5 = 0; } else { if (_local2 >= 1){ _local5 = (_local9 - 1); } else { _local5 = int((_local9 * _local2)); }; }; _local8 = ((_local2 - (_local5 * (1 / _local9))) * _local9); _local7 = _local3[_local6][_local5]; _local4[_local6] = (_local7.s + (_local8 * (((2 * (1 - _local8)) * (_local7.cp - _local7.s)) + (_local8 * (_local7.e - _local7.s))))); }; }; } public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{ var _local3:uint; _local3 = 0; while (_local3 < _arg1.length) { if (_arg1[_local3] != undefined){ _arg1[_local3].apply(null, _arg2[_local3]); }; _local3++; }; } public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{ _arg3.runBackwards = true; return (allTo(_arg1, _arg2, _arg3)); } public static function killAllDelayedCalls(_arg1:Boolean=false):void{ killAll(_arg1, false, true); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ _arg3.runBackwards = true; return (new TweenMax(_arg1, _arg2, _arg3)); } public static function killAllTweens(_arg1:Boolean=false):void{ killAll(_arg1, true, false); } public static function getAllTweens():Array{ var _local1:Dictionary; var _local2:Array; var _local3:Object; var _local4:Object; _local1 = _all; _local2 = []; for (_local3 in _local1) { for (_local4 in _local1[_local3]) { if (_local1[_local3][_local4] != undefined){ _local2[_local2.length] = _local1[_local3][_local4]; }; }; }; return (_local2); } public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(false, _arg1, _arg2); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{ var _local4:int; var _local5:Object; var _local6:String; var _local7:Number; var _local8:Object; var _local9:Array; var _local10:Number; if (_arg1.length == 0){ return ([]); }; _local9 = []; _local10 = ((_arg3.delayIncrement) || (0)); delete _arg3.delayIncrement; if (_arg3.onCompleteAll == undefined){ _local8 = _arg3; } else { _local8 = {}; for (_local6 in _arg3) { _local8[_local6] = _arg3[_local6]; }; _local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]]; _local8.onComplete = TweenMax.callbackProxy; delete _arg3.onCompleteAll; }; delete _arg3.onCompleteAllParams; if (_local10 == 0){ _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; } else { _local7 = ((_arg3.delay) || (0)); _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local5.delay = (_local7 + (_local4 * _local10)); _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; _local8.delay = (_local7 + ((_arg1.length - 1) * _local10)); }; _local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8); if ((_arg3.onCompleteAllListener is Function)){ _local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener); }; return (_local9); } } }//package gs
Section 82
//Clock (ka.Clock) package ka { import flash.utils.*; public class Clock { public static function calcualteTimeStr(_arg1, _arg2):String{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:String; _local3 = Math.floor((((_arg1 / 1000) / 60) / 60)); _local4 = (Math.floor(((_arg1 / 1000) / 60)) - (_local3 * 60)); _local5 = ((Math.floor((_arg1 / 1000)) - (_local4 * 60)) - (_local3 * 3600)); _local6 = Math.ceil((((_arg1 / 1000) - Math.floor((_arg1 / 1000))) * 1000)); _local7 = _local3.toString(); _local8 = _local4.toString(); _local9 = _local5.toString(); _local10 = _local6.toString(); if (_local3 < 10){ _local7 = ("0" + _local3.toString()); }; if (_local4 < 10){ _local8 = ("0" + _local4.toString()); }; if (_local5 < 10){ _local9 = ("0" + _local5.toString()); }; if (_local6 < 100){ _local10 = ("0" + _local6.toString()); }; if (_local6 < 10){ _local10 = ("00" + _local6.toString()); }; _local11 = ""; switch (_arg2){ case "FULL": _local11 = ((((_local7 + ":") + _local8) + ":") + _local9); break; case "MINUTES": _local11 = ((_local8 + ":") + _local9); break; case "SECONDS": _local11 = _local9; break; case "FULL MILLISECONDS": _local11 = ((((_local8 + ":") + _local9) + ":") + _local10); break; }; return (_local11); } public static function returnPreFormattedTimeFromNumber(_arg1:int=0, _arg2:String="FULL"):String{ var _local3:*; _local3 = calcualteTimeStr(_arg1, _arg2); return (_local3); } public static function returnPreFormattedTime(_arg1:int=0, _arg2:String="FULL"):String{ var _local3:*; var _local4:*; _local3 = (getTimer() - _arg1); _local4 = calcualteTimeStr(_local3, _arg2); return (_local4); } } }//package ka
Section 83
//blit1 (blit1) package { import flash.display.*; public dynamic class blit1 extends BitmapData { public function blit1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 84
//blit2 (blit2) package { import flash.display.*; public dynamic class blit2 extends BitmapData { public function blit2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 85
//blit3 (blit3) package { import flash.display.*; public dynamic class blit3 extends BitmapData { public function blit3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 86
//blit4 (blit4) package { import flash.display.*; public dynamic class blit4 extends BitmapData { public function blit4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 87
//BlitMap (BlitMap) package { import flash.display.*; public class BlitMap extends MovieClip { private var _intBlitMapObjects:int; private var arrColorHex:Array; private var arrColorStr:Array; public var _objSpriteBlip; public static var _bmpBackgroundData:BitmapData = new BitmapData(1440, 1440, true, 0xFFFFFF); public static var _bmpBackgroundDataSrc:BitmapData; public static var _bmpBackground:Bitmap = new Bitmap(_bmpBackgroundData); public static var _screenBackground:BitmapData = new BitmapData(1440, 1440, true, 0xFFFFFF); public static var _blitMap_spr:Sprite = new MovieClip(); public static var _carBlits_spr:Sprite = new MovieClip(); public function BlitMap():void{ _objSpriteBlip = new Object(); arrColorHex = new Array(0xFEFEFE, 0xFDFDFD, 0x999999, 0xFBFBFB, 0xFAFAFA, 0xF9F9F9, 0xF8F8F8, 0x9900CC); arrColorStr = new Array("fefefe", "fdfdfd", "999999", "fbfbfb", "fafafa", "f9f9f9", "f8f8f8", "9900cc"); super(); } public function buildSpriteBlitMaps():void{ var _local1:*; var _local2:MovieClip; var _local3:*; var _local4:*; var _local5:BitmapData; var _local6:Bitmap; _local1 = 1; while (_local1 <= _objSpriteBlip.numberOfBlits) { _local2 = new MovieClip(); _local2.x = _objSpriteBlip.x; _local2.y = _objSpriteBlip.y; _local2.name = ("blit" + _local1); _carBlits_spr.addChild(_local2); _local3 = _objSpriteBlip.width; _local4 = _objSpriteBlip.height; _local5 = new BitmapData(_local3, _local4, false, arrColorHex[(_local1 - 1)]); _local6 = new Bitmap(_local5); _local6.name = "inner"; _local6.x = (0 - (_local3 / 2)); _local6.y = (0 - (_local4 / 2)); _local2.addChild(_local6); _local1++; }; } public function drawBlitMap(){ _bmpBackgroundData.lock(); _bmpBackgroundData.draw(_bmpBackgroundDataSrc); _bmpBackgroundData.draw(_carBlits_spr); _bmpBackgroundData.unlock(); } public function set objSpriteBlip(_arg1:Object):void{ _objSpriteBlip = _arg1; } public function buildBackgroundBlitMap(_arg1:Class, _arg2:Boolean=false, _arg3:Object=null){ _bmpBackgroundData.lock(); _bmpBackgroundDataSrc = null; _bmpBackgroundDataSrc = new _arg1(0, 0); _bmpBackgroundData.draw(_bmpBackgroundDataSrc); _blitMap_spr.addChild(_bmpBackground); buildSpriteBlitMaps(); if (_arg2){ _arg3.addChild(_blitMap_spr); //unresolved jump }; } public function getPixelValue(_arg1:uint, _arg2:uint, _arg3):uint{ var _local4:uint; if (_arg3){ _local4 = _bmpBackgroundData.getPixel(_arg1, _arg2); } else { _local4 = _bmpBackgroundDataSrc.getPixel(_arg1, _arg2); }; return (_local4); } public function removeBlitMapObjects(){ var _local1:*; _local1 = 1; while (_local1 <= 8) { _blitMap_spr.removeChild(getChildByName(("blit" + _local1))); _local1++; }; removeChild(_blitMap_spr); } } }//package
Section 88
//Car (Car) package { import flash.display.*; import flash.events.*; import gs.*; import flash.geom.*; import flash.utils.*; import com.memecounter.*; import ka.*; import console.math.*; import console.control.*; import console.engines.*; public class Car extends MovieClip { private var _isUserCar:Boolean; private var _intRotationTarget:Number; private var _collisionDetection; private var _convertDegrees; private var _intTempVelocity:Number;// = 0 private var _objCollisionReaction; public var _intCurrentVelocity:Number;// = 0 private var _intScaleRatio:Number;// = 0 private var _intHandling:Number;// = 0 private var _intTimeLap:int;// = 0 private var _intHandlingSpeedOffset:Number;// = 0 public var _intGroundOffset:Number;// = 400 private var _intFriction:Number;// = 0 private var _intTimeStart:int;// = 0 private var _intCarNum:int; private var _intRotationDivider;// = 9 private var _pythag; public var _isCarColliding;// = false private var _intMaxLaps:int;// = 3 private var _intWidth:Number;// = 0 private var _intHeight:Number; private var _docClass; private var _levels; private var _intCurrentLap:int;// = 1 private var _intTimeLapStart:int;// = 0 private var _isRaceFinished:Boolean;// = false private var _intHandlingOversteer:Number;// = 0 private var _intHandlingRatio:Number;// = 0 private var _carPath; private var _intBlitRotation:Number;// = 0 private var _intTempDistTravelled:Number;// = 0 private var _blitMap; public var _intGroundFriction:Number;// = 1 private var _intVelocityScaleRatio:Number;// = 0 private var _screenRenderClass; private var _intWayPointCurrent:int;// = 0 private var _isMoveAllowed:Boolean;// = true private var _intMaxVelocity:Number;// = 0 private var _allowRot;// = 0 private var _intHandlingOffset:Number;// = 0 private var _intTimeTotal:int;// = 0 public var _intRotationFinal:Number;// = 90 private var arrColorStr:Array; private var _intSpeedRatio:Number;// = 0 private var _strBlit:String; private var _isUserControl:Boolean; private var _currentBlit_mc; private var _intTargetX:int; public var _arrCarObjectReference; private var _intTargetY:int; private var _intTimeBest:int;// = 9999999 private var _key:KeyObject;// = null public var _levelWayPoints:Array; public var _isColliding;// = false private var _intHandlingLevelOffset:Number;// = 0 private var _intAcceleration:Number;// = 0 private var _intRotationHandling:Number;// = 0 private var _timeBasedAnimation; public var _blitMap_spr:Sprite; private var _intTargetWayPoint:int; private var _blitColor;// = null private var _intMinVelocity:Number;// = 0 public static var _intTimeDiff:Number = 0; public static var _arrCarObjects:Array = new Array(); public static var _arrPositions = new Array(); public function Car(_arg1, _arg2:int, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Boolean, _arg15:String, _arg16, _arg17:Sprite, _arg18:int, _arg19):void{ _intGroundFriction = 1; _intGroundOffset = 400; _isMoveAllowed = true; _intAcceleration = 0; _intBlitRotation = 0; _intCurrentLap = 1; _intCurrentVelocity = 0; _intFriction = 0; _intHandling = 0; _intHandlingOversteer = 0; _intHandlingRatio = 0; _intHandlingLevelOffset = 0; _intHandlingOffset = 0; _intHandlingSpeedOffset = 0; _intMaxLaps = 3; _intMinVelocity = 0; _intMaxVelocity = 0; _intScaleRatio = 0; _intTempVelocity = 0; _intVelocityScaleRatio = 0; _intWayPointCurrent = 0; _intWidth = 0; _intTempDistTravelled = 0; _intRotationFinal = 90; _intRotationHandling = 0; _objCollisionReaction = new Object(); _isRaceFinished = false; _key = null; _arrCarObjectReference = _arrCarObjects; _isColliding = false; _isCarColliding = false; _intSpeedRatio = 0; _allowRot = 0; _convertDegrees = new ConvertDegrees(); _pythag = new Pythag(); _levels = new Levels(); _collisionDetection = new Collision(); _blitColor = null; _blitMap = new BlitMap(); arrColorStr = new Array("fefefe", "fdfdfd", "999999", "fbfbfb", "fafafa", "f9f9f9", "f8f8f8", "9900cc"); _intTimeLap = 0; _intTimeTotal = 0; _intTimeBest = 9999999; _intTimeStart = 0; _intTimeLapStart = 0; _intRotationDivider = 9; super(); _arrCarObjects.push(this); _blitMap_spr = _arg17; _intMinVelocity = _arg5; _intMaxVelocity = _arg6; _intAcceleration = _arg7; _intCarNum = _arg1; _intHandling = _arg8; _intHandlingRatio = _arg9; _intScaleRatio = _arg10; _intWidth = _arg12; _intHeight = _arg13; _isUserControl = _arg14; _strBlit = _arg15; _intFriction = _arg11; _intTempVelocity = (_intMinVelocity + _intMaxVelocity); _blitColor = arrColorStr[(_arg1 - 1)]; _intWayPointCurrent = 0; _intCurrentLap = 1; _currentBlit_mc = _blitMap_spr.getChildByName(_strBlit); _levelWayPoints = _levels[(("buildLevel" + _arg18) + "WayPoints")](); _carPath = _levels[("buildLevel" + _arg18)](); _intTargetX = ((_carPath[0].ax + (Math.random() * 30)) - 15); _intTargetY = ((_carPath[0].ay + (Math.random() * 30)) - 15); _intTargetWayPoint = 0; _allowRot = 0; _intRotationTarget; _currentBlit_mc.x = _arg2; _currentBlit_mc.y = _arg3; _intRotationFinal = _arg4; _docClass = _arg16; _screenRenderClass = _arg19; if (_isUserControl){ _key = new KeyObject(_arg16.stage); } else { _key = null; }; if (_isUserControl){ _timeBasedAnimation = new TimeBasedAnimation(); } else { _timeBasedAnimation = null; }; if ((_strBlit == "blit8")){ _isUserCar = true; } else { _isUserCar = false; }; _docClass._trackPosition.gotoAndStop(_arg18); addEventListener(Event.ENTER_FRAME, controlMovement); if (_isUserControl){ trace("USER CAR"); //unresolved jump }; _intTimeLap = 0; _intTimeTotal = 0; _intTimeBest = 9999999; _intTimeStart = 0; } public function checkWayPoints(){ var _local1:*; var _local2:Object; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:Number; var _local15:*; var _local16:*; if ((((_strBlit == "blit8")) && (_docClass._isRaceBegun))){ _intTimeLap = (getTimer() - _intTimeLapStart); _local1 = Clock.returnPreFormattedTimeFromNumber(_intTimeLap, "FULL MILLISECONDS"); _docClass._lapTimer.currentLap.text = _local1; }; _local2 = _levelWayPoints[_intWayPointCurrent]; _local3 = _blitMap.getPixelValue(_currentBlit_mc.x, _currentBlit_mc.y, false); _local3 = _local3.toString(16).toUpperCase(); _local4 = _local2.col; _local5 = (_intWayPointCurrent + 1); _local6 = (_intWayPointCurrent + 2); _local7 = (_intWayPointCurrent - 1); _local8 = (_intWayPointCurrent - 2); _local9 = _levelWayPoints.length; if ((_local5 == _local9)){ _local5 = 0; //unresolved jump }; if ((_local6 == _local9)){ _local6 = 0; //unresolved jump }; if ((_local6 > _local9)){ _local6 = 1; //unresolved jump }; _local10 = _levelWayPoints[_local5]; _local11 = Math.abs((_local10.ax1 - _currentBlit_mc.x)); _local12 = Math.abs((_local10.ay1 - _currentBlit_mc.y)); _local13 = _pythag.findHypotenuseLength(_local11, _local12); _arrPositions.push({isUser:_isUserCar, dist:_local13, lap:_intCurrentLap, wayPoint:_intWayPointCurrent}); if (_isUserCar){ setCarPosition(); //unresolved jump }; if (_intWayPointCurrent == 0){ _local7 = (_local9 - 1); _local8 = (_local9 - 2); }; if ((_local7 == 0)){ _local8 = (_local9 - 1); //unresolved jump }; _local14 = NaN; _local15 = 0; for (;_local15 < _local9;_local15++) { if ((_local3 == _levelWayPoints[_local15].col)){ _local14 = _local15; continue; }; }; if ((_local15 == _local9)){ _local15 = (_local9 - 1); //unresolved jump }; if ((((((((((((_local14 == _local6)) || ((_local14 == _intWayPointCurrent)))) || ((_local14 == _local5)))) || ((_local14 == _local7)))) || ((_local14 == _local8)))) || (isNaN(_local14)))){ if (_isUserCar){ _docClass._lapDisplay.lapCounter_mc.gotoAndStop(_intCurrentLap); //unresolved jump }; if ((((_local14 == _local5)) || ((_local14 == _local6)))){ if ((_local14 == _local5)){ _intWayPointCurrent = _local5; //unresolved jump }; if ((_local14 == _local6)){ _intWayPointCurrent = _local5; //unresolved jump }; if (_local5 == 0){ _intCurrentLap++; if (_strBlit == "blit8"){ _intTimeLap = (getTimer() - _intTimeLapStart); _docClass._gameSounds.playSound("sfx_lapComplete"); _local1 = Clock.returnPreFormattedTimeFromNumber(_intTimeLap, "FULL MILLISECONDS"); _docClass._lapTimer.currentLap.text = _local1; if ((_intTimeLap < _intTimeBest)){ _docClass._lapTimer.fastestLap.text = _local1; //unresolved jump }; _intTimeLapStart = getTimer(); }; if ((((_intCurrentLap > _docClass._intLapsAllowed)) && (!(_isRaceFinished)))){ _docClass._arrRacePositions.push({num:_intCarNum, col:_blitColor}); if ((_strBlit == "blit8")){ _docClass._gameSounds.playSound("sfx_raceFinish"); //unresolved jump }; _isRaceFinished = true; _intTimeTotal = (getTimer() - _intTimeStart); if (_strBlit == "blit8"){ _local16 = _docClass._positionDisplay.pos_mc.currentFrame; _docClass._menusMC.submitScore_mc.time_mc.time.text = Clock.returnPreFormattedTimeFromNumber(_intTimeTotal, "FULL MILLISECONDS"); _docClass._menusMC.submitScore_mc.finalPos_mc.gotoAndStop(_local16); _docClass._intTime = _intTimeTotal; _docClass._menusMC.visible = true; _docClass.hideAllMenus(); _docClass._menusMC.topMenu_mc.gotoAndPlay(1); TweenMax.to(_docClass._menusMC.raceOver_mc, 0.5, {x:0xFF}); TweenMax.to(_docClass._menusMC.raceOver_mc, 0.5, {delay:3, x:820}); _docClass._menusMC.submitScore_mc.gotoAndStop(1); TweenMax.to(_docClass._menusMC.background6_mc, 0.3, {delay:3.3, alpha:1}); TweenMax.to(_docClass._menusMC.submitScore_mc, 0.5, {delay:3.3, x:261, onComplete:_docClass.removeCars}); _docClass.removeStats(); Tracker.kvEvent(1921); }; }; }; }; } else { if (_isUserControl){ }; }; } public function resetExplode():void{ var _local1:*; var _local2:Object; var _local3:*; var _local4:*; _local1 = _intWayPointCurrent; if (_local1 == -1){ _intCurrentLap--; _local1 = (_levelWayPoints.length - 1); }; _local2 = _levelWayPoints[_local1]; _local3 = _pythag.findAngle(_local2.ax, _local2.ay, _local2.ax1, _local2.ay1); _local4 = (_convertDegrees.convertToDegree(_local3) + 90); _intRotationFinal = _local4; _intRotationTarget = (Math.round((_local4 / 5)) * 5); _intCurrentVelocity = 0; _intTargetWayPoint = (_intTargetWayPoint - 3); if ((_intTargetWayPoint < 0)){ _intTargetWayPoint = (_carPath.length - 1); //unresolved jump }; _currentBlit_mc.x = _local2.ax; _currentBlit_mc.y = _local2.ay; _intTargetX = _local2.ax1; _intTargetY = _local2.ay1; _isMoveAllowed = true; _screenRenderClass[(("_car" + _intCarNum) + "_mc")].gotoAndPlay("reform"); } public function drawSkidMarks(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7):void{ var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; var _local16:*; var _local17:*; var _local18:*; var _local19:*; var _local20:*; var _local21:*; _local8 = (_intRotationFinal - _intRotationHandling); if ((((_local8 > 30)) || ((_local8 < -30)))){ _intCurrentVelocity = (_intCurrentVelocity * 0.97); _local9 = new Array("sfx_skid1", "sfx_skid2"); _local10 = _local9[(Math.ceil((Math.random() * 2)) - 1)]; if (!_docClass._gameSounds._isSkidding){ _docClass._gameSounds.playSound(_local10, "_sfxTrackChannel", 0, true); //unresolved jump }; if (!_docClass._gameSounds._isSkidding){ _docClass._gameSounds._isSkidding = true; //unresolved jump }; _local11 = ((_intRotationFinal - _arg6) / _arg7); _local12 = ((_intRotationFinal - _arg6) / _arg7); _local13 = ((_arg3 - _arg1) / _arg7); _local14 = ((_arg4 - _arg2) / _arg7); _local15 = 1; while (_local15 < _arg7) { _local16 = (_intRotationFinal - (_local11 * _local15)); _local17 = (_intRotationHandling - (_local12 * _local15)); _local18 = _intScaleRatio; _local19 = (_arg3 - (_local13 * _local15)); _local20 = (_arg4 - (_local14 * _local15)); _local21 = (_local16 + 180); _screenRenderClass.drawSkidMarks((_local19 / _local18), (_local20 / _local18), _local21); _local15++; }; } else { if (_docClass._gameSounds._isSkidding){ _docClass._gameSounds.stopSound("_sfxTrackChannel"); //unresolved jump }; if (_docClass._gameSounds._isSkidding){ _docClass._gameSounds._isSkidding = false; //unresolved jump }; }; } private function AiControls():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:Number; var _local7:Number; _local1 = _carPath[_intTargetWayPoint]; _local2 = _pythag.findAngle(_currentBlit_mc.x, _currentBlit_mc.y, _intTargetX, _intTargetY); _local3 = Math.abs(_pythag.findHypotenuseLength((_intTargetX - _currentBlit_mc.x), (_intTargetY - _currentBlit_mc.y))); _local4 = (_convertDegrees.convertToDegree(_local2) + 90); _intRotationTarget = (Math.round((_local4 / 10)) * 10); _local5 = _intRotationFinal; while (_local5 > 270) { _local5 = (_local5 - 360); }; while (_local5 < -90) { _local5 = (_local5 + 360); }; controlSpeedDirection(2); if (_allowRot == 0){ if (_local5 > _intRotationTarget){ _local6 = (_local5 - _intRotationTarget); _local7 = (Math.abs((-90 - _intRotationTarget)) + (270 - _local5)); if ((((_local6 < _local7)) && ((_local6 > 10)))){ controlSpeedDirection(0); } else { if ((((_local7 < _local6)) && ((_local7 > 10)))){ controlSpeedDirection(1); }; }; } else { if (_local5 < _intRotationTarget){ _local6 = (_intRotationTarget - _local5); _local7 = (Math.abs((-90 - _local5)) + (270 - _intRotationTarget)); if ((((_local6 < _local7)) && ((_local6 > 10)))){ controlSpeedDirection(1); } else { if ((((_local7 < _local6)) && ((_local7 > 10)))){ controlSpeedDirection(0); }; }; }; }; } else { _allowRot--; }; if (_local3 < 40){ _intTargetWayPoint++; _intTargetX = ((_local1.ax + (Math.random() * 4)) - 2); _intTargetY = ((_local1.ay + (Math.random() * 4)) - 2); if ((_intTargetWayPoint == _carPath.length)){ _intTargetWayPoint = 0; //unresolved jump }; }; controlSpeedDirection(3); } public function resetAIExplode():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; if (_intTargetWayPoint != 0){ _local1 = _intTargetWayPoint; } else { _local1 = (_carPath.length - 1); }; _local2 = _carPath[_local1]; _local3 = _carPath[_intTargetWayPoint]; _local4 = _pythag.findAngle(_local2.ax, _local2.ay, _local3.ax, _local3.ay); _local5 = (_convertDegrees.convertToDegree(_local4) + 90); _intRotationFinal = _local5; _intRotationTarget = (Math.round((_local5 / 5)) * 5); _intCurrentVelocity = 0; _currentBlit_mc.x = _local2.ax; _currentBlit_mc.y = _local2.ay; _intTargetX = _local3.ax; _intTargetY = _local3.ay; _isMoveAllowed = true; _screenRenderClass[(("_car" + _intCarNum) + "_mc")].gotoAndPlay("reform"); } private function controlMovement(_arg1:Event=null):void{ var intTempRotHandling:*; var intTempRot:*; var px:*; var py:*; var intRadians:*; var intRadians1:Number; var intSteps:int; var intPrevX:*; var intPrevY:*; var r:*; var fallPoints:int; var arrCarXPoints:Array; var arrCarYPoints:Array; var arrOppXPoints:Array; var arrOppYPoints:Array; var arrNewCoordinates:*; var intX:*; var intY:*; var i:*; var intNewX:*; var intNewY:*; var carPoint:*; var pixelVal:*; var pixelVal1:*; var intNewX1:*; var intNewY1:*; var carPoint1:*; var _playerBlit_mc:*; var evt = _arg1; if ((_intTempDistTravelled > 0)){ _intTempDistTravelled--; } else { _intTempDistTravelled = 0; }; if (((_docClass._isRaceBegun) && (_isMoveAllowed))){ if (_isUserControl){ userControls(); } else { AiControls(); }; }; if ((((_intTimeStart == 0)) && (_docClass._isRaceBegun))){ _intTimeStart = getTimer(); _intTimeLapStart = getTimer(); }; if (_isUserCar){ _blitMap.drawBlitMap(); //unresolved jump }; _currentBlit_mc.rotation = _intRotationHandling; checkWayPoints(); intTempRotHandling = _intRotationHandling; intTempRot = _intRotationFinal; controlHandling(); px = _currentBlit_mc.x; py = _currentBlit_mc.y; intRadians = _convertDegrees.convertToRadian((_intRotationHandling + 90)); intRadians1 = (_intRotationFinal + 180); _intRotationFinal = (_intRotationFinal + (_intBlitRotation * _intSpeedRatio)); intRadians1 = (_intRotationFinal + 180); intSteps = 1; intPrevX = _currentBlit_mc.x; intPrevY = _currentBlit_mc.y; r = 1; for (;r <= intSteps;(r = (r + 1))) { fallPoints = 0; arrCarXPoints = new Array(-7.5, 7.5, 0, -7.5, 7.5, 0, -7.5, 7.5, 0, -7.5, 7.5, 0, -7.5, 7.5, 0); arrCarYPoints = new Array(-10, (-10 - 10), -5, (-5 - 5), 0, 0, 0, 5, 5, 5, 9, 9, 15); arrOppXPoints = new Array(0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1); arrOppYPoints = new Array(-3, -3, -3, -1, -1, -1, 0, 0, 0, 1, 1, 1, 3, 3, 3); arrNewCoordinates = _pythag.findNewXY(intPrevX, intPrevY, intRadians, ((_intVelocityScaleRatio / intSteps) * _intSpeedRatio)); intX = arrNewCoordinates[0]; intY = arrNewCoordinates[1]; if (((((!(_isColliding)) && (_isMoveAllowed))) && (!(_isCarColliding)))){ i = 15; for (;i > 0;if (_objCollisionReaction.HandlingCollsion){ _intRotationFinal = _objCollisionReaction.rot; intRadians = _convertDegrees.convertToRadian((_intRotationFinal + 90)); _intVelocityScaleRatio = (_intCurrentVelocity * _intScaleRatio); arrNewCoordinates = _pythag.findNewXY(intPrevX, intPrevY, intRadians, (_intVelocityScaleRatio * _intSpeedRatio)); intX = arrNewCoordinates[0]; intY = arrNewCoordinates[1]; }, (_intCurrentVelocity = _objCollisionReaction.cv), (_intGroundFriction = _objCollisionReaction.groundFriction), (_intGroundOffset = _objCollisionReaction.groundHandlingOffset), if (_objCollisionReaction.carCollision){ intRadians = _convertDegrees.convertToRadian((_intRotationFinal + 90)); _intVelocityScaleRatio = (_intCurrentVelocity * _intScaleRatio); arrNewCoordinates = _pythag.findNewXY(intPrevX, intPrevY, intRadians, (_intVelocityScaleRatio * _intSpeedRatio)); intX = arrNewCoordinates[0]; intY = arrNewCoordinates[1]; _isColliding = true; }, if (_objCollisionReaction.collision){ arrNewCoordinates = _pythag.findNewXY(intPrevX, intPrevY, intRadians, ((_intVelocityScaleRatio / intSteps) * _intSpeedRatio)); intX = arrNewCoordinates[0]; intY = arrNewCoordinates[1]; }, (i = (i - 1))) { //unresolved if arrNewCoordinates = _pythag.findNewXY(intPrevX, intPrevY, intRadians, ((_intVelocityScaleRatio / intSteps) * _intSpeedRatio)); intX = arrNewCoordinates[0]; intY = arrNewCoordinates[1]; intNewX = (arrCarXPoints[(i - 1)] * _intScaleRatio); intNewY = (arrCarYPoints[(i - 1)] * _intScaleRatio); carPoint = _currentBlit_mc.localToGlobal(new Point(intNewX, intNewY)); pixelVal = _blitMap.getPixelValue(carPoint.x, carPoint.y, true); pixelVal1 = _blitMap.getPixelValue(carPoint.x, carPoint.y, false); intNewX1 = (arrOppXPoints[(i - 1)] * _intScaleRatio); intNewY1 = (arrOppYPoints[(i - 1)] * _intScaleRatio); carPoint1 = _currentBlit_mc.localToGlobal(new Point(intNewX1, intNewY1)); _objCollisionReaction = _collisionDetection.react(pixelVal, pixelVal1, intX, intY, px, py, carPoint1.x, carPoint1.y, _intCurrentVelocity, _intRotationFinal, i, _blitColor, this); continue; var _slot1 = e; trace("ERROR"); }; _docClass._trackPosition[(("car" + _intCarNum) + "_mc")].x = ((arrNewCoordinates[0] / 20) + 10); _docClass._trackPosition[(("car" + _intCarNum) + "_mc")].y = (arrNewCoordinates[1] / 20); } else { if (_isMoveAllowed){ playCollisionSound(); //unresolved jump }; }; _currentBlit_mc.x = intX; _currentBlit_mc.y = intY; if (_isMoveAllowed){ drawSkidMarks(intPrevX, intPrevY, intX, intY, intTempRotHandling, intTempRot, 4); continue; }; }; if (_strBlit == "blit8"){ _screenRenderClass.setXY((_currentBlit_mc.x / _intScaleRatio), (_currentBlit_mc.y / _intScaleRatio)); _screenRenderClass.drawPlayersCar(_currentBlit_mc.x, _currentBlit_mc.y, intRadians1); } else { _playerBlit_mc = _blitMap_spr.getChildByName("blit8"); _screenRenderClass.drawComputerCar((_currentBlit_mc.x / _intScaleRatio), (_currentBlit_mc.y / _intScaleRatio), intRadians1, (_playerBlit_mc.x / _intScaleRatio), (_playerBlit_mc.y / _intScaleRatio), _intCarNum); }; _isColliding = false; _isCarColliding = false; } public function explodeCar():void{ if (_isMoveAllowed){ _intVelocityScaleRatio = 0; _intCurrentVelocity = 0; _screenRenderClass[(("_car" + _intCarNum) + "_mc")].gotoAndPlay("explode"); _isMoveAllowed = false; if (_isUserCar){ TweenMax.to(_isMoveAllowed, 1.3, {onComplete:resetExplode}); } else { TweenMax.to(_isMoveAllowed, 1.3, {onComplete:resetAIExplode}); }; }; } public function playCollisionSound(){ var _local1:*; _local1 = new Array("sfx_crash1", "sfx_crash2", "sfx_crash3", "sfx_crash4", "sfx_crash5", "sfx_crash6", "sfx_crash6"); if (_strBlit == "blit8"){ _docClass._gameSounds.playSound(_local1[(Math.ceil((Math.random() * 6)) - 1)], "_sfxMenuChannel"); }; } public function setCarPosition(){ var _local1:*; var _local2:*; _arrPositions.sortOn(["lap", "wayPoint", "dist"], [(Array.NUMERIC | Array.DESCENDING), (Array.NUMERIC | Array.DESCENDING), Array.NUMERIC]); _local1 = _arrPositions.length; _local2 = 0; while (_local2 < _local1) { if (((_arrPositions[_local2].isUser) && (!(_isRaceFinished)))){ _docClass._positionDisplay.pos_mc.gotoAndStop((_local2 + 1)); }; _local2++; }; _arrPositions = new Array(); } public function controlHandling():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; _local1 = _intRotationFinal; _local2 = _intRotationHandling; _local3 = _intScaleRatio; _local4 = _currentBlit_mc.x; _local5 = _currentBlit_mc.y; _local6 = (_local1 - _local2); if (_local6 > 80){ _local2 = (_local1 - 80); } else { if (_local6 < -80){ _local2 = (_local1 + 80); }; }; if ((((_local6 > 6)) || ((_local6 < -6)))){ if (_isUserCar){ } else { _intCurrentVelocity = (_intCurrentVelocity * 0.96); }; }; if (_local2 < _local1){ _local2 = (_local2 + (_local6 * (_intHandlingRatio / _intHandlingSpeedOffset))); if (_local2 > _local1){ _local2 = _local1; }; } else { if (_local2 > _local1){ _local2 = (_local2 + (_local6 * (_intHandlingRatio / _intHandlingSpeedOffset))); if (_local2 < _local1){ _local2 = _local1; }; }; }; _intRotationFinal = _local1; _intRotationHandling = _local2; } public function controlTimeBasedAnimation(){ if (_strBlit == "blit8"){ _docClass._intTimeDiff1 = _timeBasedAnimation.returnTimeDiff(); }; _intTimeDiff = (_docClass._intTimeDiff1 / 40); _intSpeedRatio = _intTimeDiff; if ((_intSpeedRatio > 2)){ _intSpeedRatio = 2; //unresolved jump }; } private function userControls():void{ if (_key.isDown(37)){ if ((_intRotationDivider > 2)){ _intRotationDivider = (_intRotationDivider - 0.3); //unresolved jump }; if ((_intHandlingOversteer < 6)){ _intHandlingOversteer = (_intHandlingOversteer + 0.05); //unresolved jump }; controlSpeedDirection(0); } else { if (_key.isDown(39)){ if ((_intRotationDivider > 2)){ _intRotationDivider = (_intRotationDivider - 0.2); //unresolved jump }; if ((_intHandlingOversteer < 6)){ _intHandlingOversteer = (_intHandlingOversteer + 0.05); //unresolved jump }; controlSpeedDirection(1); } else { if (((!(_key.isDown(37))) && (!(_key.isDown(39))))){ if ((_intRotationDivider < 9)){ _intRotationDivider = (_intRotationDivider + 0.3); //unresolved jump }; if ((_intHandlingOversteer > 0)){ _intHandlingOversteer = (_intHandlingOversteer - 0.2); //unresolved jump }; _intHandlingOversteer = 0; controlSpeedDirection(2); }; }; }; if (_key.isDown(38)){ controlSpeedDirection(3); } else { if (_key.isDown(40)){ if ((_intHandlingOversteer > 0)){ _intHandlingOversteer = (_intHandlingOversteer - 0.8); //unresolved jump }; if ((_intRotationDivider < 9)){ _intRotationDivider = (_intRotationDivider + 1); //unresolved jump }; controlSpeedDirection(4); } else { if (((!(_key.isDown(40))) && (!(_key.isDown(38))))){ if ((_intHandlingOversteer > 0)){ _intHandlingOversteer = (_intHandlingOversteer - 0.4); //unresolved jump }; if ((_intRotationDivider < 9)){ _intRotationDivider = (_intRotationDivider + 0.6); //unresolved jump }; controlSpeedDirection(5); }; }; }; } public function controlSpeedDirection(_arg1){ var a:Number; var fa:Number; var fg:Number; var go:Number; var vc:Number; var vm:Number; var vt:Number; var gmv:Number; var intPerc:*; var intPrevSpeed:*; var intSpeedSound:*; var intSpeedBar:*; var con = _arg1; controlTimeBasedAnimation(); a = (_intAcceleration * _intSpeedRatio); fa = _intFriction; fg = _intGroundFriction; go = _intGroundOffset; vc = _intCurrentVelocity; vm = _intMaxVelocity; vt = _intTempVelocity; switch (con){ case 0: if ((_intTempDistTravelled <= 0)){ _intBlitRotation = ((0 - _intHandling) - _intHandlingOversteer); //unresolved jump }; break; case 1: if ((_intTempDistTravelled <= 0)){ _intBlitRotation = (_intHandling + _intHandlingOversteer); //unresolved jump }; break; case 2: _intBlitRotation = 0; break; case 3: gmv = go; _intHandlingOffset = (vc / _intRotationDivider); if (vc < 0){ vc = ((vc * fa) + a); }; if ((((vc < vm)) && ((vc < gmv)))){ vc = (vc + a); } else { vc = (vc * fg); }; break; case 4: if (vc > 0){ vc = ((vc * fa) - a); }; if (vc > (0 - vm)){ vc = (vc - a); vc = (vc * fg); }; break; case 5: _intHandlingOffset = (vc / _intRotationDivider); if ((_intHandlingOversteer > 0)){ _intHandlingOversteer = (_intHandlingOversteer - 0.2); //unresolved jump }; if (vc > 0){ vc = (vc * fa); vc = (vc * fg); if (vc < 0){ vc = 0; }; } else { if (vc < 0){ vc = (vc * fa); vc = (vc * fg); if (vc > 0){ vc = 0; }; }; }; break; }; _intVelocityScaleRatio = (vc * _intScaleRatio); _intHandlingSpeedOffset = Math.abs(((vc / vt) * (_intHandlingSpeedOffset + _intHandlingOffset))); _intCurrentVelocity = vc; if (_strBlit == "blit8"){ intPerc = (_intCurrentVelocity / _intMaxVelocity); intPrevSpeed = _docClass._speedDisplay.speedBars_mc.currentFrame; intSpeedSound = Math.ceil((intPerc * 7)); if ((intSpeedSound < 1)){ intSpeedSound = 1; //unresolved jump }; if ((intSpeedSound > 7)){ intSpeedSound = 7; //unresolved jump }; intSpeedBar = Math.ceil((intPerc * 12)); if ((intSpeedBar > 12)){ intSpeedBar = 12; //unresolved jump }; _docClass._speedDisplay.speedBars_mc.gotoAndStop(intSpeedBar); if (intPrevSpeed != intSpeedBar){ _docClass._gameSounds.stopSound("_sfxCarChannel"); try { _docClass._gameSounds.playSound(("sfx_engineSFX" + intSpeedSound), "_sfxCarChannel", 0, true); } catch(e:Error) { trace(("SOUND ERROR - sfx_engineSFX" + intSpeedSound)); }; }; }; } public function destroy():void{ if (_key != null){ _key.destroy(); //unresolved jump }; _key = null; if (_timeBasedAnimation != null){ _timeBasedAnimation.destroy(); //unresolved jump }; _timeBasedAnimation = null; removeEventListener(Event.ENTER_FRAME, controlMovement); } } }//package
Section 89
//CarMovieClip (CarMovieClip) package { import flash.display.*; public dynamic class CarMovieClip extends MovieClip { public var car_mc:MovieClip; public function CarMovieClip(){ addFrameScript(0, frame1, 1, frame2, 51, frame52, 69, frame70); } function frame70(){ gotoAndStop(2); } function frame1(){ stop(); } function frame2(){ stop(); } function frame52(){ stop(); } } }//package
Section 90
//CellRenderer_disabledSkin (CellRenderer_disabledSkin) package { import flash.display.*; public dynamic class CellRenderer_disabledSkin extends MovieClip { } }//package
Section 91
//CellRenderer_downSkin (CellRenderer_downSkin) package { import flash.display.*; public dynamic class CellRenderer_downSkin extends MovieClip { } }//package
Section 92
//CellRenderer_overSkin (CellRenderer_overSkin) package { import flash.display.*; public dynamic class CellRenderer_overSkin extends MovieClip { } }//package
Section 93
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin) package { import flash.display.*; public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip { } }//package
Section 94
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin) package { import flash.display.*; public dynamic class CellRenderer_selectedDownSkin extends MovieClip { } }//package
Section 95
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin) package { import flash.display.*; public dynamic class CellRenderer_selectedOverSkin extends MovieClip { } }//package
Section 96
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin) package { import flash.display.*; public dynamic class CellRenderer_selectedUpSkin extends MovieClip { } }//package
Section 97
//CellRenderer_upSkin (CellRenderer_upSkin) package { import flash.display.*; public dynamic class CellRenderer_upSkin extends MovieClip { } }//package
Section 98
//Collision (Collision) package { public class Collision { private var _rv:Number;// = 0 private var _rx:Number; private var _ry:Number; private var _reaction:Object; private var arrColorStr:Array; public static var _isFrontPointColiding:Boolean = false; public function Collision(){ _reaction = new Object(); _rv = 0; arrColorStr = new Array("fefefe", "fdfdfd", "999999", "fbfbfb", "fafafa", "f9f9f9", "f8f8f8", "9900cc"); super(); } public function rotateCar(_arg1, _arg2, _arg3):Number{ return (_arg2); } public function hitWall(_arg1, _arg2, _arg3, _arg4, _arg5){ if (_arg1 == _arg3){ _rx = _arg1; } else { _rx = _arg3; }; if (_arg2 == _arg4){ _ry = _arg2; } else { _ry = _arg4; }; } public function react(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _arg13){ var _local14:*; var _local15:*; var _local16:Array; var _local17:Number; var _local18:Number; var _local19:Boolean; var _local20:int; var _local21:*; var _local22:*; _local14 = false; _local15 = false; _local16 = new Array(); if ((_arg11 == 15)){ _isFrontPointColiding = false; //unresolved jump }; _rx = _arg3; _ry = _arg4; _rv = _arg9; _reaction.groundFriction = 1; _reaction.groundHandlingOffset = 40; _reaction._handlingOffset = 0; _reaction.rot = _arg10; _reaction.blowup = false; _local19 = false; _reaction.bounce = false; _reaction.jump = false; _reaction.boost = false; _reaction.HandlingCollsion = false; _reaction.handlingOffset = 0; _arg1 = _arg1.toString(16); _arg2 = _arg2.toString(16); switch (_arg1){ case "33ff00": case "ff33": case "ff06": case "ff00": _arg13.explodeCar(); break; case "ff00cc": if (_arg9 > 1){ _arg9 = (_arg9 * 0.98); }; _local14 = true; break; case "ff0000": break; case "cccc99": if (_arg9 > 1){ _arg9 = (_arg9 * 0.995); }; _local14 = true; break; }; if ((((_arg1 == "ffff00")) || ((_arg2 == "ffff00")))){ if (_arg11 == 15){ _arg9 = (0 - 10); _isFrontPointColiding = true; _reaction.HandlingCollsion = true; }; if (!_isFrontPointColiding){ if ((((((_arg11 == 13)) || ((_arg11 == 7)))) || ((_arg11 == 10)))){ _reaction.rot = (_reaction.rot - 5); if (_arg9 > 3){ _arg9--; }; _local14 = true; _reaction.HandlingCollsion = true; _arg13.playCollisionSound(); }; if ((((((_arg11 == 14)) || ((_arg11 == 8)))) || ((_arg11 == 11)))){ _reaction.rot = (_reaction.rot + 5); if (_arg9 > 3){ _arg9--; }; _local14 = true; _reaction.HandlingCollsion = true; _arg13.playCollisionSound(); }; }; }; _local20 = 0; for (;_local20 < 8;(_local21._isColliding = true), (_local21._isCarColliding = true), (_reaction.HandlingCollsion = true), (_local15 = true), _arg13.playCollisionSound(), if (_arg11 < 4){ _arg9 = (_arg9 + 1); _local21._intCurrentVelocity = (_local21._intCurrentVelocity - 1); }, _local20++) { //unresolved if _local21 = _arg13._arrCarObjectReference[_local20]; //unresolved if _local22 = (_arg13._intRotationFinal - _local21._intRotationFinal); _reaction.rot = _local21._intRotationFinal; if ((((_arg11 == 14)) || ((_arg11 == 11)))){ _reaction.rot = (_reaction.rot + 1); }; if ((((_arg11 == 13)) || ((_arg11 == 10)))){ _reaction.rot = (_reaction.rot - 1); }; _arg9 = (_local21._intCurrentVelocity * 0.8); _local21._intCurrentVelocity = (_arg9 * 1.2); if ((_local21._intCurrentVelocity < 6)){ _local21._intCurrentVelocity = (_local21._intCurrentVelocity + 4); continue; }; }; _reaction.cv = _arg9; _reaction.x = _arg3; _reaction.y = _arg4; _reaction.collision = _local14; _reaction.carCollision = _local15; _reaction.fall = _local19; return (_reaction); } } }//package
Section 99
//ComboBox_disabledSkin (ComboBox_disabledSkin) package { import flash.display.*; public dynamic class ComboBox_disabledSkin extends MovieClip { } }//package
Section 100
//ComboBox_downSkin (ComboBox_downSkin) package { import flash.display.*; public dynamic class ComboBox_downSkin extends MovieClip { } }//package
Section 101
//ComboBox_overSkin (ComboBox_overSkin) package { import flash.display.*; public dynamic class ComboBox_overSkin extends MovieClip { } }//package
Section 102
//ComboBox_upSkin (ComboBox_upSkin) package { import flash.display.*; public dynamic class ComboBox_upSkin extends MovieClip { } }//package
Section 103
//CustomComboBox (CustomComboBox) package { import fl.controls.*; import flash.text.*; public class CustomComboBox extends ComboBox { private var textFormat:TextFormat; public var valid:Boolean;// = false public function CustomComboBox(){ valid = false; super(); } override protected function drawLayout():void{ super.drawLayout(); textField.y = (textField.y - 3); textField.height = 32; } } }//package
Section 104
//EXPLOSION (EXPLOSION) package { import flash.display.*; public dynamic class EXPLOSION extends MovieClip { public function EXPLOSION(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ } function frame40(){ } } }//package
Section 105
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 106
//GameSounds (GameSounds) package { import flash.media.*; public class GameSounds { public var _sfxMenuSoundTransform:SoundTransform; public var _sfxSoundTransform:SoundTransform; public var _sfxAmbChannel:SoundChannel; public var _musicChannel1:SoundChannel; public var _isSkidding:Boolean;// = false public var _sfxChannel:SoundChannel; public var _sfxTrackChannel:SoundChannel; public var _sfxTrackSoundTransform:SoundTransform; public var _sfxCarSoundTransform:SoundTransform; public var _isMuted;// = false public var _sfxCarChannel:SoundChannel; public var _musicChannel:SoundChannel; public var _sfxMenuChannel:SoundChannel; public static var _objSounds = new Object(); public function GameSounds(){ _sfxChannel = new SoundChannel(); _sfxAmbChannel = new SoundChannel(); _sfxCarChannel = new SoundChannel(); _sfxTrackChannel = new SoundChannel(); _sfxMenuChannel = new SoundChannel(); _musicChannel = new SoundChannel(); _musicChannel1 = new SoundChannel(); _isMuted = false; _isSkidding = false; super(); _objSounds.sfx_crowdAmbience = new sfx_crowdAmbience(); _objSounds.sfx_menuClick = new sfx_menuClick(); _objSounds.sfx_menuRollover = new sfx_menuRollover(); _objSounds.menu_music = new menu_music(); _objSounds.inGameMusic = new inGameMusic(); _objSounds.sfx_pitAmbience = new sfx_pitAmbience(); _objSounds.sfx_fastestLap = new sfx_fastestLap(); _objSounds.sfx_raceFinish = new sfx_raceFinish(); _objSounds.sfx_lapComplete = new sfx_lapComplete(); _objSounds.sfx_raceStart1 = new sfx_raceStart1(); _objSounds.sfx_raceStart2 = new sfx_raceStart2(); _objSounds.sfx_crash1 = new sfx_crash1(); _objSounds.sfx_crash2 = new sfx_crash2(); _objSounds.sfx_crash3 = new sfx_crash3(); _objSounds.sfx_crash4 = new sfx_crash4(); _objSounds.sfx_crash5 = new sfx_crash5(); _objSounds.sfx_crash6 = new sfx_crash6(); _objSounds.sfx_sandDrive = new sfx_sandDrive(); _objSounds.sfx_skid1 = new sfx_skid1(); _objSounds.sfx_skid2 = new sfx_skid2(); _objSounds.sfx_engineSFX1 = new sfx_engineSFX1(); _objSounds.sfx_engineSFX2 = new sfx_engineSFX2(); _objSounds.sfx_engineSFX3 = new sfx_engineSFX3(); _objSounds.sfx_engineSFX4 = new sfx_engineSFX4(); _objSounds.sfx_engineSFX5 = new sfx_engineSFX5(); _objSounds.sfx_engineSFX6 = new sfx_engineSFX6(); _objSounds.sfx_engineSFX7 = new sfx_engineSFX7(); } public function stopSound(_arg1){ this[_arg1].stop(); } public function muteSound():Boolean{ switch (_isMuted){ case true: break; case false: break; }; return (_isMuted); } public function playSound(_arg1:String, _arg2:String="_sfxChannel", _arg3:int=0, _arg4:Boolean=false, _arg5:int=999999){ var _local6:*; _local6 = 0; if (_arg4){ _local6 = _arg5; }; this[_arg2] = _objSounds[_arg1].play(_arg3, _local6); _sfxCarSoundTransform = _sfxCarChannel.soundTransform; _sfxCarSoundTransform.volume = 0.3; _sfxCarChannel.soundTransform = _sfxCarSoundTransform; _sfxTrackSoundTransform = _sfxTrackChannel.soundTransform; _sfxTrackSoundTransform.volume = 0.9; _sfxTrackChannel.soundTransform = _sfxTrackSoundTransform; _sfxTrackSoundTransform = _musicChannel1.soundTransform; _sfxTrackSoundTransform.volume = 0.4; _musicChannel1.soundTransform = _sfxTrackSoundTransform; _sfxMenuSoundTransform = _sfxMenuChannel.soundTransform; _sfxMenuSoundTransform.volume = 0.4; _sfxMenuChannel.soundTransform = _sfxMenuSoundTransform; } } }//package
Section 107
//inGameMusic (inGameMusic) package { import flash.media.*; public dynamic class inGameMusic extends Sound { } }//package
Section 108
//LapDisplay (LapDisplay) package { import flash.display.*; public dynamic class LapDisplay extends MovieClip { public var lapCounter_mc:MovieClip; public function LapDisplay(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 109
//LapTimer (LapTimer) package { import flash.display.*; import flash.text.*; public dynamic class LapTimer extends MovieClip { public var currentLap:TextField; public var fastestLap:TextField; public function LapTimer(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 110
//Levels (Levels) package { public class Levels { public function buildLevel4():Array{ var _local1:*; _local1 = new Array({ax:200, ay:1029}, {ax:148, ay:999}, {ax:143, ay:927}, {ax:130, ay:800}, {ax:172, ay:440}, {ax:200, ay:284}, {ax:241, ay:0x0100}, {ax:319, ay:289}, {ax:414, ay:272}, {ax:482, ay:214}, {ax:648, ay:240}, {ax:762, ay:236}, {ax:897, ay:325}, {ax:945, ay:395}, {ax:1220, ay:855}, {ax:1266, ay:972}, {ax:1221, ay:1022}, {ax:728, ay:1026}, {ax:294, ay:1034}); return (_local1); } public function buildLevel4WayPoints():Array{ var _local1:*; _local1 = new Array({pos:1, col:"DDA0F6", ax:150, ay:1025, ax1:110, ay1:990}, {pos:2, col:"8058BD", ax:125, ay:965, ax1:150, ay1:920}, {pos:3, col:"8E7DE5", ax:120, ay:800, ax1:135, ay1:720}, {pos:4, col:"6C7AE1", ax:140, ay:700, ax1:155, ay1:580}, {pos:5, col:"4272D7", ax:175, ay:440, ax1:200, ay1:290}, {pos:6, col:"2489B0", ax:200, ay:270, ax1:230, ay1:240}, {pos:7, col:"B5EA", ax:185, ay:265, ax1:320, ay1:280}, {pos:8, col:"4EC8F8", ax:350, ay:290, ax1:420, ay1:250}, {pos:9, col:"46D9FA", ax:480, ay:210, ax1:560, ay1:200}, {pos:10, col:"C3D2", ax:650, ay:240, ax1:670, ay1:250}, {pos:11, col:"28CACC", ax:720, ay:230, ax1:810, ay1:270}, {pos:23, col:"44C7F4", ax:830, ay:280, ax1:860, ay1:300}, {pos:24, col:"7CD4FD", ax:910, ay:340, ax1:1060, ay1:600}, {pos:25, col:"76E4FF", ax:1100, ay:670, ax1:1220, ay1:860}, {pos:26, col:"47D1DE", ax:0x0500, ay:980, ax1:1250, ay1:1000}, {pos:27, col:"89E2E3", ax:1190, ay:1020, ax1:830, ay1:1020}, {pos:28, col:"88E6C9", ax:670, ay:1020, ax1:370, ay1:1020}); return (_local1); } public function buildLevel3WayPoints():Array{ var _local1:*; _local1 = new Array({pos:1, col:"DDA0F6", ax:150, ay:1025, ax1:110, ay1:990}, {pos:2, col:"8058BD", ax:125, ay:965, ax1:150, ay1:920}, {pos:3, col:"8E7DE5", ax:120, ay:800, ax1:135, ay1:720}, {pos:4, col:"3F72C8", ax:170, ay:760, ax1:230, ay1:790}, {pos:16, col:"83D160", ax:285, ay:785, ax1:320, ay1:820}, {pos:17, col:"E4B2FA", ax:340, ay:820, ax1:480, ay1:840}, {pos:18, col:"9B80CE", ax:660, ay:835, ax1:880, ay1:835}, {pos:19, col:"A599EF", ax:970, ay:810, ax1:990, ay1:760}, {pos:20, col:"8F97EB", ax:940, ay:670, ax1:840, ay1:630}, {pos:21, col:"7292E5", ax:740, ay:540, ax1:850, ay1:490}, {pos:22, col:"68A4C2", ax:760, ay:455, ax1:790, ay1:400}, {pos:23, col:"44C7F4", ax:840, ay:310, ax1:860, ay1:310}, {pos:24, col:"7CD4FD", ax:910, ay:340, ax1:1060, ay1:600}, {pos:25, col:"76E4FF", ax:1100, ay:670, ax1:1220, ay1:860}, {pos:26, col:"47D1DE", ax:0x0500, ay:980, ax1:1250, ay1:1000}, {pos:27, col:"89E2E3", ax:1190, ay:1020, ax1:830, ay1:1020}, {pos:28, col:"88E6C9", ax:670, ay:1020, ax1:370, ay1:1020}); return (_local1); } public function buildLevel2WayPoints():Array{ var _local1:*; _local1 = new Array({pos:16, col:"83D160", ax:310, ay:820, ax1:290, ay1:790}, {pos:15, col:"57B846", ax:280, ay:770, ax1:320, ay1:730}, {pos:14, col:"63C76A", ax:370, ay:720, ax1:590, ay1:740}, {pos:13, col:"B26F", ax:630, ay:740, ax1:630, ay1:700}, {pos:12, col:"62D8B6", ax:610, ay:670, ax1:540, ay1:620}, {pos:11, col:"28CACC", ax:520, ay:600, ax1:500, ay1:580}, {pos:10, col:"C3D2", ax:500, ay:490, ax1:480, ay1:450}, {pos:9, col:"46D9FA", ax:430, ay:430, ax1:410, ay1:380}, {pos:8, col:"4EC8F8", ax:420, ay:360, ax1:580, ay1:340}, {pos:22, col:"68A4C2", ax:600, ay:350, ax1:650, ay1:440}, {pos:21, col:"7292E5", ax:670, ay:470, ax1:730, ay1:540}, {pos:20, col:"8F97EB", ax:760, ay:570, ax1:840, ay1:630}, {pos:19, col:"A599EF", ax:960, ay:680, ax1:990, ay1:740}, {pos:18, col:"9B80CE", ax:960, ay:830, ax1:830, ay1:840}, {pos:17, col:"E4B2FA", ax:630, ay:840, ax1:470, ay1:830}); return (_local1); } public function buildLevel1WayPoints():Array{ var _local1:*; _local1 = new Array({pos:1, col:"DDA0F6", ax:150, ay:1025, ax1:110, ay1:990}, {pos:2, col:"8058BD", ax:125, ay:965, ax1:150, ay1:920}, {pos:3, col:"8E7DE5", ax:120, ay:800, ax1:135, ay1:720}, {pos:4, col:"6C7AE1", ax:140, ay:700, ax1:155, ay1:580}, {pos:5, col:"4272D7", ax:175, ay:440, ax1:200, ay1:290}, {pos:6, col:"2489B0", ax:200, ay:270, ax1:230, ay1:240}, {pos:7, col:"B5EA", ax:185, ay:265, ax1:320, ay1:320}, {pos:8, col:"4EC8F8", ax:330, ay:330, ax1:360, ay1:370}, {pos:9, col:"46D9FA", ax:375, ay:385, ax1:430, ay1:430}, {pos:10, col:"C3D2", ax:455, ay:435, ax1:485, ay1:450}, {pos:11, col:"28CACC", ax:490, ay:500, ax1:500, ay1:565}, {pos:12, col:"62D8B6", ax:530, ay:615, ax1:620, ay1:675}, {pos:13, col:"B26F", ax:640, ay:695, ax1:630, ay1:740}, {pos:14, col:"63C76A", ax:600, ay:745, ax1:380, ay1:715}, {pos:15, col:"57B846", ax:320, ay:715, ax1:300, ay1:740}, {pos:16, col:"83D160", ax:285, ay:785, ax1:320, ay1:820}, {pos:17, col:"E4B2FA", ax:340, ay:820, ax1:480, ay1:840}, {pos:18, col:"9B80CE", ax:660, ay:835, ax1:880, ay1:835}, {pos:19, col:"A599EF", ax:970, ay:810, ax1:990, ay1:760}, {pos:20, col:"8F97EB", ax:940, ay:670, ax1:840, ay1:630}, {pos:21, col:"7292E5", ax:740, ay:540, ax1:850, ay1:490}, {pos:22, col:"68A4C2", ax:760, ay:455, ax1:790, ay1:400}, {pos:23, col:"44C7F4", ax:840, ay:310, ax1:860, ay1:310}, {pos:24, col:"7CD4FD", ax:910, ay:340, ax1:1060, ay1:600}, {pos:25, col:"76E4FF", ax:1100, ay:670, ax1:1220, ay1:860}, {pos:26, col:"47D1DE", ax:0x0500, ay:980, ax1:1250, ay1:1000}, {pos:27, col:"89E2E3", ax:1190, ay:1020, ax1:830, ay1:1020}, {pos:28, col:"88E6C9", ax:670, ay:1020, ax1:370, ay1:1020}); return (_local1); } public function buildLevel1():Array{ var _local1:*; _local1 = new Array({ax:200, ay:1029}, {ax:148, ay:999}, {ax:143, ay:927}, {ax:130, ay:800}, {ax:172, ay:440}, {ax:200, ay:284}, {ax:241, ay:0x0100}, {ax:319, ay:289}, {ax:374, ay:377}, {ax:473, ay:436}, {ax:505, ay:493}, {ax:509, ay:565}, {ax:601, ay:665}, {ax:616, ay:719}, {ax:532, ay:746}, {ax:388, ay:703}, {ax:301, ay:734}, {ax:311, ay:792}, {ax:448, ay:832}, {ax:948, ay:832}, {ax:984, ay:750}, {ax:872, ay:632}, {ax:0x0300, ay:559}, {ax:0x0303, ay:398}, {ax:848, ay:316}, {ax:897, ay:325}, {ax:945, ay:395}, {ax:1220, ay:855}, {ax:1266, ay:972}, {ax:1221, ay:1022}, {ax:728, ay:1026}, {ax:294, ay:1034}); return (_local1); } public function buildLevel2():Array{ var _local1:*; _local1 = new Array({ax:448, ay:832}, {ax:311, ay:792}, {ax:301, ay:734}, {ax:388, ay:703}, {ax:588, ay:752}, {ax:616, ay:719}, {ax:530, ay:622}, {ax:495, ay:575}, {ax:488, ay:488}, {ax:470, ay:430}, {ax:426, ay:430}, {ax:420, ay:390}, {ax:456, ay:362}, {ax:500, ay:340}, {ax:598, ay:360}, {ax:690, ay:482}, {ax:0x0300, ay:559}, {ax:872, ay:632}, {ax:984, ay:750}, {ax:948, ay:832}); return (_local1); } public function buildLevel3():Array{ var _local1:*; _local1 = new Array({ax:200, ay:1029}, {ax:148, ay:999}, {ax:143, ay:927}, {ax:130, ay:800}, {ax:262, ay:794}, {ax:448, ay:832}, {ax:948, ay:832}, {ax:984, ay:750}, {ax:872, ay:632}, {ax:0x0300, ay:559}, {ax:0x0303, ay:398}, {ax:848, ay:316}, {ax:897, ay:325}, {ax:945, ay:395}, {ax:1220, ay:855}, {ax:1266, ay:972}, {ax:1221, ay:1022}, {ax:728, ay:1026}, {ax:294, ay:1034}); return (_local1); } } }//package
Section 111
//List_skin (List_skin) package { import flash.display.*; public dynamic class List_skin extends MovieClip { } }//package
Section 112
//Main (Main) package { import flash.display.*; import flash.events.*; import gs.*; import flash.net.*; import console.trackers.*; import com.memecounter.*; import ka.*; import console.components.*; import console.verification.*; import console.loadurl.*; import console.loaders.*; import console.highscore.*; import console.parsers.*; import console.engines.*; import flash.system.*; public class Main extends MovieClip { private const CAR_HEIGHT = 24; private const BLITMAP_SCALE_RATIO = 0.5; private const CAR_WIDTH = 12; public var _isRaceBegun:Boolean;// = false public var _intTrack:int;// = 1 public var _arrRacePositions:Array; public var _intTime:int;// = 0 public var _lapDisplay:MovieClip; public var _menusMC:MovieClip; public var _quitGame:MovieClip; public var _speedDisplay:MovieClip; public var request:URLRequest; private var _strURL;// = "http://bahrainracer.viral-game.co.uk/data.php" public var _intTimeDiff1:int;// = 0 private var _sendData; private var _swearFilter; public var _highScoreBoard; public var myLoader:Loader; private var _verifyEmail; private var _isOptIn;// = 1 private var _screenRenderClass:ScreenRender; private var _token:String; public var _intLapsAllowed;// = 3 public var _positionDisplay:MovieClip; public var _objCar2:Object; public var _objCar4:Object; public var _objCar5:Object; public var _objCar7:Object; public var _objCar1:Object; public var _objCar3:Object; public var _objCar8:Object; public var _objCar6:Object; private var _intSpeedRatio:Number;// = 0 public var _startLights:MovieClip; private var _blitMapClass; public var _gameSounds:GameSounds; public var _intCarColour:int;// = 1 public var _trackPosition:MovieClip; private var _isInternal:Boolean;// = false private var _intTimeDiff:Number;// = 0 public var _lapTimer:MovieClip; public var progressBar_mc:MovieClip; private var _timeBasedAnimation; public function Main():void{ _isInternal = false; _blitMapClass = new BlitMap(); _timeBasedAnimation = new TimeBasedAnimation(); _intSpeedRatio = 0; _intTimeDiff = 0; _arrRacePositions = new Array(); _strURL = "http://bahrainracer.viral-game.co.uk/data.php"; _highScoreBoard = new CommonHighScore(); _swearFilter = new badLANGUAGE(); _isOptIn = 1; _verifyEmail = new formVERIFY(); _sendData = new SendReceiveData(); _intCarColour = 1; _isRaceBegun = false; _intTrack = 1; _intTime = 0; _intLapsAllowed = 3; _intTimeDiff1 = 0; super(); addFrameScript(0, frame1, 19, frame20); generateToken(); } public function enterComp(_arg1, _arg2, _arg3){ var _local4:Boolean; var _local5:URLVariables; var _local6:*; var _local7:String; var _local8:String; var _local9:String; var _local10:String; var _local11:*; var _local12:*; var _local13:*; _local4 = true; _local5 = new URLVariables(); if (_isInternal){ } else { _menusMC[_arg1].asterix1_mc.gotoAndStop(1); }; _menusMC[_arg1].asterix2_mc.gotoAndStop(1); _menusMC[_arg1].asterix3_mc.gotoAndStop(1); _menusMC[_arg1].asterix4_mc.gotoAndStop(1); if (_isInternal){ _local6 = 1; } else { _local6 = 0; }; if (_isInternal){ _local7 = ""; } else { _local7 = _menusMC[_arg1].playerTitle.value; }; if (_isInternal){ _local8 = ""; } else { _local8 = _menusMC[_arg1].playerFirstName.text; }; _local9 = _menusMC[_arg1].playerSurname.text; _local10 = (_isInternal) ? _local10 = _local9; _local10 : _local10 = ((((_local7 + " ") + _local8) + " ") + _local9); _local10; _local11 = _menusMC[_arg1].playerEmail.text; _local12 = _menusMC[_arg1].playerCountry.value; if ((((_local8 == "")) && (!(_isInternal)))){ _local4 = false; _menusMC[_arg1].asterix1_mc.gotoAndStop(2); }; if (_local9 == ""){ _local4 = false; _menusMC[_arg1].asterix2_mc.gotoAndStop(2); }; if (_local12 == "Select a country"){ _local4 = false; _menusMC[_arg1].asterix4_mc.gotoAndStop(2); }; if (_local4){ _local10 = _swearFilter.Detect(_local10, true, false); //unresolved jump }; if (!_verifyEmail.email(_local11)){ _local4 = false; _menusMC[_arg1].asterix3_mc.gotoAndStop(2); }; if (_local4){ _local13 = Math.ceil((Math.random() * 1000000)); _local5.token = _token; _local5.action = "scores_submit"; _local5.player_name = _local10; _local5.player_email = _local11; _local5.player_track = _arg3; _local5.player_country = _local12; _local5.player_employee = _local6; _local5.player_score = _arg2; _local5.player_optin = _isOptIn; _sendData.sendData(_strURL, _local5); _sendData.addEventListener(SendReceiveData.DATA_LOADED, compContinue); _menusMC[_arg1].gotoAndStop(5); Tracker.kvEvent(1920); } else { _menusMC[_arg1].err.text = "Please fill all fields correctly"; }; } private function beginStartSequence():void{ TweenMax.to(_startLights, 0.5, {y:0}); TweenMax.to(_startLights, 1.5, {onComplete:gotoLightFrame, onCompleteParams:[2]}); TweenMax.to(_startLights, 2, {onComplete:gotoLightFrame, onCompleteParams:[3]}); TweenMax.to(_startLights, 2.5, {onComplete:gotoLightFrame, onCompleteParams:[4]}); TweenMax.to(_startLights, 3, {onComplete:gotoLightFrame, onCompleteParams:[5]}); TweenMax.to(_startLights, 3.5, {onComplete:gotoLightFrame, onCompleteParams:[6]}); TweenMax.to(_startLights, 4, {onComplete:gotoLightFrame, onCompleteParams:[7]}); } public function buttonPress(_arg1:MouseEvent){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; _gameSounds.playSound("sfx_menuClick", "_sfxMenuChannel"); _local2 = _arg1.target.name; switch (_local2){ case "playGame_btn": Tracker.kvEvent(1914); trace("PLAY GAME"); hideAllMenus(); TweenMax.to(_menusMC.selectCircuit_mc, 0.3, {delay:0.3, x:292}); TweenMax.to(_menusMC.background2_mc, 0.3, {alpha:1}); break; case "enterComp_btn": hideAllMenus(); TweenMax.to(_menusMC.enterComp_mc, 0.3, {delay:0.3, x:261}); TweenMax.to(_menusMC.background3_mc, 0.3, {alpha:1}); _menusMC.enterComp_mc.gotoAndStop(1); break; case "howToPlay_btn": Tracker.kvEvent(1922); hideAllMenus(); TweenMax.to(_menusMC.howToPlay_mc, 0.3, {delay:0.3, x:261}); TweenMax.to(_menusMC.background5_mc, 0.3, {alpha:1}); break; case "continueSubmitScores_btn": hideAllMenus(); TweenMax.to(_menusMC.submitScore_mc, 0.3, {delay:0.3, x:261}); TweenMax.to(_menusMC.background2_mc, 0.3, {alpha:1}); break; case "tellAFriend_btn": hideAllMenus(); TweenMax.to(_menusMC.sendToFriend_mc, 0.3, {delay:0.3, x:254}); TweenMax.to(_menusMC.background4_mc, 0.3, {alpha:1}); _menusMC.sendToFriend_mc.asterix1_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix2_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix3_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix4_mc.gotoAndStop(1); break; case "highScores_btn": Tracker.kvEvent(1924); hideAllMenus(); TweenMax.to(_menusMC.highScores_mc, 0.3, {delay:0.3, x:252}); TweenMax.to(_menusMC.background5_mc, 0.3, {alpha:1}); chooseHighScoreBoard(1); break; case "circuit1_btn": case "circuit2_btn": case "circuit3_btn": case "circuit4_btn": case "chooseColour_btn": hideAllMenus(); _gameSounds.playSound("sfx_pitAmbience", "_sfxChannel", 0, true); TweenMax.to(_menusMC.chooseColour_mc, 0.3, {delay:0.3, x:0x0100}); TweenMax.to(_menusMC.background4_mc, 0.3, {alpha:1}); break; case "col1_btn": case "col2_btn": case "col3_btn": case "col4_btn": case "col5_btn": case "col6_btn": case "col7_btn": case "col8_btn": case "race_btn": beginGame(); break; case "highScore1_btn": chooseHighScoreBoard(1); break; case "highScore2_btn": chooseHighScoreBoard(2); break; case "highScore3_btn": chooseHighScoreBoard(3); break; case "highScore4_btn": chooseHighScoreBoard(4); break; case "tickBox_mc": optinCheckbox(); break; case "sendInvite_btn": submitInvite(); break; case "submitEntry_mc": (_menusMC.enterComp_mc.err.text == ""); enterComp("enterComp_mc", 0, 0); break; case "submitScore_mc": (_menusMC.submitScore_mc.err.text == ""); enterComp("submitScore_mc", _intTime, _intTrack); break; case "mainMenuBack_btn": hideAllMenus(true); TweenMax.to(_menusMC.mainMenu_mc, 0.3, {delay:0.3, x:217}); TweenMax.to(_menusMC.background1_mc, 0.3, {alpha:1}); break; case "gulfAirLink_btn": _local3 = (_strURL + "?action=track_link_client1"); OpenURL.loadURL(_local3); Tracker.kvClick(944); break; case "visitBICLink_btn": _local4 = (_strURL + "?action=track_link_client2"); OpenURL.loadURL(_local4); Tracker.kvClick(943); break; case "kokoLogo_btn": _local5 = (_strURL + "?action=track_link_koko"); OpenURL.loadURL(_local5); Tracker.kvClick(945); break; case "terms_btn": _local6 = (_strURL + "?action=terms"); OpenURL.loadURL(_local6); Tracker.kvClick(946); break; case "quitGame_btn": Tracker.kvEvent(1923); trace("QUIT"); removeStats(); removeCars(); _menusMC.visible = true; hideAllMenus(true); TweenMax.to(_menusMC.mainMenu_mc, 0.3, {delay:0.3, x:217}); TweenMax.to(_menusMC.background1_mc, 0.3, {alpha:1}); break; }; if ((_arg1.target.constructor == "[class SimpleButton]")){ stage.focus = stage; //unresolved jump }; } private function beginGame():void{ var _local1:*; var _local2:*; var _local3:*; _menusMC.visible = false; hideAllMenus(); _isRaceBegun = false; _gameSounds.stopSound("_sfxChannel"); _gameSounds.stopSound("_musicChannel"); _gameSounds.stopSound("_sfxAmbChannel"); _gameSounds.playSound("inGameMusic", "_musicChannel", 0, true); _local1 = new Object(); _local1.numberOfBlits = 8; _local1.x = 15; _local1.y = 245; _local1.width = (CAR_WIDTH * BLITMAP_SCALE_RATIO); _local1.height = (CAR_HEIGHT * BLITMAP_SCALE_RATIO); _blitMapClass._objSpriteBlip = _local1; switch (_intTrack){ case 1: Tracker.kvEvent(1915); _blitMapClass.buildBackgroundBlitMap(blit1, false, this); break; case 2: Tracker.kvEvent(1916); _blitMapClass.buildBackgroundBlitMap(blit2, false, this); break; case 3: Tracker.kvEvent(1917); _blitMapClass.buildBackgroundBlitMap(blit3, false, this); break; case 4: Tracker.kvEvent(1918); _blitMapClass.buildBackgroundBlitMap(blit4, false, this); break; }; _arrRacePositions = new Array(); _screenRenderClass = new ScreenRender(stage, _intCarColour, _intTrack); buildOnScreenDisplays(); _timeBasedAnimation.startTimer(); _local2 = 1030; _local3 = 1010; if ((_intTrack == 2)){ _local2 = 840; //unresolved jump }; if ((_intTrack == 2)){ _local3 = 820; //unresolved jump }; _objCar1 = new Car(1, 525, _local2, 90, 12, 17, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit1", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar2 = new Car(2, 550, _local3, 90, 12, 17, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit2", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar3 = new Car(3, 575, _local2, 90, 12, 17, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit3", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar4 = new Car(4, 600, _local3, 90, 11, 17, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit4", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar5 = new Car(5, 625, _local2, 90, 11, 15, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit5", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar6 = new Car(6, 650, _local3, 90, 10, 13, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit6", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar7 = new Car(7, 675, _local2, 90, 10, 11, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, false, "blit7", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _objCar8 = new Car(8, 500, _local3, 90, 12, 17, 0.18, 8, 0.9, BLITMAP_SCALE_RATIO, 0.98, CAR_WIDTH, CAR_HEIGHT, true, "blit8", this, BlitMap._carBlits_spr, _intTrack, _screenRenderClass); _gameSounds.playSound("sfx_crowdAmbience", "_sfxAmbChannel", 0, true); beginStartSequence(); } public function getToken(_arg1:Event):void{ _token = _arg1.target._token; } public function getHighscores(_arg1):void{ var _local2:*; _local2 = 1; while (_local2 <= 10) { _menusMC.highScores_mc[(("hs" + _local2) + "_mc")].playerName.text = "LOADING"; _menusMC.highScores_mc[(("hs" + _local2) + "_mc")].playerScore.text = "--:--:---"; _local2++; }; trace("LOAD HIGH SCORS"); _highScoreBoard.addEventListener(CommonHighScore.SCORES_LOADED, displayScores); _highScoreBoard.showScores((_strURL + _arg1)); } function frame1(){ MochiBot.track(this, "9a7395f4"); Tracker.init(564, root); request = new URLRequest("http://www.viralchart.com/tracker.php?media=884&f=F"); request.method = URLRequestMethod.GET; sendToURL(request); myLoader = new Loader(); myLoader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showLoadResult); addEventListener(Event.ENTER_FRAME, preloader); Security.loadPolicyFile("http://www.viral-game.co.uk/crossdomain.xml"); Security.loadPolicyFile("http://bahrainracer.viral-game.co.uk/crossdomain.xml"); Security.allowDomain("*"); stop(); } public function preloader(_arg1:Event):void{ var _local2:*; var _local3:*; var _local4:int; _local2 = stage.loaderInfo.bytesTotal; _local3 = stage.loaderInfo.bytesLoaded; _local4 = (_local3 * (100 / _local2)); trace(("PRELOAD " + _local4)); progressBar_mc.mask_mc.scaleX = (_local4 / 100); if (_local4 >= 99){ removeEventListener(Event.ENTER_FRAME, preloader); gotoAndPlay(2); }; } public function removeStats(){ stage.removeChild(_trackPosition); stage.removeChild(_positionDisplay); stage.removeChild(_lapDisplay); stage.removeChild(_lapTimer); stage.removeChild(_speedDisplay); stage.removeChild(_startLights); removeChild(_quitGame); } function frame20(){ init(); stop(); } private function chooseHighScoreBoard(_arg1):void{ var _local2:String; _menusMC.highScores_mc.highScoresTitle_mc.gotoAndStop(_arg1); if (_isInternal){ _local2 = "scores_daily_employee_xml"; } else { _local2 = "scores_daily_xml"; }; switch (_arg1){ case 1: getHighscores((("?action=" + _local2) + "&player_track=1")); break; case 2: getHighscores((("?action=" + _local2) + "&player_track=2")); break; case 3: getHighscores((("?action=" + _local2) + "&player_track=3")); break; case 4: getHighscores((("?action=" + _local2) + "&player_track=4")); break; }; } private function chooseColour(_arg1):void{ _menusMC.chooseColour_mc.selectCar_mc.gotoAndStop(_arg1); _intCarColour = _arg1; } private function buildOnScreenDisplays():void{ _trackPosition = new TrackPosition(); _positionDisplay = new PositionDisplay(); _lapDisplay = new LapDisplay(); _lapTimer = new LapTimer(); _speedDisplay = new SpeedDisplay(); _startLights = new startLights(); _quitGame = new quitGame(); stage.addChild(_trackPosition); _trackPosition.x = 420; _trackPosition.y = 50; stage.addChild(_positionDisplay); _positionDisplay.x = 420; _positionDisplay.y = 10; stage.addChild(_lapDisplay); _lapDisplay.x = 0; _lapDisplay.y = 10; _lapDisplay.lapCounter_mc.totalLaps.text = _intLapsAllowed; stage.addChild(_lapTimer); _lapTimer.x = 0; _lapTimer.y = 50; stage.addChild(_speedDisplay); _speedDisplay.x = 420; _speedDisplay.y = 340; addChild(_quitGame); _quitGame.x = 0; _quitGame.y = 340; stage.addChild(_startLights); _startLights.x = 0xFF; _startLights.y = -200; } public function compContinue(_arg1:Event){ _menusMC.submitScore_mc.gotoAndStop(10); _menusMC.enterComp_mc.gotoAndStop(10); } private function init(_arg1:Event=null):void{ _gameSounds = new GameSounds(); _gameSounds.playSound("menu_music", "_musicChannel", 0, true); removeEventListener(Event.ADDED_TO_STAGE, init); trace("INIT"); _menusMC = new Menus(); addChild(_menusMC); _menusMC.addEventListener(Event.ADDED, buildMenus); } public function optinCheckbox():void{ if (_isOptIn == 1){ _menusMC.submitScore_mc.tickBox_mc.gotoAndStop(2); _menusMC.enterComp_mc.tickBox_mc.gotoAndStop(2); _menusMC.sendToFriend_mc.tickBox_mc.gotoAndStop(2); _isOptIn = 0; } else { _isOptIn = 1; _menusMC.submitScore_mc.tickBox_mc.gotoAndStop(1); _menusMC.enterComp_mc.tickBox_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.tickBox_mc.gotoAndStop(1); }; } public function buildMenus(_arg1:Event):void{ var _local2:*; var _local3:*; addEventListener(MouseEvent.MOUSE_DOWN, buttonPress); addEventListener(MouseEvent.MOUSE_OVER, buttonOver); _menusMC.removeEventListener(Event.ADDED, buildMenus); _local2 = new CountryDropdown(_menusMC.enterComp_mc.playerCountry); _local3 = new CountryDropdown(_menusMC.submitScore_mc.playerCountry); _menusMC.mainMenu_mc.x = 820; _menusMC.highScores_mc.x = 820; _menusMC.raceOver_mc.x = 820; _menusMC.sendToFriend_mc.x = 820; _menusMC.enterComp_mc.x = 820; _menusMC.submitScore_mc.x = 820; _menusMC.selectCircuit_mc.x = 820; _menusMC.chooseColour_mc.x = 820; _menusMC.howToPlay_mc.x = 820; _menusMC.background1_mc.alpha = 0; _menusMC.background2_mc.alpha = 0; _menusMC.background3_mc.alpha = 0; _menusMC.background4_mc.alpha = 0; _menusMC.background5_mc.alpha = 0; _menusMC.background6_mc.alpha = 0; _menusMC.topMenu_mc.mouseChildren = false; _menusMC.topMenu_mc.mouseEnabled = false; if (_isInternal){ } else { _menusMC.submitScore_mc.tickBox_mc.buttonMode = true; }; if (_isInternal){ } else { _menusMC.enterComp_mc.tickBox_mc.buttonMode = true; }; _menusMC.sendToFriend_mc.tickBox_mc.buttonMode = true; TweenMax.to(_menusMC.mainMenu_mc, 0.3, {delay:0.5, x:217}); TweenMax.to(_menusMC.background1_mc, 0.3, {delay:0.5, alpha:1}); trace("ADDED"); } public function buttonOver(_arg1:MouseEvent){ if ((_arg1.target.constructor == "[class SimpleButton]")){ _gameSounds.playSound("sfx_menuRollover", "_sfxMenuChannel"); //unresolved jump }; switch (_arg1.target.name){ case "circuit1_btn": _intLapsAllowed = 3; chooseCircuit(1); break; case "circuit2_btn": _intLapsAllowed = 5; chooseCircuit(2); break; case "circuit3_btn": _intLapsAllowed = 4; chooseCircuit(3); break; case "circuit4_btn": _intLapsAllowed = 3; chooseCircuit(4); break; case "col1_btn": chooseColour(1); break; case "col2_btn": chooseColour(2); break; case "col3_btn": chooseColour(3); break; case "col4_btn": chooseColour(4); break; case "col5_btn": chooseColour(5); break; case "col6_btn": chooseColour(6); break; case "col7_btn": chooseColour(7); break; case "col8_btn": chooseColour(8); break; }; } public function hideAllMenus(_arg1:Boolean=false){ if (((!(_arg1)) && ((((_menusMC.menuButtons_mc.additionalMenus_mc.currentFrame == 1)) || ((_menusMC.menuButtons_mc.additionalMenus_mc.currentFrame > 15)))))){ _menusMC.menuButtons_mc.additionalMenus_mc.gotoAndPlay(2); }; if (_arg1){ _menusMC.menuButtons_mc.additionalMenus_mc.gotoAndPlay(16); //unresolved jump }; TweenMax.to(_menusMC.mainMenu_mc, 0.3, {x:820}); TweenMax.to(_menusMC.highScores_mc, 0.3, {x:820}); TweenMax.to(_menusMC.sendToFriend_mc, 0.3, {x:820}); TweenMax.to(_menusMC.enterComp_mc, 0.3, {x:820}); TweenMax.to(_menusMC.submitScore_mc, 0.3, {x:820}); TweenMax.to(_menusMC.selectCircuit_mc, 0.3, {x:820}); TweenMax.to(_menusMC.chooseColour_mc, 0.3, {x:820}); TweenMax.to(_menusMC.raceOver_mc, 0.3, {x:820}); TweenMax.to(_menusMC.howToPlay_mc, 0.3, {x:820}); TweenMax.to(_menusMC.background1_mc, 0.3, {alpha:0}); TweenMax.to(_menusMC.background2_mc, 0.3, {alpha:0}); TweenMax.to(_menusMC.background3_mc, 0.3, {alpha:0}); TweenMax.to(_menusMC.background4_mc, 0.3, {alpha:0}); TweenMax.to(_menusMC.background5_mc, 0.3, {alpha:0}); TweenMax.to(_menusMC.background6_mc, 0.3, {alpha:0}); } public function submitInvite():void{ var _local1:URLVariables; var _local2:Boolean; var _local3:String; var _local4:*; var _local5:*; var _local6:*; trace("SEND TO FRIEND BUTTON"); _local1 = new URLVariables(); _local2 = true; _menusMC.sendToFriend_mc.asterix1_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix2_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix3_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.asterix4_mc.gotoAndStop(1); _menusMC.sendToFriend_mc.err.text = ""; _local3 = _menusMC.sendToFriend_mc.yourName.text; _local4 = _menusMC.sendToFriend_mc.yourEmail.text; _local5 = _menusMC.sendToFriend_mc.friendsName.text; _local6 = _menusMC.sendToFriend_mc.friendsEmail.text; if (_local3 == ""){ _local2 = false; _menusMC.sendToFriend_mc.asterix1_mc.gotoAndStop(2); } else { _local3 = _swearFilter.Detect(_local3, true, false); }; if (_local5 == ""){ _local2 = false; _menusMC.sendToFriend_mc.asterix3_mc.gotoAndStop(2); } else { _local5 = _swearFilter.Detect(_local5, true, false); }; if (!_verifyEmail.email(_local4)){ _local2 = false; _menusMC.sendToFriend_mc.asterix2_mc.gotoAndStop(2); }; if (!_verifyEmail.email(_local6)){ _local2 = false; _menusMC.sendToFriend_mc.asterix4_mc.gotoAndStop(2); }; if (_local2){ _local1.token = _token; _local1.action = "send_invite"; _local1.player_name = _local3; _local1.player_email = _local4; _local1.player_optin = _isOptIn; _local1.friend_name = _local5; _local1.friend_email_array = _local6; _sendData.sendData(_strURL, _local1); _menusMC.sendToFriend_mc.friendsName.text = ""; _menusMC.sendToFriend_mc.friendsEmail.text = ""; _menusMC.sendToFriend_mc.err.text = "Please challenge more friends!"; _menusMC.sendToFriend_mc.gotoAndPlay(2); Tracker.kvEvent(1919); } else { _menusMC.sendToFriend_mc.err.text = "ERROR - Please fill in the fields correctly"; }; } public function displayScores(_arg1:Event):void{ var _local2:Array; var _local3:*; var _local4:String; var _local5:*; var _local6:int; var _local7:*; _local2 = _highScoreBoard._highScores; trace("LOAD COMPLETE"); _local3 = 0; while (_local3 < _local2.length) { if (_local3 < 10){ trace(("I = " + _local2[_local3][2])); _local4 = _local2[_local3][2]; _local5 = _local4.slice(0, 16); _menusMC.highScores_mc[(("hs" + (_local3 + 1)) + "_mc")].playerName.text = _local5; _local6 = _local2[_local3][3]; _local7 = Clock.returnPreFormattedTimeFromNumber(_local6, "FULL MILLISECONDS"); _menusMC.highScores_mc[(("hs" + (_local3 + 1)) + "_mc")].playerScore.text = _local7; }; _local3++; }; } public function showLoadResult(_arg1:Event){ } public function generateToken(){ var _local1:*; _local1 = new ParseTOKEN(_strURL); _local1.addEventListener(ParseTOKEN.TOKEN_GENERATED, getToken); } private function gotoLightFrame(_arg1){ if ((_arg1 < 7)){ _gameSounds.playSound("sfx_raceStart1"); //unresolved jump }; _startLights.gotoAndStop(_arg1); if ((_arg1 == 7)){ TweenMax.to(_startLights, 0.75, {y:-200}); //unresolved jump }; if ((_arg1 == 7)){ _isRaceBegun = true; //unresolved jump }; if ((_arg1 == 7)){ _gameSounds.playSound("sfx_raceStart2"); //unresolved jump }; stage.focus = stage; } public function removeCars():void{ _objCar1.destroy(); _objCar2.destroy(); _objCar3.destroy(); _objCar4.destroy(); _objCar5.destroy(); _objCar6.destroy(); _objCar7.destroy(); _objCar8.destroy(); _objCar1 = null; _objCar2 = null; _objCar3 = null; _objCar4 = null; _objCar5 = null; _objCar6 = null; _objCar7 = null; _objCar8 = null; _screenRenderClass.destroy(stage); _gameSounds.stopSound("_musicChannel"); _gameSounds.stopSound("_sfxCarChannel"); _gameSounds.stopSound("_sfxAmbChannel"); _gameSounds.playSound("menu_music", "_musicChannel", 0, true); } private function chooseCircuit(_arg1):void{ _menusMC.selectCircuit_mc.circuit_mc.gotoAndStop(_arg1); _menusMC.selectCircuit_mc.circuitShadow_mc.gotoAndStop(_arg1); _intTrack = _arg1; } public function showPreloader(_arg1:Event){ stop(); } } }//package
Section 113
//MapLower (MapLower) package { import flash.display.*; public dynamic class MapLower extends BitmapData { public function MapLower(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 114
//MapUpper (MapUpper) package { import flash.display.*; public dynamic class MapUpper extends BitmapData { public function MapUpper(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 115
//menu_music (menu_music) package { import flash.media.*; public dynamic class menu_music extends Sound { } }//package
Section 116
//Menus (Menus) package { import flash.display.*; public dynamic class Menus extends MovieClip { public var background5_mc:MovieClip; public var howToPlay_mc:MovieClip; public var sendToFriend_mc:MovieClip; public var background3_mc:MovieClip; public var background6_mc:MovieClip; public var topMenu_mc:MovieClip; public var visitBICLink_btn:SimpleButton; public var mainMenu_mc:MovieClip; public var chooseColour_mc:MovieClip; public var background1_mc:MovieClip; public var background4_mc:MovieClip; public var submitScore_mc:MovieClip; public var enterComp_mc:MovieClip; public var selectCircuit_mc:MovieClip; public var menuButtons_mc:MovieClip; public var raceOver_mc:raceOverText; public var background2_mc:MovieClip; public var highScores_mc:MovieClip; } }//package
Section 117
//PositionDisplay (PositionDisplay) package { import flash.display.*; public dynamic class PositionDisplay extends MovieClip { public var pos_mc:MovieClip; public function PositionDisplay(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 118
//quitGame (quitGame) package { import flash.display.*; public dynamic class quitGame extends MovieClip { public var quitGame_btn:SimpleButton; public function quitGame(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 119
//raceOverText (raceOverText) package { import flash.display.*; public dynamic class raceOverText extends MovieClip { } }//package
Section 120
//ScreenRender (ScreenRender) package { import flash.display.*; import flash.geom.*; import fl.motion.*; public class ScreenRender { public var _car8_mc:MovieClip; public var _car4_mc:MovieClip; private var _bmpLowerData:BitmapData; private var _bmpGameBackground:Bitmap; private var _bmpLowerLowerData:BitmapData; public var _car7_mc:MovieClip; public var _car3_mc:MovieClip; private var _bmpSkidMarksData:BitmapData; private var _bmpCarLayer:BitmapData; private var _bmpUpperData:BitmapData; private var _bmpCarLayer1:BitmapData; private var _bmpCarLayer2:BitmapData; private var _bmpCarLayer3:BitmapData; private var _bmpCarLayer4:BitmapData; private var _bmpCarLayer5:BitmapData; private var _bmpCarLayer6:BitmapData; private var _bmpCarLayer7:BitmapData; private var _bmpCarLayer8:BitmapData; public var _car2_mc:MovieClip; public var _car6_mc:MovieClip; public var _bitMapContainer_mc:MovieClip; private var _bmpGameBackgroundData:BitmapData; public var _car1_mc:MovieClip; private var _bmpGroundBackground:BitmapData; public var _car5_mc:MovieClip; public static var _intTotalCars = 0; public static var _intX:Number = 0; public static var _intY:Number = 0; public function ScreenRender(_arg1, _arg2, _arg3){ var _local4:BitmapData; var _local5:*; _bitMapContainer_mc = new MovieClip(); super(); createBitmapData(); _bmpLowerData = new MapLower(0, 0); _bmpUpperData = new MapUpper(0, 0); switch (_arg3){ case 1: _local4 = new tyres1(0, 0); break; case 2: _local4 = new tyres2(0, 0); break; case 3: _local4 = new tyres3(0, 0); break; case 4: _local4 = new tyres4(0, 0); break; }; _bmpLowerData.draw(_local4); _bitMapContainer_mc.addChild(_bmpGameBackground); _arg1.addChildAt(_bitMapContainer_mc, 0); _local5 = 1; while (_local5 <= 8) { this[(("_car" + _local5) + "_mc")] = null; this[(("_car" + _local5) + "_mc")] = new CarMovieClip(); this[(("_car" + _local5) + "_mc")].car_mc.gotoAndStop((_arg2 + _local5)); _local5++; }; } public function disposeBitmaps():void{ _bmpLowerData.dispose(); _bmpUpperData.dispose(); _bmpGroundBackground.dispose(); _bmpGameBackgroundData.dispose(); _bmpLowerLowerData.dispose(); _bmpSkidMarksData.dispose(); _bmpCarLayer.dispose(); _bmpCarLayer1.dispose(); _bmpCarLayer2.dispose(); _bmpCarLayer3.dispose(); _bmpCarLayer4.dispose(); _bmpCarLayer5.dispose(); _bmpCarLayer6.dispose(); _bmpCarLayer7.dispose(); _bmpCarLayer8.dispose(); } public function createBitmapData():void{ _bmpGroundBackground = new BitmapData(510, 390, false, 0); _bmpGameBackgroundData = new BitmapData(510, 390, false, 0); _bmpGameBackground = new Bitmap(_bmpGameBackgroundData); _bmpLowerLowerData = new BitmapData(510, 390, false, 0); _bmpSkidMarksData = new SkidMarks(0, 0); _bmpCarLayer = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer1 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer2 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer3 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer4 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer5 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer6 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer7 = new BitmapData(510, 390, true, 0xFFFFFF); _bmpCarLayer8 = new BitmapData(510, 390, true, 0xFFFFFF); } public function drawGameBitmap(_arg1, _arg2){ var _local3:Rectangle; var _local4:Rectangle; var _local5:Point; _local3 = new Rectangle((_arg1 - 265), (_arg2 - 205), 510, 390); _local4 = new Rectangle(0, 0, 510, 390); _local5 = new Point(0, 0); _bmpGameBackgroundData.draw(_bmpLowerLowerData); _bmpGameBackgroundData.copyPixels(_bmpGroundBackground, _local4, _local5); _bmpGameBackgroundData.copyPixels(_bmpLowerData, _local3, _local5); _bmpGameBackgroundData.draw(_bmpCarLayer1); _bmpGameBackgroundData.draw(_bmpCarLayer); _bmpGameBackgroundData.copyPixels(_bmpUpperData, _local3, _local5); _bmpGameBackgroundData.unlock(); } public function drawPlayersCar(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:*; var _local5:*; _local4 = new Matrix(); _local4.translate(0xFF, 195); _local5 = MatrixTransformer.rotateAroundInternalPoint(_local4, 10, 15, _arg3); _bmpCarLayer.draw(_car8_mc, _local4, null, null, null, true); _bmpCarLayer.unlock(); drawGameBitmap(_intX, _intY); _intTotalCars = 0; } public function drawSkidMarks(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:*; var _local5:*; _local4 = new Matrix(); _local4.translate(_arg1, (_arg2 - 10)); _local5 = MatrixTransformer.rotateAroundInternalPoint(_local4, 10, 15, _arg3); _bmpLowerData.draw(_bmpSkidMarksData, _local4, null, null, null, true); } public function drawComputerCar(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){ var _local7:*; var _local8:*; var _local9:*; _local7 = this[(("_car" + _arg6) + "_mc")]; _local8 = new Matrix(); _local8.translate(((_arg1 - _arg4) + 0xFF), ((_arg2 - _arg5) + 195)); _local9 = MatrixTransformer.rotateAroundInternalPoint(_local8, 10, 15, _arg3); if (_arg6 == 1){ _bmpCarLayer = new BitmapData(550, 400, true, 1048575); _bmpGameBackgroundData.lock(); _bmpCarLayer.lock(); }; _bmpCarLayer.draw(_local7, _local8, null, null, null, true); } public function setXY(_arg1, _arg2){ _intX = _arg1; _intY = _arg2; } public function destroy(_arg1):void{ disposeBitmaps(); _arg1.removeChild(_bitMapContainer_mc); } } }//package
Section 121
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 122
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 123
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 124
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 125
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 126
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 127
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 128
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 129
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 130
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 131
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 132
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 133
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 134
//sfx_crash1 (sfx_crash1) package { import flash.media.*; public dynamic class sfx_crash1 extends Sound { } }//package
Section 135
//sfx_crash2 (sfx_crash2) package { import flash.media.*; public dynamic class sfx_crash2 extends Sound { } }//package
Section 136
//sfx_crash3 (sfx_crash3) package { import flash.media.*; public dynamic class sfx_crash3 extends Sound { } }//package
Section 137
//sfx_crash4 (sfx_crash4) package { import flash.media.*; public dynamic class sfx_crash4 extends Sound { } }//package
Section 138
//sfx_crash5 (sfx_crash5) package { import flash.media.*; public dynamic class sfx_crash5 extends Sound { } }//package
Section 139
//sfx_crash6 (sfx_crash6) package { import flash.media.*; public dynamic class sfx_crash6 extends Sound { } }//package
Section 140
//sfx_crowdAmbience (sfx_crowdAmbience) package { import flash.media.*; public dynamic class sfx_crowdAmbience extends Sound { } }//package
Section 141
//sfx_engineSFX1 (sfx_engineSFX1) package { import flash.media.*; public dynamic class sfx_engineSFX1 extends Sound { } }//package
Section 142
//sfx_engineSFX2 (sfx_engineSFX2) package { import flash.media.*; public dynamic class sfx_engineSFX2 extends Sound { } }//package
Section 143
//sfx_engineSFX3 (sfx_engineSFX3) package { import flash.media.*; public dynamic class sfx_engineSFX3 extends Sound { } }//package
Section 144
//sfx_engineSFX4 (sfx_engineSFX4) package { import flash.media.*; public dynamic class sfx_engineSFX4 extends Sound { } }//package
Section 145
//sfx_engineSFX5 (sfx_engineSFX5) package { import flash.media.*; public dynamic class sfx_engineSFX5 extends Sound { } }//package
Section 146
//sfx_engineSFX6 (sfx_engineSFX6) package { import flash.media.*; public dynamic class sfx_engineSFX6 extends Sound { } }//package
Section 147
//sfx_engineSFX7 (sfx_engineSFX7) package { import flash.media.*; public dynamic class sfx_engineSFX7 extends Sound { } }//package
Section 148
//sfx_fastestLap (sfx_fastestLap) package { import flash.media.*; public dynamic class sfx_fastestLap extends Sound { } }//package
Section 149
//sfx_lapComplete (sfx_lapComplete) package { import flash.media.*; public dynamic class sfx_lapComplete extends Sound { } }//package
Section 150
//sfx_menuClick (sfx_menuClick) package { import flash.media.*; public dynamic class sfx_menuClick extends Sound { } }//package
Section 151
//sfx_menuRollover (sfx_menuRollover) package { import flash.media.*; public dynamic class sfx_menuRollover extends Sound { } }//package
Section 152
//sfx_pitAmbience (sfx_pitAmbience) package { import flash.media.*; public dynamic class sfx_pitAmbience extends Sound { } }//package
Section 153
//sfx_raceFinish (sfx_raceFinish) package { import flash.media.*; public dynamic class sfx_raceFinish extends Sound { } }//package
Section 154
//sfx_raceStart1 (sfx_raceStart1) package { import flash.media.*; public dynamic class sfx_raceStart1 extends Sound { } }//package
Section 155
//sfx_raceStart2 (sfx_raceStart2) package { import flash.media.*; public dynamic class sfx_raceStart2 extends Sound { } }//package
Section 156
//sfx_sandDrive (sfx_sandDrive) package { import flash.media.*; public dynamic class sfx_sandDrive extends Sound { } }//package
Section 157
//sfx_skid1 (sfx_skid1) package { import flash.media.*; public dynamic class sfx_skid1 extends Sound { } }//package
Section 158
//sfx_skid2 (sfx_skid2) package { import flash.media.*; public dynamic class sfx_skid2 extends Sound { } }//package
Section 159
//SkidMarks (SkidMarks) package { import flash.display.*; public dynamic class SkidMarks extends BitmapData { public function SkidMarks(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 160
//SpeedDisplay (SpeedDisplay) package { import flash.display.*; public dynamic class SpeedDisplay extends MovieClip { public var speedBars_mc:MovieClip; public function SpeedDisplay(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 161
//startLights (startLights) package { import flash.display.*; public dynamic class startLights extends MovieClip { public function startLights(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 162
//TextInput_disabledSkin (TextInput_disabledSkin) package { import flash.display.*; public dynamic class TextInput_disabledSkin extends MovieClip { } }//package
Section 163
//TextInput_upSkin (TextInput_upSkin) package { import flash.display.*; public dynamic class TextInput_upSkin extends MovieClip { } }//package
Section 164
//TrackPosition (TrackPosition) package { import flash.display.*; public dynamic class TrackPosition extends MovieClip { public var car6_mc:MovieClip; public var car1_mc:MovieClip; public var car4_mc:MovieClip; public var car7_mc:MovieClip; public var car2_mc:MovieClip; public var car5_mc:MovieClip; public var car8_mc:MovieClip; public var car3_mc:MovieClip; public function TrackPosition(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 165
//tyres1 (tyres1) package { import flash.display.*; public dynamic class tyres1 extends BitmapData { public function tyres1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 166
//tyres2 (tyres2) package { import flash.display.*; public dynamic class tyres2 extends BitmapData { public function tyres2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 167
//tyres3 (tyres3) package { import flash.display.*; public dynamic class tyres3 extends BitmapData { public function tyres3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 168
//tyres4 (tyres4) package { import flash.display.*; public dynamic class tyres4 extends BitmapData { public function tyres4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package

Library Items

Symbol 1 Sound {sfx_crowdAmbience}Used by:516
Symbol 2 GraphicUsed by:8 449
Symbol 3 FontUsed by:4 5 20 98 102 103 105 107 109 110 112 113 115 116 118 119 122 123 125 126 131 132 133 134 136 137 138 139 140 141 142 143 144 145 146 147 151 156 158 160 164 165 169 170 172 173 175 176 180 204 205 211 212 214 215 217 222 224 229 296 298 299 308 309 314 316 317 318 319 320 321 322 323 326 327 329 335 336 340 341 343 344 346 362 365 386 390 394 398 402 405 406 413 417 420 428 433 446 447 451 452 453 454
Symbol 4 TextUses:3Used by:7
Symbol 5 TextUses:3Used by:7
Symbol 6 GraphicUsed by:7 306 325 431
Symbol 7 ButtonUses:4 5 6Used by:8
Symbol 8 MovieClip {quitGame}Uses:2 7
Symbol 9 Bitmap {SkidMarks}Used by:516
Symbol 10 FontUsed by:11 186 192 218 304 305 307
Symbol 11 TextUses:10Used by:Timeline
Symbol 12 GraphicUsed by:18
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClipUses:13Used by:18
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClipUses:15Used by:18
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip {bahrainracer_fla.progressBar1_1}Uses:12 14 16 17Used by:Timeline
Symbol 19 GraphicUsed by:36 445
Symbol 20 TextUses:3Used by:36
Symbol 21 GraphicUsed by:36
Symbol 22 GraphicUsed by:35
Symbol 23 GraphicUsed by:35 300
Symbol 24 GraphicUsed by:35
Symbol 25 GraphicUsed by:35
Symbol 26 GraphicUsed by:35
Symbol 27 GraphicUsed by:35
Symbol 28 GraphicUsed by:35
Symbol 29 GraphicUsed by:35
Symbol 30 GraphicUsed by:35
Symbol 31 GraphicUsed by:35
Symbol 32 GraphicUsed by:35
Symbol 33 GraphicUsed by:35
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip {bahrainracer_fla.speedBars_6}Uses:22 23 24 25 26 27 28 29 30 31 32 33 34Used by:36
Symbol 36 MovieClip {SpeedDisplay}Uses:19 20 21 35Used by:516
Symbol 37 BitmapUsed by:38
Symbol 38 GraphicUses:37Used by:46
Symbol 39 GraphicUsed by:46
Symbol 40 GraphicUsed by:46
Symbol 41 GraphicUsed by:46
Symbol 42 GraphicUsed by:46
Symbol 43 GraphicUsed by:46
Symbol 44 GraphicUsed by:46
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClip {startLights}Uses:38 39 40 41 42 43 44 45Used by:516
Symbol 47 GraphicUsed by:60
Symbol 48 BitmapUsed by:49 52
Symbol 49 GraphicUses:48Used by:50
Symbol 50 MovieClipUses:49Used by:60
Symbol 51 GraphicUsed by:60
Symbol 52 GraphicUses:48Used by:60
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:60
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:60
Symbol 57 GraphicUsed by:60
Symbol 58 GraphicUsed by:60
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClip {TrackPosition}Uses:47 50 51 52 54 56 57 58 59Used by:516
Symbol 61 Bitmap {tyres1}Used by:516
Symbol 62 Bitmap {tyres2}Used by:516
Symbol 63 Bitmap {tyres3}Used by:516
Symbol 64 Bitmap {tyres4}Used by:516
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67
Symbol 67 MovieClipUses:66Used by:432
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClipUses:69Used by:432
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:73
Symbol 73 MovieClipUses:72Used by:432
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClipUses:75Used by:432
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:79
Symbol 79 MovieClipUses:78Used by:432
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:82
Symbol 82 MovieClipUses:81Used by:432
Symbol 83 BitmapUsed by:86
Symbol 84 BitmapUsed by:86
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:83 84 85Used by:87
Symbol 87 MovieClipUses:86Used by:96
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:90
Symbol 90 MovieClipUses:89Used by:96
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:96
Symbol 93 BitmapUsed by:94
Symbol 94 GraphicUses:93Used by:95
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 MovieClip {bahrainracer_fla.Menu_19}Uses:87 90 92 95Used by:432
Symbol 97 GraphicUsed by:101 104 108 111 114 117 120 124 155 157 159 161 166 213 328 339 342 345 347 367 388 392 396 400 404 407
Symbol 98 TextUses:3Used by:101
Symbol 99 FontUsed by:100 434 435 436 437 438 439 440 441 442 443
Symbol 100 TextUses:99Used by:101
Symbol 101 ButtonUses:97 98 100Used by:121
Symbol 102 TextUses:3Used by:104
Symbol 103 TextUses:3Used by:104
Symbol 104 ButtonUses:97 102 103Used by:121
Symbol 105 TextUses:3Used by:108
Symbol 106 GraphicUsed by:108
Symbol 107 TextUses:3Used by:108
Symbol 108 ButtonUses:97 105 106 107Used by:121 162
Symbol 109 TextUses:3Used by:111
Symbol 110 TextUses:3Used by:111
Symbol 111 ButtonUses:97 109 110Used by:121 306 325
Symbol 112 TextUses:3Used by:114
Symbol 113 TextUses:3Used by:114
Symbol 114 ButtonUses:97 112 113Used by:121
Symbol 115 TextUses:3Used by:117
Symbol 116 TextUses:3Used by:117
Symbol 117 ButtonUses:97 115 116Used by:121
Symbol 118 TextUses:3Used by:120
Symbol 119 TextUses:3Used by:120
Symbol 120 ButtonUses:97 118 119Used by:121
Symbol 121 MovieClip {bahrainracer_fla.Menu_24}Uses:101 104 108 111 114 117 120Used by:432
Symbol 122 TextUses:3Used by:124
Symbol 123 TextUses:3Used by:124
Symbol 124 ButtonUses:97 122 123Used by:162 210 306 325
Symbol 125 TextUses:3Used by:127
Symbol 126 TextUses:3Used by:127
Symbol 127 MovieClipUses:125 126Used by:162
Symbol 128 BitmapUsed by:130
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:128 129Used by:162
Symbol 131 TextUses:3Used by:135
Symbol 132 TextUses:3Used by:135
Symbol 133 TextUses:3Used by:135
Symbol 134 TextUses:3Used by:135
Symbol 135 MovieClipUses:131 132 133 134Used by:162
Symbol 136 TextUses:3Used by:162
Symbol 137 TextUses:3Used by:162
Symbol 138 TextUses:3Used by:162
Symbol 139 TextUses:3Used by:162
Symbol 140 TextUses:3Used by:162
Symbol 141 TextUses:3Used by:162
Symbol 142 TextUses:3Used by:162
Symbol 143 TextUses:3Used by:162
Symbol 144 TextUses:3Used by:162
Symbol 145 TextUses:3Used by:162
Symbol 146 EditableTextUses:3Used by:148
Symbol 147 EditableTextUses:3Used by:148
Symbol 148 MovieClip {bahrainracer_fla.Menu_36}Uses:146 147Used by:162
Symbol 149 BitmapUsed by:150 364 385 389 393 397 401
Symbol 150 GraphicUses:149Used by:155 157 159 161
Symbol 151 TextUses:3Used by:155
Symbol 152 BitmapUsed by:154
Symbol 153 BitmapUsed by:154 366 387 391 395 399 403
Symbol 154 GraphicUses:152 153Used by:155 157 159 161
Symbol 155 ButtonUses:150 97 151 154Used by:162
Symbol 156 TextUses:3Used by:157
Symbol 157 ButtonUses:150 97 156 154Used by:162
Symbol 158 TextUses:3Used by:159
Symbol 159 ButtonUses:150 97 158 154Used by:162
Symbol 160 TextUses:3Used by:161
Symbol 161 ButtonUses:150 97 160 154Used by:162
Symbol 162 MovieClip {bahrainracer_fla.Menu_32}Uses:108 124 127 130 135 136 137 138 139 140 141 142 143 144 145 148 155 157 159 161Used by:432
Symbol 163 GraphicUsed by:202
Symbol 164 TextUses:3Used by:166
Symbol 165 TextUses:3Used by:166
Symbol 166 ButtonUses:97 164 165Used by:202
Symbol 167 BitmapUsed by:168 190 191
Symbol 168 GraphicUses:167Used by:202 210
Symbol 169 TextUses:3Used by:171
Symbol 170 TextUses:3Used by:171
Symbol 171 MovieClipUses:169 170Used by:202
Symbol 172 TextUses:3Used by:202
Symbol 173 TextUses:3Used by:202
Symbol 174 GraphicUsed by:202
Symbol 175 TextUses:3Used by:202
Symbol 176 TextUses:3Used by:202 306 325
Symbol 177 GraphicUsed by:179
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}Uses:177 178Used by:202 306 325
Symbol 180 TextUses:3Used by:202
Symbol 181 FontUsed by:182 183 184 185 223 225 226 311 312 313
Symbol 182 EditableTextUses:181Used by:202
Symbol 183 EditableTextUses:181Used by:202
Symbol 184 EditableTextUses:181Used by:202
Symbol 185 EditableTextUses:181Used by:202
Symbol 186 EditableTextUses:10Used by:202
Symbol 187 GraphicUsed by:202
Symbol 188 GraphicUsed by:189
Symbol 189 MovieClip {bahrainracer_fla.asterix_45}Uses:188Used by:202 306 325
Symbol 190 GraphicUses:167Used by:202
Symbol 191 GraphicUses:167Used by:202
Symbol 192 TextUses:10Used by:202
Symbol 193 GraphicUsed by:201
Symbol 194 GraphicUsed by:201
Symbol 195 GraphicUsed by:201
Symbol 196 GraphicUsed by:201
Symbol 197 GraphicUsed by:201
Symbol 198 GraphicUsed by:201
Symbol 199 GraphicUsed by:201
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:193 194 195 196 197 198 199 200Used by:202 306 325
Symbol 202 MovieClip {bahrainracer_fla.Menu_41}Uses:163 166 168 171 172 173 174 175 176 179 180 182 183 184 185 186 187 189 190 191 192 201Used by:432
Symbol 203 GraphicUsed by:210
Symbol 204 TextUses:3Used by:206
Symbol 205 TextUses:3Used by:206
Symbol 206 MovieClipUses:204 205Used by:210
Symbol 207 BitmapUsed by:209
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:207 208Used by:210
Symbol 210 MovieClip {bahrainracer_fla.Menu_47}Uses:203 124 168 206 209Used by:432
Symbol 211 TextUses:3Used by:213
Symbol 212 TextUses:3Used by:213
Symbol 213 ButtonUses:97 211 212Used by:306 325
Symbol 214 TextUses:3Used by:216
Symbol 215 TextUses:3Used by:216
Symbol 216 MovieClipUses:214 215Used by:306
Symbol 217 TextUses:3Used by:306 325
Symbol 218 EditableTextUses:10Used by:306
Symbol 219 BitmapUsed by:220 303
Symbol 220 GraphicUses:219Used by:306 325
Symbol 221 GraphicUsed by:233 306 325
Symbol 222 TextUses:3Used by:306 325
Symbol 223 EditableTextUses:181Used by:306
Symbol 224 TextUses:3Used by:306 325
Symbol 225 EditableTextUses:181Used by:306
Symbol 226 EditableTextUses:181Used by:306
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:306 325
Symbol 229 TextUses:3Used by:306 325
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:246 294 295
Symbol 232 MovieClip {fl.core.ComponentShim}Used by:246 264 293 294 295
Symbol 233 MovieClip {focusRectSkin}Uses:221Used by:246 293 294 295
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClip {ComboBox_upSkin}Uses:234Used by:295
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClip {ComboBox_disabledSkin}Uses:236Used by:295
Symbol 238 GraphicUsed by:239
Symbol 239 MovieClip {ComboBox_overSkin}Uses:238Used by:295
Symbol 240 GraphicUsed by:241
Symbol 241 MovieClip {ComboBox_downSkin}Uses:240Used by:295
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClip {TextInput_disabledSkin}Uses:242Used by:246
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClip {TextInput_upSkin}Uses:244Used by:246
Symbol 246 MovieClip {fl.controls.TextInput}Uses:231 232 243 245 233Used by:295
Symbol 247 GraphicUsed by:248
Symbol 248 MovieClip {List_skin}Uses:247Used by:294
Symbol 249 GraphicUsed by:250
Symbol 250 MovieClip {CellRenderer_upSkin}Uses:249Used by:264
Symbol 251 GraphicUsed by:252
Symbol 252 MovieClip {CellRenderer_disabledSkin}Uses:251Used by:264
Symbol 253 GraphicUsed by:254 255
Symbol 254 MovieClip {CellRenderer_downSkin}Uses:253Used by:264
Symbol 255 MovieClip {CellRenderer_overSkin}Uses:253Used by:264
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClip {CellRenderer_selectedDisabledSkin}Uses:256Used by:264
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClip {CellRenderer_selectedDownSkin}Uses:258Used by:264
Symbol 260 GraphicUsed by:261
Symbol 261 MovieClip {CellRenderer_selectedOverSkin}Uses:260Used by:264
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClip {CellRenderer_selectedUpSkin}Uses:262Used by:264
Symbol 264 MovieClip {fl.controls.listClasses.CellRenderer}Uses:250 232 252 254 255 257 259 261 263Used by:294
Symbol 265 GraphicUsed by:266
Symbol 266 MovieClip {ScrollTrack_skin}Uses:265Used by:293
Symbol 267 GraphicUsed by:270
Symbol 268 GraphicUsed by:269 272 276 286
Symbol 269 MovieClipUses:268Used by:270 280 282
Symbol 270 MovieClip {ScrollArrowUp_downSkin}Uses:267 269Used by:293
Symbol 271 GraphicUsed by:272
Symbol 272 MovieClip {ScrollArrowDown_downSkin}Uses:271 268Used by:293
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClip {ScrollThumb_downSkin}Uses:273Used by:293
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClip {ScrollArrowDown_overSkin}Uses:275 268Used by:293
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClip {ScrollThumb_overSkin}Uses:277Used by:293
Symbol 279 GraphicUsed by:280
Symbol 280 MovieClip {ScrollArrowUp_overSkin}Uses:279 269Used by:293
Symbol 281 GraphicUsed by:282
Symbol 282 MovieClip {ScrollArrowUp_upSkin}Uses:281 269Used by:293
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClip {ScrollThumb_upSkin}Uses:283Used by:293
Symbol 285 GraphicUsed by:286
Symbol 286 MovieClip {ScrollArrowDown_upSkin}Uses:285 268Used by:293
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClip {ScrollArrowDown_disabledSkin}Uses:287Used by:293
Symbol 289 GraphicUsed by:290
Symbol 290 MovieClip {ScrollArrowUp_disabledSkin}Uses:289Used by:293
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClip {ScrollBar_thumbIcon}Uses:291Used by:293
Symbol 293 MovieClip {fl.controls.ScrollBar}Uses:266 232 233 270 272 274 276 278 280 282 284 286 288 290 292Used by:294
Symbol 294 MovieClip {fl.controls.List}Uses:231 232 248 264 233 293Used by:295
Symbol 295 MovieClip {CustomComboBox}Uses:231 232 233 235 237 239 241 246 294Used by:306 325 516
Symbol 296 TextUses:3Used by:306 325
Symbol 297 GraphicUsed by:300
Symbol 298 TextUses:3Used by:300
Symbol 299 TextUses:3Used by:300
Symbol 300 ButtonUses:297 298 299 23Used by:306 325
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:306
Symbol 303 GraphicUses:219Used by:306 325
Symbol 304 TextUses:10Used by:306 325
Symbol 305 TextUses:10Used by:306 325
Symbol 306 MovieClip {bahrainracer_fla.Menu_49}Uses:6 213 216 179 217 218 220 221 222 223 224 225 176 226 228 229 295 296 300 189 302 303 304 201 111 124 305Used by:432
Symbol 307 EditableTextUses:10Used by:325
Symbol 308 TextUses:3Used by:310
Symbol 309 TextUses:3Used by:310
Symbol 310 MovieClipUses:308 309Used by:325
Symbol 311 EditableTextUses:181Used by:325
Symbol 312 EditableTextUses:181Used by:325
Symbol 313 EditableTextUses:181Used by:325
Symbol 314 EditableTextUses:3Used by:315
Symbol 315 MovieClip {bahrainracer_fla.timeTaken_91}Uses:314Used by:325
Symbol 316 TextUses:3Used by:324
Symbol 317 TextUses:3Used by:324
Symbol 318 TextUses:3Used by:324
Symbol 319 TextUses:3Used by:324
Symbol 320 TextUses:3Used by:324
Symbol 321 TextUses:3Used by:324
Symbol 322 TextUses:3Used by:324
Symbol 323 TextUses:3Used by:324
Symbol 324 MovieClipUses:316 317 318 319 320 321 322 323Used by:325
Symbol 325 MovieClip {bahrainracer_fla.Menu_89}Uses:6 213 179 217 307 220 310 221 222 311 224 312 176 313 228 229 295 296 315 324 300 189 303 304 201 111 124 305Used by:432
Symbol 326 TextUses:3Used by:328
Symbol 327 TextUses:3Used by:328
Symbol 328 ButtonUses:97 326 327Used by:361
Symbol 329 TextUses:3Used by:330
Symbol 330 MovieClipUses:329Used by:361
Symbol 331 BitmapUsed by:332
Symbol 332 GraphicUses:331Used by:361 408
Symbol 333 BitmapUsed by:334
Symbol 334 GraphicUses:333Used by:339 342 345 347
Symbol 335 TextUses:3Used by:339
Symbol 336 TextUses:3Used by:339 347
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:339 342 345 347
Symbol 339 ButtonUses:334 97 335 336 338Used by:361
Symbol 340 TextUses:3Used by:342
Symbol 341 TextUses:3Used by:342
Symbol 342 ButtonUses:334 97 340 341 338Used by:361
Symbol 343 TextUses:3Used by:345
Symbol 344 TextUses:3Used by:345
Symbol 345 ButtonUses:334 97 343 344 338Used by:361
Symbol 346 TextUses:3Used by:347
Symbol 347 ButtonUses:334 97 346 336 338Used by:361
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:350
Symbol 350 MovieClip {bahrainracer_fla.TrackRotate1_101}Uses:349Used by:360
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:351Used by:353
Symbol 353 MovieClip {bahrainracer_fla.TrackRotate3_103}Uses:352Used by:360
Symbol 354 GraphicUsed by:355
Symbol 355 MovieClipUses:354Used by:356
Symbol 356 MovieClip {bahrainracer_fla.TrackRotate2_105}Uses:355Used by:360
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:359
Symbol 359 MovieClip {bahrainracer_fla.TrackRotate4_107}Uses:358Used by:360
Symbol 360 MovieClip {bahrainracer_fla.raceTracksRotate_100}Uses:350 353 356 359Used by:361
Symbol 361 MovieClip {bahrainracer_fla.Menu_93}Uses:328 330 332 339 342 345 347 360Used by:432
Symbol 362 TextUses:3Used by:363
Symbol 363 MovieClipUses:362Used by:408
Symbol 364 GraphicUses:149Used by:367
Symbol 365 TextUses:3Used by:367
Symbol 366 GraphicUses:153Used by:367
Symbol 367 ButtonUses:364 97 365 366Used by:408
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:384
Symbol 370 BitmapUsed by:371
Symbol 371 GraphicUses:370Used by:384
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:384
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:384
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:384
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:384
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:384
Symbol 382 BitmapUsed by:383
Symbol 383 GraphicUses:382Used by:384
Symbol 384 MovieClip {bahrainracer_fla.Formula1Car_112}Uses:369 371 373 375 377 379 381 383Used by:408
Symbol 385 GraphicUses:149Used by:388
Symbol 386 TextUses:3Used by:388
Symbol 387 GraphicUses:153Used by:388
Symbol 388 ButtonUses:385 97 386 387Used by:408
Symbol 389 GraphicUses:149Used by:392
Symbol 390 TextUses:3Used by:392
Symbol 391 GraphicUses:153Used by:392
Symbol 392 ButtonUses:389 97 390 391Used by:408
Symbol 393 GraphicUses:149Used by:396
Symbol 394 TextUses:3Used by:396
Symbol 395 GraphicUses:153Used by:396
Symbol 396 ButtonUses:393 97 394 395Used by:408
Symbol 397 GraphicUses:149Used by:400
Symbol 398 TextUses:3Used by:400
Symbol 399 GraphicUses:153Used by:400
Symbol 400 ButtonUses:397 97 398 399Used by:408
Symbol 401 GraphicUses:149Used by:404
Symbol 402 TextUses:3Used by:404
Symbol 403 GraphicUses:153Used by:404
Symbol 404 ButtonUses:401 97 402 403Used by:408
Symbol 405 TextUses:3Used by:407
Symbol 406 TextUses:3Used by:407
Symbol 407 ButtonUses:97 405 406Used by:408
Symbol 408 MovieClip {bahrainracer_fla.Menu_109}Uses:363 332 367 384 388 392 396 400 404 407Used by:432
Symbol 409 BitmapUsed by:410
Symbol 410 GraphicUses:409Used by:411
Symbol 411 ButtonUses:410Used by:427
Symbol 412 GraphicUsed by:415
Symbol 413 TextUses:3Used by:415
Symbol 414 GraphicUsed by:415
Symbol 415 ButtonUses:412 413 414Used by:422
Symbol 416 GraphicUsed by:419 421
Symbol 417 TextUses:3Used by:419
Symbol 418 GraphicUsed by:419 421
Symbol 419 ButtonUses:416 417 418Used by:422
Symbol 420 TextUses:3Used by:421
Symbol 421 ButtonUses:416 420 418Used by:422
Symbol 422 MovieClip {bahrainracer_fla.mainMenuButtons_121}Uses:415 419 421Used by:427
Symbol 423 BitmapUsed by:424 425
Symbol 424 GraphicUses:423Used by:426
Symbol 425 GraphicUses:423Used by:426
Symbol 426 ButtonUses:424 425Used by:427
Symbol 427 MovieClip {bahrainracer_fla.Menu_119}Uses:411 422 426Used by:432
Symbol 428 TextUses:3Used by:429
Symbol 429 MovieClipUses:428Used by:430
Symbol 430 MovieClip {raceOverText}Uses:429Used by:432
Symbol 431 ButtonUses:6Used by:432
Symbol 432 MovieClip {Menus}Uses:67 70 73 76 79 82 96 121 162 202 210 306 325 361 408 427 430 431Used by:516
Symbol 433 TextUses:3Used by:445
Symbol 434 TextUses:99Used by:444 448
Symbol 435 TextUses:99Used by:444
Symbol 436 TextUses:99Used by:444 448
Symbol 437 TextUses:99Used by:444 448
Symbol 438 TextUses:99Used by:444 448
Symbol 439 TextUses:99Used by:444 448
Symbol 440 TextUses:99Used by:444 448
Symbol 441 TextUses:99Used by:444 448
Symbol 442 TextUses:99Used by:444 448
Symbol 443 TextUses:99Used by:444 448
Symbol 444 MovieClip {bahrainracer_fla.position_130}Uses:434 435 436 437 438 439 440 441 442 443Used by:445
Symbol 445 MovieClip {PositionDisplay}Uses:19 433 444Used by:516
Symbol 446 TextUses:3Used by:449
Symbol 447 EditableTextUses:3Used by:448
Symbol 448 MovieClip {bahrainracer_fla.lap_132}Uses:434 447 436 437 438 439 440 441 442 443Used by:449
Symbol 449 MovieClip {LapDisplay}Uses:2 446 448Used by:516
Symbol 450 GraphicUsed by:455
Symbol 451 TextUses:3Used by:455
Symbol 452 TextUses:3Used by:455
Symbol 453 EditableTextUses:3Used by:455
Symbol 454 EditableTextUses:3Used by:455
Symbol 455 MovieClip {LapTimer}Uses:450 451 452 453 454Used by:516
Symbol 456 Bitmap {MapLower}Used by:516
Symbol 457 Bitmap {MapUpper}Used by:516
Symbol 458 Bitmap {blit1}Used by:516
Symbol 459 Bitmap {blit2}Used by:516
Symbol 460 Bitmap {blit3}Used by:516
Symbol 461 Bitmap {blit4}Used by:516
Symbol 462 GraphicUsed by:489
Symbol 463 GraphicUsed by:464
Symbol 464 ButtonUses:463Used by:479
Symbol 465 GraphicUsed by:466
Symbol 466 ButtonUses:465Used by:479
Symbol 467 GraphicUsed by:468
Symbol 468 ButtonUses:467Used by:479
Symbol 469 GraphicUsed by:470
Symbol 470 ButtonUses:469Used by:479
Symbol 471 GraphicUsed by:472
Symbol 472 ButtonUses:471Used by:479
Symbol 473 GraphicUsed by:474
Symbol 474 ButtonUses:473Used by:479
Symbol 475 GraphicUsed by:476
Symbol 476 ButtonUses:475Used by:479
Symbol 477 GraphicUsed by:478
Symbol 478 ButtonUses:477Used by:479
Symbol 479 MovieClip {bahrainracer_fla.carHolder_135}Uses:464 466 468 470 472 474 476 478Used by:489
Symbol 480 GraphicUsed by:481
Symbol 481 MovieClipUses:480Used by:482
Symbol 482 MovieClipUses:481Used by:483 484 485
Symbol 483 MovieClipUses:482Used by:486
Symbol 484 MovieClipUses:482Used by:486
Symbol 485 MovieClipUses:482Used by:486
Symbol 486 MovieClipUses:483 484 485Used by:487
Symbol 487 MovieClip {EXPLOSION}Uses:486Used by:489
Symbol 488 GraphicUsed by:489
Symbol 489 MovieClip {CarMovieClip}Uses:462 479 487 488Used by:516
Symbol 490 Sound {sfx_engineSFX1}Used by:516
Symbol 491 Sound {sfx_engineSFX2}Used by:516
Symbol 492 Sound {sfx_engineSFX3}Used by:516
Symbol 493 Sound {sfx_engineSFX4}Used by:516
Symbol 494 Sound {sfx_engineSFX5}Used by:516
Symbol 495 Sound {sfx_engineSFX6}Used by:516
Symbol 496 Sound {sfx_engineSFX7}Used by:516
Symbol 497 Sound {sfx_menuClick}Used by:516
Symbol 498 Sound {sfx_menuRollover}Used by:516
Symbol 499 Sound {menu_music}Used by:516
Symbol 500 Sound {inGameMusic}Used by:516
Symbol 501 Sound {sfx_pitAmbience}Used by:516
Symbol 502 Sound {sfx_fastestLap}Used by:516
Symbol 503 Sound {sfx_raceFinish}Used by:516
Symbol 504 Sound {sfx_lapComplete}Used by:516
Symbol 505 Sound {sfx_raceStart1}Used by:516
Symbol 506 Sound {sfx_raceStart2}Used by:516
Symbol 507 Sound {sfx_crash1}Used by:516
Symbol 508 Sound {sfx_crash2}Used by:516
Symbol 509 Sound {sfx_crash3}Used by:516
Symbol 510 Sound {sfx_crash4}Used by:516
Symbol 511 Sound {sfx_crash5}Used by:516
Symbol 512 Sound {sfx_crash6}Used by:516
Symbol 513 Sound {sfx_sandDrive}Used by:516
Symbol 514 Sound {sfx_skid1}Used by:516
Symbol 515 Sound {sfx_skid2}Used by:516
Symbol 516 MovieClipUses:9 36 46 60 61 62 63 64 432 445 449 455 456 457 458 459 460 461 489 295 1 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515Used by:Timeline

Instance Names

"progressBar_mc"Frame 1Symbol 18 MovieClip {bahrainracer_fla.progressBar1_1}
"quitGame_btn"Symbol 8 MovieClip {quitGame} Frame 1Symbol 7 Button
"mask_mc"Symbol 18 MovieClip {bahrainracer_fla.progressBar1_1} Frame 1Symbol 16 MovieClip
"speedBars_mc"Symbol 36 MovieClip {SpeedDisplay} Frame 1Symbol 35 MovieClip {bahrainracer_fla.speedBars_6}
"car1_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car2_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car3_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car4_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car5_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car6_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car7_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 54 MovieClip
"car8_mc"Symbol 60 MovieClip {TrackPosition} Frame 1Symbol 56 MovieClip
"playGame_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 101 Button
"enterComp_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 104 Button
"tellAFriend_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 108 Button
"highScores_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 111 Button
"gulfAirLink_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 114 Button
"visitBICLink_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 117 Button
"howToPlay_btn"Symbol 121 MovieClip {bahrainracer_fla.Menu_24} Frame 1Symbol 120 Button
"playerName"Symbol 148 MovieClip {bahrainracer_fla.Menu_36} Frame 1Symbol 146 EditableText
"playerScore"Symbol 148 MovieClip {bahrainracer_fla.Menu_36} Frame 1Symbol 147 EditableText
"tellAFriend_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 108 Button
"playGame_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 124 Button
"highScoresTitle_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 135 MovieClip
"hs1_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs2_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs3_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs4_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs5_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs6_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs7_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs8_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs9_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"hs10_mc"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 148 MovieClip {bahrainracer_fla.Menu_36}
"highScore1_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 155 Button
"highScore2_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 157 Button
"highScore3_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 159 Button
"highScore4_btn"Symbol 162 MovieClip {bahrainracer_fla.Menu_32} Frame 1Symbol 161 Button
"sendInvite_btn"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 166 Button
"tickBox_mc"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}
"yourName"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 182 EditableText
"yourEmail"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 183 EditableText
"friendsName"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 184 EditableText
"friendsEmail"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 185 EditableText
"err"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 186 EditableText
"asterix1_mc"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix2_mc"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix3_mc"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix4_mc"Symbol 202 MovieClip {bahrainracer_fla.Menu_41} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"playGame_btn"Symbol 210 MovieClip {bahrainracer_fla.Menu_47} Frame 1Symbol 124 Button
"submitEntry_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 213 Button
"tickBox_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}
"err"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 218 EditableText
"playerFirstName"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 223 EditableText
"playerSurname"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 225 EditableText
"playerEmail"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 226 EditableText
"playerTitle"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 295 MovieClip {CustomComboBox}
"playerCountry"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 295 MovieClip {CustomComboBox}
"terms_btn"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 300 Button
"asterix1_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix2_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix3_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix4_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"submitEntry_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 5Symbol 213 Button
"tickBox_mc"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 5Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}
"err"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 5Symbol 218 EditableText
"highScores_btn"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 10Symbol 111 Button
"playGame_btn"Symbol 306 MovieClip {bahrainracer_fla.Menu_49} Frame 10Symbol 124 Button
"time"Symbol 315 MovieClip {bahrainracer_fla.timeTaken_91} Frame 1Symbol 314 EditableText
"submitScore_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 213 Button
"tickBox_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}
"err"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 307 EditableText
"playerFirstName"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 311 EditableText
"playerSurname"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 312 EditableText
"playerEmail"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 313 EditableText
"playerTitle"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 295 MovieClip {CustomComboBox}
"playerCountry"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 295 MovieClip {CustomComboBox}
"time_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 315 MovieClip {bahrainracer_fla.timeTaken_91}
"finalPos_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 324 MovieClip
"terms_btn"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 300 Button
"asterix1_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix2_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix3_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"asterix4_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 1Symbol 189 MovieClip {bahrainracer_fla.asterix_45}
"submitScore_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 5Symbol 213 Button
"tickBox_mc"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 5Symbol 179 MovieClip {bahrainracer_fla.tickBox_44}
"err"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 5Symbol 307 EditableText
"highScores_btn"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 10Symbol 111 Button
"playGame_btn"Symbol 325 MovieClip {bahrainracer_fla.Menu_89} Frame 10Symbol 124 Button
"chooseColour_btn"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 328 Button
"circuit1_btn"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 339 Button
"circuit2_btn"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 342 Button
"circuit3_btn"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 345 Button
"circuit4_btn"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 347 Button
"circuitShadow_mc"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 360 MovieClip {bahrainracer_fla.raceTracksRotate_100}
"circuit_mc"Symbol 361 MovieClip {bahrainracer_fla.Menu_93} Frame 1Symbol 360 MovieClip {bahrainracer_fla.raceTracksRotate_100}
"col1_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 367 Button
"selectCar_mc"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 384 MovieClip {bahrainracer_fla.Formula1Car_112}
"col2_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 388 Button
"col3_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 392 Button
"col4_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 396 Button
"col5_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 400 Button
"col8_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 404 Button
"race_btn"Symbol 408 MovieClip {bahrainracer_fla.Menu_109} Frame 1Symbol 407 Button
"gulfAirLink_btn"Symbol 422 MovieClip {bahrainracer_fla.mainMenuButtons_121} Frame 1Symbol 415 Button
"visitBICLink_btn"Symbol 422 MovieClip {bahrainracer_fla.mainMenuButtons_121} Frame 5Symbol 419 Button
"mainMenuBack_btn"Symbol 422 MovieClip {bahrainracer_fla.mainMenuButtons_121} Frame 7Symbol 421 Button
"gulfAirLink_btn"Symbol 427 MovieClip {bahrainracer_fla.Menu_119} Frame 1Symbol 411 Button
"additionalMenus_mc"Symbol 427 MovieClip {bahrainracer_fla.Menu_119} Frame 1Symbol 422 MovieClip {bahrainracer_fla.mainMenuButtons_121}
"gulfAir_btn"Symbol 427 MovieClip {bahrainracer_fla.Menu_119} Frame 12Symbol 411 Button
"kokoLogo_btn"Symbol 427 MovieClip {bahrainracer_fla.Menu_119} Frame 12Symbol 426 Button
"background1_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 67 MovieClip
"background2_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 70 MovieClip
"background3_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 73 MovieClip
"background4_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 76 MovieClip
"background5_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 79 MovieClip
"background6_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 82 MovieClip
"topMenu_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 96 MovieClip {bahrainracer_fla.Menu_19}
"mainMenu_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 121 MovieClip {bahrainracer_fla.Menu_24}
"highScores_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 162 MovieClip {bahrainracer_fla.Menu_32}
"sendToFriend_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 202 MovieClip {bahrainracer_fla.Menu_41}
"howToPlay_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 210 MovieClip {bahrainracer_fla.Menu_47}
"enterComp_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 306 MovieClip {bahrainracer_fla.Menu_49}
"submitScore_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 325 MovieClip {bahrainracer_fla.Menu_89}
"selectCircuit_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 361 MovieClip {bahrainracer_fla.Menu_93}
"chooseColour_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 408 MovieClip {bahrainracer_fla.Menu_109}
"menuButtons_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 427 MovieClip {bahrainracer_fla.Menu_119}
"raceOver_mc"Symbol 432 MovieClip {Menus} Frame 1Symbol 430 MovieClip {raceOverText}
"visitBICLink_btn"Symbol 432 MovieClip {Menus} Frame 1Symbol 431 Button
"visitBICLink_btn"Symbol 432 MovieClip {Menus} Frame 1Symbol 431 Button
"pos_mc"Symbol 445 MovieClip {PositionDisplay} Frame 1Symbol 444 MovieClip {bahrainracer_fla.position_130}
"totalLaps"Symbol 448 MovieClip {bahrainracer_fla.lap_132} Frame 1Symbol 447 EditableText
"lapCounter_mc"Symbol 449 MovieClip {LapDisplay} Frame 1Symbol 448 MovieClip {bahrainracer_fla.lap_132}
"currentLap"Symbol 455 MovieClip {LapTimer} Frame 1Symbol 453 EditableText
"fastestLap"Symbol 455 MovieClip {LapTimer} Frame 1Symbol 454 EditableText
"car_mc"Symbol 489 MovieClip {CarMovieClip} Frame 1Symbol 479 MovieClip {bahrainracer_fla.carHolder_135}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.

Labels

"explode"Symbol 489 MovieClip {CarMovieClip} Frame 9
"reform"Symbol 489 MovieClip {CarMovieClip} Frame 55




http://swfchan.com/15/72643/info.shtml
Created: 8/4 -2019 15:53:11 Last modified: 8/4 -2019 15:53:11 Server time: 15/05 -2024 04:29:11