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

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

Mystic Cards - a game of card collection and strategy.swf

This is the info page for
Flash #89098

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


Text
Game Options

Tutorial

x

Auto Save

Music

Sound

Tips

OK

Quit to
Main Menu

O
p
e
n
/
C
l
o
s
e

T
u
t
o
r
i
a
l

Press "ESC" to go to the option menu
Press "Space" to finish your turn

Your objective is to kill the
enemy  by leading their
life to 0 or less

Click and hold to
drag your cards to
the battle or to the
discard button

dragging cards to the
discard button increase your
spawn points regeneration
every turn

here you can see your spawn
points and your spawn points
regeneration

evolve your units by
dragging the right card
to her.To spawn units,
drag the cards to the
battle

<p align="center"></p>

<p align="center"></p>

<p align="left"></p>

Discard

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

Initial Cards

Select your Hero

Select your race

Game Options

>> Start the Game <<

<p align="center"></p>

Mystic Cards

>> Open/Close Tutorial <<

Press "ESC" to return  to the game main window

Select a race to
play clicking in one
of these icons

after choose your race,
select one of the
avaiable heroes

you can set some game
options before start the
game

click on the start button
to go for your first battle
preparation screen

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

by clicking a card,
you can add it for
your next battle

Here you can see
how many cards you
can still add for the
next battle

In this window, you
can see the cards
evolution tree of the
current page. Use this
information to evolve
the cards on the
battle

use these links to
navigate through the
pages of the book.

Press this button to
return to the world
map or go to the
battle.

Press "ESC" tor return to World Map

1

2

3

4

5

6

7

8

<p align="left"></p>

<p align="center"></p>

Exit to Map

Exit to Map

Go To Battle

Go To Battle

<p align="left"></p>

Units evolution tree

<p align="left"></p>

<p align="left"></p>

<p align="left"><font face="Arial" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Score: 0</b></font></p>

<p align="left"></p>

<p align="left"></p>

Play more!! Get now the last
World with 13 new levels.

Play more!! Get now the last
World with 13 new levels.

Press "ESC" to go to the Option menu

Every gray ball
represents a level to
be finished, click on it
to start the level

A red or blue ball
represents a
completed level

Press the book icon to go to the card
book. In the book you can see the cards
that you have and the cards that you
already saw. You can also set the cards
that you will use on battle.

Total score

<p align="left"></p>

<p align="center"></p>

Player Cards Left:
Enemy Cards Destroyed:
Life Left:

Cards Found:

>> Continue <<

<p align="left"></p>

<p align="right"></p>

BAD

REGULAR

GOOD

You Win

You Lose

Play more games at:

Thanks for playing!

Victory

Score:

<p align="left"></p>

Press "Esc" to stay playing, or to open options and return to main screen.

ActionScript [AS3]

Section 1
//ArcherAnimation (Arte.ArcherAnimation) package Arte { import flash.display.*; public dynamic class ArcherAnimation extends MovieClip { public function ArcherAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 2
//AxeAnimation (Arte.AxeAnimation) package Arte { import flash.display.*; public dynamic class AxeAnimation extends MovieClip { public function AxeAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 3
//BattleScene (Arte.BattleScene) package Arte { import flash.display.*; import flash.text.*; public dynamic class BattleScene extends MovieClip { public var SP_PLAYER:MovieClip; public var P_PLACE_3:MovieClip; public var CardMask2:MovieClip; public var JUNKP:MovieClip; public var SP_ENEMY:MovieClip; public var ECARDS_LEFT:TextField; public var ENEMY_PACK:MovieClip; public var ENEMY_HEART:MovieClip; public var PLAYER_LIFE:TextField; public var P_SP_INCOME:TextField; public var TERRENO:MovieClip; public var PLAYER_PACK:MovieClip; public var P_CARD_PLACE_0:MovieClip; public var P_CARD_PLACE_1:MovieClip; public var P_CARD_PLACE_2:MovieClip; public var P_CARD_PLACE_3:MovieClip; public var P_CARD_PLACE_4:MovieClip; public var TIPS:TextField; public var PLAYER_HEART:MovieClip; public var E_SP_INCOME:TextField; public var PCARDS_LEFT:TextField; public var E_PLACE_1:MovieClip; public var E_PLACE_2:MovieClip; public var E_PLACE_3:MovieClip; public var E_PLACE_4:MovieClip; public var E_CARD_PLACE_0:MovieClip; public var E_CARD_PLACE_1:MovieClip; public var E_CARD_PLACE_2:MovieClip; public var E_CARD_PLACE_4:MovieClip; public var P_PLACE_1:MovieClip; public var P_PLACE_2:MovieClip; public var P_PLACE_4:MovieClip; public var ENEMY_LIFE:TextField; public var CardMask1:MovieClip; public var CardMask3:MovieClip; public var CardMask4:MovieClip; public var CardMask0:MovieClip; public var JUNKE:MovieClip; public var E_CARD_PLACE_3:MovieClip; } }//package Arte
Section 4
//BattleTuto (Arte.BattleTuto) package Arte { import flash.display.*; public dynamic class BattleTuto extends MovieClip { public var CONTENT:MovieClip; public var LINK:SimpleButton; } }//package Arte
Section 5
//BlessAnimation (Arte.BlessAnimation) package Arte { import flash.display.*; public dynamic class BlessAnimation extends MovieClip { public function BlessAnimation(){ addFrameScript(9, this.frame10); } function frame10(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 6
//BluntAnimation (Arte.BluntAnimation) package Arte { import flash.display.*; public dynamic class BluntAnimation extends MovieClip { public function BluntAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 7
//BookMc (Arte.BookMc) package Arte { import flash.display.*; import flash.text.*; public dynamic class BookMc extends MovieClip { public var PG1:MovieClip; public var PG2:MovieClip; public var PG3:MovieClip; public var PG4:MovieClip; public var PG6:MovieClip; public var PG7:MovieClip; public var PG8:MovieClip; public var EXIT:MovieClip; public var C10:MovieClip; public var C11:MovieClip; public var C12:MovieClip; public var PG5:MovieClip; public var C15:MovieClip; public var CARDS_BATTLE:TextField; public var C14:MovieClip; public var TITULO:TextField; public var C13:MovieClip; public var TREE:TextField; public var C1:MovieClip; public var C2:MovieClip; public var C3:MovieClip; public var C4:MovieClip; public var C5:MovieClip; public var C6:MovieClip; public var C7:MovieClip; public var C8:MovieClip; public var C9:MovieClip; public var EXIT_MASK:MovieClip; } }//package Arte
Section 8
//BookTuto (Arte.BookTuto) package Arte { import flash.display.*; public dynamic class BookTuto extends MovieClip { public var CONTENT:MovieClip; public var LINK:SimpleButton; } }//package Arte
Section 9
//BothWorld (Arte.BothWorld) package Arte { import flash.display.*; import flash.text.*; public dynamic class BothWorld extends MovieClip { public var l2_2:MovieClip; public var l2_4:MovieClip; public var l2_1:MovieClip; public var l3_1:MovieClip; public var l1_4:MovieClip; public var LEVEL_INFO:MovieClip; public var l4:MovieClip; public var l2_3:MovieClip; public var SCORE_MASK:MovieClip; public var BOOK:MovieClip; public var SCORE:TextField; public var l1_3:MovieClip; public var l3_2:MovieClip; public var l3_3:MovieClip; public var l3_4:MovieClip; public var l1_1:MovieClip; public var l1_2:MovieClip; } }//package Arte
Section 10
//BurnAnimation (Arte.BurnAnimation) package Arte { import flash.display.*; public dynamic class BurnAnimation extends MovieClip { } }//package Arte
Section 11
//C1D1 (Arte.C1D1) package Arte { import flash.display.*; public dynamic class C1D1 extends MovieClip { } }//package Arte
Section 12
//C1D2 (Arte.C1D2) package Arte { import flash.display.*; public dynamic class C1D2 extends MovieClip { } }//package Arte
Section 13
//C1D3 (Arte.C1D3) package Arte { import flash.display.*; public dynamic class C1D3 extends MovieClip { } }//package Arte
Section 14
//C1H1 (Arte.C1H1) package Arte { import flash.display.*; public dynamic class C1H1 extends MovieClip { } }//package Arte
Section 15
//C1H2 (Arte.C1H2) package Arte { import flash.display.*; public dynamic class C1H2 extends MovieClip { } }//package Arte
Section 16
//C1H3 (Arte.C1H3) package Arte { import flash.display.*; public dynamic class C1H3 extends MovieClip { } }//package Arte
Section 17
//C2D1 (Arte.C2D1) package Arte { import flash.display.*; public dynamic class C2D1 extends MovieClip { } }//package Arte
Section 18
//C2D2 (Arte.C2D2) package Arte { import flash.display.*; public dynamic class C2D2 extends MovieClip { } }//package Arte
Section 19
//C2D3 (Arte.C2D3) package Arte { import flash.display.*; public dynamic class C2D3 extends MovieClip { } }//package Arte
Section 20
//C2H1 (Arte.C2H1) package Arte { import flash.display.*; public dynamic class C2H1 extends MovieClip { } }//package Arte
Section 21
//C2H2 (Arte.C2H2) package Arte { import flash.display.*; public dynamic class C2H2 extends MovieClip { } }//package Arte
Section 22
//C2H3 (Arte.C2H3) package Arte { import flash.display.*; public dynamic class C2H3 extends MovieClip { } }//package Arte
Section 23
//C3D1 (Arte.C3D1) package Arte { import flash.display.*; public dynamic class C3D1 extends MovieClip { } }//package Arte
Section 24
//C3D2 (Arte.C3D2) package Arte { import flash.display.*; public dynamic class C3D2 extends MovieClip { } }//package Arte
Section 25
//C3D3 (Arte.C3D3) package Arte { import flash.display.*; public dynamic class C3D3 extends MovieClip { } }//package Arte
Section 26
//C3H1 (Arte.C3H1) package Arte { import flash.display.*; public dynamic class C3H1 extends MovieClip { } }//package Arte
Section 27
//C3H2 (Arte.C3H2) package Arte { import flash.display.*; public dynamic class C3H2 extends MovieClip { } }//package Arte
Section 28
//C3H3 (Arte.C3H3) package Arte { import flash.display.*; public dynamic class C3H3 extends MovieClip { } }//package Arte
Section 29
//C4D1 (Arte.C4D1) package Arte { import flash.display.*; public dynamic class C4D1 extends MovieClip { } }//package Arte
Section 30
//C4D2 (Arte.C4D2) package Arte { import flash.display.*; public dynamic class C4D2 extends MovieClip { } }//package Arte
Section 31
//C4D3 (Arte.C4D3) package Arte { import flash.display.*; public dynamic class C4D3 extends MovieClip { } }//package Arte
Section 32
//C4H1 (Arte.C4H1) package Arte { import flash.display.*; public dynamic class C4H1 extends MovieClip { } }//package Arte
Section 33
//C4H2 (Arte.C4H2) package Arte { import flash.display.*; public dynamic class C4H2 extends MovieClip { } }//package Arte
Section 34
//C4H3 (Arte.C4H3) package Arte { import flash.display.*; public dynamic class C4H3 extends MovieClip { } }//package Arte
Section 35
//CapaMc (Arte.CapaMc) package Arte { import flash.display.*; import XGamesFlashX.*; public dynamic class CapaMc extends MovieClip { public var MOCHI:MovieClip; public var LOGO:LOGOSITE; public var MENU:MovieClip; } }//package Arte
Section 36
//CardMC (Arte.CardMC) package Arte { import flash.display.*; import flash.text.*; public dynamic class CardMC extends MovieClip { public var IMG:MovieClip; public var BG:MovieClip; public var SPELL1:MovieClip; public var DANO:TextField; public var VIDA:TextField; public var SPELL2:MovieClip; public var NOME:TextField; public var SPAWN:TextField; public var RANGE:TextField; public var ARMOR:TextField; } }//package Arte
Section 37
//CED1 (Arte.CED1) package Arte { import flash.display.*; public dynamic class CED1 extends MovieClip { } }//package Arte
Section 38
//CED2 (Arte.CED2) package Arte { import flash.display.*; public dynamic class CED2 extends MovieClip { } }//package Arte
Section 39
//CED3 (Arte.CED3) package Arte { import flash.display.*; public dynamic class CED3 extends MovieClip { } }//package Arte
Section 40
//CEH1 (Arte.CEH1) package Arte { import flash.display.*; public dynamic class CEH1 extends MovieClip { } }//package Arte
Section 41
//CEH2 (Arte.CEH2) package Arte { import flash.display.*; public dynamic class CEH2 extends MovieClip { } }//package Arte
Section 42
//CEH3 (Arte.CEH3) package Arte { import flash.display.*; public dynamic class CEH3 extends MovieClip { } }//package Arte
Section 43
//CureAnimation (Arte.CureAnimation) package Arte { import flash.display.*; public dynamic class CureAnimation extends MovieClip { public function CureAnimation(){ addFrameScript(9, this.frame10); } function frame10(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 44
//DemonWorld (Arte.DemonWorld) package Arte { import flash.display.*; import flash.text.*; public dynamic class DemonWorld extends MovieClip { public var l2_2:MovieClip; public var l2_4:MovieClip; public var MORELEVELS:SimpleButton; public var l2_1:MovieClip; public var l3_1:MovieClip; public var l1_4:MovieClip; public var LEVEL_INFO:MovieClip; public var l4:MovieClip; public var l2_3:MovieClip; public var SCORE_MASK:MovieClip; public var BOOK:MovieClip; public var SCORE:TextField; public var l1_3:MovieClip; public var l3_2:MovieClip; public var l3_3:MovieClip; public var l3_4:MovieClip; public var l1_1:MovieClip; public var l1_2:MovieClip; } }//package Arte
Section 45
//DownAnimation (Arte.DownAnimation) package Arte { import flash.display.*; public dynamic class DownAnimation extends MovieClip { public function DownAnimation(){ addFrameScript(7, this.frame8); } function frame8(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 46
//DrainLifeAnimation (Arte.DrainLifeAnimation) package Arte { import flash.display.*; public dynamic class DrainLifeAnimation extends MovieClip { public function DrainLifeAnimation(){ addFrameScript(11, this.frame12); } function frame12(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 47
//ExplosionAnimation (Arte.ExplosionAnimation) package Arte { import flash.display.*; public dynamic class ExplosionAnimation extends MovieClip { public function ExplosionAnimation(){ addFrameScript(9, this.frame10); } function frame10(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 48
//FoiceAnimation (Arte.FoiceAnimation) package Arte { import flash.display.*; public dynamic class FoiceAnimation extends MovieClip { public function FoiceAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 49
//FullOptions (Arte.FullOptions) package Arte { import flash.display.*; import XGamesFlashX.*; public dynamic class FullOptions extends MovieClip { public var Music:MovieClip; public var QUIT:SimpleButton; public var MusicMask:MovieClip; public var Tips:MovieClip; public var TutorialMask:MovieClip; public var OK:SimpleButton; public var TipsMask:MovieClip; public var MOCHI:MovieClip; public var LOGO:LOGOSITE; public var AutoSave:MovieClip; public var Sound:MovieClip; public var AutoSaveMask:MovieClip; public var SoundMask:MovieClip; public var Tutorial:MovieClip; } }//package Arte
Section 50
//HumanWorld (Arte.HumanWorld) package Arte { import flash.display.*; import flash.text.*; public dynamic class HumanWorld extends MovieClip { public var l2_2:MovieClip; public var l2_4:MovieClip; public var MORELEVELS:SimpleButton; public var l2_1:MovieClip; public var l3_1:MovieClip; public var l1_4:MovieClip; public var LEVEL_INFO:MovieClip; public var l4:MovieClip; public var l2_3:MovieClip; public var SCORE_MASK:MovieClip; public var BOOK:MovieClip; public var SCORE:TextField; public var l1_3:MovieClip; public var l3_2:MovieClip; public var l3_3:MovieClip; public var l3_4:MovieClip; public var l1_1:MovieClip; public var l1_2:MovieClip; } }//package Arte
Section 51
//MAD1 (Arte.MAD1) package Arte { import flash.display.*; public dynamic class MAD1 extends MovieClip { } }//package Arte
Section 52
//MAD2 (Arte.MAD2) package Arte { import flash.display.*; public dynamic class MAD2 extends MovieClip { } }//package Arte
Section 53
//MAD3 (Arte.MAD3) package Arte { import flash.display.*; public dynamic class MAD3 extends MovieClip { } }//package Arte
Section 54
//MAH1 (Arte.MAH1) package Arte { import flash.display.*; public dynamic class MAH1 extends MovieClip { } }//package Arte
Section 55
//MAH2 (Arte.MAH2) package Arte { import flash.display.*; public dynamic class MAH2 extends MovieClip { } }//package Arte
Section 56
//MAH3 (Arte.MAH3) package Arte { import flash.display.*; public dynamic class MAH3 extends MovieClip { } }//package Arte
Section 57
//MBD1 (Arte.MBD1) package Arte { import flash.display.*; public dynamic class MBD1 extends MovieClip { } }//package Arte
Section 58
//MBD2 (Arte.MBD2) package Arte { import flash.display.*; public dynamic class MBD2 extends MovieClip { } }//package Arte
Section 59
//MBD3 (Arte.MBD3) package Arte { import flash.display.*; public dynamic class MBD3 extends MovieClip { } }//package Arte
Section 60
//MBH1 (Arte.MBH1) package Arte { import flash.display.*; public dynamic class MBH1 extends MovieClip { } }//package Arte
Section 61
//MBH2 (Arte.MBH2) package Arte { import flash.display.*; public dynamic class MBH2 extends MovieClip { } }//package Arte
Section 62
//MBH3 (Arte.MBH3) package Arte { import flash.display.*; public dynamic class MBH3 extends MovieClip { } }//package Arte
Section 63
//MCD1 (Arte.MCD1) package Arte { import flash.display.*; public dynamic class MCD1 extends MovieClip { } }//package Arte
Section 64
//MCD2 (Arte.MCD2) package Arte { import flash.display.*; public dynamic class MCD2 extends MovieClip { } }//package Arte
Section 65
//MCD3 (Arte.MCD3) package Arte { import flash.display.*; public dynamic class MCD3 extends MovieClip { } }//package Arte
Section 66
//MCH1 (Arte.MCH1) package Arte { import flash.display.*; public dynamic class MCH1 extends MovieClip { } }//package Arte
Section 67
//MCH2 (Arte.MCH2) package Arte { import flash.display.*; public dynamic class MCH2 extends MovieClip { } }//package Arte
Section 68
//MCH3 (Arte.MCH3) package Arte { import flash.display.*; public dynamic class MCH3 extends MovieClip { } }//package Arte
Section 69
//MED1 (Arte.MED1) package Arte { import flash.display.*; public dynamic class MED1 extends MovieClip { } }//package Arte
Section 70
//MED2 (Arte.MED2) package Arte { import flash.display.*; public dynamic class MED2 extends MovieClip { } }//package Arte
Section 71
//MED3 (Arte.MED3) package Arte { import flash.display.*; public dynamic class MED3 extends MovieClip { } }//package Arte
Section 72
//MEH1 (Arte.MEH1) package Arte { import flash.display.*; public dynamic class MEH1 extends MovieClip { } }//package Arte
Section 73
//MEH2 (Arte.MEH2) package Arte { import flash.display.*; public dynamic class MEH2 extends MovieClip { } }//package Arte
Section 74
//MEH3 (Arte.MEH3) package Arte { import flash.display.*; public dynamic class MEH3 extends MovieClip { } }//package Arte
Section 75
//MenuCancel (Arte.MenuCancel) package Arte { import flash.media.*; public dynamic class MenuCancel extends Sound { } }//package Arte
Section 76
//MSD1 (Arte.MSD1) package Arte { import flash.display.*; public dynamic class MSD1 extends MovieClip { } }//package Arte
Section 77
//MSD2 (Arte.MSD2) package Arte { import flash.display.*; public dynamic class MSD2 extends MovieClip { } }//package Arte
Section 78
//MSD3 (Arte.MSD3) package Arte { import flash.display.*; public dynamic class MSD3 extends MovieClip { } }//package Arte
Section 79
//MSG_DMG (Arte.MSG_DMG) package Arte { import flash.display.*; import flash.text.*; public dynamic class MSG_DMG extends MovieClip { public var TEXTO:TextField; public function MSG_DMG(){ addFrameScript(15, this.frame16); } function frame16(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 80
//MSH1 (Arte.MSH1) package Arte { import flash.display.*; public dynamic class MSH1 extends MovieClip { } }//package Arte
Section 81
//MSH2 (Arte.MSH2) package Arte { import flash.display.*; public dynamic class MSH2 extends MovieClip { } }//package Arte
Section 82
//MSH3 (Arte.MSH3) package Arte { import flash.display.*; public dynamic class MSH3 extends MovieClip { } }//package Arte
Section 83
//PoisonAnimation (Arte.PoisonAnimation) package Arte { import flash.display.*; public dynamic class PoisonAnimation extends MovieClip { } }//package Arte
Section 84
//R1D1 (Arte.R1D1) package Arte { import flash.display.*; public dynamic class R1D1 extends MovieClip { } }//package Arte
Section 85
//R1D2 (Arte.R1D2) package Arte { import flash.display.*; public dynamic class R1D2 extends MovieClip { } }//package Arte
Section 86
//R1D3 (Arte.R1D3) package Arte { import flash.display.*; public dynamic class R1D3 extends MovieClip { } }//package Arte
Section 87
//R1H1 (Arte.R1H1) package Arte { import flash.display.*; public dynamic class R1H1 extends MovieClip { } }//package Arte
Section 88
//R1H2 (Arte.R1H2) package Arte { import flash.display.*; public dynamic class R1H2 extends MovieClip { } }//package Arte
Section 89
//R1H3 (Arte.R1H3) package Arte { import flash.display.*; public dynamic class R1H3 extends MovieClip { } }//package Arte
Section 90
//R2D1 (Arte.R2D1) package Arte { import flash.display.*; public dynamic class R2D1 extends MovieClip { } }//package Arte
Section 91
//R2D2 (Arte.R2D2) package Arte { import flash.display.*; public dynamic class R2D2 extends MovieClip { } }//package Arte
Section 92
//R2D3 (Arte.R2D3) package Arte { import flash.display.*; public dynamic class R2D3 extends MovieClip { } }//package Arte
Section 93
//R2H1 (Arte.R2H1) package Arte { import flash.display.*; public dynamic class R2H1 extends MovieClip { } }//package Arte
Section 94
//R2H2 (Arte.R2H2) package Arte { import flash.display.*; public dynamic class R2H2 extends MovieClip { } }//package Arte
Section 95
//R2H3 (Arte.R2H3) package Arte { import flash.display.*; public dynamic class R2H3 extends MovieClip { } }//package Arte
Section 96
//R3D1 (Arte.R3D1) package Arte { import flash.display.*; public dynamic class R3D1 extends MovieClip { } }//package Arte
Section 97
//R3D2 (Arte.R3D2) package Arte { import flash.display.*; public dynamic class R3D2 extends MovieClip { } }//package Arte
Section 98
//R3D3 (Arte.R3D3) package Arte { import flash.display.*; public dynamic class R3D3 extends MovieClip { } }//package Arte
Section 99
//R3H1 (Arte.R3H1) package Arte { import flash.display.*; public dynamic class R3H1 extends MovieClip { } }//package Arte
Section 100
//R3H2 (Arte.R3H2) package Arte { import flash.display.*; public dynamic class R3H2 extends MovieClip { } }//package Arte
Section 101
//R3H3 (Arte.R3H3) package Arte { import flash.display.*; public dynamic class R3H3 extends MovieClip { } }//package Arte
Section 102
//R4D1 (Arte.R4D1) package Arte { import flash.display.*; public dynamic class R4D1 extends MovieClip { } }//package Arte
Section 103
//R4D2 (Arte.R4D2) package Arte { import flash.display.*; public dynamic class R4D2 extends MovieClip { } }//package Arte
Section 104
//R4D3 (Arte.R4D3) package Arte { import flash.display.*; public dynamic class R4D3 extends MovieClip { } }//package Arte
Section 105
//R4H1 (Arte.R4H1) package Arte { import flash.display.*; public dynamic class R4H1 extends MovieClip { } }//package Arte
Section 106
//R4H2 (Arte.R4H2) package Arte { import flash.display.*; public dynamic class R4H2 extends MovieClip { } }//package Arte
Section 107
//R4H3 (Arte.R4H3) package Arte { import flash.display.*; public dynamic class R4H3 extends MovieClip { } }//package Arte
Section 108
//RED1 (Arte.RED1) package Arte { import flash.display.*; public dynamic class RED1 extends MovieClip { } }//package Arte
Section 109
//RED2 (Arte.RED2) package Arte { import flash.display.*; public dynamic class RED2 extends MovieClip { } }//package Arte
Section 110
//RED3 (Arte.RED3) package Arte { import flash.display.*; public dynamic class RED3 extends MovieClip { } }//package Arte
Section 111
//REH1 (Arte.REH1) package Arte { import flash.display.*; public dynamic class REH1 extends MovieClip { } }//package Arte
Section 112
//REH2 (Arte.REH2) package Arte { import flash.display.*; public dynamic class REH2 extends MovieClip { } }//package Arte
Section 113
//REH3 (Arte.REH3) package Arte { import flash.display.*; public dynamic class REH3 extends MovieClip { } }//package Arte
Section 114
//ReviveAnimation (Arte.ReviveAnimation) package Arte { import flash.display.*; public dynamic class ReviveAnimation extends MovieClip { public function ReviveAnimation(){ addFrameScript(13, this.frame14); } function frame14(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 115
//ScoreMc (Arte.ScoreMc) package Arte { import flash.display.*; public dynamic class ScoreMc extends MovieClip { public var SCORE_INTERNO:MovieClip; public function ScoreMc(){ addFrameScript(29, this.frame30); } function frame30(){ this.stop(); } } }//package Arte
Section 116
//SpearAnimation (Arte.SpearAnimation) package Arte { import flash.display.*; public dynamic class SpearAnimation extends MovieClip { public function SpearAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 117
//SpellInfoMC (Arte.SpellInfoMC) package Arte { import flash.display.*; import flash.text.*; public dynamic class SpellInfoMC extends MovieClip { public var NOME:TextField; public var INFO:TextField; } }//package Arte
Section 118
//StartGame (Arte.StartGame) package Arte { import flash.display.*; public dynamic class StartGame extends MovieClip { public var StartGameBt:SimpleButton; public var Demon:MovieClip; public var Human:MovieClip; public var C1:MovieClip; public var C2:MovieClip; public var C3:MovieClip; public var C4:MovieClip; public var C5:MovieClip; public var C6:MovieClip; public var C7:MovieClip; public var C8:MovieClip; public var H1:MovieClip; public var H3:MovieClip; public var H4:MovieClip; public var H2:MovieClip; public var Options:MovieClip; } }//package Arte
Section 119
//StartTuto (Arte.StartTuto) package Arte { import flash.display.*; public dynamic class StartTuto extends MovieClip { public var CONTENT:MovieClip; public var LINK:SimpleButton; } }//package Arte
Section 120
//SwordAnimation (Arte.SwordAnimation) package Arte { import flash.display.*; public dynamic class SwordAnimation extends MovieClip { public function SwordAnimation(){ addFrameScript(8, this.frame9); } function frame9(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 121
//T_CASTLE (Arte.T_CASTLE) package Arte { import flash.display.*; public dynamic class T_CASTLE extends MovieClip { } }//package Arte
Section 122
//T_FLORESTA (Arte.T_FLORESTA) package Arte { import flash.display.*; public dynamic class T_FLORESTA extends MovieClip { } }//package Arte
Section 123
//T_GELO (Arte.T_GELO) package Arte { import flash.display.*; public dynamic class T_GELO extends MovieClip { } }//package Arte
Section 124
//T_GRAMA (Arte.T_GRAMA) package Arte { import flash.display.*; public dynamic class T_GRAMA extends MovieClip { } }//package Arte
Section 125
//T_LAVA (Arte.T_LAVA) package Arte { import flash.display.*; public dynamic class T_LAVA extends MovieClip { } }//package Arte
Section 126
//T_MONTANHA (Arte.T_MONTANHA) package Arte { import flash.display.*; public dynamic class T_MONTANHA extends MovieClip { } }//package Arte
Section 127
//ThunderAnimation (Arte.ThunderAnimation) package Arte { import flash.display.*; public dynamic class ThunderAnimation extends MovieClip { public function ThunderAnimation(){ addFrameScript(9, this.frame10); } function frame10(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 128
//UnitGUI (Arte.UnitGUI) package Arte { import flash.display.*; import flash.text.*; public dynamic class UnitGUI extends MovieClip { public var DANO:TextField; public var ARMOR:TextField; public var HP:TextField; public var LIFE:MovieClip; } }//package Arte
Section 129
//UpAnimation (Arte.UpAnimation) package Arte { import flash.display.*; public dynamic class UpAnimation extends MovieClip { public function UpAnimation(){ addFrameScript(7, this.frame8); } function frame8(){ this.parent.removeChild(this); this.stop(); } } }//package Arte
Section 130
//WBD1 (Arte.WBD1) package Arte { import flash.display.*; public dynamic class WBD1 extends MovieClip { } }//package Arte
Section 131
//WBD2 (Arte.WBD2) package Arte { import flash.display.*; public dynamic class WBD2 extends MovieClip { } }//package Arte
Section 132
//WBD3 (Arte.WBD3) package Arte { import flash.display.*; public dynamic class WBD3 extends MovieClip { } }//package Arte
Section 133
//WBH1 (Arte.WBH1) package Arte { import flash.display.*; public dynamic class WBH1 extends MovieClip { } }//package Arte
Section 134
//WBH2 (Arte.WBH2) package Arte { import flash.display.*; public dynamic class WBH2 extends MovieClip { } }//package Arte
Section 135
//WBH3 (Arte.WBH3) package Arte { import flash.display.*; public dynamic class WBH3 extends MovieClip { } }//package Arte
Section 136
//WED1 (Arte.WED1) package Arte { import flash.display.*; public dynamic class WED1 extends MovieClip { } }//package Arte
Section 137
//WED2 (Arte.WED2) package Arte { import flash.display.*; public dynamic class WED2 extends MovieClip { } }//package Arte
Section 138
//WED3 (Arte.WED3) package Arte { import flash.display.*; public dynamic class WED3 extends MovieClip { } }//package Arte
Section 139
//WEH1 (Arte.WEH1) package Arte { import flash.display.*; public dynamic class WEH1 extends MovieClip { } }//package Arte
Section 140
//WEH2 (Arte.WEH2) package Arte { import flash.display.*; public dynamic class WEH2 extends MovieClip { } }//package Arte
Section 141
//WEH3 (Arte.WEH3) package Arte { import flash.display.*; public dynamic class WEH3 extends MovieClip { } }//package Arte
Section 142
//WorldMapTuto (Arte.WorldMapTuto) package Arte { import flash.display.*; public dynamic class WorldMapTuto extends MovieClip { public var CONTENT:MovieClip; public var LINK:SimpleButton; } }//package Arte
Section 143
//WPD1 (Arte.WPD1) package Arte { import flash.display.*; public dynamic class WPD1 extends MovieClip { } }//package Arte
Section 144
//WPD2 (Arte.WPD2) package Arte { import flash.display.*; public dynamic class WPD2 extends MovieClip { } }//package Arte
Section 145
//WPD3 (Arte.WPD3) package Arte { import flash.display.*; public dynamic class WPD3 extends MovieClip { } }//package Arte
Section 146
//WPH1 (Arte.WPH1) package Arte { import flash.display.*; public dynamic class WPH1 extends MovieClip { } }//package Arte
Section 147
//WPH2 (Arte.WPH2) package Arte { import flash.display.*; public dynamic class WPH2 extends MovieClip { } }//package Arte
Section 148
//WPH3 (Arte.WPH3) package Arte { import flash.display.*; public dynamic class WPH3 extends MovieClip { } }//package Arte
Section 149
//WRD1 (Arte.WRD1) package Arte { import flash.display.*; public dynamic class WRD1 extends MovieClip { } }//package Arte
Section 150
//WRD2 (Arte.WRD2) package Arte { import flash.display.*; public dynamic class WRD2 extends MovieClip { } }//package Arte
Section 151
//WRD3 (Arte.WRD3) package Arte { import flash.display.*; public dynamic class WRD3 extends MovieClip { } }//package Arte
Section 152
//WRH1 (Arte.WRH1) package Arte { import flash.display.*; public dynamic class WRH1 extends MovieClip { } }//package Arte
Section 153
//WRH2 (Arte.WRH2) package Arte { import flash.display.*; public dynamic class WRH2 extends MovieClip { } }//package Arte
Section 154
//WRH3 (Arte.WRH3) package Arte { import flash.display.*; public dynamic class WRH3 extends MovieClip { } }//package Arte
Section 155
//WSD1 (Arte.WSD1) package Arte { import flash.display.*; public dynamic class WSD1 extends MovieClip { } }//package Arte
Section 156
//WSD2 (Arte.WSD2) package Arte { import flash.display.*; public dynamic class WSD2 extends MovieClip { } }//package Arte
Section 157
//WSD3 (Arte.WSD3) package Arte { import flash.display.*; public dynamic class WSD3 extends MovieClip { } }//package Arte
Section 158
//WSH1 (Arte.WSH1) package Arte { import flash.display.*; public dynamic class WSH1 extends MovieClip { } }//package Arte
Section 159
//WSH2 (Arte.WSH2) package Arte { import flash.display.*; public dynamic class WSH2 extends MovieClip { } }//package Arte
Section 160
//WSH3 (Arte.WSH3) package Arte { import flash.display.*; public dynamic class WSH3 extends MovieClip { } }//package Arte
Section 161
//Zeracao (Arte.Zeracao) package Arte { import flash.display.*; import XGamesFlashX.*; public dynamic class Zeracao extends MovieClip { public var LOGO:LOGOSITE; public var PANEL:MovieClip; } }//package Arte
Section 162
//PreloaderBG (ArteFlash.PreloaderBG) package ArteFlash { import flash.display.*; public dynamic class PreloaderBG extends MovieClip { public var LOGO:MovieClip; } }//package ArteFlash
Section 163
//Combate (Battle.Combate) package Battle { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; import mochi.as3.*; import flash.ui.*; public class Combate { public var PlayerMaxLife:int; public var Deck:DeckControl; public var PlayerTurn:Boolean; public var GRF_GRAFICO:BattleScene; public var GRF_TUTORIAL:BattleTuto; private var Level:int; private var TurnDelay:int;// = 50 public var EnemyUnits:Array; public var PlayerUnits:Array; public var Score:BattleScore; public var EnemyMaxLife:int; public var IAUnit:UnitIA; public static var TELA_COMBATE:int = 6; private static var DEBUG:Boolean = false; public function Combate(pLevel:int){ var i:int; PlayerUnits = new Array(); EnemyUnits = new Array(); super(); this.GRF_TUTORIAL = new BattleTuto(); this.GRF_TUTORIAL.x = 700; this.GRF_TUTORIAL.y = 262.5; this.GRF_TUTORIAL.LINK.addEventListener(MouseEvent.CLICK, Tutorial.ClickTutoHorizontal, false, 0, true); this.GRF_TUTORIAL.LINK.addEventListener(MouseEvent.ROLL_OVER, Tutorial.OverLink, false, 0, true); this.Score = new BattleScore(); this.Level = pLevel; this.GRF_GRAFICO = new BattleScene(); this.GRF_GRAFICO.JUNKP.gotoAndStop("off"); this.GRF_GRAFICO.JUNKE.gotoAndStop("off"); this.GRF_GRAFICO.P_SP_INCOME.text = ("0" + " (+1)"); this.GRF_GRAFICO.E_SP_INCOME.text = ("0" + " (+1)"); var ClassTerreno:Class = LevelDB.GetLevelInfo(this.Level, Application.application.World.WORLD).TERRENO; this.GRF_GRAFICO.TERRENO.addChild(new (ClassTerreno)); i = 1; while (i < 21) { (this.GRF_GRAFICO.SP_PLAYER.getChildByName(("SP" + i)) as MovieClip).gotoAndStop("off"); (this.GRF_GRAFICO.SP_ENEMY.getChildByName(("SP" + i)) as MovieClip).gotoAndStop("off"); i++; }; i = 1; while (i < 5) { (this.GRF_GRAFICO.getChildByName(("P_PLACE_" + i)) as MovieClip).Mark.gotoAndStop("off"); (this.GRF_GRAFICO.getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.gotoAndStop("off"); (this.GRF_GRAFICO.getChildByName(("P_PLACE_" + i)) as MovieClip).Mark.alpha = 0; (this.GRF_GRAFICO.getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 0; (this.GRF_GRAFICO.getChildByName(("P_PLACE_" + i)) as MovieClip).gotoAndStop("NORMAL"); (this.GRF_GRAFICO.getChildByName(("E_PLACE_" + i)) as MovieClip).gotoAndStop("NORMAL"); i++; }; if (PlayerDB.HUMAN){ this.GRF_GRAFICO.PLAYER_PACK.gotoAndStop("Human"); } else { this.GRF_GRAFICO.PLAYER_PACK.gotoAndStop("Demon"); }; if (Application.application.World.WORLD == WorldMap.WORLD_HUMAN){ this.GRF_GRAFICO.ENEMY_PACK.gotoAndStop("Human"); } else { if (Application.application.World.WORLD == WorldMap.WORLD_DEMON){ this.GRF_GRAFICO.ENEMY_PACK.gotoAndStop("Demon"); } else { if (PlayerDB.HUMAN){ this.GRF_GRAFICO.ENEMY_PACK.gotoAndStop("Demon"); } else { this.GRF_GRAFICO.ENEMY_PACK.gotoAndStop("Human"); }; }; }; Application.application.FlashHolder.addChild(this.GRF_GRAFICO); if (Application.application.MochiCoins_){ MochiCoins.hideLoginWidget(); }; if (Options.TUTORIAL){ Application.application.FlashHolder.addChild(this.GRF_TUTORIAL); if (Tutorial.FIRST_BATTLE){ Tutorial.ClickTutoH(this.GRF_TUTORIAL); Tutorial.FIRST_BATTLE = false; }; }; this.GRF_GRAFICO.addEventListener(Event.ENTER_FRAME, Loop, false, 0, true); } public function VITORIA():void{ var PLAY_ZERACAO:Boolean; this.GRF_GRAFICO.removeEventListener(Event.ENTER_FRAME, Loop, false); if (Application.application.World.WORLD == WorldMap.WORLD_HUMAN){ if (PlayerDB.HUMAN_LEVELS.indexOf(this.Level) < 0){ PlayerDB.HUMAN_LEVELS[PlayerDB.HUMAN_LEVELS.length] = this.Level; }; if (PlayerDB.HUMAN){ if (PlayerDB.HUMAN_LEVELS.length > 12){ if (!Options.BOTH_WORLD){ if (!PlayerDB.ZEROU){ PLAY_ZERACAO = true; }; } else { Application.application.World = null; Application.application.World = new WorldMap(WorldMap.WORLD_BOTH); }; }; } else { if (PlayerDB.HUMAN_LEVELS.length > 12){ Application.application.World = null; Application.application.World = new WorldMap(WorldMap.WORLD_DEMON); }; }; } else { if (Application.application.World.WORLD == WorldMap.WORLD_DEMON){ if (PlayerDB.DEMON_LEVELS.indexOf(this.Level) < 0){ PlayerDB.DEMON_LEVELS[PlayerDB.DEMON_LEVELS.length] = this.Level; }; if (!PlayerDB.HUMAN){ if (PlayerDB.DEMON_LEVELS.length > 12){ if (!Options.BOTH_WORLD){ if (!PlayerDB.ZEROU){ PLAY_ZERACAO = true; }; } else { Application.application.World = null; Application.application.World = new WorldMap(WorldMap.WORLD_BOTH); }; }; } else { if (PlayerDB.DEMON_LEVELS.length > 12){ Application.application.World = null; Application.application.World = new WorldMap(WorldMap.WORLD_HUMAN); }; }; } else { if (Application.application.World.WORLD == WorldMap.WORLD_BOTH){ if (PlayerDB.BOTH_LEVELS.indexOf(this.Level) < 0){ PlayerDB.BOTH_LEVELS[PlayerDB.BOTH_LEVELS.length] = this.Level; }; if (PlayerDB.BOTH_LEVELS.length > 12){ if (Options.BOTH_WORLD){ if (!PlayerDB.ZEROU){ PLAY_ZERACAO = true; }; }; }; }; }; }; this.Score.CallTela(true, PLAY_ZERACAO); } private function Loop(e:Event):void{ this.IAUnit.Loop(); if (TurnDelay > -100){ TurnDelay--; }; } public function PassTurn():void{ if (((((this.PlayerTurn) && ((TurnDelay <= 0)))) && ((this.Deck.DeckStatus == DeckControl.DECK_NOTHING)))){ this.SetPlayerTurn(false); TurnDelay = 50; }; } public function StartCombat():void{ if (DEBUG){ trace("Combate.StartCombat()"); }; var MusicRandom:Number = Math.random(); if (MusicRandom <= 0.33){ Sons.PlayMusic(Sons.MUSIC_BATTLE_1); } else { if (MusicRandom <= 0.66){ Sons.PlayMusic(Sons.MUSIC_BATTLE_2); } else { Sons.PlayMusic(Sons.MUSIC_BATTLE_3); }; }; Application.application.TelaAtual = TELA_COMBATE; this.IAUnit = new UnitIA(); this.Deck = new DeckControl(this.Level); } public function SetPlayerTurn2(pPlayer:Boolean):void{ var CardToSapwn:int; if (DEBUG){ trace((("Combate.SetPlayerTurn2(" + pPlayer) + ")")); }; this.Deck.CanDiscard = true; this.Deck.ChangeSP(this.Deck.GetSpIncome(pPlayer), pPlayer); if (pPlayer){ CardToSapwn = this.Deck.GetRadonCardFromBaralho(this.Deck.PlayerCards); if ((((CardToSapwn >= 0)) && (this.Deck.SpawnCard(CardToSapwn, true)))){ this.Deck.DeckStatus = DeckControl.DECK_P_TURN_SPAWN; } else { this.Deck.DeckStatus = DeckControl.DECK_NOTHING; this.PlayerTurn = true; }; Mouse.show(); if (Options.TIPS){ this.GRF_GRAFICO.TIPS.text = "Press \"space\" to pass your turn!"; }; } else { this.PlayerTurn = false; Mouse.hide(); if (Options.TIPS){ this.GRF_GRAFICO.TIPS.text = "Wait... Enemy turn!"; }; CardToSapwn = this.Deck.GetRadonCardFromBaralho(this.Deck.EnemyCards); if ((((CardToSapwn >= 0)) && (this.Deck.SpawnCard(CardToSapwn, false)))){ this.Deck.DeckStatus = DeckControl.DECK_E_TURN_SPAWN; } else { DeckIA.DoSomething(); }; }; } public function GetUnit(pId:int, pPlayer:Boolean):Unit{ if (pPlayer){ return (this.PlayerUnits[pId]); }; return (this.EnemyUnits[pId]); } public function DERROTA():void{ this.GRF_GRAFICO.removeEventListener(Event.ENTER_FRAME, Loop, false); this.Score.CallTela(false, false); } public function SetPlayerTurn(pPlayer:Boolean):void{ this.IAUnit.StartUnitsTurn(1, pPlayer); } public function Quit():void{ try { this.GRF_GRAFICO.removeEventListener(Event.ENTER_FRAME, Loop, false); } catch(E:Error) { }; this.Deck.Quit(); Application.application.FlashHolder.removeChild(this.GRF_GRAFICO); Application.application.FlashHolder.removeChild(this.GRF_TUTORIAL); //unresolved jump var _slot1 = E; Application.application.CombateAtual = null; } } }//package Battle
Section 164
//DeckControl (Battle.DeckControl) package Battle { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; public class DeckControl { private var PlayerDeck:Array; public var CanDiscard:Boolean;// = false public var DeckStatus:int; public var MovingCard:Object; public var PlayerCards:Array; public var EnemyCards:Array; public var EnemyDeck:Array; public static var DECK_E_SPAWN_CARD:int = 4; public static var DECK_E_COMBINE_DECK_CARD:int = 6; private static var DECK_P_FIRST_SPAW:int = 1; public static var DECK_E_TURN_SPAWN:int = 8; public static var DECK_E_DISCARD:int = 5; private static var DECK_E_FIRST_SPAW:int = 2; public static var DECK_NOTHING:int = 0; private static var DECK_P_DRAGGING_CARD:int = 3; public static var DECK_P_TURN_SPAWN:int = 9; public function DeckControl(pLevel:int){ var i:int; var PlayerBG:String; var EnemyBG:String; super(); this.EnemyDeck = new Array(); this.EnemyCards = new Array(); this.PlayerDeck = new Array(); this.PlayerCards = new Array(); i = 0; while (i < PlayerDB.CARDS_BATTLE.length) { this.PlayerCards[i] = PlayerDB.CARDS_BATTLE[i]; i++; }; i = 0; while (i < this.PlayerCards.length) { Application.application.CombateAtual.Score.PLAYER_CARDS = (Application.application.CombateAtual.Score.PLAYER_CARDS + CardDB.GetCardInfo(this.PlayerCards[i]).SPAWN); i++; }; Application.application.CombateAtual.Score.MAX_SCORE = (Application.application.CombateAtual.Score.MAX_SCORE + Application.application.CombateAtual.Score.PLAYER_CARDS); this.EnemyCards = LevelDB.GetLevelCardsArray(pLevel); i = 0; while (i < this.EnemyCards.length) { Application.application.CombateAtual.Score.MAX_SCORE = (Application.application.CombateAtual.Score.MAX_SCORE + CardDB.GetCardInfo(this.EnemyCards[i]).SPAWN); i++; }; Application.application.CombateAtual.GRF_GRAFICO.ENEMY_LIFE.text = LevelDB.GetLevelInfo(pLevel, Application.application.World.WORLD).ENEMY_LIFE.toString(); Application.application.CombateAtual.GRF_GRAFICO.PLAYER_LIFE.text = LevelDB.GetLevelInfo(pLevel, Application.application.World.WORLD).PLAYER_LIFE.toString(); Application.application.CombateAtual.Score.MAX_SCORE = (Application.application.CombateAtual.Score.MAX_SCORE + LevelDB.GetLevelInfo(pLevel, Application.application.World.WORLD).PLAYER_LIFE); Application.application.CombateAtual.EnemyMaxLife = LevelDB.GetLevelInfo(pLevel, Application.application.World.WORLD).ENEMY_LIFE; Application.application.CombateAtual.PlayerMaxLife = LevelDB.GetLevelInfo(pLevel, Application.application.World.WORLD).PLAYER_LIFE; if (PlayerDB.HUMAN){ PlayerBG = "Human"; EnemyBG = "Demon"; } else { EnemyBG = "Human"; PlayerBG = "Demon"; }; i = 0; while (i < 5) { (this.GetGui().getChildByName(("CardMask" + i)) as MovieClip).alpha = 0; (this.GetGui().getChildByName(("CardMask" + i)) as MovieClip).buttonMode = true; (this.GetGui().getChildByName(("CardMask" + i)) as MovieClip).useHandCursor = true; (this.GetGui().getChildByName(("CardMask" + i)) as MovieClip).COD = i; (this.GetGui().getChildByName(("CardMask" + i)) as MovieClip).addEventListener(MouseEvent.MOUSE_DOWN, StartDragDeckCard, false, 0, true); (this.GetGui().getChildByName(("E_CARD_PLACE_" + i)) as MovieClip).gotoAndStop(EnemyBG); (this.GetGui().getChildByName(("P_CARD_PLACE_" + i)) as MovieClip).gotoAndStop(PlayerBG); i++; }; this.GetGui().addEventListener(MouseEvent.MOUSE_UP, MouseUp, false, 0, true); this.GetGui().addEventListener(Event.ENTER_FRAME, Loop, false, 0, false); Application.application.CombateAtual.GRF_GRAFICO.PCARDS_LEFT.text = (Utils.GetNullArraySize(this.PlayerCards).toString() + " Cards Left"); Application.application.CombateAtual.GRF_GRAFICO.ECARDS_LEFT.text = (Utils.GetNullArraySize(this.EnemyCards).toString() + " Cards Left"); this.DeckStatus = DECK_P_FIRST_SPAW; var CardToSpawn:int = this.GetRadonCardFromBaralho(this.PlayerCards); if (CardToSpawn >= 0){ this.SpawnCard(CardToSpawn, true); }; } private function MouseUp(e:MouseEvent):void{ if (this.DeckStatus == DECK_P_DRAGGING_CARD){ this.StopDragDeckCard(); }; } public function GetSpIncome(pPlayer:Boolean):int{ var INCOME:String; if (pPlayer){ INCOME = this.GetGui().P_SP_INCOME.text.replace("+", ""); } else { INCOME = this.GetGui().E_SP_INCOME.text.replace("+", ""); }; INCOME = INCOME.split("(")[1]; INCOME = INCOME.replace(")", ""); return (int(INCOME)); } private function MoveEnemyCard():Boolean{ var i:int; var GRF_CARD:CardMC = (this.MovingCard as CardMC); var dist_x_Proj:Number = (DeckIA.MoveTo.x - GRF_CARD.x); var dist_y_Proj:Number = ((DeckIA.MoveTo.y - GRF_CARD.y) - 30); var angle:Number = Math.atan2(dist_y_Proj, dist_x_Proj); var Retorno:Boolean; if ((Math.abs(dist_x_Proj) + Math.abs(dist_y_Proj)) < 15){ this.DeckStatus = DECK_NOTHING; Retorno = true; } else { this.MovingCard.x = (this.MovingCard.x + (4 * Math.cos(angle))); this.MovingCard.y = (this.MovingCard.y + (4 * Math.sin(angle))); }; return (Retorno); } private function AddSPRegeneration(pValor:int, pPlayer:Boolean):void{ var INCOME:int = this.GetSpIncome(pPlayer); INCOME = (INCOME + pValor); if (INCOME > 20){ INCOME = 20; }; if (pPlayer){ this.GetGui().P_SP_INCOME.text = (((this.GetSP(pPlayer) + " (+") + INCOME) + ")"); } else { this.GetGui().E_SP_INCOME.text = (((this.GetSP(pPlayer) + " (+") + INCOME) + ")"); }; this.ChangeSP(pValor, pPlayer); } public function SpawnCard(pBaralhoId:int, pPlayer:Boolean):Boolean{ var SpawnPos:int; var Retorno:Boolean; if (pPlayer){ SpawnPos = Utils.GetFirstNullPos(this.PlayerDeck, 0); } else { SpawnPos = Utils.GetFirstNullPos(this.EnemyDeck, 0); }; if ((((SpawnPos > -1)) && ((SpawnPos < 5)))){ this.MovingCard = new CardMC(); if (Options.SFX){ Sons.SFX_PASS_CARD.play(0, 1, Sons.VOLUME_50); }; if (pPlayer){ this.MovingCard.x = 647; this.MovingCard.y = 455; CardDB.SetCardInfoToMc((this.MovingCard as CardMC), this.PlayerCards[pBaralhoId]); this.MovingCard.CardId = this.PlayerCards[pBaralhoId]; this.PlayerCards[pBaralhoId] = null; this.GetGui().PCARDS_LEFT.text = (Utils.GetNullArraySize(this.PlayerCards).toString() + " Cards Left"); this.GetGui().addChildAt((this.MovingCard as CardMC), this.GetGui().getChildIndex(this.GetGui().getChildByName(("CardMask" + SpawnPos)))); } else { this.MovingCard.x = 54; this.MovingCard.y = 53.2; CardDB.SetCardInfoToMc((this.MovingCard as CardMC), this.EnemyCards[pBaralhoId]); this.MovingCard.CardId = this.EnemyCards[pBaralhoId]; this.EnemyCards[pBaralhoId] = null; this.GetGui().ECARDS_LEFT.text = (Utils.GetNullArraySize(this.EnemyCards).toString() + " Cards Left"); this.GetGui().addChild((this.MovingCard as CardMC)); }; this.MovingCard.DeckId = SpawnPos; Retorno = true; }; return (Retorno); } private function GetXCardPlaceonDeck(pIdPlace:int, pPlayer:Boolean):Number{ if (pPlayer){ switch (pIdPlace){ case 0: return (546.1); case 1: return (448.2); case 2: return (350); case 3: return (252); case 4: return (154); }; } else { switch (pIdPlace){ case 0: return (159); case 1: return (256.9); case 2: return (354.8); case 3: return (452.7); case 4: return (551.1); }; }; return (-1); } public function GetRadonCardFromBaralho(pBaralho:Array):int{ var CardPos:int; if (Utils.GetNullArraySize(pBaralho) > 0){ CardPos = Math.round((Math.random() * pBaralho.length)); while (pBaralho[CardPos] == null) { CardPos++; if (CardPos >= pBaralho.length){ CardPos = 0; }; }; } else { return (-1); }; return (CardPos); } private function StartDragDeckCard(e:MouseEvent):void{ var i:int; if ((((this.DeckStatus == DECK_NOTHING)) && (Application.application.CombateAtual.PlayerTurn))){ if (Options.TIPS){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "Click and hold to drag your cards to the battle or to the discard buttom!"; }; this.MovingCard = this.PlayerDeck[(e.target as MovieClip).COD]; if (this.MovingCard != null){ i = 1; while (i < 5) { (this.GetGui().getChildByName(("P_PLACE_" + i)) as MovieClip).Mark.alpha = 1; i++; }; this.MovingCard.alpha = 0.5; this.SetMovingCardToTopView(); this.MovingCard.startDrag(true); this.DeckStatus = DECK_P_DRAGGING_CARD; }; }; } public function GetSP(pPlayer:Boolean):int{ var Retorno:int; var i = 1; while (i < 21) { if (pPlayer){ if ((this.GetGui().SP_PLAYER.getChildByName(("SP" + i)) as MovieClip).currentLabel == "on"){ Retorno++; } else { break; }; } else { if ((this.GetGui().SP_ENEMY.getChildByName(("SP" + i)) as MovieClip).currentLabel == "on"){ Retorno++; } else { break; }; }; i++; }; return (Retorno); } private function CombineCardToUnit(pIdPlace:int, pPlayer:Boolean):Boolean{ var PodeCombinar:Boolean; var CardId:int = this.MovingCard.CardId; var DeckId:int = this.MovingCard.DeckId; var Retorno:Boolean; if ((((this.GetSP(pPlayer) >= CardDB.GetCardInfo(CardId).SPAWN)) && ((CardDB.GetCardInfo(Application.application.CombateAtual.GetUnit(pIdPlace, pPlayer).ID).REQ_CARD == CardId)))){ this.ChangeSP(-(CardDB.GetCardInfo(CardId).SPAWN), pPlayer); Application.application.CombateAtual.GetUnit(pIdPlace, pPlayer).CombineWithCard(CardId); PlayerDB.AddCardToVistas(CardId); this.GetGui().removeChild((this.MovingCard as CardMC)); if (pPlayer){ this.PlayerDeck[DeckId] = null; } else { this.EnemyDeck[DeckId] = null; }; this.MovingCard = null; Retorno = true; } else { if (((pPlayer) && (Options.TIPS))){ if (!(this.GetSP(pPlayer) >= CardDB.GetCardInfo(CardId).SPAWN)){ this.GetGui().TIPS.text = "You dont have enegouth Spawn points, discard any card to get more Spawn points every turn!"; } else { this.GetGui().TIPS.text = "You can't combine this cards!"; }; }; }; return (Retorno); } private function DeckAnimations():void{ var SpawnPos:int; var CardToSpawn:int; var i:int; var CardId:int; var PlaceToTest:MovieClip; switch (this.DeckStatus){ case DECK_P_TURN_SPAWN: if (this.MovingCard){ SpawnPos = this.MovingCard.DeckId; if ((this.MovingCard.x - 15) < GetXCardPlaceonDeck(SpawnPos, true)){ this.MovingCard.x = GetXCardPlaceonDeck(SpawnPos, true); this.PlayerDeck[SpawnPos] = this.MovingCard; this.MovingCard = null; this.DeckStatus = DECK_NOTHING; Application.application.CombateAtual.PlayerTurn = true; } else { this.MovingCard.x = (this.MovingCard.x - 15); }; break; }; case DECK_P_FIRST_SPAW: if (this.MovingCard){ SpawnPos = this.MovingCard.DeckId; if ((this.MovingCard.x - 15) < GetXCardPlaceonDeck(SpawnPos, true)){ this.MovingCard.x = GetXCardPlaceonDeck(SpawnPos, true); this.PlayerDeck[SpawnPos] = this.MovingCard; this.MovingCard = null; if ((((Utils.GetNullArraySize(this.PlayerCards) > 0)) && ((Utils.GetNullArraySize(this.PlayerDeck) < 5)))){ CardToSpawn = this.GetRadonCardFromBaralho(this.PlayerCards); if (CardToSpawn >= 0){ this.SpawnCard(CardToSpawn, true); }; } else { this.DeckStatus = DECK_E_FIRST_SPAW; CardToSpawn = this.GetRadonCardFromBaralho(this.EnemyCards); if (CardToSpawn >= 0){ this.SpawnCard(CardToSpawn, false); }; }; } else { this.MovingCard.x = (this.MovingCard.x - 15); }; break; }; case DECK_E_TURN_SPAWN: if (this.MovingCard){ SpawnPos = this.MovingCard.DeckId; if ((this.MovingCard.x + 15) > GetXCardPlaceonDeck(SpawnPos, false)){ this.MovingCard.x = GetXCardPlaceonDeck(SpawnPos, false); this.EnemyDeck[SpawnPos] = this.MovingCard; this.MovingCard = null; this.DeckStatus = DECK_NOTHING; DeckIA.DoSomething(); } else { this.MovingCard.x = (this.MovingCard.x + 15); }; break; }; case DECK_E_FIRST_SPAW: if (this.MovingCard){ SpawnPos = this.MovingCard.DeckId; if ((this.MovingCard.x + 15) > GetXCardPlaceonDeck(SpawnPos, false)){ this.MovingCard.x = GetXCardPlaceonDeck(SpawnPos, false); this.EnemyDeck[SpawnPos] = this.MovingCard; this.MovingCard = null; if ((((Utils.GetNullArraySize(this.EnemyCards) > 0)) && ((Utils.GetNullArraySize(this.EnemyDeck) < 5)))){ CardToSpawn = this.GetRadonCardFromBaralho(this.EnemyCards); if (CardToSpawn >= 0){ this.SpawnCard(CardToSpawn, false); }; } else { this.DeckStatus = DECK_NOTHING; Application.application.CombateAtual.SetPlayerTurn(true); }; } else { this.MovingCard.x = (this.MovingCard.x + 15); }; break; }; case DECK_E_SPAWN_CARD: if (this.MoveEnemyCard()){ this.AddCardToBattle(DeckIA.SpawnAt, false); i = 1; while (i < 5) { (this.GetGui().getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 0; i++; }; DeckIA.DoSomething(); }; break; case DECK_E_DISCARD: if (this.MoveEnemyCard()){ i = 1; while (i < 5) { (this.GetGui().getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 0; i++; }; this.DiscardCard(false); DeckIA.DoSomething(); }; break; case DECK_E_COMBINE_DECK_CARD: if (this.MoveEnemyCard()){ this.CombineCardToUnit(DeckIA.SpawnAt, false); i = 1; while (i < 5) { (this.GetGui().getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 0; i++; }; DeckIA.DoSomething(); }; break; case DECK_P_DRAGGING_CARD: CardId = this.MovingCard.CardId; if (this.GetGui().JUNKP.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ this.GetGui().JUNKP.gotoAndStop("on"); } else { if (this.GetGui().JUNKP.currentLabel == "on"){ if (!this.GetGui().JUNKP.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ this.GetGui().JUNKP.gotoAndStop("off"); }; } else { i = 1; while (i < 5) { PlaceToTest = (this.GetGui().getChildByName(("P_PLACE_" + i)) as MovieClip); if (!PlaceToTest.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ PlaceToTest.Mark.gotoAndStop("off"); } else { if (PlaceToTest.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ if ((((((CardDB.GetCardInfo(CardId).RANGE == 3)) || ((((((i >= 1)) && ((i <= 2)))) && ((CardDB.GetCardInfo(CardId).RANGE == 1)))))) || ((((((i >= 3)) && ((i <= 4)))) && ((CardDB.GetCardInfo(CardId).RANGE == 2)))))){ if (Application.application.CombateAtual.PlayerUnits[i] != null){ if (CardDB.GetCardInfo(Application.application.CombateAtual.GetUnit(i, true).ID).REQ_CARD == CardId){ if (Options.TIPS){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "Use the card here to evolve this unit!"; }; PlaceToTest.Mark.gotoAndStop("yes"); } else { if (Options.TIPS){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "This is the wrong card to evolve this unit!"; }; PlaceToTest.Mark.gotoAndStop("no"); }; } else { if (CardDB.GetCardInfo(CardId).SPAWN > this.GetSP(true)){ if (Options.TIPS){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "You dont have enought spawn points to use this card here!"; }; PlaceToTest.Mark.gotoAndStop("no"); } else { PlaceToTest.Mark.gotoAndStop("on"); }; }; } else { if (((Options.TIPS) && ((CardDB.GetCardInfo(CardId).RANGE == 1)))){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "Units range 1 can be released only on the places closest to the enemys!"; } else { if (((Options.TIPS) && ((CardDB.GetCardInfo(CardId).RANGE == 2)))){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "Units range 2 can be released only on the places furthest to the enemys!"; }; }; PlaceToTest.Mark.gotoAndStop("no"); }; }; }; i++; }; }; }; break; }; } public function SetMovingCardToTopView():void{ this.GetGui().setChildIndex((this.MovingCard as CardMC), (this.GetGui().numChildren - 1)); } private function AddCardToBattle(pIdPlace:int, pPlayer:Boolean):Boolean{ var CardId:int = this.MovingCard.CardId; var DeckId:int = this.MovingCard.DeckId; var Retorno:Boolean; PlayerDB.AddCardToVistas(CardId); if (this.GetSP(pPlayer) >= CardDB.GetCardInfo(CardId).SPAWN){ this.ChangeSP(-(CardDB.GetCardInfo(CardId).SPAWN), pPlayer); new Unit(CardId, pIdPlace, pPlayer); this.GetGui().removeChild((this.MovingCard as CardMC)); if (pPlayer){ this.PlayerDeck[DeckId] = null; } else { this.EnemyDeck[DeckId] = null; }; this.MovingCard = null; Retorno = true; } else { if (((pPlayer) && (Options.TIPS))){ this.GetGui().TIPS.text = "You dont have enegouth Spawn points, discard any card to get more Spawn points every turn!"; }; }; return (Retorno); } private function GetGui():BattleScene{ return (Application.application.CombateAtual.GRF_GRAFICO); } private function Loop(e:Event):void{ this.DeckAnimations(); } public function ChangeSP(pValor:int, pPlayer:Boolean):void{ var SP:MovieClip; var i:int; if (pValor > 0){ i = 1; while (i < 21) { if (pValor == 0){ break; } else { if (pPlayer){ SP = (this.GetGui().SP_PLAYER.getChildByName(("SP" + i)) as MovieClip); } else { SP = (this.GetGui().SP_ENEMY.getChildByName(("SP" + i)) as MovieClip); }; if (SP.currentLabel != "on"){ SP.gotoAndStop("on"); pValor--; }; }; i++; }; } else { if (pValor < 0){ i = 20; while (i > 0) { if (pValor == 0){ break; } else { if (pPlayer){ SP = (this.GetGui().SP_PLAYER.getChildByName(("SP" + i)) as MovieClip); } else { SP = (this.GetGui().SP_ENEMY.getChildByName(("SP" + i)) as MovieClip); }; if (SP.currentLabel != "off"){ SP.gotoAndStop("off"); pValor++; }; }; i--; }; }; }; if (pPlayer){ this.GetGui().P_SP_INCOME.text = (((this.GetSP(pPlayer) + " (+") + this.GetSpIncome(pPlayer)) + ")"); } else { this.GetGui().E_SP_INCOME.text = (((this.GetSP(pPlayer) + " (+") + this.GetSpIncome(pPlayer)) + ")"); }; } private function DiscardCard(pPlayer:Boolean):Boolean{ var SpToAdd:int; var CardId:int = this.MovingCard.CardId; var DeckId:int = this.MovingCard.DeckId; var Retorno:Boolean; if (pPlayer){ this.GetGui().JUNKP.gotoAndStop("off"); } else { this.GetGui().JUNKE.gotoAndStop("off"); }; if (this.CanDiscard){ if (Options.SFX){ Sons.SFX_TRASH_CARD.play(0, 1, Sons.VOLUME_50); }; SpToAdd = int((CardDB.GetCardInfo(CardId).SPAWN / 4)); if (SpToAdd <= 0){ SpToAdd = 1; }; this.AddSPRegeneration(SpToAdd, pPlayer); Retorno = true; this.CanDiscard = false; if (pPlayer){ Application.application.CombateAtual.Score.PLAYER_DISCARD = (Application.application.CombateAtual.Score.PLAYER_DISCARD + CardDB.GetCardInfo(CardId).SPAWN); this.PlayerDeck[DeckId] = null; } else { this.EnemyDeck[DeckId] = null; }; this.GetGui().removeChild((this.MovingCard as CardMC)); this.MovingCard = null; } else { if (((pPlayer) && (Options.TIPS))){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "You can't discard more than one card every turn"; }; }; return (Retorno); } private function StopDragDeckCard():void{ var i:int; var PlaceToTest:MovieClip; var DidSomething:Boolean; var CardMC:MovieClip = (this.MovingCard as MovieClip); var CardId:int = this.MovingCard.CardId; this.DeckStatus = DECK_NOTHING; CardMC.stopDrag(); i = 1; while (i < 5) { (this.GetGui().getChildByName(("P_PLACE_" + i)) as MovieClip).Mark.alpha = 0; i++; }; if (this.GetGui().JUNKP.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ DidSomething = this.DiscardCard(true); } else { i = 1; while (i < 5) { PlaceToTest = (this.GetGui().getChildByName(("P_PLACE_" + i)) as MovieClip); if (PlaceToTest.hitTestPoint(Application.application.mouseX, Application.application.mouseY, true)){ if ((((((CardDB.GetCardInfo(CardId).RANGE == 3)) || ((((((i >= 1)) && ((i <= 2)))) && ((CardDB.GetCardInfo(CardId).RANGE == 1)))))) || ((((((i >= 3)) && ((i <= 4)))) && ((CardDB.GetCardInfo(CardId).RANGE == 2)))))){ if (Application.application.CombateAtual.PlayerUnits[i] != null){ if (i != this.MovingCard.PLACE_ON_BATTLE){ if (CardDB.GetCardInfo(Application.application.CombateAtual.GetUnit(i, true).ID).REQ_CARD == CardId){ DidSomething = this.CombineCardToUnit(i, true); } else { if (Options.TIPS){ this.GetGui().TIPS.text = "You cant combine this cards!"; }; }; }; } else { DidSomething = this.AddCardToBattle(i, true); }; } else { if (Options.TIPS){ this.GetGui().TIPS.text = "You cant spawn this card here!"; }; }; break; }; i++; }; }; if (!DidSomething){ CardMC.alpha = 1; CardMC.x = this.GetXCardPlaceonDeck(CardMC.DeckId, true); CardMC.y = 455; this.GetGui().setChildIndex(CardMC, (this.GetGui().getChildIndex(this.GetGui().getChildByName(("CardMask" + CardMC.DeckId))) - 1)); this.MovingCard = null; }; } public function Quit():void{ this.GetGui().removeEventListener(MouseEvent.MOUSE_UP, MouseUp, false); this.GetGui().removeEventListener(Event.ENTER_FRAME, Loop, false); } } }//package Battle
Section 165
//DeckIA (Battle.DeckIA) package Battle { import flash.display.*; import mx.core.*; import flash.geom.*; import DB.*; import Utilidades.*; public final class DeckIA { public static var MoveTo:Point = new Point(); public static var SpawnAt:int = -1; private static var DEBUG:Boolean = false; public function DeckIA(){ super(); } private static function DiscardWrostCard():void{ var NextReqCard:int; var OldCard:Array; var CardActual:int; var i:int; var j:int; var CardTreePower:Array = new Array(); var IdFoundCard = -1; CardTreePower[0] = 0; CardTreePower[1] = 0; CardTreePower[2] = 0; CardTreePower[3] = 0; CardTreePower[4] = 0; if (((Application.application.CombateAtual.Deck.CanDiscard) && ((Application.application.CombateAtual.Deck.GetSpIncome(false) <= 4)))){ i = 0; while (i < Application.application.CombateAtual.EnemyUnits.length) { if (Application.application.CombateAtual.EnemyUnits[i] != null){ NextReqCard = Application.application.CombateAtual.GetUnit(i, false).REQ_CARD; IdFoundCard = LookForCardOnDeck(NextReqCard); if (IdFoundCard >= 0){ CardTreePower[IdFoundCard] = (CardTreePower[IdFoundCard] + 3); }; }; i++; }; i = 0; while (i < 5) { if (Application.application.CombateAtual.Deck.EnemyDeck[i] != null){ if (CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[i].CardId).LEVEL == 5){ CardTreePower[i] = 6; } else { CardActual = Application.application.CombateAtual.Deck.EnemyDeck[i].CardId; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; while (NextReqCard >= 0) { IdFoundCard = LookForCardOnDeck(NextReqCard); if (IdFoundCard >= 0){ CardTreePower[i] = (CardTreePower[i] + 3); CardActual = CardDB.GetCardInfo(CardActual).NEXT_CARD; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; } else { break; }; }; if ((((NextReqCard >= 0)) && ((Utils.GetNullArraySize(Application.application.CombateAtual.Deck.EnemyCards) > 0)))){ while (NextReqCard >= 0) { IdFoundCard = Application.application.CombateAtual.Deck.EnemyCards.indexOf(NextReqCard); if (IdFoundCard >= 0){ CardTreePower[i] = (CardTreePower[i] + 2); CardActual = CardDB.GetCardInfo(CardActual).NEXT_CARD; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; } else { break; }; }; }; CardActual = Application.application.CombateAtual.Deck.EnemyDeck[i].CardId; OldCard = GetCartasQueEvoluiParaEsta(CardActual); while (CardDB.GetCardInfo(CardActual).LEVEL > 1) { if (DEBUG){ trace(((("Retro Deck, Card Posição: " + i) + ", OldCard: ") + OldCard)); }; j = 0; while (j < OldCard.length) { IdFoundCard = LookForCardOnDeck(OldCard[j]); if (IdFoundCard >= 0){ break; }; j++; }; if (IdFoundCard >= 0){ CardTreePower[i] = (CardTreePower[i] + 2); CardActual = OldCard[0]; OldCard = GetCartasQueEvoluiParaEsta(CardActual); } else { break; }; }; if (Utils.GetNullArraySize(Application.application.CombateAtual.Deck.EnemyCards) > 0){ while (CardDB.GetCardInfo(CardActual).LEVEL > 1) { j = 0; while (j < OldCard.length) { IdFoundCard = Application.application.CombateAtual.Deck.EnemyCards.indexOf(OldCard[j]); if (IdFoundCard >= 0){ break; }; j++; }; if (IdFoundCard >= 0){ CardTreePower[i] = (CardTreePower[i] + 2); CardActual = OldCard[0]; OldCard = GetCartasQueEvoluiParaEsta(CardActual); } else { break; }; }; }; }; }; i++; }; IdFoundCard = SearchDiscardCard(CardTreePower, 0); if (DEBUG){ trace(("IdFoundCard (Power = 0):" + IdFoundCard)); }; if ((((IdFoundCard < 0)) && ((Application.application.CombateAtual.Deck.GetSpIncome(false) <= 3)))){ IdFoundCard = SearchDiscardCard(CardTreePower, 2); }; if ((((IdFoundCard < 0)) && ((Application.application.CombateAtual.Deck.GetSpIncome(false) <= 2)))){ IdFoundCard = SearchDiscardCard(CardTreePower, 4); }; if ((((IdFoundCard < 0)) && ((Application.application.CombateAtual.Deck.GetSpIncome(false) <= 1)))){ IdFoundCard = SearchDiscardCard(CardTreePower, 6); }; if (DEBUG){ trace((("Tenta descartar carta na posição " + IdFoundCard) + " do seu deck!")); }; if (IdFoundCard >= 0){ if (DEBUG){ trace((("Inimigo descartando carta na posição " + IdFoundCard) + " do seu deck!")); }; Application.application.CombateAtual.Deck.MovingCard = Application.application.CombateAtual.Deck.EnemyDeck[IdFoundCard]; Application.application.CombateAtual.Deck.MovingCard.alpha = 0.5; Application.application.CombateAtual.Deck.SetMovingCardToTopView(); MoveTo.x = Application.application.CombateAtual.GRF_GRAFICO.JUNKE.x; MoveTo.y = Application.application.CombateAtual.GRF_GRAFICO.JUNKE.y; Application.application.CombateAtual.Deck.DeckStatus = DeckControl.DECK_E_DISCARD; } else { Application.application.CombateAtual.SetPlayerTurn(true); }; } else { Application.application.CombateAtual.SetPlayerTurn(true); }; } private static function LookForCardOnDeck(pIdCard:int):int{ var i:int; while (i < 5) { if (Application.application.CombateAtual.Deck.EnemyDeck[i] != null){ if (Application.application.CombateAtual.Deck.EnemyDeck[i].CardId == pIdCard){ return (i); }; }; i++; }; return (-1); } private static function CombineDeckToBattleCard(pDeckId:int, pBattleId:int):Boolean{ var i:int; var SpawnPlace:MovieClip; var Retorno:Boolean; if (Application.application.CombateAtual.Deck.GetSP(false) >= CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[pDeckId].CardId).SPAWN){ i = 1; while (i < 5) { (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 1; i++; }; Application.application.CombateAtual.Deck.MovingCard = Application.application.CombateAtual.Deck.EnemyDeck[pDeckId]; Application.application.CombateAtual.Deck.MovingCard.alpha = 0.5; Application.application.CombateAtual.Deck.SetMovingCardToTopView(); SpawnAt = pBattleId; SpawnPlace = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + SpawnAt)) as MovieClip).MOB_MARK; MoveTo = SpawnPlace.localToGlobal(new Point(SpawnPlace.x, SpawnPlace.y)); Application.application.CombateAtual.Deck.DeckStatus = DeckControl.DECK_E_COMBINE_DECK_CARD; Retorno = true; }; return (Retorno); } private static function getBestSpawnPlace(pDeckId:int):int{ var Range:int; var Ini:int; var Fim:int; var ValorMenorDano:int; var IdFoundCard = -1; var i:int; if (Application.application.CombateAtual.Deck.EnemyDeck[pDeckId] != null){ Range = CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[pDeckId].CardId).RANGE; Ini = 1; Fim = 5; if (Range == 1){ Fim = 3; } else { if (Range == 2){ Ini = 3; }; }; i = Ini; while (i < Fim) { if (Application.application.CombateAtual.PlayerUnits[i] != null){ if (Application.application.CombateAtual.GetUnit(i, true).RANGE == 3){ if (Application.application.CombateAtual.EnemyUnits[i] == null){ IdFoundCard = i; break; }; }; }; i++; }; if (IdFoundCard < 0){ i = Ini; while (i < Fim) { if (Application.application.CombateAtual.PlayerUnits[i] == null){ if (Application.application.CombateAtual.EnemyUnits[i] == null){ IdFoundCard = i; break; }; }; i++; }; }; ValorMenorDano = 100; if (IdFoundCard < 0){ i = Ini; while (i < Fim) { if (Application.application.CombateAtual.PlayerUnits[i] != null){ if (ValorMenorDano > Application.application.CombateAtual.GetUnit(i, true).DANO){ if (Application.application.CombateAtual.EnemyUnits[i] == null){ ValorMenorDano = Application.application.CombateAtual.GetUnit(i, true).DANO; IdFoundCard = i; }; }; }; i++; }; }; }; return (IdFoundCard); } public static function DoSomething():void{ var CardTreePower:Array; var i:int; var j:int; var NextReqCard:int; var CardActual:int; var DidSomething:Boolean; var IdFoundCard:int; var DeckId:int; var LoopLimit:int; if (Application.application.CombateAtual != null){ if (Utils.GetNullArraySize(Application.application.CombateAtual.Deck.EnemyDeck) > 0){ CardTreePower = new Array(); DidSomething = false; IdFoundCard = -1; if (Utils.GetNullArraySize(Application.application.CombateAtual.EnemyUnits) >= 1){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 0: Alguma das cartas do deck é combinavel com outra solta? Solta a de menor nivel do deck!"); }; i = 0; while (i < 5) { if (Application.application.CombateAtual.Deck.EnemyDeck[i] != null){ NextReqCard = Application.application.CombateAtual.Deck.EnemyDeck[i].CardId; j = 0; while (j < Application.application.CombateAtual.EnemyUnits.length) { if (Application.application.CombateAtual.EnemyUnits[j] != null){ if (Application.application.CombateAtual.GetUnit(j, false).REQ_CARD == NextReqCard){ DidSomething = CombineDeckToBattleCard(i, j); if (DidSomething){ //unresolved jump }; }; }; j++; }; }; i++; }; }; if (!DidSomething){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 2: Tenta soltar alguma carta lvl 5?"); }; i = 0; while (i < 5) { if (((!((Application.application.CombateAtual.Deck.EnemyDeck[i] == null))) && (HasPlaceToSpawn(i)))){ if (CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[i].CardId).LEVEL == 5){ DidSomething = SpawnDeckCard(i); break; }; }; i++; }; }; if (((!(DidSomething)) && ((Utils.GetNullArraySize(Application.application.CombateAtual.Deck.EnemyDeck) > 1)))){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 3: Existe no deck atual alguma arvore de cartas? solta mais fraca"); }; i = 0; while (i < 5) { if (((!((Application.application.CombateAtual.Deck.EnemyDeck[i] == null))) && (HasPlaceToSpawn(i)))){ CardActual = Application.application.CombateAtual.Deck.EnemyDeck[i].CardId; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; CardTreePower[i] = 0; while (NextReqCard >= 0) { IdFoundCard = LookForCardOnDeck(NextReqCard); if (IdFoundCard >= 0){ var _local10 = CardTreePower; var _local11 = i; var _local12 = (_local10[_local11] + 1); _local10[_local11] = _local12; CardActual = CardDB.GetCardInfo(CardActual).NEXT_CARD; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; } else { NextReqCard = -1; }; }; }; i++; }; if (Utils.GetPosWithHighestValue(CardTreePower, true) >= 0){ DidSomething = SpawnDeckCard(Utils.GetPosWithHighestValue(CardTreePower, true)); }; }; CardTreePower = new Array(); if (((!(DidSomething)) && ((Utils.GetNullArraySize(Application.application.CombateAtual.Deck.EnemyCards) > 0)))){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 4: Existe no baralho alguma arvore de cartas com uma do deck?"); }; i = 0; while (i < 5) { if (((!((Application.application.CombateAtual.Deck.EnemyDeck[i] == null))) && (HasPlaceToSpawn(i)))){ CardActual = Application.application.CombateAtual.Deck.EnemyDeck[i].CardId; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; CardTreePower[i] = 0; while (NextReqCard >= 0) { IdFoundCard = Application.application.CombateAtual.Deck.EnemyCards.indexOf(NextReqCard); if (IdFoundCard >= 0){ _local10 = CardTreePower; _local11 = i; _local12 = (_local10[_local11] + 1); _local10[_local11] = _local12; CardActual = CardDB.GetCardInfo(CardActual).NEXT_CARD; NextReqCard = CardDB.GetCardInfo(CardActual).REQ_CARD; } else { NextReqCard = -1; }; }; }; i++; }; if (Utils.GetPosWithHighestValue(CardTreePower, true) >= 0){ DidSomething = SpawnDeckCard(Utils.GetPosWithHighestValue(CardTreePower, true)); }; }; if (!DidSomething){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 5: Solta qualquer carta?"); }; DeckId = Math.round((Math.random() * 4)); LoopLimit = 0; while ((((Application.application.CombateAtual.Deck.EnemyDeck[DeckId] == null)) || (!(HasPlaceToSpawn(DeckId))))) { DeckId++; LoopLimit++; if (DeckId > 4){ DeckId = 0; }; if (LoopLimit == 5){ break; }; }; if (Application.application.CombateAtual.Deck.EnemyDeck[DeckId] != null){ DidSomething = SpawnDeckCard(DeckId); }; }; if (!DidSomething){ if (DEBUG){ trace("IA CARTAS INIMIGO PASSO 6: Discarta pior carta!"); }; DiscardWrostCard(); }; } else { Application.application.CombateAtual.SetPlayerTurn(true); }; }; } private static function LookForCardOnBattle(pIdCard:int):int{ var i = 1; while (i < 5) { if (Application.application.CombateAtual.EnemyUnits[i] != null){ if (Application.application.CombateAtual.GetUnit(i, false).ID == pIdCard){ return (i); }; }; i++; }; return (-1); } private static function SpawnDeckCard(pDeckId:int):Boolean{ var i:int; var SpawnPlace:MovieClip; var Retorno:Boolean; if (Application.application.CombateAtual.Deck.GetSP(false) >= CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[pDeckId].CardId).SPAWN){ SpawnAt = getBestSpawnPlace(pDeckId); if (SpawnAt >= 0){ i = 1; while (i < 5) { (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + i)) as MovieClip).Mark.alpha = 1; i++; }; Application.application.CombateAtual.Deck.MovingCard = Application.application.CombateAtual.Deck.EnemyDeck[pDeckId]; Application.application.CombateAtual.Deck.MovingCard.alpha = 0.5; Application.application.CombateAtual.Deck.SetMovingCardToTopView(); SpawnPlace = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + SpawnAt)) as MovieClip).MOB_MARK; MoveTo = SpawnPlace.localToGlobal(new Point(SpawnPlace.x, SpawnPlace.y)); Application.application.CombateAtual.Deck.DeckStatus = DeckControl.DECK_E_SPAWN_CARD; Retorno = true; }; }; return (Retorno); } private static function SearchDiscardCard(pCardTreePower:Array, pCardPower:int):int{ var Retorno = -1; var i:int; while (i < pCardTreePower.length) { if ((((((pCardTreePower[i] <= pCardPower)) && (!((Application.application.CombateAtual.Deck.EnemyDeck[i] == null))))) && (!((i == Retorno))))){ if (Retorno >= 0){ if (CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[i].CardId).LEVEL > CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[Retorno].CardId).LEVEL){ Retorno = i; }; } else { Retorno = i; }; }; i++; }; return (Retorno); } private static function GetCartasQueEvoluiParaEsta(pIdCarta:int):Array{ var j:int; var Retorno:Array = new Array(); if (CardDB.GetCardInfo(pIdCarta).LEVEL > 1){ j = 0; while (j < CardDB.Cards.length) { if (j != pIdCarta){ if (CardDB.GetCardInfo(j).NEXT_CARD == pIdCarta){ Retorno[Retorno.length] = j; }; }; j++; }; }; return (Retorno); } private static function HasPlaceToSpawn(pDeckId:int):Boolean{ var pRange:int; var Retorno:Boolean; if (Application.application.CombateAtual.Deck.EnemyDeck[pDeckId] != null){ pRange = CardDB.GetCardInfo(Application.application.CombateAtual.Deck.EnemyDeck[pDeckId].CardId).RANGE; switch (pRange){ case 1: if ((((Application.application.CombateAtual.EnemyUnits[1] == null)) || ((Application.application.CombateAtual.EnemyUnits[2] == null)))){ Retorno = true; }; break; case 2: if ((((Application.application.CombateAtual.EnemyUnits[4] == null)) || ((Application.application.CombateAtual.EnemyUnits[3] == null)))){ Retorno = true; }; break; default: Retorno = true; break; }; }; return (Retorno); } } }//package Battle
Section 166
//Effect (Battle.Effect) package Battle { import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; import flash.media.*; public class Effect { private var UNIT_PLACE_ON_BATTLE:int; private var CasterId:int; public var ARMOR_MOD:Number;// = 0 public var BUFF:Boolean; private var TurnAnimationTime:int;// = 0 private var GRF_EFFECT:MovieClip;// = null private var TurnsLeft:int; public var DMG:int;// = 0 public var LIFE_MOD:Number;// = 0 public var DANO_MOD:Number;// = 0 private var PLAYER_UNIT:Boolean; private var IdEffect:int; public var IdSpell:int; public function Effect(pIdSpell:int, pPlaceUnit:int, pPlayer:Boolean, pIdEffect:int){ super(); var TextEffect:String = ""; var SFXSound:Sound; var TextEffectColor:uint = 0xFF0000; this.IdEffect = pIdEffect; this.IdSpell = pIdSpell; this.UNIT_PLACE_ON_BATTLE = pPlaceUnit; this.PLAYER_UNIT = pPlayer; switch (SpellDB.GetSpell(this.IdSpell).TIPO){ case SpellInfo.TIPO_BURN: this.GetThisUnit().SetGlow("LARANJA"); SFXSound = Sons.SFX_BURN; TextEffect = "Burning, -1"; this.TurnsLeft = 3; this.DMG = 1; this.DANO_MOD = -2; this.GRF_EFFECT = new BurnAnimation(); this.GRF_EFFECT.alpha = 0.7; this.TurnAnimationTime = 10; this.BUFF = false; break; case SpellInfo.TIPO_DECREASE_AMOR: this.GetThisUnit().SetGlow("LARANJA"); SFXSound = Sons.SFX_DOWN; TextEffect = (("Defence Down, -" + (SpellDB.GetSpell(this.IdSpell).POTENCIA * 100)) + "%"); TextEffectColor = 0xFF0000; this.ARMOR_MOD = -(SpellDB.GetSpell(this.IdSpell).POTENCIA); this.GetThisUnit().GRF_GRAFICO.addChild(new DownAnimation()); this.TurnsLeft = 5; this.BUFF = false; break; case SpellInfo.TIPO_DECREASE_ATACK: this.GetThisUnit().SetGlow("LARANJA"); SFXSound = Sons.SFX_DOWN; TextEffect = (("Atack Down, -" + (SpellDB.GetSpell(this.IdSpell).POTENCIA * 100)) + "%"); TextEffectColor = 0xFF0000; this.DANO_MOD = -(SpellDB.GetSpell(this.IdSpell).POTENCIA); this.GetThisUnit().GRF_GRAFICO.addChild(new DownAnimation()); this.TurnsLeft = 5; this.BUFF = false; break; case SpellInfo.TIPO_POISON: this.GetThisUnit().SetGlow("VERDE"); SFXSound = Sons.SFX_POISON; TextEffect = ("Poison, -" + SpellDB.GetSpell(this.IdSpell).POTENCIA); this.TurnsLeft = 4; this.DMG = SpellDB.GetSpell(this.IdSpell).POTENCIA; this.GRF_EFFECT = new PoisonAnimation(); this.GRF_EFFECT.alpha = 0.7; this.TurnAnimationTime = 16; this.BUFF = false; break; case SpellInfo.TIPO_LIFE_BUFF: this.GetThisUnit().SetGlow("AMARELO"); SFXSound = Sons.SFX_BLESS; TextEffect = ("Life up, +" + SpellDB.GetSpell(this.IdSpell).POTENCIA); TextEffectColor = 0xFF; this.LIFE_MOD = SpellDB.GetSpell(this.IdSpell).POTENCIA; this.GetThisUnit().GRF_GRAFICO.addChild(new BlessAnimation()); this.TurnsLeft = -1; this.BUFF = true; break; case SpellInfo.TIPO_ATACK_BUFF: this.GetThisUnit().SetGlow("AZUL"); SFXSound = Sons.SFX_UP; TextEffect = ("Damage up, +" + SpellDB.GetSpell(this.IdSpell).POTENCIA); TextEffectColor = 0xFF; this.DANO_MOD = SpellDB.GetSpell(this.IdSpell).POTENCIA; this.GetThisUnit().GRF_GRAFICO.addChild(new UpAnimation()); this.TurnsLeft = -1; this.BUFF = true; break; case SpellInfo.TIPO_ATACK_UP_ON_KILL: Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.GetThisUnit().SetGlow("AZUL"); SFXSound = Sons.SFX_UP; TextEffect = "Damage up, +1"; TextEffectColor = 0xFF; this.DANO_MOD = 1; this.GetThisUnit().GRF_GRAFICO.addChild(new UpAnimation()); this.TurnsLeft = -1; this.BUFF = true; break; case SpellInfo.TIPO_DEFENCE_UP_ON_KILL: Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.GetThisUnit().SetGlow("AZUL"); SFXSound = Sons.SFX_UP; TextEffect = "Defense up, +1"; TextEffectColor = 0xFF; this.ARMOR_MOD = 1; this.GetThisUnit().GRF_GRAFICO.addChild(new UpAnimation()); this.TurnsLeft = -1; this.BUFF = true; break; case SpellInfo.TIPO_DEFENCE_BUFF: this.GetThisUnit().SetGlow("AZUL"); SFXSound = Sons.SFX_UP; TextEffect = ("Defence up, +" + SpellDB.GetSpell(this.IdSpell).POTENCIA); TextEffectColor = 0xFF; this.ARMOR_MOD = SpellDB.GetSpell(this.IdSpell).POTENCIA; this.GetThisUnit().GRF_GRAFICO.addChild(new UpAnimation()); this.TurnsLeft = -1; this.BUFF = true; break; case SpellInfo.TIPO_LAST_STAND: this.GetThisUnit().SetGlow("AZUL"); SFXSound = Sons.SFX_UP; TextEffect = ("Defence up, +" + SpellDB.GetSpell(this.IdSpell).POTENCIA); TextEffectColor = 0xFF; this.ARMOR_MOD = SpellDB.GetSpell(this.IdSpell).POTENCIA; this.GetThisUnit().GRF_GRAFICO.addChild(new UpAnimation()); this.TurnsLeft = -1; Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.BUFF = true; break; }; if (SFXSound != null){ SFXSound.play(); }; if (this.GRF_EFFECT != null){ this.GetThisUnit().GRF_GRAFICO.addChild(this.GRF_EFFECT); }; if (TextEffect != ""){ Application.application.CombateAtual.GetUnit(this.UNIT_PLACE_ON_BATTLE, this.PLAYER_UNIT).ShowMensage(TextEffect, 0xFF0000); }; if (this.TurnAnimationTime > 0){ Application.application.CombateAtual.IAUnit.WaitForEffectAnimation(this.TurnAnimationTime); }; } private function GetThisUnit():Unit{ return (Application.application.CombateAtual.GetUnit(this.UNIT_PLACE_ON_BATTLE, this.PLAYER_UNIT)); } public function Quit():void{ if (this.GRF_EFFECT != null){ this.GetThisUnit().GRF_GRAFICO.removeChild(this.GRF_EFFECT); //unresolved jump var _slot1 = E; }; this.GetThisUnit().Effects[this.IdEffect] = null; this.GetThisUnit().SetGUIStats(); } public function EffectTurn():void{ Application.application.CombateAtual.IAUnit.WaitForEffectAnimation(this.TurnAnimationTime); if (this.TurnsLeft > 0){ switch (SpellDB.GetSpell(this.IdSpell).TIPO){ case SpellInfo.TIPO_BURN: if (Options.SFX){ Sons.SFX_BURN.play(); }; break; case SpellInfo.TIPO_POISON: this.GRF_EFFECT.gotoAndPlay(1); if (Options.SFX){ Sons.SFX_POISON.play(); }; break; }; if (this.DMG > 0){ this.GetThisUnit().ChangeHP(-(this.DMG), true, false); }; this.TurnsLeft--; } else { if (this.TurnsLeft == 0){ this.Quit(); }; }; } } }//package Battle
Section 167
//Spells (Battle.Spells) package Battle { import mx.core.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; import flash.media.*; public final class Spells { public function Spells(){ super(); } public static function TryToRevide(pUnit:Unit, pRevideTo:Unit):void{ var SpellId:int = pUnit.HasSpellByTipo(SpellInfo.TIPO_REVIDE); if (SpellId > -1){ pUnit.Atack(pRevideTo.PLACE_ON_BATTLE, SpellDB.GetSpell(SpellId).POTENCIA, true); }; } public static function CastSpell(pUnit:Unit, pNoSpell:int):void{ var pIdSpell:int; var Chance:Number; var Target:int; var IdEffect:int; var WaitingTime:int; var j:int; var AllyVetor:Array; var EnemyVetor:Array; if (pUnit != null){ if (pNoSpell == 1){ pIdSpell = pUnit.SPELL_1; } else { pIdSpell = pUnit.SPELL_2; }; if (pIdSpell >= 0){ WaitingTime = 0; if (pUnit.PLAYER_UNIT){ AllyVetor = Application.application.CombateAtual.PlayerUnits; EnemyVetor = Application.application.CombateAtual.EnemyUnits; } else { AllyVetor = Application.application.CombateAtual.EnemyUnits; EnemyVetor = Application.application.CombateAtual.PlayerUnits; }; switch (SpellDB.GetSpell(pIdSpell).TIPO){ case SpellInfo.TIPO_REMOVE_ALL_DEBUFS: Target = GetTargetWithMoreDebuffs(pUnit.PLAYER_UNIT); if (Target > 0){ WaitingTime = 16; SpellAnimation(pIdSpell, Target, pUnit.PLAYER_UNIT); j = 0; while (j < Application.application.CombateAtual.GetUnit(Target, pUnit.PLAYER_UNIT).Effects.length) { if (Application.application.CombateAtual.GetUnit(Target, pUnit.PLAYER_UNIT).Effects[j] != null){ if (Application.application.CombateAtual.GetUnit(Target, pUnit.PLAYER_UNIT).Effects[j].BUFF == false){ Application.application.CombateAtual.GetUnit(Target, pUnit.PLAYER_UNIT).Effects[j].Quit(); }; }; j++; }; }; break; case SpellInfo.TIPO_HEAL: Target = GetTargetWithLessHP(pUnit.PLAYER_UNIT, false, -1); if (Target > 0){ WaitingTime = 16; AllyVetor[Target].SetGlow("AMARELO"); SpellAnimation(pIdSpell, Target, pUnit.PLAYER_UNIT); AllyVetor[Target].ChangeHP(SpellDB.GetSpell(pIdSpell).POTENCIA, true, false); }; break; case SpellInfo.TIPO_THUNDERSOTM: if (Utils.GetNullArraySize(EnemyVetor) > 0){ WaitingTime = 16; j = 0; while (j < EnemyVetor.length) { if (EnemyVetor[j] != null){ SpellAnimation(pIdSpell, j, !(pUnit.PLAYER_UNIT)); EnemyVetor[j].SetGlow("AMARELO"); EnemyVetor[j].ChangeHP(-(SpellDB.GetSpell(pIdSpell).POTENCIA), true, false); }; j++; }; }; break; case SpellInfo.TIPO_EXPLOSION: if (Utils.GetNullArraySize(EnemyVetor) > 0){ WaitingTime = 16; j = 0; while (j < EnemyVetor.length) { if (EnemyVetor[j] != null){ SpellAnimation(pIdSpell, j, !(pUnit.PLAYER_UNIT)); EnemyVetor[j].SetGlow("LARANJA"); EnemyVetor[j].ChangeHP(-(SpellDB.GetSpell(pIdSpell).POTENCIA), true, false); if (((!((EnemyVetor[j] == null))) && ((Math.random() <= 0.2)))){ if (EnemyVetor[j].HasSpellByTipo(SpellInfo.TIPO_IMUNE_BURN) == -1){ if (EnemyVetor[j].FindEffect(pIdSpell) == -1){ IdEffect = Utils.GetFirstNullPos(EnemyVetor[j].Effects, 0); EnemyVetor[j].Effects[IdEffect] = new Effect(SpellDB.SPELL_BURN_1, j, !(pUnit.PLAYER_UNIT), IdEffect); EnemyVetor[j].SetGUIStats(); }; }; }; }; j++; }; }; break; case SpellInfo.TIPO_HEAL_ALL: WaitingTime = 16; j = 0; while (j < AllyVetor.length) { if (((!((AllyVetor[j] == null))) && ((int(AllyVetor[j].GRF_GUI.HP.text) < AllyVetor[j].GetMaxLife())))){ SpellAnimation(pIdSpell, j, pUnit.PLAYER_UNIT); AllyVetor[j].SetGlow("AMARELO"); AllyVetor[j].ChangeHP(SpellDB.GetSpell(pIdSpell).POTENCIA, true, false); }; j++; }; break; case SpellInfo.TIPO_DECREASE_AMOR: Target = GetTargetWithMoreArmor(!(pUnit.PLAYER_UNIT), -1, pIdSpell); if (Target > 0){ WaitingTime = 10; IdEffect = Utils.GetFirstNullPos(EnemyVetor[Target].Effects, 0); EnemyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, !(pUnit.PLAYER_UNIT), IdEffect); EnemyVetor[Target].SetGUIStats(); }; break; case SpellInfo.TIPO_DECREASE_ATACK: Target = GetTargetWithMoreDamage(!(pUnit.PLAYER_UNIT), -1, pIdSpell); if (Target > 0){ WaitingTime = 10; IdEffect = Utils.GetFirstNullPos(EnemyVetor[Target].Effects, 0); EnemyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, !(pUnit.PLAYER_UNIT), IdEffect); EnemyVetor[Target].SetGUIStats(); }; break; case SpellInfo.TIPO_LIFE_BUFF: Target = GetTargetWithLessHP(pUnit.PLAYER_UNIT, true, pIdSpell); if (Target > 0){ WaitingTime = 10; IdEffect = Utils.GetFirstNullPos(AllyVetor[Target].Effects, 0); AllyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, pUnit.PLAYER_UNIT, IdEffect); AllyVetor[Target].ChangeHP(SpellDB.GetSpell(pIdSpell).POTENCIA, true, false); }; break; case SpellInfo.TIPO_POISON: Target = GetTargetWithMoreHp(pUnit, !(pUnit.PLAYER_UNIT), pIdSpell, false); if (Target > 0){ WaitingTime = 14; IdEffect = Utils.GetFirstNullPos(Application.application.CombateAtual.GetUnit(Target, !(pUnit.PLAYER_UNIT)).Effects, 0); Application.application.CombateAtual.GetUnit(Target, !(pUnit.PLAYER_UNIT)).Effects[IdEffect] = new Effect(pIdSpell, Target, !(pUnit.PLAYER_UNIT), IdEffect); }; break; case SpellInfo.TIPO_BURN: Target = GetTargetWithMoreHp(pUnit, !(pUnit.PLAYER_UNIT), pIdSpell, false); if (Target > 0){ Chance = Math.random(); if (Chance <= SpellDB.GetSpell(pIdSpell).POTENCIA){ WaitingTime = 14; IdEffect = Utils.GetFirstNullPos(Application.application.CombateAtual.GetUnit(Target, !(pUnit.PLAYER_UNIT)).Effects, 0); EnemyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, !(pUnit.PLAYER_UNIT), IdEffect); EnemyVetor[Target].SetGUIStats(); } else { pUnit.ShowMensage((SpellDB.GetSpell(pIdSpell).NOME + " failed!"), 0xFF0000); }; }; break; case SpellInfo.TIPO_ATACK_BUFF: Target = GetTargetWithLessDamage(pUnit.PLAYER_UNIT, -1, pIdSpell); if (Target > 0){ WaitingTime = 10; IdEffect = Utils.GetFirstNullPos(AllyVetor[Target].Effects, 0); AllyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, pUnit.PLAYER_UNIT, IdEffect); AllyVetor[Target].SetGUIStats(); }; break; case SpellInfo.TIPO_DEFENCE_BUFF: Target = GetTargetWithLessArmor(pUnit.PLAYER_UNIT, -1, pIdSpell); if (Target > 0){ WaitingTime = 10; IdEffect = Utils.GetFirstNullPos(AllyVetor[Target].Effects, 0); AllyVetor[Target].Effects[IdEffect] = new Effect(pIdSpell, Target, pUnit.PLAYER_UNIT, IdEffect); AllyVetor[Target].SetGUIStats(); }; break; case SpellInfo.TIPO_DRAIN_LIFE: Target = GetTargetWithMoreHp(pUnit, !(pUnit.PLAYER_UNIT), pIdSpell, true); if (Target > 0){ WaitingTime = 16; SpellAnimation(pIdSpell, Target, !(pUnit.PLAYER_UNIT)); EnemyVetor[Target].ChangeHP(-(SpellDB.GetSpell(pIdSpell).POTENCIA), true, false); pUnit.ChangeHP(SpellDB.GetSpell(pIdSpell).POTENCIA, true, false); }; break; default: trace("ERRO: NO SPELL"); Application.application.CombateAtual.IAUnit.STATUS = UnitIA.STATUS_ATACK_BACK; }; if (Application.application.CombateAtual.GetUnit(Target, !(pUnit.PLAYER_UNIT)) != null){ Application.application.CombateAtual.GetUnit(Target, !(pUnit.PLAYER_UNIT)).SetGUIStats(); }; Application.application.CombateAtual.IAUnit.WaitForSpellAnimation(WaitingTime); }; }; } private static function GetTargetWithMoreHp(pAgressor:Unit, pPlayer:Boolean, pIdSpell:int, SpellStack:Boolean):int{ var Ini = 1; var Fim = 5; var IdPlace = -1; var Valor:int; var pTipoSpell:int = SpellDB.GetSpell(pIdSpell).TIPO; if (((!((pAgressor == null))) && ((((pAgressor.RANGE == 1)) || ((pAgressor.RANGE == 2)))))){ Ini = pAgressor.PLACE_ON_BATTLE; Fim = (pAgressor.PLACE_ON_BATTLE + 1); }; var i:int = Ini; while (i < Fim) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if (int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.HP.text) > Valor){ if (!TestImunity(pTipoSpell, i, pPlayer)){ if (((SpellStack) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pIdSpell) < 0)))){ Valor = int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.HP.text); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } public static function TryToCastLastStand(pUnit:Unit):void{ var pIdEffect:int; var SpellId:int = pUnit.HasSpellByTipo(SpellInfo.TIPO_LAST_STAND); if (SpellId > -1){ if (pUnit.FindEffect(SpellId) < 0){ pIdEffect = Utils.GetFirstNullPos(pUnit.Effects, 0); pUnit.Effects[pIdEffect] = new Effect(SpellId, pUnit.PLACE_ON_BATTLE, pUnit.PLAYER_UNIT, pIdEffect); pUnit.SetGUIStats(); }; }; } private static function GetTargetWithMoreArmor(pPlayer:Boolean, pIgnoreId:int, pSpellIdIgnoreIfHave:int):int{ var IdPlace = -1; var Valor:int; var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if (int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.ARMOR.text) > Valor){ if ((((pIgnoreId == -1)) || (!((pIgnoreId == i))))){ if ((((pSpellIdIgnoreIfHave == -1)) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pSpellIdIgnoreIfHave) == -1)))){ Valor = int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.ARMOR.text); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } private static function GetTargetWithLessHP(pPlayer:Boolean, pIgnoreFullLife:Boolean, pSpellIdIgnoreIfHave:int):int{ var IdPlace = -1; var Valor = -1; var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if ((Application.application.CombateAtual.GetUnit(i, pPlayer).GetMaxLife() - int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.HP.text)) > Valor){ if (((pIgnoreFullLife) || (((Application.application.CombateAtual.GetUnit(i, pPlayer).GetMaxLife() - int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.HP.text)) > 0)))){ if ((((pSpellIdIgnoreIfHave == -1)) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pSpellIdIgnoreIfHave) == -1)))){ Valor = (Application.application.CombateAtual.GetUnit(i, pPlayer).GetMaxLife() - int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.HP.text)); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } private static function GetTargetWithMoreDamage(pPlayer:Boolean, pIgnoreId:int, pSpellIdIgnoreIfHave:int):int{ var IdPlace = -1; var Valor:int; var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if (int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.DANO.text) > Valor){ if ((((pIgnoreId == -1)) || (!((pIgnoreId == i))))){ if ((((pSpellIdIgnoreIfHave == -1)) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pSpellIdIgnoreIfHave) == -1)))){ Valor = int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.DANO.text); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } public static function TryToRevive(pUnit:Unit):Boolean{ var UnitArray:Array; var ReviveId:int; var Retorno:Boolean; if (pUnit.PLAYER_UNIT){ UnitArray = Application.application.CombateAtual.PlayerUnits; } else { UnitArray = Application.application.CombateAtual.EnemyUnits; }; var i = 1; while (i < UnitArray.length) { if (UnitArray[i] != null){ ReviveId = UnitArray[i].HasSpellByTipo(SpellInfo.TIPO_REVIVE); if (ReviveId > -1){ break; }; }; i++; }; if (ReviveId > -1){ if (Math.random() <= 0.5){ SpellAnimation(ReviveId, pUnit.PLACE_ON_BATTLE, pUnit.PLAYER_UNIT); UnitArray[i].ShowMensage("Revive", 0xFF00); Retorno = true; }; }; return (Retorno); } private static function GetTargetWithLessDamage(pPlayer:Boolean, pIgnoreId:int, pSpellIdIgnoreIfHave:int):int{ var IdPlace = -1; var Valor = 100; var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if (int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.DANO.text) < Valor){ if ((((pIgnoreId == -1)) || (!((pIgnoreId == i))))){ if ((((pSpellIdIgnoreIfHave == -1)) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pSpellIdIgnoreIfHave) == -1)))){ Valor = int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.DANO.text); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } private static function GetTargetWithLessArmor(pPlayer:Boolean, pIgnoreId:int, pSpellIdIgnoreIfHave:int):int{ var IdPlace = -1; var Valor = 100; var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ if (int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.ARMOR.text) < Valor){ if ((((pIgnoreId == -1)) || (!((pIgnoreId == i))))){ if ((((pSpellIdIgnoreIfHave == -1)) || ((Application.application.CombateAtual.GetUnit(i, pPlayer).FindEffect(pSpellIdIgnoreIfHave) == -1)))){ Valor = int(Application.application.CombateAtual.GetUnit(i, pPlayer).GRF_GUI.ARMOR.text); IdPlace = i; }; }; }; }; i++; }; return (IdPlace); } private static function SpellAnimation(pIdSpell:int, pTarget:int, pPlayer:Boolean):void{ var GRF_SPELL:Class; var SFX_Sound:Sound; switch (SpellDB.GetSpell(pIdSpell).TIPO){ case SpellInfo.TIPO_REMOVE_ALL_DEBUFS: SFX_Sound = Sons.SFX_CURE; GRF_SPELL = CureAnimation; break; case SpellInfo.TIPO_HEAL: SFX_Sound = Sons.SFX_CURE; GRF_SPELL = CureAnimation; break; case SpellInfo.TIPO_HEAL_ALL: SFX_Sound = Sons.SFX_CURE; GRF_SPELL = CureAnimation; break; case SpellInfo.TIPO_REVIVE: SFX_Sound = Sons.SFX_REVIVE; GRF_SPELL = ReviveAnimation; break; case SpellInfo.TIPO_THUNDERSOTM: SFX_Sound = Sons.SFX_THUNDERSTORM; GRF_SPELL = ThunderAnimation; break; case SpellInfo.TIPO_EXPLOSION: SFX_Sound = Sons.SFX_EXPLOSION; GRF_SPELL = ExplosionAnimation; break; case SpellInfo.TIPO_DRAIN_LIFE: SFX_Sound = Sons.SFX_DRAIN_LIFE; GRF_SPELL = DrainLifeAnimation; break; }; if (((Options.SFX) && (!((SFX_Sound == null))))){ SFX_Sound.play(); }; if (GRF_SPELL != null){ Application.application.CombateAtual.GetUnit(pTarget, pPlayer).GRF_GRAFICO.addChild(new (GRF_SPELL)); }; } private static function GetTargetWithMoreDebuffs(pPlayer:Boolean):int{ var j:int; var IdPlace = -1; var DebuffsArray:Array = new Array(); var i = 1; while (i < 5) { DebuffsArray[i] = 0; if (Application.application.CombateAtual.GetUnit(i, pPlayer) != null){ j = 0; while (j < Application.application.CombateAtual.GetUnit(i, pPlayer).Effects.length) { if (Application.application.CombateAtual.GetUnit(i, pPlayer).Effects[j] != null){ if (Application.application.CombateAtual.GetUnit(i, pPlayer).Effects[j].BUFF == false){ DebuffsArray[i] = (DebuffsArray[i] + 1); }; }; j++; }; }; i++; }; IdPlace = Utils.GetPosWithHighestValue(DebuffsArray, true); return (IdPlace); } public static function TryToRegenerate(pUnit:Unit):void{ if (pUnit.HasSpellByTipo(SpellInfo.TIPO_REGENERATION) > -1){ pUnit.ChangeHP(1, true, false); }; } private static function TestImunity(pTipoSpell:int, pDeckId:int, pPlayer:Boolean):Boolean{ var ImunitSpellId = -1; var Retorno:Boolean; switch (pTipoSpell){ case SpellInfo.TIPO_BURN: ImunitSpellId = SpellDB.SPELL_BURN_IMUNITY; break; case SpellInfo.TIPO_POISON: ImunitSpellId = SpellDB.SPELL_POISON_IMUNITY; break; }; if (ImunitSpellId >= 0){ if ((((Application.application.CombateAtual.GetUnit(pDeckId, pPlayer).SPELL_2 == ImunitSpellId)) || ((Application.application.CombateAtual.GetUnit(pDeckId, pPlayer).SPELL_1 == ImunitSpellId)))){ Retorno = true; }; }; return (Retorno); } } }//package Battle
Section 168
//Unit (Battle.Unit) package Battle { import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; import Som.*; public class Unit { public var PLACE_ON_BATTLE:int; public var SPELL_1:int; public var Effects:Array; private var GRF_ATACK:Class; private var MAX_LIFE:int; public var ID:int; private var NEXT_CARD:int; public var RANGE:int; public var GRF_GUI:UnitGUI; public var ARMOR:int; public var GRF_GRAFICO:MovieClip; public var LEVEL:int; public var PLAYER_UNIT:Boolean; public var REQ_CARD:int; public var SCORE:int;// = 0 public var SPELL_2:int; public var DANO:int; public function Unit(pIdCarta:int, pIdPlace:int, pPlayer:Boolean){ var PlaceToSpawn:MovieClip; Effects = new Array(); super(); this.ID = pIdCarta; this.REQ_CARD = CardDB.GetCardInfo(this.ID).REQ_CARD; this.LEVEL = CardDB.GetCardInfo(this.ID).LEVEL; this.ARMOR = CardDB.GetCardInfo(this.ID).DEF; this.DANO = CardDB.GetCardInfo(this.ID).DANO; this.MAX_LIFE = CardDB.GetCardInfo(this.ID).VIDA; this.RANGE = CardDB.GetCardInfo(this.ID).RANGE; this.NEXT_CARD = CardDB.GetCardInfo(this.ID).NEXT_CARD; this.GRF_ATACK = CardDB.GetCardInfo(this.ID).ATACK; this.SCORE = CardDB.GetCardInfo(this.ID).SPAWN; this.SPELL_1 = CardDB.GetCardInfo(this.ID).SPELL_1; this.SPELL_2 = CardDB.GetCardInfo(this.ID).SPELL_2; this.PLAYER_UNIT = pPlayer; this.PLACE_ON_BATTLE = pIdPlace; if (pPlayer){ Application.application.CombateAtual.PlayerUnits[this.PLACE_ON_BATTLE] = this; PlaceToSpawn = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); } else { Application.application.CombateAtual.EnemyUnits[this.PLACE_ON_BATTLE] = this; PlaceToSpawn = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); }; var AuxImgClass:Class = CardDB.GetCardInfo(this.ID).GRF; this.GRF_GRAFICO = new (AuxImgClass); this.GRF_GUI = new UnitGUI(); if (!this.PLAYER_UNIT){ this.GRF_GUI.scaleX = (this.GRF_GUI.scaleX * -1); }; this.GRF_GUI.HP.text = this.MAX_LIFE.toString(); this.PositionGUI(); this.SetGUIStats(); this.GRF_GRAFICO.addChild(this.GRF_GUI); this.SetGlow("NORMAL"); PlaceToSpawn.MOB_MARK.addChild(this.GRF_GRAFICO); } private function ShowAtackAnimation(pTargetUnit:Unit, pDMG_MOD:Number):void{ var DANO:MSG_DMG; var GUI_LIFE:int; var Atack:MovieClip = new this.GRF_ATACK(); var DMG:int = (int(this.GRF_GUI.DANO.text) * pDMG_MOD); Application.application.CombateAtual.IAUnit.WaitForAtackAnimation(10); this.PlayAtackSound(); if (pTargetUnit == null){ Atack.width = (Atack.width * 2); Atack.height = (Atack.height * 2); DANO = new MSG_DMG(); DANO.width = (DANO.width * 2); DANO.height = (DANO.height * 2); DANO.TEXTO.text = ("-" + DMG.toString()); if (this.PLAYER_UNIT){ DANO.y = 80; DANO.x = 648; Atack.y = 80; Atack.x = 648; GUI_LIFE = (int(Application.application.CombateAtual.GRF_GRAFICO.ENEMY_LIFE.text) - DMG); Application.application.CombateAtual.GRF_GRAFICO.ENEMY_LIFE.text = GUI_LIFE; Application.application.CombateAtual.GRF_GRAFICO.ENEMY_HEART.LIFE.height = ((int(Application.application.CombateAtual.GRF_GRAFICO.ENEMY_LIFE.text) / Application.application.CombateAtual.EnemyMaxLife) * 63.4); } else { DANO.y = 470; DANO.x = 49; Atack.y = 470; Atack.x = 49; GUI_LIFE = (int(Application.application.CombateAtual.GRF_GRAFICO.PLAYER_LIFE.text) - DMG); Application.application.CombateAtual.GRF_GRAFICO.PLAYER_LIFE.text = GUI_LIFE; Application.application.CombateAtual.GRF_GRAFICO.PLAYER_HEART.LIFE.height = ((int(Application.application.CombateAtual.GRF_GRAFICO.PLAYER_LIFE.text) / Application.application.CombateAtual.PlayerMaxLife) * 63.4); }; Application.application.CombateAtual.GRF_GRAFICO.addChild(Atack); Application.application.CombateAtual.GRF_GRAFICO.addChild(DANO); if (GUI_LIFE <= 0){ if (this.PLAYER_UNIT){ Application.application.CombateAtual.VITORIA(); } else { Application.application.CombateAtual.DERROTA(); }; }; } else { pTargetUnit.SetGlow("VERMELHO"); pTargetUnit.GRF_GRAFICO.addChild(Atack); pTargetUnit.ChangeHP(-(DMG), false, true); Spells.TryToRevide(pTargetUnit, this); }; } public function SetGUIStats():void{ var DANO:int = this.DANO; var ARMOR:int = this.ARMOR; var DANO_PORC_MOD:Number = 1; var ARMOR_PORC_MOD:Number = 1; var i:int; while (i < this.Effects.length) { if (this.Effects[i] != null){ if ((((SpellDB.GetSpell(this.Effects[i].IdSpell).TIPO == SpellInfo.TIPO_DECREASE_AMOR)) || ((SpellDB.GetSpell(this.Effects[i].IdSpell).TIPO == SpellInfo.TIPO_DECREASE_ATACK)))){ DANO_PORC_MOD = (DANO_PORC_MOD + this.Effects[i].DANO_MOD); ARMOR_PORC_MOD = (ARMOR_PORC_MOD + this.Effects[i].ARMOR_MOD); } else { DANO = (DANO + this.Effects[i].DANO_MOD); ARMOR = (ARMOR + this.Effects[i].ARMOR_MOD); }; }; i++; }; DANO = (DANO * DANO_PORC_MOD); ARMOR = (ARMOR * ARMOR_PORC_MOD); if (DANO < 0){ DANO = 0; }; if (ARMOR < 0){ ARMOR = 0; }; if (DANO < this.DANO){ this.GRF_GUI.DANO.textColor = 0xFF0000; } else { if (DANO > this.DANO){ this.GRF_GUI.DANO.textColor = 0xFF00; } else { this.GRF_GUI.DANO.textColor = 0xFFFFFF; }; }; if (ARMOR < this.ARMOR){ this.GRF_GUI.ARMOR.textColor = 0xFF0000; } else { if (ARMOR > this.ARMOR){ this.GRF_GUI.ARMOR.textColor = 0xFF00; } else { this.GRF_GUI.ARMOR.textColor = 0xFFFFFF; }; }; this.GRF_GUI.ARMOR.text = ARMOR.toString(); this.GRF_GUI.DANO.text = DANO.toString(); } public function FindEffect(pIdSpell:int):int{ var IdEffect = -1; var i:int; while (i < this.Effects.length) { if (this.Effects[i] != null){ if (this.Effects[i].IdSpell == pIdSpell){ IdEffect = i; break; }; }; i++; }; return (IdEffect); } public function CombineWithCard(pCardId:int):void{ var PlaceToSpawn:MovieClip; this.ID = this.NEXT_CARD; this.ARMOR = ((this.ARMOR + CardDB.GetCardInfo(this.ID).DEF) * 1.2); this.DANO = ((this.DANO + CardDB.GetCardInfo(this.ID).DANO) * 1.2); this.MAX_LIFE = ((this.MAX_LIFE + CardDB.GetCardInfo(this.ID).VIDA) * 1.2); this.GRF_GUI.HP.text = int(((int(this.GRF_GUI.HP.text) + CardDB.GetCardInfo(this.ID).VIDA) * 1.2)).toString(); this.SCORE = (this.SCORE + CardDB.GetCardInfo(this.ID).SPAWN); this.NEXT_CARD = CardDB.GetCardInfo(this.ID).NEXT_CARD; this.REQ_CARD = CardDB.GetCardInfo(this.ID).REQ_CARD; this.LEVEL = CardDB.GetCardInfo(this.ID).LEVEL; this.GRF_ATACK = CardDB.GetCardInfo(this.ID).ATACK; this.SPELL_1 = CardDB.GetCardInfo(this.ID).SPELL_1; this.SPELL_2 = CardDB.GetCardInfo(this.ID).SPELL_2; if (this.PLAYER_UNIT){ PlaceToSpawn = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); } else { PlaceToSpawn = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); PlayerDB.AddCardToVistas(this.ID); }; var AuxImgClass:Class = CardDB.GetCardInfo(this.ID).GRF; PlaceToSpawn.MOB_MARK.removeChild(this.GRF_GRAFICO); this.GRF_GRAFICO = new (AuxImgClass); this.PositionGUI(); this.SetGUIStats(); this.GRF_GRAFICO.addChild(this.GRF_GUI); PlaceToSpawn.MOB_MARK.addChild(this.GRF_GRAFICO); } public function SetGlow(pGlow:String):void{ var Place:MovieClip; if (this.PLAYER_UNIT){ Place = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); } else { Place = (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip); }; Place.gotoAndStop(pGlow); } public function Atack(pTarget:int, DMG_MOD:Number, Revide:Boolean):void{ var SmallValor:int; var SmallPosition:int; var EnemyArray:Array; var i:int; var DANO:int; var Alvo:Unit; var SpellId:int = this.HasSpellByTipo(SpellInfo.TIPO_CRITICAL_HIT_CHANCE); var IdEffect = -1; if (SpellId >= 0){ if (Math.random() <= SpellDB.GetSpell(SpellId).POTENCIA){ DMG_MOD = (DMG_MOD * 2); this.ShowMensage("Critical Hit", 0xFF00); }; }; if (!Revide){ if ((((this.RANGE == 1)) || ((this.RANGE == 2)))){ if (this.PLAYER_UNIT){ Alvo = Application.application.CombateAtual.EnemyUnits[this.PLACE_ON_BATTLE]; } else { Alvo = Application.application.CombateAtual.PlayerUnits[this.PLACE_ON_BATTLE]; }; } else { SmallValor = 500; SmallPosition = -1; EnemyArray = new Array(); if (this.PLAYER_UNIT){ EnemyArray = Application.application.CombateAtual.EnemyUnits; } else { EnemyArray = Application.application.CombateAtual.PlayerUnits; }; i = 1; while (i < EnemyArray.length) { if (EnemyArray[i] != null){ if (int(EnemyArray[i].GRF_GUI.ARMOR.text) < SmallValor){ SmallValor = int(EnemyArray[i].GRF_GUI.ARMOR.text); SmallPosition = i; }; }; i++; }; if (SmallPosition > 0){ Alvo = EnemyArray[SmallPosition]; } else { Alvo = null; }; }; SpellId = this.HasSpellByTipo(SpellInfo.TIPO_ATACK_UP_ON_KILL); if (SpellId >= 0){ if (Math.random() <= SpellDB.GetSpell(SpellId).POTENCIA){ IdEffect = this.FindEffect(SpellId); if (IdEffect >= 0){ if (this.Effects[IdEffect].DANO_MOD < 7){ this.Effects[IdEffect].DANO_MOD = (this.Effects[IdEffect].DANO_MOD + 1); this.GRF_GRAFICO.addChild(new UpAnimation()); this.SetGlow("AZUL"); Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.ShowMensage("Damage up, +1", 0xFF); Sons.SFX_UP.play(); }; } else { IdEffect = Utils.GetFirstNullPos(this.Effects, 0); this.Effects[IdEffect] = new Effect(SpellId, this.PLACE_ON_BATTLE, this.PLAYER_UNIT, IdEffect); }; this.SetGUIStats(); }; }; SpellId = this.HasSpellByTipo(SpellInfo.TIPO_DEFENCE_UP_ON_KILL); if (SpellId >= 0){ if (Math.random() <= SpellDB.GetSpell(SpellId).POTENCIA){ IdEffect = this.FindEffect(SpellId); if (IdEffect >= 0){ if (this.Effects[IdEffect].ARMOR_MOD < 5){ this.Effects[IdEffect].ARMOR_MOD = (this.Effects[IdEffect].ARMOR_MOD + 1); this.GRF_GRAFICO.addChild(new UpAnimation()); Sons.SFX_UP.play(); this.SetGlow("AZUL"); Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.ShowMensage("Defense up, +1", 0xFF); }; } else { IdEffect = Utils.GetFirstNullPos(this.Effects, 0); this.Effects[IdEffect] = new Effect(SpellId, this.PLACE_ON_BATTLE, this.PLAYER_UNIT, IdEffect); }; this.SetGUIStats(); }; }; this.ShowAtackAnimation(Alvo, DMG_MOD); } else { if ((((((this.RANGE == 1)) || ((this.RANGE == 2)))) && ((this.PLACE_ON_BATTLE == pTarget)))){ if (this.PLAYER_UNIT){ Alvo = Application.application.CombateAtual.EnemyUnits[this.PLACE_ON_BATTLE]; } else { Alvo = Application.application.CombateAtual.PlayerUnits[this.PLACE_ON_BATTLE]; }; } else { if (this.RANGE == 3){ Alvo = Application.application.CombateAtual.PlayerUnits[pTarget]; }; }; if (Alvo != null){ Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX = (Application.application.CombateAtual.IAUnit.FRAME_COUNT_MAX + 10); this.PlayAtackSound(); Alvo.SetGlow("VERMELHO"); Alvo.GRF_GRAFICO.addChild(new this.GRF_ATACK()); DANO = (int(this.GRF_GUI.DANO.text) * DMG_MOD); if (DANO <= 0){ DANO = 1; }; Alvo.ChangeHP(-(DANO), false, true); }; }; } public function ChangeHP(pValor:int, IgnoreArmor:Boolean, pCanAvoid:Boolean):Boolean{ var Vivo:Boolean; var SpellId:int; var IdEffect:int; var Retorno:Boolean; var EvadeSpellId:int = this.HasSpellByTipo(SpellInfo.TIPO_EVADE_CHANCE); if (((pCanAvoid) && ((EvadeSpellId >= 0)))){ if (Math.random() > SpellDB.GetSpell(EvadeSpellId).POTENCIA){ pCanAvoid = false; }; } else { pCanAvoid = false; }; if (!pCanAvoid){ if (((!(IgnoreArmor)) && ((pValor < 0)))){ pValor = (pValor + int(this.GRF_GUI.ARMOR.text)); if (pValor >= 0){ pValor = -1; }; }; this.GRF_GUI.HP.text = (int(this.GRF_GUI.HP.text) + pValor).toString(); if (int(this.GRF_GUI.HP.text) <= 0){ Vivo = Spells.TryToRevive(this); } else { Vivo = true; }; if (Vivo){ if (int(this.GRF_GUI.HP.text) <= 0){ this.GRF_GUI.HP.text = "1"; }; if (int(this.GRF_GUI.HP.text) > this.GetMaxLife()){ this.GRF_GUI.HP.text = this.GetMaxLife().toString(); }; if (int(this.GRF_GUI.HP.text) < this.MAX_LIFE){ this.GRF_GUI.HP.textColor = 0xFF0000; } else { if (int(this.GRF_GUI.HP.text) > this.MAX_LIFE){ this.GRF_GUI.HP.textColor = 0xFF00; } else { this.GRF_GUI.HP.textColor = 0xFFFFFF; }; }; if (pValor < 0){ this.ShowMensage(("-" + pValor.toString()), 0xFF0000); } else { this.ShowMensage(("+" + pValor.toString()), 0xFF00); }; if (int(this.GRF_GUI.HP.text) > (this.GetMaxLife() / 2)){ SpellId = this.HasSpellByTipo(SpellInfo.TIPO_LAST_STAND); if (SpellId > -1){ IdEffect = this.FindEffect(SpellId); if (IdEffect >= 0){ this.Effects[IdEffect].Quit(); }; }; } else { Spells.TryToCastLastStand(this); }; this.GRF_GUI.LIFE.HP.height = ((int(this.GRF_GUI.HP.text) / this.GetMaxLife()) * 100); } else { if (this.PLAYER_UNIT){ Application.application.CombateAtual.Score.PLAYER_LOST_CARDS = (Application.application.CombateAtual.Score.PLAYER_LOST_CARDS + this.SCORE); } else { Application.application.CombateAtual.Score.ENEMY_LOST_CARDS = (Application.application.CombateAtual.Score.ENEMY_LOST_CARDS + this.SCORE); }; this.Quit(); Retorno = true; }; } else { this.ShowMensage("Avoided", 0xFF00); }; return (Retorno); } public function HasSpellByTipo(pTipo:int):int{ var Retorno = -1; if ((((this.SPELL_1 > -1)) && ((SpellDB.GetSpell(this.SPELL_1).TIPO == pTipo)))){ Retorno = this.SPELL_1; } else { if ((((this.SPELL_2 > -1)) && ((SpellDB.GetSpell(this.SPELL_2).TIPO == pTipo)))){ Retorno = this.SPELL_2; }; }; return (Retorno); } public function GetGlow():String{ if (this.PLAYER_UNIT){ return ((Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).MOB_MARK.currentLabel); }; return ((Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).MOB_MARK.currentLabel); } public function ShowMensage(pTexto:String, pTextColor:uint):void{ var DANO:MSG_DMG = new MSG_DMG(); DANO.TEXTO.text = pTexto; DANO.TEXTO.textColor = pTextColor; if (this.PLAYER_UNIT){ (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).addChild(DANO); } else { DANO.scaleX = (DANO.scaleX * -1); (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).addChild(DANO); }; } public function GetMaxLife():int{ var Retorno:int = this.MAX_LIFE; var i:int; while (i < this.Effects.length) { if (this.Effects[i] != null){ Retorno = (Retorno + this.Effects[i].LIFE_MOD); }; i++; }; return (Retorno); } private function PlayAtackSound():void{ if (Options.SFX){ switch (this.GRF_ATACK){ case SwordAnimation: new Espada().play(); break; case AxeAnimation: new Axe().play(); break; case ArcherAnimation: new Arco().play(); break; case SpearAnimation: new Lanca().play(); break; case BluntAnimation: new Blunt().play(); break; case FoiceAnimation: new Foice().play(); break; }; }; } public function Quit():void{ if (this.PLAYER_UNIT){ (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("P_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).MOB_MARK.removeChild(this.GRF_GRAFICO); Application.application.CombateAtual.PlayerUnits[this.PLACE_ON_BATTLE] = null; } else { (Application.application.CombateAtual.GRF_GRAFICO.getChildByName(("E_PLACE_" + this.PLACE_ON_BATTLE)) as MovieClip).MOB_MARK.removeChild(this.GRF_GRAFICO); Application.application.CombateAtual.EnemyUnits[this.PLACE_ON_BATTLE] = null; }; } private function PositionGUI():void{ if (!this.PLAYER_UNIT){ this.GRF_GUI.x = -((this.GRF_GRAFICO.width / 2)); } else { this.GRF_GUI.x = (-((this.GRF_GRAFICO.width / 2)) - 42.1); }; } } }//package Battle
Section 169
//UnitIA (Battle.UnitIA) package Battle { import mx.core.*; import DB.*; import Telas.*; public final class UnitIA { public var FRAME_COUNT_MAX:int;// = 10 private var FRAME_COUNT:int;// = -1 private var EFFECT:int;// = 0 private var SPELL_NO:int;// = -3 private var PLAYER:Boolean;// = false public var STATUS:int;// = -1 private var ACTUAL_UNIT_PLACE:int; private static var STATUS_NOTHING:int = -1; private static var STATUS_WAITING_ATACK_ANIMATION:int = 4; private static var DEBUG:Boolean = false; private static var STATUS_WAITING_SPELL_ANIMATION:int = 3; private static var SPELL_NENHUMA_SPELL:int = -3; private static var SPELL_NO_ATACKING:int = -1; private static var STATUS_WAITING_EFFECT_ANIMATION:int = 2; private static var SPELL_NO_EFFECTS:int = -2; public static var STATUS_ATACK_BACK:int = 1; private static var STATUS_ATACK_GO:int = 0; public function UnitIA(){ super(); } private function RemoveGlows():void{ var i = 1; while (i < 5) { if (Application.application.CombateAtual.GetUnit(i, true) != null){ Application.application.CombateAtual.GetUnit(i, true).SetGlow("NORMAL"); }; if (Application.application.CombateAtual.GetUnit(i, false) != null){ Application.application.CombateAtual.GetUnit(i, false).SetGlow("NORMAL"); }; i++; }; } public function Loop():void{ if (Application.application.CombateAtual != null){ switch (STATUS){ case STATUS_ATACK_GO: if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x < 30){ Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x = (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x + 3); } else { if (SPELL_NO == SPELL_NO_ATACKING){ Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).Atack(-1, 1, false); } else { CastSpell(); }; }; break; case STATUS_ATACK_BACK: if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER) == null){ STATUS = STATUS_NOTHING; StartUnitsTurn((ACTUAL_UNIT_PLACE + 1), PLAYER); } else { if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x > 0){ Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x = (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x - 3); } else { Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x = 0; STATUS = STATUS_NOTHING; if (DEBUG){ trace("Retorna de um ataque"); }; StartUnitsTurn((ACTUAL_UNIT_PLACE + 1), PLAYER); }; }; break; case STATUS_WAITING_EFFECT_ANIMATION: if (FRAME_COUNT >= FRAME_COUNT_MAX){ STATUS = STATUS_NOTHING; RemoveGlows(); DoEffects((EFFECT + 1)); } else { FRAME_COUNT++; }; break; case STATUS_WAITING_SPELL_ANIMATION: if (FRAME_COUNT >= FRAME_COUNT_MAX){ RemoveGlows(); if (SPELL_NO == 2){ UnitAtack(); } else { if (SPELL_NO == 1){ StartUnitSpells(); }; }; } else { FRAME_COUNT++; }; break; case STATUS_WAITING_ATACK_ANIMATION: if (FRAME_COUNT >= FRAME_COUNT_MAX){ RemoveGlows(); STATUS = STATUS_ATACK_BACK; } else { FRAME_COUNT++; }; break; }; }; } public function WaitForSpellAnimation(pFrames:int):void{ FRAME_COUNT = 0; FRAME_COUNT_MAX = pFrames; STATUS = STATUS_WAITING_SPELL_ANIMATION; } private function UnitTurnFinished():void{ STATUS = STATUS_NOTHING; if (DEBUG){ trace(("Turn Finished, Player? " + PLAYER)); }; if (Application.application.CombateAtual != null){ Application.application.CombateAtual.SetPlayerTurn2(PLAYER); } else { STATUS = STATUS_NOTHING; }; } private function DoEffects(pIdEffect:int):void{ EFFECT = pIdEffect; if (DEBUG){ trace("UnitIA.DoEffects()"); }; if (((!((Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER) == null))) && ((EFFECT == 0)))){ Spells.TryToRegenerate(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER)); }; if (((!((Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER) == null))) && ((EFFECT < Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).Effects.length)))){ if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).Effects[EFFECT] != null){ Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).Effects[EFFECT].EffectTurn(); } else { SPELL_NO = SPELL_NENHUMA_SPELL; StartUnitSpells(); }; } else { if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER) != null){ SPELL_NO = SPELL_NENHUMA_SPELL; StartUnitSpells(); } else { StartUnitsTurn((ACTUAL_UNIT_PLACE + 1), PLAYER); }; }; } private function CastSpell():void{ if (DEBUG){ trace("Casta Magia"); }; Spells.CastSpell(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER), SPELL_NO); } public function StartUnitSpells():void{ if (DEBUG){ trace("Start UnitSpells"); }; if (SPELL_NO == SPELL_NENHUMA_SPELL){ SPELL_NO = 1; if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).SPELL_1 >= 0){ if (SpellDB.SpellIsCastable(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).SPELL_1)){ if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x < 30){ STATUS = STATUS_ATACK_GO; } else { CastSpell(); }; } else { StartUnitSpells(); }; } else { StartUnitSpells(); }; } else { if (SPELL_NO == 1){ SPELL_NO = 2; if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).SPELL_2 >= 0){ if (SpellDB.SpellIsCastable(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).SPELL_2)){ STATUS = STATUS_ATACK_GO; } else { UnitAtack(); }; } else { UnitAtack(); }; }; }; } public function WaitForEffectAnimation(pFrames:int):void{ FRAME_COUNT = 0; FRAME_COUNT_MAX = pFrames; STATUS = STATUS_WAITING_EFFECT_ANIMATION; } public function StartUnitsTurn(pUnitPlace:int, pPlayer:Boolean):void{ this.ACTUAL_UNIT_PLACE = pUnitPlace; this.PLAYER = pPlayer; if (((((this.PLAYER) && ((pUnitPlace == 1)))) && (Options.TIPS))){ Application.application.CombateAtual.GRF_GRAFICO.TIPS.text = "Wait... Player units turn!"; }; while (Application.application.CombateAtual.GetUnit(this.ACTUAL_UNIT_PLACE, this.PLAYER) == null) { if (this.ACTUAL_UNIT_PLACE < 3){ this.ACTUAL_UNIT_PLACE++; } else { break; }; }; if (DEBUG){ trace(((("Turno do player IdPlace: " + ACTUAL_UNIT_PLACE) + ", player? ") + PLAYER)); }; if (ACTUAL_UNIT_PLACE < 5){ DoEffects(0); } else { UnitTurnFinished(); }; } public function WaitForAtackAnimation(pFrames:int):void{ FRAME_COUNT = 0; FRAME_COUNT_MAX = pFrames; STATUS = STATUS_WAITING_ATACK_ANIMATION; } private function UnitAtack():void{ if (DEBUG){ trace(("UnitIa.UnitAtack(), UnitPlace: " + ACTUAL_UNIT_PLACE)); }; SPELL_NO = SPELL_NO_ATACKING; if (Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GRAFICO.x < 30){ if (int(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GUI.DANO.text) > 0){ STATUS = STATUS_ATACK_GO; } else { STATUS = STATUS_NOTHING; StartUnitsTurn((ACTUAL_UNIT_PLACE + 1), PLAYER); }; } else { if (int(Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).GRF_GUI.DANO.text) > 0){ Application.application.CombateAtual.GetUnit(ACTUAL_UNIT_PLACE, PLAYER).Atack(-1, 1, false); } else { RemoveGlows(); STATUS = STATUS_ATACK_BACK; }; }; } } }//package Battle
Section 170
//Book (BookPack.Book) package BookPack { import flash.events.*; import flash.display.*; import mx.core.*; import mx.controls.*; import Battle.*; import Arte.*; import DB.*; import Telas.*; import Utilidades.*; import mochi.as3.*; import flash.filters.*; public class Book { private static var GRF_GRAFICO:BookMc; private static var PaginaAtual:int = 1; public static var TELA_BOOK:int = 20; private static var PAGES:Array; public static var PRE_BATTLE:int; public static var GRF_TUTORIAL:BookTuto; public function Book(){ var i:int; super(); GRF_TUTORIAL = new BookTuto(); GRF_TUTORIAL.x = 220; GRF_TUTORIAL.LINK.addEventListener(MouseEvent.CLICK, Tutorial.ClickTuto, false, 0, true); GRF_TUTORIAL.LINK.addEventListener(MouseEvent.ROLL_OVER, Tutorial.OverLink, false, 0, true); GRF_GRAFICO = new BookMc(); PAGES = new Array(); i = 1; while (i < 9) { (GRF_GRAFICO.getChildByName(("PG" + i)) as MovieClip).COD = i; (GRF_GRAFICO.getChildByName(("PG" + i)) as MovieClip).buttonMode = true; (GRF_GRAFICO.getChildByName(("PG" + i)) as MovieClip).useHandCursor = true; GRF_GRAFICO.getChildByName(("PG" + i)).addEventListener(MouseEvent.CLICK, ClickPage, false, 0, true); GRF_GRAFICO.getChildByName(("PG" + i)).addEventListener(MouseEvent.ROLL_OUT, OutPage, false, 0, true); GRF_GRAFICO.getChildByName(("PG" + i)).addEventListener(MouseEvent.ROLL_OVER, OverPage, false, 0, true); (GRF_GRAFICO.getChildByName(("PG" + i)) as MovieClip).gotoAndStop("off"); i++; }; GRF_GRAFICO.EXIT_MASK.buttonMode = true; GRF_GRAFICO.EXIT_MASK.useHandCursor = true; GRF_GRAFICO.EXIT_MASK.addEventListener(MouseEvent.CLICK, ExitClick, false, 0, false); GRF_GRAFICO.EXIT_MASK.addEventListener(MouseEvent.ROLL_OVER, ExitOver, false, 0, false); GRF_GRAFICO.EXIT_MASK.addEventListener(MouseEvent.ROLL_OUT, ExitOut, false, 0, false); PAGES = new Array(); var AuxArray:Array = new Array(); AuxArray[0] = ["Human Warriors", "Recruit > Warrior > Golden Warrior > Paladin > Elrion \n\nHoly Lancer > Holy Judge > Angel Knight > Paladin > Elrion \n\nRed Samurai > Assasin > Sword Master > Master Samurai > Elrion \n\nAxe Dwarf > Beserker Dwarf > Rage Dwarf > Master Samurai > Elrion"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_H_RECRUIT); AuxArray[2] = GetCardWithInfo(CardDB.CARD_H_WARRIOR); AuxArray[3] = GetCardWithInfo(CardDB.CARD_H_GOLDEN_WARRIOR); AuxArray[4] = GetCardWithInfo(CardDB.CARD_H_HOLY_LANCER); AuxArray[5] = GetCardWithInfo(CardDB.CARD_H_HOLY_JUDGE); AuxArray[6] = GetCardWithInfo(CardDB.CARD_H_ANGEL_KNIGHT); AuxArray[7] = GetCardWithInfo(CardDB.CARD_H_RED_SAMURAI); AuxArray[8] = GetCardWithInfo(CardDB.CARD_H_ASSASIN); AuxArray[9] = GetCardWithInfo(CardDB.CARD_H_SWORDMASTER); AuxArray[10] = GetCardWithInfo(CardDB.CARD_H_AXE_DWARF); AuxArray[11] = GetCardWithInfo(CardDB.CARD_H_BESERKER_DWARF); AuxArray[12] = GetCardWithInfo(CardDB.CARD_H_RAGE_DWARF); AuxArray[13] = GetCardWithInfo(CardDB.CARD_H_PALADIN); AuxArray[14] = GetCardWithInfo(CardDB.CARD_H_MASTER_SAMURAI); AuxArray[15] = GetCardWithInfo(CardDB.CARD_H_ELRION); PAGES[1] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Demon Warriors", "Lizard Recruit > Lizard Warrior > Lizard Dragon > Algoz > Abada \n\nDark Recruit > Dark Knight > Dark Paladin > Algoz > Abada \n\nKilling Demon > Death Demon > Demon Fury > Death Hand > Abada \n\nLight Minotaur > Heavy Minotaur > Battle Minotaur > Death Hand > Abada"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_D_LIZARD_RECRUIT); AuxArray[2] = GetCardWithInfo(CardDB.CARD_D_LIZARD_WARRIOR); AuxArray[3] = GetCardWithInfo(CardDB.CARD_D_LIZARD_DRAGON); AuxArray[4] = GetCardWithInfo(CardDB.CARD_D_DARK_RECRUIT); AuxArray[5] = GetCardWithInfo(CardDB.CARD_D_DARK_KNIGHT); AuxArray[6] = GetCardWithInfo(CardDB.CARD_D_DARK_PALADIN); AuxArray[7] = GetCardWithInfo(CardDB.CARD_D_KILLING_DEMON); AuxArray[8] = GetCardWithInfo(CardDB.CARD_D_DEATH_DEMON); AuxArray[9] = GetCardWithInfo(CardDB.CARD_D_DEMON_FURY); AuxArray[10] = GetCardWithInfo(CardDB.CARD_D_LIGHT_MINOTAUR); AuxArray[11] = GetCardWithInfo(CardDB.CARD_D_HEAVY_MINOTAUR); AuxArray[12] = GetCardWithInfo(CardDB.CARD_D_BATTLE_MINOTAUR); AuxArray[13] = GetCardWithInfo(CardDB.CARD_D_ALGOZ); AuxArray[14] = GetCardWithInfo(CardDB.CARD_D_DEATH_HAND); AuxArray[15] = GetCardWithInfo(CardDB.CARD_D_ABADA); PAGES[5] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Human Cavalary", "Spy Cavalary > Nomad > Speeder > Dwarf Knight > Lothar \n\nHunter > Mounted Hopilote > Mounted Assasin > Dwarf Knight > Lothar \n\nLight Cavalary > Mediun Cavalary > Heavy Cavalary > Life Order > Lothar \n\nKnight Begginer > Knight > Silver Hand > Life Order > Lothar"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_H_SPY_CAVALARY); AuxArray[2] = GetCardWithInfo(CardDB.CARD_H_NOMAD); AuxArray[3] = GetCardWithInfo(CardDB.CARD_H_SPEEDER); AuxArray[4] = GetCardWithInfo(CardDB.CARD_H_HUNTER); AuxArray[5] = GetCardWithInfo(CardDB.CARD_H_MONTED_HOPILOTE); AuxArray[6] = GetCardWithInfo(CardDB.CARD_H_MONTED_ASSASIN); AuxArray[7] = GetCardWithInfo(CardDB.CARD_H_LIGHT_CAVALARY); AuxArray[8] = GetCardWithInfo(CardDB.CARD_H_MEDIUM_CAVALARY); AuxArray[9] = GetCardWithInfo(CardDB.CARD_H_HEAVY_CAVALARY); AuxArray[10] = GetCardWithInfo(CardDB.CARD_H_KINIGHT_BEGINNER); AuxArray[11] = GetCardWithInfo(CardDB.CARD_H_KINIGHT); AuxArray[12] = GetCardWithInfo(CardDB.CARD_H_SILVER_HAND); AuxArray[13] = GetCardWithInfo(CardDB.CARD_H_DWARF_KINIGHT); AuxArray[14] = GetCardWithInfo(CardDB.CARD_H_LIFE_ORDER); AuxArray[15] = GetCardWithInfo(CardDB.CARD_H_LOTHAR); PAGES[2] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Demon Heavy Fighters", "Recruit Trool > Giant Trool > Trool Destroyer > Dark Rider > Belzeru \n\nLight Cyclop > Giant > Berserker Orc > Dark Rider > Belzeru \n\nRaptor Rider > Wolf Rider > Canibalist > Shadow Kinight > Belzeru \n\nRed Demon > Bull Demon > Troll Demon > Shadow Knight > Belzeru"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_D_RECRUIT_TROOL); AuxArray[2] = GetCardWithInfo(CardDB.CARD_D_GIANT_TROOL); AuxArray[3] = GetCardWithInfo(CardDB.CARD_D_TROOL_DESTROYER); AuxArray[4] = GetCardWithInfo(CardDB.CARD_D_LIGHT_CYCLOP); AuxArray[5] = GetCardWithInfo(CardDB.CARD_D_GIANT); AuxArray[6] = GetCardWithInfo(CardDB.CARD_D_BERSERKER_ORC); AuxArray[7] = GetCardWithInfo(CardDB.CARD_D_RAPTOR_RIDER); AuxArray[8] = GetCardWithInfo(CardDB.CARD_D_WOLF_RIDER); AuxArray[9] = GetCardWithInfo(CardDB.CARD_D_CANIBALIST); AuxArray[10] = GetCardWithInfo(CardDB.CARD_D_RED_DEMON); AuxArray[11] = GetCardWithInfo(CardDB.CARD_D_BULL_DEMON); AuxArray[12] = GetCardWithInfo(CardDB.CARD_D_TROOL_DEMON); AuxArray[13] = GetCardWithInfo(CardDB.CARD_D_DARK_RIDER); AuxArray[14] = GetCardWithInfo(CardDB.CARD_D_SHADOWN_KNIGHT); AuxArray[15] = GetCardWithInfo(CardDB.CARD_D_BELZERU); PAGES[6] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Human Archers", "Crossbowman I > Crossbowman II > Crossbowman III > Amazon Hero > Leonel \n\nLight Amazon > Mediun Amazon > Heavy Amazon > Amazon Hero > Leonel \n\nRecruit Archer > Ranger > Axe Thrower > Armored Archer > Leonel \n\nHorse archer I > Horse archer II > Horse archer III > Armored Archer > Leonel"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_H_DWARF_CROSSBOWMAN); AuxArray[2] = GetCardWithInfo(CardDB.CARD_H_LIGHT_CROSSBOWMAN); AuxArray[3] = GetCardWithInfo(CardDB.CARD_H_HEAVY_CROSSBOWMAN); AuxArray[4] = GetCardWithInfo(CardDB.CARD_H_LIGHT_AMAZON); AuxArray[5] = GetCardWithInfo(CardDB.CARD_H_MEDIUN_AMAZON); AuxArray[6] = GetCardWithInfo(CardDB.CARD_H_HEAVY_AMAZON); AuxArray[7] = GetCardWithInfo(CardDB.CARD_H_RECRUIT_ARCHER); AuxArray[8] = GetCardWithInfo(CardDB.CARD_H_RANGER); AuxArray[9] = GetCardWithInfo(CardDB.CARD_H_DWARF_AXE_THROWER); AuxArray[10] = GetCardWithInfo(CardDB.CARD_H_HORSE_ARCHER_I); AuxArray[11] = GetCardWithInfo(CardDB.CARD_H_HORSE_ARCHER_II); AuxArray[12] = GetCardWithInfo(CardDB.CARD_H_HORSE_ARCHER_III); AuxArray[13] = GetCardWithInfo(CardDB.CARD_H_AMAZON_HERO); AuxArray[14] = GetCardWithInfo(CardDB.CARD_H_ARMORED_ARCHER); AuxArray[15] = GetCardWithInfo(CardDB.CARD_H_LEONEL); PAGES[3] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Demon Archers", "Scout Archer > Demon Archer I > Demon Archer II > Devil Ninja > Kalodan \n\nOrc archer > Undead Archer > H. Orc Archer > Devil Ninja > Kalodan \n\nSkeleton Archer > Elite S. Archer > Battle S. Archer > Cyclop > Kalodan \n\nLight Centaur > Heavy Centaur > Minotaur T. > Cyclop > Kalodan"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_D_SCOUT_ARCHER); AuxArray[2] = GetCardWithInfo(CardDB.CARD_D_LIGHT_DEMON); AuxArray[3] = GetCardWithInfo(CardDB.CARD_D_HEAVY_DEMON); AuxArray[4] = GetCardWithInfo(CardDB.CARD_D_ORC_ARCHER); AuxArray[5] = GetCardWithInfo(CardDB.CARD_D_UNDEAD_ARCHER); AuxArray[6] = GetCardWithInfo(CardDB.CARD_D_HEAVY_ORC_ARCHER); AuxArray[7] = GetCardWithInfo(CardDB.CARD_D_SKELLETON_ARCHER); AuxArray[8] = GetCardWithInfo(CardDB.CARD_D_ELITE_ARCHER); AuxArray[9] = GetCardWithInfo(CardDB.CARD_D_BATTLE_ARCHER); AuxArray[10] = GetCardWithInfo(CardDB.CARD_D_LIGHT_CENTAUR); AuxArray[11] = GetCardWithInfo(CardDB.CARD_D_HEAVY_CENTAUR); AuxArray[12] = GetCardWithInfo(CardDB.CARD_D_MINOTAUR_THROWER); AuxArray[13] = GetCardWithInfo(CardDB.CARD_D_DEVIL_NINJA); AuxArray[14] = GetCardWithInfo(CardDB.CARD_D_CYCLOP); AuxArray[15] = GetCardWithInfo(CardDB.CARD_D_KALODAN); PAGES[7] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Human Mages", "Flame Fighter > Necro Hunter > Fire Warrior > Fire Knight > Merlin \n\nAprentice Mage > Mage > ArchMage > Fire Knight > Merlin \n\nHermit > Nature Mage > Storm Caller > Supreme Cleric > Merlin \n\nMonk > Bishop > Cleric > Supreme Cleric > Merlin"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_H_FLAME_FIGHTER); AuxArray[2] = GetCardWithInfo(CardDB.CARD_H_NECRO_HUNTER); AuxArray[3] = GetCardWithInfo(CardDB.CARD_H_FIRE_WARRIOR); AuxArray[4] = GetCardWithInfo(CardDB.CARD_H_APRENTICE_MAGE); AuxArray[5] = GetCardWithInfo(CardDB.CARD_H_MAGE); AuxArray[6] = GetCardWithInfo(CardDB.CARD_H_ARCHMAGE); AuxArray[7] = GetCardWithInfo(CardDB.CARD_H_HERMIT); AuxArray[8] = GetCardWithInfo(CardDB.CARD_H_NATURE_MAGE); AuxArray[9] = GetCardWithInfo(CardDB.CARD_H_STORM_CALLER); AuxArray[10] = GetCardWithInfo(CardDB.CARD_H_MONK); AuxArray[11] = GetCardWithInfo(CardDB.CARD_H_BISHOP); AuxArray[12] = GetCardWithInfo(CardDB.CARD_H_CLERIC); AuxArray[13] = GetCardWithInfo(CardDB.CARD_H_FIRE_KNIGHT); AuxArray[14] = GetCardWithInfo(CardDB.CARD_H_SUPREME_CLERIC); AuxArray[15] = GetCardWithInfo(CardDB.CARD_H_MERLIN); PAGES[4] = AuxArray; AuxArray = new Array(); AuxArray[0] = ["Demon Mages", "Young Vampire > Vampire Serve > Vampire > Undead Lord > Balrog \n\nNecromantic > Wolf Mage > Death > Undead Lord > Balrog \n\nDeath Riser > Lava Mage > Nature Corruptor > Lich King > Balrog \n\nDark Cleric > Demon Cleric > Fallen Angel > Lich King > Balrog"]; AuxArray[1] = GetCardWithInfo(CardDB.CARD_D_YOUNG_VAMPIRE); AuxArray[2] = GetCardWithInfo(CardDB.CARD_D_VAMPIRE_SERVE); AuxArray[3] = GetCardWithInfo(CardDB.CARD_D_VAMPIRE); AuxArray[4] = GetCardWithInfo(CardDB.CARD_D_NECROMANTIC); AuxArray[5] = GetCardWithInfo(CardDB.CARD_D_WOLF_MAGE); AuxArray[6] = GetCardWithInfo(CardDB.CARD_D_DEATH); AuxArray[7] = GetCardWithInfo(CardDB.CARD_D_DEATH_RISER); AuxArray[8] = GetCardWithInfo(CardDB.CARD_D_LAVA_MAGE); AuxArray[9] = GetCardWithInfo(CardDB.CARD_D_NATURE_CORRUPTOR); AuxArray[10] = GetCardWithInfo(CardDB.CARD_D_DARK_CLERIC); AuxArray[11] = GetCardWithInfo(CardDB.CARD_D_DEMON_CLERIC); AuxArray[12] = GetCardWithInfo(CardDB.CARD_D_FALLEN_ANGEL); AuxArray[13] = GetCardWithInfo(CardDB.CARD_D_UNDEAD_LORD); AuxArray[14] = GetCardWithInfo(CardDB.CARD_D_LICH_KING); AuxArray[15] = GetCardWithInfo(CardDB.CARD_D_BALROG); PAGES[8] = AuxArray; PaginaAtual = 1; } private function ExitOut(e:MouseEvent):void{ if (PRE_BATTLE > -1){ GRF_GRAFICO.EXIT.gotoAndStop("battle_off"); } else { GRF_GRAFICO.EXIT.gotoAndStop("exit_off"); }; } private function ExitOver(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; if (PRE_BATTLE > -1){ GRF_GRAFICO.EXIT.gotoAndStop("battle_on"); } else { GRF_GRAFICO.EXIT.gotoAndStop("exit_on"); }; } private function ExitClick(e:MouseEvent):void{ if (PRE_BATTLE >= 0){ if (Utils.GetNullArraySize(PlayerDB.CARDS_BATTLE) > 0){ if (Utils.GetNullArraySize(PlayerDB.CARDS_BATTLE) > LevelDB.GetLevelInfo(PRE_BATTLE, Application.application.World.WORLD).PLAYER_QTD_CARDS){ if (Options.SFX){ Sons.SFX_MENU_OFF.play(); }; Alert.show("You have selected too many cards!"); } else { if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Quit(); Application.application.CombateAtual = new Combate(PRE_BATTLE); Application.application.CombateAtual.StartCombat(); }; } else { if (Options.SFX){ Sons.SFX_MENU_OFF.play(); }; Alert.show("Select at least one card to battle!"); }; } else { if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Quit(); Application.application.World.CallTela(); }; } private static function GetCardWithInfo(pCardId:int):CardMC{ var Card:CardMC = new CardMC(); CardDB.SetCardInfoToMc(Card, pCardId); Card.COD = pCardId; Card.useHandCursor = true; Card.buttonMode = true; Card.addEventListener(MouseEvent.CLICK, ClickCard, false, 0, true); return (Card); } private static function OverPage(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; (e.target as MovieClip).gotoAndStop("on"); } private static function GoToPage(pPage:int):void{ var i:int; var pPage = pPage; if (Options.SFX){ Sons.SFX_PASS_CARD.play(); }; i = 1; for (;i < 16;(i = (i + 1))) { (GRF_GRAFICO.getChildByName(("C" + i)) as MovieClip).removeChild(PAGES[PaginaAtual][i]); continue; var _slot1 = e; }; (GRF_GRAFICO.getChildByName(("PG" + PaginaAtual)) as MovieClip).gotoAndStop("off"); GRF_GRAFICO.TITULO.text = PAGES[pPage][0][0]; GRF_GRAFICO.TREE.text = PAGES[pPage][0][1]; (GRF_GRAFICO.getChildByName(("PG" + pPage)) as MovieClip).gotoAndStop("on"); i = 1; while (i < 16) { if (pPage > 4){ (GRF_GRAFICO.getChildByName(("C" + i)) as MovieClip).gotoAndStop("Demon"); } else { (GRF_GRAFICO.getChildByName(("C" + i)) as MovieClip).gotoAndStop("Human"); }; if (PlayerDB.CARDS.indexOf(PAGES[pPage][i].COD) >= 0){ (GRF_GRAFICO.getChildByName(("C" + i)) as MovieClip).addChild(PAGES[pPage][i]); PAGES[pPage][i].alpha = 1; } else { if (PlayerDB.CARDS_VISTAS.indexOf(PAGES[pPage][i].COD) >= 0){ (GRF_GRAFICO.getChildByName(("C" + i)) as MovieClip).addChild(PAGES[pPage][i]); PAGES[pPage][i].alpha = 0.5; }; }; if (PlayerDB.CARDS_BATTLE.indexOf(PAGES[pPage][i].COD) >= 0){ PAGES[pPage][i].filters = [new GlowFilter(0xFF00, 1, 5, 5, 300, 1, false, false)]; } else { PAGES[pPage][i].filters = []; }; i = (i + 1); }; PaginaAtual = pPage; } public static function Quit():void{ Application.application.FlashHolder.removeChild(GRF_GRAFICO); Application.application.FlashHolder.removeChild(GRF_TUTORIAL); //unresolved jump var _slot1 = E; } private static function ClickPage(e:MouseEvent):void{ GoToPage(e.target.COD); } private static function ClickCard(E:MouseEvent):void{ var McCard:CardMC; var E = E; McCard = E.target.parent; //unresolved jump var _slot1 = X; McCard = E.target.parent.parent; if (McCard.alpha == 1){ if ((((((PRE_BATTLE == -1)) || (((LevelDB.GetLevelInfo(PRE_BATTLE, Application.application.World.WORLD).PLAYER_QTD_CARDS - Utils.GetNullArraySize(PlayerDB.CARDS_BATTLE)) > 0)))) && ((McCard.filters.length == 0)))){ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; McCard.filters = [new GlowFilter(0xFF00, 1, 5, 5, 300, 1, false, false)]; if (PlayerDB.CARDS_BATTLE.indexOf(McCard.COD) == -1){ PlayerDB.CARDS_BATTLE[Utils.GetFirstNullPos(PlayerDB.CARDS_BATTLE, 0)] = McCard.COD; }; } else { if (McCard.filters.length > 0){ if (Options.SFX){ Sons.SFX_CANCEL.play(); }; McCard.filters = []; if (PlayerDB.CARDS_BATTLE.indexOf(McCard.COD) > -1){ PlayerDB.CARDS_BATTLE[PlayerDB.CARDS_BATTLE.indexOf(McCard.COD)] = null; }; } else { if (Options.SFX){ Sons.SFX_MENU_OFF.play(); }; }; }; if (PRE_BATTLE > -1){ GRF_GRAFICO.CARDS_BATTLE.text = (("Select " + (LevelDB.GetLevelInfo(PRE_BATTLE, Application.application.World.WORLD).PLAYER_QTD_CARDS - Utils.GetNullArraySize(PlayerDB.CARDS_BATTLE))) + " more cards to battle!"); }; }; } public static function CallTela():void{ if (PRE_BATTLE > -1){ GRF_GRAFICO.CARDS_BATTLE.text = (("Select " + (LevelDB.GetLevelInfo(PRE_BATTLE, Application.application.World.WORLD).PLAYER_QTD_CARDS - Utils.GetNullArraySize(PlayerDB.CARDS_BATTLE))) + " more cards to battle!"); GRF_GRAFICO.EXIT.gotoAndStop("battle_off"); } else { GRF_GRAFICO.CARDS_BATTLE.text = ""; GRF_GRAFICO.EXIT.gotoAndStop("exit_off"); }; GoToPage(PaginaAtual); Application.application.TelaAtual = TELA_BOOK; Application.application.FlashHolder.addChild(GRF_GRAFICO); if (Options.TUTORIAL){ Application.application.FlashHolder.addChild(GRF_TUTORIAL); if (Tutorial.FIRST_BOOK){ Tutorial.ClickTutoV(GRF_TUTORIAL); Tutorial.FIRST_BOOK = false; }; }; if (Application.application.MochiCoins_){ MochiCoins.hideLoginWidget(); }; } private static function OutPage(e:MouseEvent):void{ if (PaginaAtual != e.target.COD){ (e.target as MovieClip).gotoAndStop("off"); }; } } }//package BookPack
Section 171
//CardDB (DB.CardDB) package DB { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; public final class CardDB { public static var CARD_H_HEAVY_CROSSBOWMAN:int = 35; public static var CARD_D_DARK_RIDER:int = 84; public static var CARD_H_KINIGHT:int = 82; public static var CARD_H_MEDIUN_AMAZON:int = 40; public static var CARD_D_ELITE_ARCHER:int = 43; public static var CARD_D_DEMON_FURY:int = 19; public static var CARD_D_TROOL_DEMON:int = 80; public static var CARD_H_GOLDEN_WARRIOR:int = 2; public static var CARD_D_LIGHT_CYCLOP:int = 66; public static var CARD_D_KALODAN:int = 56; public static var CARD_H_SWORDMASTER:int = 16; public static var CARD_H_PALADIN:int = 9; public static var CARD_D_CYCLOP:int = 55; public static var CARD_D_LICH_KING:int = 115; public static var CARD_H_MONTED_ASSASIN:int = 71; public static var CARD_H_KINIGHT_BEGINNER:int = 81; public static var CARD_H_HEAVY_AMAZON:int = 41; public static var CARD_H_HEAVY_CAVALARY:int = 77; public static var CARD_D_BULL_DEMON:int = 79; public static var CARD_H_AXE_DWARF:int = 23; public static var CARD_H_FIRE_KNIGHT:int = 117; public static var CARD_H_ANGEL_KNIGHT:int = 8; public static var CARD_D_WOLF_MAGE:int = 97; public static var CARD_D_DEATH:int = 98; public static var CARD_H_SPY_CAVALARY:int = 63; public static var CARD_D_FALLEN_ANGEL:int = 110; public static var CARD_D_NECROMANTIC:int = 96; public static var CARD_D_HEAVY_CENTAUR:int = 49; public static var CARD_H_RAGE_DWARF:int = 25; public static var CARD_D_ALGOZ:int = 13; public static var CARD_D_DARK_RECRUIT:int = 10; public static var CARD_H_MONK:int = 111; public static var CARD_D_LAVA_MAGE:int = 103; public static var CARD_D_VAMPIRE:int = 92; public static var CARD_D_KILLING_DEMON:int = 17; public static var CARD_D_RED_DEMON:int = 78; public static var CARD_D_DEATH_RISER:int = 102; public static var CARD_H_FLAME_FIGHTER:int = 93; public static var RACA_HUMANO:int = 0; public static var CARD_H_CLERIC:int = 113; public static var CARD_D_HEAVY_ORC_ARCHER:int = 38; public static var CARD_H_MERLIN:int = 119; public static var CARD_D_DEATH_DEMON:int = 18; public static var CARD_D_YOUNG_VAMPIRE:int = 90; public static var CARD_H_MONTED_HOPILOTE:int = 70; public static var CARD_D_HEAVY_DEMON:int = 32; public static var CARD_D_TROOL_DESTROYER:int = 62; public static var CARD_D_ABADA:int = 27; public static var CARD_H_HORSE_ARCHER_III:int = 53; public static var CLASSE_WARRIOR:int = 0; public static var CARD_D_DEVIL_NINJA:int = 54; public static var CARD_H_APRENTICE_MAGE:int = 99; public static var CARD_D_CANIBALIST:int = 74; public static var CARD_H_LIGHT_CAVALARY:int = 75; public static var CARD_D_DARK_PALADIN:int = 12; public static var CARD_D_HEAVY_MINOTAUR:int = 21; public static var CARD_D_RECRUIT_TROOL:int = 60; public static var CARD_H_AMAZON_HERO:int = 57; public static var CARD_H_NOMAD:int = 64; public static var CARD_D_SKELLETON_ARCHER:int = 42; public static var CARD_H_HOLY_JUDGE:int = 7; public static var CARD_H_HORSE_ARCHER_I:int = 51; public static var CARD_D_DARK_CLERIC:int = 108; public static var CARD_H_RANGER:int = 46; public static var CLASSE_WARRIORS_FORTES:int = 2; public static var CARD_D_BATTLE_ARCHER:int = 44; public static var CARD_D_DARK_KNIGHT:int = 11; public static var CARD_H_MASTER_SAMURAI:int = 28; public static var CARD_H_ARMORED_ARCHER:int = 58; public static var CARD_D_UNDEAD_LORD:int = 114; public static var _SpellInfo_:SpellInfoMC; public static var CARD_D_LIZARD_RECRUIT:int = 3; public static var CARD_D_LIZARD_WARRIOR:int = 4; public static var CARD_D_DEATH_HAND:int = 26; public static var CARD_H_MAGE:int = 100; public static var CARD_D_NATURE_CORRUPTOR:int = 104; public static var CARD_H_LIGHT_AMAZON:int = 39; public static var CARD_D_BELZERU:int = 86; public static var CARD_D_SCOUT_ARCHER:int = 30; public static var Cards:Array = new Array(); public static var CARD_D_BALROG:int = 116; public static var CARD_H_HERMIT:int = 105; public static var CARD_H_LIFE_ORDER:int = 88; public static var CARD_H_ASSASIN:int = 15; public static var CARD_H_SUPREME_CLERIC:int = 118; public static var CARD_H_STORM_CALLER:int = 107; public static var CARD_D_SHADOWN_KNIGHT:int = 85; public static var CARD_H_ARCHMAGE:int = 101; public static var CARD_D_VAMPIRE_SERVE:int = 91; public static var CARD_D_LIGHT_MINOTAUR:int = 20; public static var CARD_H_HOLY_LANCER:int = 6; public static var CARD_D_MINOTAUR_THROWER:int = 50; public static var CARD_H_NECRO_HUNTER:int = 94; public static var CARD_D_ORC_ARCHER:int = 36; public static var CARD_H_DWARF_CROSSBOWMAN:int = 33; public static var CARD_D_DEMON_CLERIC:int = 109; public static var CARD_H_RED_SAMURAI:int = 14; public static var CLASSE_MAGOS:int = 4; public static var CLASSE_CAVALARIA:int = 1; public static var CARD_D_UNDEAD_ARCHER:int = 37; public static var CARD_D_RAPTOR_RIDER:int = 72; public static var CARD_H_ELRION:int = 29; public static var CARD_H_BESERKER_DWARF:int = 24; public static var CARD_H_MEDIUM_CAVALARY:int = 76; public static var CARD_H_NATURE_MAGE:int = 106; public static var CARD_H_HUNTER:int = 69; public static var CARD_H_SPEEDER:int = 65; public static var CARD_D_GIANT_TROOL:int = 61; public static var CARD_H_RECRUIT:int = 0; public static var CARD_D_GIANT:int = 67; public static var CARD_H_WARRIOR:int = 1; public static var CARD_D_BERSERKER_ORC:int = 68; public static var CARD_H_FIRE_WARRIOR:int = 95; public static var CARD_H_LIGHT_CROSSBOWMAN:int = 34; public static var CARD_D_LIGHT_CENTAUR:int = 48; public static var CARD_H_DWARF_AXE_THROWER:int = 47; public static var CLASSE_RANGERS:int = 3; public static var CARD_H_LOTHAR:int = 89; public static var CARD_D_WOLF_RIDER:int = 73; public static var CARD_D_LIGHT_DEMON:int = 31; public static var RACA_DEMONIO:int = 1; public static var CARD_H_BISHOP:int = 112; public static var CARD_H_LEONEL:int = 59; public static var CARD_H_RECRUIT_ARCHER:int = 45; public static var CARD_D_BATTLE_MINOTAUR:int = 22; public static var CARD_H_HORSE_ARCHER_II:int = 52; public static var CARD_H_DWARF_KINIGHT:int = 87; public static var CARD_D_LIZARD_DRAGON:int = 5; public static var CARD_H_SILVER_HAND:int = 83; public function CardDB(){ super(); _SpellInfo_ = new SpellInfoMC(); Cards[CARD_H_RECRUIT] = new CardInfo("Recruit", 3, 1, 1, 1, CLASSE_WARRIOR, RACA_HUMANO, WSH1, 1, SpellDB.SPELL_LAST_STAND_1, -1, CARD_H_WARRIOR, CARD_H_WARRIOR, SwordAnimation); Cards[CARD_H_WARRIOR] = new CardInfo("Warrior", 4, 1, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WSH2, 2, SpellDB.SPELL_LAST_STAND_2, -1, CARD_H_GOLDEN_WARRIOR, CARD_H_GOLDEN_WARRIOR, SpearAnimation); Cards[CARD_H_GOLDEN_WARRIOR] = new CardInfo("Golden Warrior", 6, 3, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WSH3, 3, SpellDB.SPELL_LAST_STAND_3, -1, CARD_H_PALADIN, CARD_H_ANGEL_KNIGHT, SpearAnimation); Cards[CARD_D_LIZARD_RECRUIT] = new CardInfo("Lizard Recruit", 4, 1, 1, 1, CLASSE_WARRIOR, RACA_DEMONIO, WSD1, 1, -1, -1, CARD_D_LIZARD_WARRIOR, CARD_D_LIZARD_WARRIOR, SwordAnimation); Cards[CARD_D_LIZARD_WARRIOR] = new CardInfo("Lizard Warrior", 4, 2, 2, 1, CLASSE_WARRIOR, RACA_DEMONIO, WSD2, 2, SpellDB.SPELL_POISON_IMUNITY, -1, CARD_D_LIZARD_DRAGON, CARD_D_LIZARD_DRAGON, SwordAnimation); Cards[CARD_D_LIZARD_DRAGON] = new CardInfo("Lizard Dragon", 6, 2, 3, 1, CLASSE_WARRIOR, RACA_DEMONIO, WSD3, 3, SpellDB.SPELL_POISON_IMUNITY, SpellDB.SPELL_BURN_IMUNITY, CARD_D_ALGOZ, CARD_D_DARK_PALADIN, SpearAnimation); Cards[CARD_H_HOLY_LANCER] = new CardInfo("Holy Lancer", 4, 2, 1, 1, CLASSE_WARRIOR, RACA_HUMANO, WPH1, 1, SpellDB.SPELL_REVITALIZE, -1, CARD_H_HOLY_JUDGE, CARD_H_HOLY_JUDGE, SpearAnimation); Cards[CARD_H_HOLY_JUDGE] = new CardInfo("Holy Judge", 6, 1, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WPH2, 2, SpellDB.SPELL_CURE_1, -1, CARD_H_ANGEL_KNIGHT, CARD_H_ANGEL_KNIGHT, SwordAnimation); Cards[CARD_H_ANGEL_KNIGHT] = new CardInfo("Angel Knight", 8, 2, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WPH3, 3, SpellDB.SPELL_REVITALIZE, SpellDB.SPELL_CURE_2, CARD_H_PALADIN, CARD_H_GOLDEN_WARRIOR, SwordAnimation); Cards[CARD_D_DARK_RECRUIT] = new CardInfo("Dark Recruit", 5, 1, 0, 1, CLASSE_WARRIOR, RACA_DEMONIO, WPD1, 1, SpellDB.SPELL_BREAK_ARMOR_1, -1, CARD_D_DARK_KNIGHT, CARD_D_DARK_KNIGHT, SwordAnimation); Cards[CARD_D_DARK_KNIGHT] = new CardInfo("Dark Knight", 5, 2, 0, 1, CLASSE_WARRIOR, RACA_DEMONIO, WPD2, 2, SpellDB.SPELL_CURE_1, SpellDB.SPELL_BREAK_ARMOR_1, CARD_D_DARK_PALADIN, CARD_D_DARK_PALADIN, SwordAnimation); Cards[CARD_D_DARK_PALADIN] = new CardInfo("Dark Paladin", 6, 2, 1, 1, CLASSE_WARRIOR, RACA_DEMONIO, WPD3, 3, SpellDB.SPELL_CURE_1, SpellDB.SPELL_BREAK_ARMOR_2, CARD_D_ALGOZ, CARD_D_LIZARD_DRAGON, SwordAnimation); Cards[CARD_H_RED_SAMURAI] = new CardInfo("Red Samurai", 4, 2, 0, 1, CLASSE_WARRIOR, RACA_HUMANO, WRH1, 1, -1, -1, CARD_H_ASSASIN, CARD_H_ASSASIN, SwordAnimation); Cards[CARD_H_ASSASIN] = new CardInfo("Assasin", 4, 3, 1, 1, CLASSE_WARRIOR, RACA_HUMANO, WRH2, 2, SpellDB.SPELL_POISON_1, -1, CARD_H_SWORDMASTER, CARD_H_SWORDMASTER, SwordAnimation); Cards[CARD_H_SWORDMASTER] = new CardInfo("Sword Master", 6, 4, 0, 1, CLASSE_WARRIOR, RACA_HUMANO, WRH3, 3, SpellDB.SPELL_EVADE_2, SpellDB.SPELL_CRITICAL_2, CARD_H_MASTER_SAMURAI, CARD_H_RAGE_DWARF, SwordAnimation); Cards[CARD_D_KILLING_DEMON] = new CardInfo("Killing Demon", 4, 3, 0, 1, CLASSE_WARRIOR, RACA_DEMONIO, WRD1, 1, SpellDB.SPELL_CRITICAL_1, -1, CARD_D_DEATH_DEMON, CARD_D_DEATH_DEMON, FoiceAnimation); Cards[CARD_D_DEATH_DEMON] = new CardInfo("Death Demon", 5, 3, 0, 1, CLASSE_WARRIOR, RACA_DEMONIO, WRD2, 2, SpellDB.SPELL_EVADE_1, SpellDB.SPELL_CRITICAL_2, CARD_D_DEMON_FURY, CARD_D_DEMON_FURY, FoiceAnimation); Cards[CARD_D_DEMON_FURY] = new CardInfo("Demon Fury", 8, 4, 2, 1, CLASSE_WARRIOR, RACA_DEMONIO, WRD3, 3, SpellDB.SPELL_RAGE_1, -1, CARD_D_DEATH_HAND, CARD_D_BATTLE_MINOTAUR, SpearAnimation); Cards[CARD_D_LIGHT_MINOTAUR] = new CardInfo("Light Minotaur", 5, 2, 1, 1, CLASSE_WARRIOR, RACA_DEMONIO, WBD1, 1, SpellDB.SPELL_REVIDE_1, -1, CARD_D_HEAVY_MINOTAUR, CARD_D_HEAVY_MINOTAUR, AxeAnimation); Cards[CARD_D_HEAVY_MINOTAUR] = new CardInfo("Heavy Minotaur", 10, 3, 1, 1, CLASSE_WARRIOR, RACA_DEMONIO, WBD2, 2, SpellDB.SPELL_REVIDE_1, -1, CARD_D_BATTLE_MINOTAUR, CARD_D_BATTLE_MINOTAUR, BluntAnimation); Cards[CARD_D_BATTLE_MINOTAUR] = new CardInfo("Battle Minotaur", 10, 4, 2, 1, CLASSE_WARRIOR, RACA_DEMONIO, WBD3, 3, SpellDB.SPELL_RAGE_1, SpellDB.SPELL_REVIDE_2, CARD_D_DEATH_HAND, CARD_D_DEMON_FURY, AxeAnimation); Cards[CARD_H_AXE_DWARF] = new CardInfo("Axe Dwarf", 5, 2, 1, 1, CLASSE_WARRIOR, RACA_HUMANO, WBH1, 1, SpellDB.SPELL_CRITICAL_1, -1, CARD_H_BESERKER_DWARF, CARD_H_BESERKER_DWARF, AxeAnimation); Cards[CARD_H_BESERKER_DWARF] = new CardInfo("Beserker Dwarf", 5, 2, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WBH2, 2, SpellDB.SPELL_RAGE_1, SpellDB.SPELL_CRITICAL_1, CARD_H_RAGE_DWARF, CARD_H_RAGE_DWARF, AxeAnimation); Cards[CARD_H_RAGE_DWARF] = new CardInfo("Rage Dwarf", 10, 6, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WBH3, 3, SpellDB.SPELL_RAGE_2, -1, CARD_H_MASTER_SAMURAI, CARD_H_SWORDMASTER, SpearAnimation); Cards[CARD_D_ALGOZ] = new CardInfo("Algoz", 8, 4, 4, 1, CLASSE_WARRIOR, RACA_DEMONIO, WED1, 4, SpellDB.SPELL_CURE_2, SpellDB.SPELL_BASTION_2, CARD_D_ABADA, CARD_D_DEATH_HAND, SwordAnimation); Cards[CARD_D_DEATH_HAND] = new CardInfo("Death Hand", 12, 9, 2, 1, CLASSE_WARRIOR, RACA_DEMONIO, WED2, 4, SpellDB.SPELL_CRITICAL_2, SpellDB.SPELL_POISON_2, CARD_D_ABADA, CARD_D_ALGOZ, FoiceAnimation); Cards[CARD_D_ABADA] = new CardInfo("Abada", 20, 5, 6, 1, CLASSE_WARRIOR, RACA_DEMONIO, WED3, 5, SpellDB.SPELL_BASTION_2, -1, -1, -1, SwordAnimation); Cards[CARD_H_PALADIN] = new CardInfo("Paladin", 8, 3, 3, 1, CLASSE_WARRIOR, RACA_HUMANO, WEH1, 4, SpellDB.SPELL_CURE_1, SpellDB.SPELL_BLESSING_2, CARD_H_ELRION, CARD_H_MASTER_SAMURAI, SwordAnimation); Cards[CARD_H_MASTER_SAMURAI] = new CardInfo("Master Samurai", 12, 6, 2, 1, CLASSE_WARRIOR, RACA_HUMANO, WEH2, 4, SpellDB.SPELL_EVADE_1, SpellDB.SPELL_REVIDE_2, CARD_H_ELRION, CARD_H_PALADIN, SwordAnimation); Cards[CARD_H_ELRION] = new CardInfo("Elrion", 14, 9, 4, 1, CLASSE_WARRIOR, RACA_HUMANO, WEH3, 5, SpellDB.SPELL_RAGE_1, SpellDB.SPELL_REVIDE_2, -1, -1, SwordAnimation); Cards[CARD_D_SCOUT_ARCHER] = new CardInfo("Scout Archer", 4, 3, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R1D1, 1, -1, -1, CARD_D_LIGHT_DEMON, CARD_D_LIGHT_DEMON, ArcherAnimation); Cards[CARD_D_LIGHT_DEMON] = new CardInfo("Demon Archer I", 6, 5, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R1D2, 2, SpellDB.SPELL_BURN_IMUNITY, -1, CARD_D_HEAVY_DEMON, CARD_D_HEAVY_DEMON, ArcherAnimation); Cards[CARD_D_HEAVY_DEMON] = new CardInfo("Demon Archer II", 8, 5, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, R1D3, 3, SpellDB.SPELL_REGENERATION, -1, CARD_D_CYCLOP, CARD_D_HEAVY_ORC_ARCHER, ArcherAnimation); Cards[CARD_H_DWARF_CROSSBOWMAN] = new CardInfo("Crossbowman I", 3, 2, 1, 2, CLASSE_RANGERS, RACA_HUMANO, R2H1, 1, -1, -1, CARD_H_LIGHT_CROSSBOWMAN, CARD_H_LIGHT_CROSSBOWMAN, ArcherAnimation); Cards[CARD_H_LIGHT_CROSSBOWMAN] = new CardInfo("Crossbowman II", 6, 3, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R2H2, 2, SpellDB.SPELL_CRITICAL_2, SpellDB.SPELL_POISON_IMUNITY, CARD_H_HEAVY_CROSSBOWMAN, CARD_H_HEAVY_CROSSBOWMAN, ArcherAnimation); Cards[CARD_H_HEAVY_CROSSBOWMAN] = new CardInfo("Crossbowman III", 8, 3, 1, 2, CLASSE_RANGERS, RACA_HUMANO, R2H3, 3, SpellDB.SPELL_LAST_STAND_3, SpellDB.SPELL_CRITICAL_1, CARD_H_AMAZON_HERO, CARD_H_HEAVY_AMAZON, ArcherAnimation); Cards[CARD_D_ORC_ARCHER] = new CardInfo("Orc Archer", 5, 3, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R3D1, 1, SpellDB.SPELL_BURN_1, -1, CARD_D_UNDEAD_ARCHER, CARD_D_UNDEAD_ARCHER, ArcherAnimation); Cards[CARD_D_UNDEAD_ARCHER] = new CardInfo("Undead Archer", 7, 5, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, R3D2, 2, SpellDB.SPELL_BURN_2, -1, CARD_D_HEAVY_ORC_ARCHER, CARD_D_HEAVY_ORC_ARCHER, ArcherAnimation); Cards[CARD_D_HEAVY_ORC_ARCHER] = new CardInfo("H. Orc Archer", 9, 6, 2, 2, CLASSE_RANGERS, RACA_DEMONIO, R3D3, 3, SpellDB.SPELL_BURN_2, SpellDB.SPELL_LAST_STAND_2, CARD_D_CYCLOP, CARD_D_HEAVY_DEMON, ArcherAnimation); Cards[CARD_H_LIGHT_AMAZON] = new CardInfo("Light Amazon", 4, 3, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R1H1, 1, SpellDB.SPELL_EVADE_2, -1, CARD_H_MEDIUN_AMAZON, CARD_H_MEDIUN_AMAZON, ArcherAnimation); Cards[CARD_H_MEDIUN_AMAZON] = new CardInfo("Mediun Amazon", 4, 4, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R1H2, 2, SpellDB.SPELL_ATACK_UP_1, SpellDB.SPELL_EVADE_2, CARD_H_HEAVY_AMAZON, CARD_H_HEAVY_AMAZON, ArcherAnimation); Cards[CARD_H_HEAVY_AMAZON] = new CardInfo("Heavy Amazon", 6, 4, 1, 2, CLASSE_RANGERS, RACA_HUMANO, R1H3, 3, SpellDB.SPELL_ATACK_UP_2, SpellDB.SPELL_EVADE_2, CARD_H_AMAZON_HERO, CARD_H_HEAVY_CROSSBOWMAN, ArcherAnimation); Cards[CARD_D_SKELLETON_ARCHER] = new CardInfo("Skelleton Archer", 3, 2, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R2D1, 1, SpellDB.SPELL_EVADE_1, -1, CARD_D_ELITE_ARCHER, CARD_D_ELITE_ARCHER, ArcherAnimation); Cards[CARD_D_ELITE_ARCHER] = new CardInfo("Elite S. Archer", 8, 4, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R2D2, 2, SpellDB.SPELL_POISON_1, -1, CARD_D_BATTLE_ARCHER, CARD_D_BATTLE_ARCHER, ArcherAnimation); Cards[CARD_D_BATTLE_ARCHER] = new CardInfo("Battle S. Archer", 8, 4, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, R2D3, 3, SpellDB.SPELL_POISON_2, -1, CARD_D_DEVIL_NINJA, CARD_D_MINOTAUR_THROWER, ArcherAnimation); Cards[CARD_H_RECRUIT_ARCHER] = new CardInfo("Recruit Archer", 5, 2, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R4H1, 1, SpellDB.SPELL_CRITICAL_1, -1, CARD_H_RANGER, CARD_H_RANGER, ArcherAnimation); Cards[CARD_H_RANGER] = new CardInfo("Ranger", 6, 3, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R4H2, 2, SpellDB.SPELL_CRITICAL_1, SpellDB.SPELL_EVADE_2, CARD_H_DWARF_AXE_THROWER, CARD_H_DWARF_AXE_THROWER, ArcherAnimation); Cards[CARD_H_DWARF_AXE_THROWER] = new CardInfo("Axe Thrower", 9, 3, 1, 2, CLASSE_RANGERS, RACA_HUMANO, R4H3, 3, SpellDB.SPELL_EVADE_1, SpellDB.SPELL_CRITICAL_2, CARD_H_ARMORED_ARCHER, CARD_H_HORSE_ARCHER_III, AxeAnimation); Cards[CARD_D_LIGHT_CENTAUR] = new CardInfo("Light Centaur", 6, 2, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R4D1, 1, SpellDB.SPELL_RAGE_1, -1, CARD_D_HEAVY_CENTAUR, CARD_D_HEAVY_CENTAUR, ArcherAnimation); Cards[CARD_D_HEAVY_CENTAUR] = new CardInfo("Heavy Centaur", 9, 4, 0, 2, CLASSE_RANGERS, RACA_DEMONIO, R4D2, 2, SpellDB.SPELL_RAGE_1, SpellDB.SPELL_REVIDE_1, CARD_D_MINOTAUR_THROWER, CARD_D_MINOTAUR_THROWER, SpearAnimation); Cards[CARD_D_MINOTAUR_THROWER] = new CardInfo("Minotaur T.", 12, 4, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, R4D3, 3, SpellDB.SPELL_RAGE_2, SpellDB.SPELL_REVIDE_2, CARD_D_DEVIL_NINJA, CARD_D_BATTLE_ARCHER, AxeAnimation); Cards[CARD_H_HORSE_ARCHER_I] = new CardInfo("Horse Archer I", 8, 2, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R3H1, 1, SpellDB.SPELL_EVADE_1, -1, CARD_H_HORSE_ARCHER_II, CARD_H_HORSE_ARCHER_II, ArcherAnimation); Cards[CARD_H_HORSE_ARCHER_II] = new CardInfo("Horse Archer II", 10, 2, 0, 2, CLASSE_RANGERS, RACA_HUMANO, R3H2, 2, SpellDB.SPELL_EVADE_1, SpellDB.SPELL_BURN_IMUNITY, CARD_H_HORSE_ARCHER_III, CARD_H_HORSE_ARCHER_III, ArcherAnimation); Cards[CARD_H_HORSE_ARCHER_III] = new CardInfo("Horse Archer III", 15, 4, 1, 2, CLASSE_RANGERS, RACA_HUMANO, R3H3, 3, SpellDB.SPELL_REGENERATION, SpellDB.SPELL_BURN_IMUNITY, CARD_H_ARMORED_ARCHER, CARD_H_DWARF_AXE_THROWER, ArcherAnimation); Cards[CARD_D_DEVIL_NINJA] = new CardInfo("Devil Ninja", 10, 7, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, RED1, 4, SpellDB.SPELL_EVADE_2, SpellDB.SPELL_CRITICAL_2, CARD_D_KALODAN, CARD_D_CYCLOP, ArcherAnimation); Cards[CARD_D_CYCLOP] = new CardInfo("Cyclop", 20, 8, 1, 2, CLASSE_RANGERS, RACA_DEMONIO, RED2, 4, SpellDB.SPELL_REGENERATION, SpellDB.SPELL_ATACK_UP_2, CARD_D_KALODAN, CARD_D_DEVIL_NINJA, BluntAnimation); Cards[CARD_D_KALODAN] = new CardInfo("Kalodan", 22, 6, 4, 2, CLASSE_RANGERS, RACA_DEMONIO, RED3, 5, SpellDB.SPELL_RAGE_2, SpellDB.SPELL_ATACK_UP_2, -1, -1, AxeAnimation); Cards[CARD_H_AMAZON_HERO] = new CardInfo("Amazon Hero", 10, 7, 3, 2, CLASSE_RANGERS, RACA_HUMANO, REH1, 4, SpellDB.SPELL_ATACK_UP_2, SpellDB.SPELL_LAST_STAND_3, CARD_H_LEONEL, CARD_H_ARMORED_ARCHER, ArcherAnimation); Cards[CARD_H_ARMORED_ARCHER] = new CardInfo("Armored Archer", 13, 6, 4, 2, CLASSE_RANGERS, RACA_HUMANO, REH2, 4, SpellDB.SPELL_REGENERATION, SpellDB.SPELL_BASTION_2, CARD_H_LEONEL, CARD_H_AMAZON_HERO, ArcherAnimation); Cards[CARD_H_LEONEL] = new CardInfo("Leonel", 12, 7, 3, 2, CLASSE_RANGERS, RACA_HUMANO, REH3, 5, SpellDB.SPELL_ATACK_UP_2, SpellDB.SPELL_BLESSING_2, -1, -1, ArcherAnimation); Cards[CARD_D_RECRUIT_TROOL] = new CardInfo("Recruit Trool", 5, 2, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C2D1, 1, SpellDB.SPELL_POISON_IMUNITY, -1, CARD_D_GIANT_TROOL, CARD_D_GIANT_TROOL, BluntAnimation); Cards[CARD_D_GIANT_TROOL] = new CardInfo("Giant Trool", 9, 2, 1, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C2D2, 2, SpellDB.SPELL_BURN_1, -1, CARD_D_TROOL_DESTROYER, CARD_D_TROOL_DESTROYER, SwordAnimation); Cards[CARD_D_TROOL_DESTROYER] = new CardInfo("Trool Destroyer", 10, 4, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C2D3, 3, SpellDB.SPELL_POISON_IMUNITY, SpellDB.SPELL_POISON_2, CARD_D_DARK_RIDER, CARD_D_BERSERKER_ORC, BluntAnimation); Cards[CARD_H_SPY_CAVALARY] = new CardInfo("Spy Cavalary", 3, 1, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C4H1, 1, SpellDB.SPELL_EVADE_1, -1, CARD_H_NOMAD, CARD_H_NOMAD, SwordAnimation); Cards[CARD_H_NOMAD] = new CardInfo("Nomad", 8, 2, 0, 1, CLASSE_CAVALARIA, RACA_HUMANO, C4H2, 2, SpellDB.SPELL_REVIDE_1, SpellDB.SPELL_EVADE_1, CARD_H_SPEEDER, CARD_H_SPEEDER, SwordAnimation); Cards[CARD_H_SPEEDER] = new CardInfo("Speeder", 10, 3, 0, 1, CLASSE_CAVALARIA, RACA_HUMANO, C4H3, 3, SpellDB.SPELL_REVIDE_2, SpellDB.SPELL_EVADE_2, CARD_H_DWARF_KINIGHT, CARD_H_MONTED_ASSASIN, BluntAnimation); Cards[CARD_D_LIGHT_CYCLOP] = new CardInfo("Light Cyclop", 6, 2, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C1D1, 1, SpellDB.SPELL_LAST_STAND_1, -1, CARD_D_GIANT, CARD_D_GIANT, BluntAnimation); Cards[CARD_D_GIANT] = new CardInfo("Giant", 8, 3, 1, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C1D2, 2, SpellDB.SPELL_LAST_STAND_2, -1, CARD_D_BERSERKER_ORC, CARD_D_BERSERKER_ORC, SwordAnimation); Cards[CARD_D_BERSERKER_ORC] = new CardInfo("Berserker Orc", 10, 6, 1, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C1D3, 3, SpellDB.SPELL_RAGE_2, SpellDB.SPELL_REGENERATION, CARD_D_DARK_RIDER, CARD_D_TROOL_DESTROYER, SwordAnimation); Cards[CARD_H_HUNTER] = new CardInfo("Hunter", 8, 3, 0, 1, CLASSE_CAVALARIA, RACA_HUMANO, C1H1, 1, SpellDB.SPELL_CRITICAL_1, -1, CARD_H_MONTED_HOPILOTE, CARD_H_MONTED_HOPILOTE, SpearAnimation); Cards[CARD_H_MONTED_HOPILOTE] = new CardInfo("Mounted Hopilote", 7, 3, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C1H2, 2, SpellDB.SPELL_CRITICAL_1, SpellDB.SPELL_POISON_1, CARD_H_MONTED_ASSASIN, CARD_H_MONTED_ASSASIN, SpearAnimation); Cards[CARD_H_MONTED_ASSASIN] = new CardInfo("Mounted Assasin", 10, 5, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C1H3, 3, SpellDB.SPELL_CRITICAL_2, SpellDB.SPELL_POISON_2, CARD_H_DWARF_KINIGHT, CARD_H_SPEEDER, SpearAnimation); Cards[CARD_D_RAPTOR_RIDER] = new CardInfo("Raptor Rider", 5, 2, 0, 1, CLASSE_CAVALARIA, RACA_DEMONIO, C4D1, 1, SpellDB.SPELL_POISON_IMUNITY, -1, CARD_D_WOLF_RIDER, CARD_D_WOLF_RIDER, SpearAnimation); Cards[CARD_D_WOLF_RIDER] = new CardInfo("Wolf Rider", 4, 2, 0, 1, CLASSE_CAVALARIA, RACA_DEMONIO, C4D2, 2, SpellDB.SPELL_POISON_IMUNITY, SpellDB.SPELL_WEAKNES_1, CARD_D_CANIBALIST, CARD_D_CANIBALIST, SwordAnimation); Cards[CARD_D_CANIBALIST] = new CardInfo("Canibalist", 6, 3, 0, 1, CLASSE_CAVALARIA, RACA_DEMONIO, C4D3, 3, SpellDB.SPELL_WEAKNES_1, SpellDB.SPELL_DRAIN_LIFE_1, CARD_D_SHADOWN_KNIGHT, CARD_D_TROOL_DEMON, SwordAnimation); Cards[CARD_H_LIGHT_CAVALARY] = new CardInfo("Light Cavalary", 4, 1, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C2H1, 1, -1, -1, CARD_H_MEDIUM_CAVALARY, CARD_H_MEDIUM_CAVALARY, SwordAnimation); Cards[CARD_H_MEDIUM_CAVALARY] = new CardInfo("Mediun Cavalary", 8, 1, 2, 1, CLASSE_CAVALARIA, RACA_HUMANO, C2H2, 2, -1, -1, CARD_H_HEAVY_CAVALARY, CARD_H_HEAVY_CAVALARY, SwordAnimation); Cards[CARD_H_HEAVY_CAVALARY] = new CardInfo("Heavy Cavalary", 10, 2, 2, 1, CLASSE_CAVALARIA, RACA_HUMANO, C2H3, 3, SpellDB.SPELL_LAST_STAND_1, SpellDB.SPELL_BURN_IMUNITY, CARD_H_LIFE_ORDER, CARD_H_SILVER_HAND, SwordAnimation); Cards[CARD_D_RED_DEMON] = new CardInfo("Red Demon", 10, 1, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C3D1, 1, SpellDB.SPELL_BURN_IMUNITY, -1, CARD_D_BULL_DEMON, CARD_D_BULL_DEMON, AxeAnimation); Cards[CARD_D_BULL_DEMON] = new CardInfo("Bull Demon", 14, 3, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C3D2, 2, SpellDB.SPELL_BURN_IMUNITY, SpellDB.SPELL_BURN_1, CARD_D_TROOL_DEMON, CARD_D_TROOL_DEMON, BluntAnimation); Cards[CARD_D_TROOL_DEMON] = new CardInfo("Troll Demon", 16, 6, 0, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, C3D3, 3, SpellDB.SPELL_BURN_IMUNITY, SpellDB.SPELL_BURN_2, CARD_D_SHADOWN_KNIGHT, CARD_D_CANIBALIST, BluntAnimation); Cards[CARD_H_KINIGHT_BEGINNER] = new CardInfo("Knight Begginer", 4, 1, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C3H1, 1, SpellDB.SPELL_REVITALIZE, -1, CARD_H_KINIGHT, CARD_H_KINIGHT, SpearAnimation); Cards[CARD_H_KINIGHT] = new CardInfo("Kinight", 6, 2, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C3H2, 2, SpellDB.SPELL_DEFENCE_UP_1, SpellDB.SPELL_REVITALIZE, CARD_H_SILVER_HAND, CARD_H_SILVER_HAND, SwordAnimation); Cards[CARD_H_SILVER_HAND] = new CardInfo("Silver Hand", 8, 2, 1, 1, CLASSE_CAVALARIA, RACA_HUMANO, C3H3, 3, SpellDB.SPELL_DEFENCE_UP_2, SpellDB.SPELL_CURE_1, CARD_H_LIFE_ORDER, CARD_H_HEAVY_CAVALARY, BluntAnimation); Cards[CARD_D_DARK_RIDER] = new CardInfo("Dark Rider", 15, 5, 3, 1, CLASSE_CAVALARIA, RACA_DEMONIO, CED1, 4, SpellDB.SPELL_ATACK_UP_2, SpellDB.SPELL_BASTION_2, CARD_D_BELZERU, CARD_D_SHADOWN_KNIGHT, SwordAnimation); Cards[CARD_D_SHADOWN_KNIGHT] = new CardInfo("Shadow Kinight", 14, 5, 3, 1, CLASSE_CAVALARIA, RACA_DEMONIO, CED2, 4, SpellDB.SPELL_WEAKNES_2, SpellDB.SPELL_POISON_2, CARD_D_BELZERU, CARD_D_DARK_RIDER, SwordAnimation); Cards[CARD_D_BELZERU] = new CardInfo("Belzeru", 14, 5, 3, 1, CLASSE_WARRIORS_FORTES, RACA_DEMONIO, CED3, 5, SpellDB.SPELL_BREAK_ARMOR_2, SpellDB.SPELL_DRAIN_LIFE_2, -1, -1, AxeAnimation); Cards[CARD_H_DWARF_KINIGHT] = new CardInfo("Dwarf Knight", 16, 6, 3, 1, CLASSE_CAVALARIA, RACA_HUMANO, CEH2, 4, SpellDB.SPELL_REGENERATION, SpellDB.SPELL_BASTION_2, CARD_H_LOTHAR, CARD_H_LIFE_ORDER, AxeAnimation); Cards[CARD_H_LIFE_ORDER] = new CardInfo("Life Order", 8, 2, 2, 1, CLASSE_CAVALARIA, RACA_HUMANO, CEH1, 4, SpellDB.SPELL_CURE_3, SpellDB.SPELL_DEFENCE_UP_2, CARD_H_LOTHAR, CARD_H_DWARF_KINIGHT, SwordAnimation); Cards[CARD_H_LOTHAR] = new CardInfo("Lothar", 12, 3, 3, 1, CLASSE_CAVALARIA, RACA_HUMANO, CEH3, 5, SpellDB.SPELL_BLESSING_2, SpellDB.SPELL_CURE_ALL_1, -1, -1, SpearAnimation); Cards[CARD_D_YOUNG_VAMPIRE] = new CardInfo("Young Vampire", 4, 0, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MBD1, 1, SpellDB.SPELL_DRAIN_LIFE_1, -1, CARD_D_VAMPIRE_SERVE, CARD_D_VAMPIRE_SERVE, BluntAnimation); Cards[CARD_D_VAMPIRE_SERVE] = new CardInfo("Vampire Serve", 6, 1, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MBD2, 2, SpellDB.SPELL_DRAIN_LIFE_1, SpellDB.SPELL_EVADE_1, CARD_D_VAMPIRE, CARD_D_VAMPIRE, FoiceAnimation); Cards[CARD_D_VAMPIRE] = new CardInfo("Vampire", 6, 2, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MBD3, 3, SpellDB.SPELL_DRAIN_LIFE_2, SpellDB.SPELL_EVADE_1, CARD_D_UNDEAD_LORD, CARD_D_DEATH, SwordAnimation); Cards[CARD_H_FLAME_FIGHTER] = new CardInfo("Flame Fighter", 4, 3, 0, 2, CLASSE_MAGOS, RACA_HUMANO, MBH1, 1, SpellDB.SPELL_BURN_1, -1, CARD_H_NECRO_HUNTER, CARD_H_NECRO_HUNTER, SpearAnimation); Cards[CARD_H_NECRO_HUNTER] = new CardInfo("Necro Hunter", 4, 1, 1, 2, CLASSE_MAGOS, RACA_HUMANO, MBH2, 2, SpellDB.SPELL_DRAIN_LIFE_1, -1, CARD_H_FIRE_WARRIOR, CARD_H_FIRE_WARRIOR, SpearAnimation); Cards[CARD_H_FIRE_WARRIOR] = new CardInfo("Fire Warrior", 8, 5, 1, 2, CLASSE_MAGOS, RACA_HUMANO, MBH3, 3, SpellDB.SPELL_BURN_2, SpellDB.SPELL_BURN_IMUNITY, CARD_H_FIRE_KNIGHT, CARD_H_ARCHMAGE, SwordAnimation); Cards[CARD_D_NECROMANTIC] = new CardInfo("Necromantic", 4, 2, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MAD1, 1, SpellDB.SPELL_WEAKNES_1, -1, CARD_D_WOLF_MAGE, CARD_D_WOLF_MAGE, BluntAnimation); Cards[CARD_D_WOLF_MAGE] = new CardInfo("Wolf Mage", 5, 2, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MAD2, 2, SpellDB.SPELL_THUNDER_STORM_1, -1, CARD_D_DEATH, CARD_D_DEATH, BluntAnimation); Cards[CARD_D_DEATH] = new CardInfo("Death", 8, 4, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MAD3, 3, SpellDB.SPELL_DRAIN_LIFE_1, SpellDB.SPELL_POISON_2, CARD_D_UNDEAD_LORD, CARD_D_VAMPIRE, FoiceAnimation); Cards[CARD_H_APRENTICE_MAGE] = new CardInfo("Aprentice Mage", 4, 0, 0, 3, CLASSE_MAGOS, RACA_HUMANO, MAH1, 1, SpellDB.SPELL_THUNDER_STORM_1, -1, CARD_H_MAGE, CARD_H_MAGE, BluntAnimation); Cards[CARD_H_MAGE] = new CardInfo("Mage", 8, 2, 0, 3, CLASSE_MAGOS, RACA_HUMANO, MAH2, 2, SpellDB.SPELL_EXPLOSION_1, -1, CARD_H_ARCHMAGE, CARD_H_ARCHMAGE, BluntAnimation); Cards[CARD_H_ARCHMAGE] = new CardInfo("ArchMage", 10, 2, 1, 3, CLASSE_MAGOS, RACA_HUMANO, MAH3, 3, SpellDB.SPELL_EXPLOSION_2, -1, CARD_H_FIRE_KNIGHT, CARD_H_FIRE_WARRIOR, BluntAnimation); Cards[CARD_D_DEATH_RISER] = new CardInfo("Death Riser", 3, 1, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MSD1, 1, -1, -1, CARD_D_LAVA_MAGE, CARD_D_LAVA_MAGE, BluntAnimation); Cards[CARD_D_LAVA_MAGE] = new CardInfo("Lava Mage", 6, 1, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MSD2, 2, SpellDB.SPELL_EXPLOSION_1, -1, CARD_D_NATURE_CORRUPTOR, CARD_D_NATURE_CORRUPTOR, BluntAnimation); Cards[CARD_D_NATURE_CORRUPTOR] = new CardInfo("Nature Corruptor", 7, 1, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MSD3, 3, SpellDB.SPELL_THUNDER_STORM_2, -1, CARD_D_LICH_KING, CARD_D_FALLEN_ANGEL, BluntAnimation); Cards[CARD_H_HERMIT] = new CardInfo("Hermit", 3, 1, 0, 3, CLASSE_MAGOS, RACA_HUMANO, MSH1, 1, -1, -1, CARD_H_NATURE_MAGE, CARD_H_NATURE_MAGE, BluntAnimation); Cards[CARD_H_NATURE_MAGE] = new CardInfo("Nature Mage", 4, 2, 0, 3, CLASSE_MAGOS, RACA_HUMANO, MSH2, 2, SpellDB.SPELL_THUNDER_STORM_1, -1, CARD_H_STORM_CALLER, CARD_H_STORM_CALLER, BluntAnimation); Cards[CARD_H_STORM_CALLER] = new CardInfo("Storm Caller", 5, 2, 0, 3, CLASSE_MAGOS, RACA_HUMANO, MSH3, 3, SpellDB.SPELL_THUNDER_STORM_2, -1, CARD_H_SUPREME_CLERIC, CARD_H_CLERIC, BluntAnimation); Cards[CARD_D_DARK_CLERIC] = new CardInfo("Dark Cleric", 4, 1, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MCD1, 1, SpellDB.SPELL_CURE_1, -1, CARD_D_DEMON_CLERIC, CARD_D_DEMON_CLERIC, FoiceAnimation); Cards[CARD_D_DEMON_CLERIC] = new CardInfo("Demon Cleric", 6, 1, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MCD2, 2, SpellDB.SPELL_BLESSING_1, SpellDB.SPELL_CURE_1, CARD_D_FALLEN_ANGEL, CARD_D_FALLEN_ANGEL, BluntAnimation); Cards[CARD_D_FALLEN_ANGEL] = new CardInfo("Fallen Angel", 8, 2, 0, 2, CLASSE_MAGOS, RACA_DEMONIO, MCD3, 3, SpellDB.SPELL_REVIVE, SpellDB.SPELL_CURE_ALL_1, CARD_D_LICH_KING, CARD_D_NATURE_CORRUPTOR, FoiceAnimation); Cards[CARD_H_MONK] = new CardInfo("Monk", 4, 1, 0, 2, CLASSE_MAGOS, RACA_HUMANO, MCH1, 1, SpellDB.SPELL_CURE_1, SpellDB.SPELL_REVITALIZE, CARD_H_BISHOP, CARD_H_BISHOP, BluntAnimation); Cards[CARD_H_BISHOP] = new CardInfo("Bishop", 6, 1, 0, 2, CLASSE_MAGOS, RACA_HUMANO, MCH2, 2, SpellDB.SPELL_REVIVE, SpellDB.SPELL_CURE_1, CARD_H_CLERIC, CARD_H_CLERIC, BluntAnimation); Cards[CARD_H_CLERIC] = new CardInfo("Cleric", 10, 2, 0, 2, CLASSE_MAGOS, RACA_HUMANO, MCH3, 3, SpellDB.SPELL_REVIVE, SpellDB.SPELL_CURE_ALL_1, CARD_H_SUPREME_CLERIC, CARD_H_STORM_CALLER, BluntAnimation); Cards[CARD_D_UNDEAD_LORD] = new CardInfo("Undead Lord", 15, 3, 2, 3, CLASSE_MAGOS, RACA_DEMONIO, MED2, 4, SpellDB.SPELL_BURN_2, SpellDB.SPELL_DRAIN_LIFE_2, CARD_D_BALROG, CARD_D_LICH_KING, SwordAnimation); Cards[CARD_D_LICH_KING] = new CardInfo("Lich King", 12, 3, 0, 3, CLASSE_MAGOS, RACA_DEMONIO, MED1, 4, SpellDB.SPELL_DRAIN_LIFE_2, SpellDB.SPELL_THUNDER_STORM_2, CARD_D_BALROG, CARD_D_UNDEAD_LORD, BluntAnimation); Cards[CARD_D_BALROG] = new CardInfo("Balrog", 18, 5, 4, 3, CLASSE_MAGOS, RACA_DEMONIO, MED3, 5, SpellDB.SPELL_BURN_2, SpellDB.SPELL_EXPLOSION_2, -1, -1, BluntAnimation); Cards[CARD_H_FIRE_KNIGHT] = new CardInfo("Fire Knight", 16, 4, 3, 3, CLASSE_MAGOS, RACA_HUMANO, MEH1, 4, SpellDB.SPELL_REGENERATION, SpellDB.SPELL_BURN_2, CARD_H_MERLIN, CARD_H_SUPREME_CLERIC, SwordAnimation); Cards[CARD_H_SUPREME_CLERIC] = new CardInfo("Supreme Cleric", 10, 2, 1, 3, CLASSE_MAGOS, RACA_HUMANO, MEH2, 4, SpellDB.SPELL_CURE_ALL_2, -1, CARD_H_MERLIN, CARD_H_FIRE_KNIGHT, BluntAnimation); Cards[CARD_H_MERLIN] = new CardInfo("Merlin", 16, 5, 2, 3, CLASSE_MAGOS, RACA_HUMANO, MEH3, 5, SpellDB.SPELL_THUNDER_STORM_2, SpellDB.SPELL_EXPLOSION_2, -1, -1, BluntAnimation); } public static function AddSpellsCost():void{ var i:int; while (i < Cards.length) { GetCardInfo(i).AddSpellCost(i); i++; }; } public static function GetCardInfo(pId:int):CardInfo{ return (Cards[pId]); } public static function ShowSpellInfo(e:MouseEvent):void{ var MC_BG:MovieClip = (e.target as MovieClip); _SpellInfo_.NOME.text = SpellDB.GetSpell(MC_BG.ID).NOME; _SpellInfo_.INFO.text = SpellDB.GetSpell(MC_BG.ID).DESCRICAO; _SpellInfo_.x = Application.application.mouseX; _SpellInfo_.y = Application.application.mouseY; Application.application.FlashHolder.addChild(_SpellInfo_); } public static function RemoveSpellInfo(e:MouseEvent):void{ var MC_BG:MovieClip = (e.target as MovieClip); Application.application.FlashHolder.removeChild(_SpellInfo_); } public static function SetCardInfoToMc(pObjeto:CardMC, pId:int):void{ pObjeto.NOME.text = CardDB.GetCardInfo(pId).NOME; if (CardDB.GetCardInfo(pId).RACA == RACA_HUMANO){ switch (CardDB.GetCardInfo(pId).LEVEL){ case 1: pObjeto.BG.gotoAndStop("H1"); break; case 2: pObjeto.BG.gotoAndStop("H2"); break; case 3: pObjeto.BG.gotoAndStop("H3"); break; default: pObjeto.BG.gotoAndStop("H4"); break; }; } else { if (CardDB.GetCardInfo(pId).RACA == RACA_DEMONIO){ switch (CardDB.GetCardInfo(pId).LEVEL){ case 1: pObjeto.BG.gotoAndStop("D1"); break; case 2: pObjeto.BG.gotoAndStop("D2"); break; case 3: pObjeto.BG.gotoAndStop("D3"); break; default: pObjeto.BG.gotoAndStop("D4"); break; }; }; }; var AuxImgClass:Class = CardDB.GetCardInfo(pId).GRF; var AuxImg:MovieClip = new (AuxImgClass); var ModY:int; var ModX:int; switch (pId){ case CARD_H_SILVER_HAND: ModX = 15; ModY = -15; break; case CARD_D_TROOL_DEMON: ModX = 15; break; case CARD_H_HOLY_LANCER: ModX = -5; break; case CARD_H_KINIGHT: ModX = -20; break; case CARD_H_STORM_CALLER: ModY = -20; break; case CARD_H_MONTED_HOPILOTE: ModX = -15; break; case CARD_H_MASTER_SAMURAI: ModX = -15; break; case CARD_H_SPEEDER: ModX = 30; break; case CARD_H_NOMAD: ModX = -10; break; case CARD_H_LOTHAR: ModY = -10; break; case CARD_D_BELZERU: ModY = -10; break; case CARD_D_DEATH: ModY = -20; ModX = -20; break; case CARD_D_BALROG: ModY = -10; ModX = 15; break; case CARD_D_VAMPIRE_SERVE: ModX = 10; break; }; AuxImg.y = ((AuxImg.height - 32.5) + ModY); AuxImg.x = (AuxImg.x - (15 + ModX)); pObjeto.IMG.addChild(AuxImg); pObjeto.RANGE.text = CardDB.GetCardInfo(pId).RANGE.toString(); pObjeto.DANO.text = CardDB.GetCardInfo(pId).DANO.toString(); pObjeto.ARMOR.text = CardDB.GetCardInfo(pId).DEF.toString(); pObjeto.VIDA.text = CardDB.GetCardInfo(pId).VIDA.toString(); pObjeto.SPAWN.text = CardDB.GetCardInfo(pId).SPAWN.toString(); if (CardDB.GetCardInfo(pId).SPELL_1 >= 0){ pObjeto.SPELL1.INFO.text = SpellDB.GetSpell(CardDB.GetCardInfo(pId).SPELL_1).NOME; pObjeto.SPELL1.BG.ID = CardDB.GetCardInfo(pId).SPELL_1; pObjeto.SPELL1.BG.addEventListener(MouseEvent.ROLL_OVER, ShowSpellInfo, false, 0, true); pObjeto.SPELL1.BG.addEventListener(MouseEvent.ROLL_OUT, RemoveSpellInfo, false, 0, true); pObjeto.SPELL1.BG.buttonMode = true; pObjeto.SPELL1.BG.useHandCursor = true; }; if (CardDB.GetCardInfo(pId).SPELL_2 >= 0){ pObjeto.SPELL2.INFO.text = (pObjeto.SPELL2.INFO.text + SpellDB.GetSpell(CardDB.GetCardInfo(pId).SPELL_2).NOME); pObjeto.SPELL2.BG.ID = CardDB.GetCardInfo(pId).SPELL_2; pObjeto.SPELL2.BG.addEventListener(MouseEvent.ROLL_OVER, ShowSpellInfo, false, 0, true); pObjeto.SPELL2.BG.addEventListener(MouseEvent.ROLL_OUT, RemoveSpellInfo, false, 0, true); pObjeto.SPELL2.BG.buttonMode = true; pObjeto.SPELL2.BG.useHandCursor = true; }; } } }//package DB
Section 172
//CardInfo (DB.CardInfo) package DB { public class CardInfo { public var SPELL_2:int; public var RACA:int; public var ATACK:Class; public var NOME:String; public var SPAWN:Number; public var NEXT_CARD:int; public var RANGE:int; public var LEVEL:int; public var DEF:int; public var CLASSE:int; public var VIDA:int; public var REQ_CARD:int; public var SPELL_1:int; public var GRF:Class; public var DANO:int; public static var POSICAO_TODAS_FILAS:int = 3; public static var POSICAO_2_FILA:int = 2; public static var POSICAO_1_FILA:int = 1; public function CardInfo(pNome:String, pVida:int, pDano:int, pDef:int, pRange:int, pClasse:int, pRaca:int, pGRF:Class, pLEVEL:int, pSpell1:int, pSpell2:int, pNextCard:int, pReqCard:int, pAtack:Class){ super(); this.NOME = pNome; this.VIDA = pVida; this.DANO = pDano; this.DEF = pDef; this.RANGE = pRange; this.CLASSE = pClasse; this.RACA = pRaca; this.LEVEL = pLEVEL; this.GRF = pGRF; this.NEXT_CARD = pNextCard; this.REQ_CARD = pReqCard; this.SPELL_1 = pSpell1; this.SPELL_2 = pSpell2; this.ATACK = pAtack; this.SPAWN = (((pVida / 4) + (pDano / 2)) + pDef); if (this.RANGE == 3){ this.SPAWN = (this.SPAWN + 1.5); }; } public function AddSpellCost(pThisCardId:int):void{ var AuxCost:Number = this.SPAWN; if (this.SPELL_1 >= 0){ AuxCost = (AuxCost + SpellDB.GetSpellSpawnCost(this.SPELL_1, pThisCardId)); }; if (this.SPELL_2 >= 0){ AuxCost = (AuxCost + SpellDB.GetSpellSpawnCost(this.SPELL_2, pThisCardId)); }; this.SPAWN = new int(AuxCost); } } }//package DB
Section 173
//LevelDB (DB.LevelDB) package DB { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; import Telas.*; import Utilidades.*; import BookPack.*; public final class LevelDB { private static var BOTH_LEVELS:Array; private static var DEMON_HARD_LEVELS:Array; private static var HUMAN_HARD_LEVELS:Array; private static var DEMON_EASY_LEVELS:Array; private static var HUMAN_EASY_LEVELS:Array; public function LevelDB(){ var LevelConf:Array; super(); HUMAN_EASY_LEVELS = new Array(); HUMAN_HARD_LEVELS = new Array(); DEMON_EASY_LEVELS = new Array(); DEMON_HARD_LEVELS = new Array(); BOTH_LEVELS = new Array(); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 1, -1); HUMAN_EASY_LEVELS[0] = new LevelInfo(LevelConf, 8, 8, T_GELO, 1, 70, 40); HUMAN_EASY_LEVELS[1] = new LevelInfo(LevelConf, 8, 8, T_CASTLE, 2, 70, 40); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 1, -1); DEMON_EASY_LEVELS[0] = new LevelInfo(LevelConf, 8, 8, T_LAVA, 1, 70, 40); DEMON_EASY_LEVELS[1] = new LevelInfo(LevelConf, 8, 8, T_MONTANHA, 2, 70, 40); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_EASY_LEVELS[2] = new LevelInfo(LevelConf, 10, 10, T_GELO, 3, 60, 40); HUMAN_EASY_LEVELS[3] = new LevelInfo(LevelConf, 10, 10, T_CASTLE, 4, 60, 40); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_EASY_LEVELS[2] = new LevelInfo(LevelConf, 10, 10, T_LAVA, 3, 60, 40); DEMON_EASY_LEVELS[3] = new LevelInfo(LevelConf, 10, 10, T_MONTANHA, 4, 60, 40); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); HUMAN_EASY_LEVELS[4] = new LevelInfo(LevelConf, 12, 7, T_GELO, 5, 70, 45); HUMAN_EASY_LEVELS[5] = new LevelInfo(LevelConf, 12, 7, T_CASTLE, 6, 70, 45); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); DEMON_EASY_LEVELS[4] = new LevelInfo(LevelConf, 12, 7, T_LAVA, 5, 70, 45); DEMON_EASY_LEVELS[5] = new LevelInfo(LevelConf, 12, 7, T_MONTANHA, 6, 70, 45); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_EASY_LEVELS[6] = new LevelInfo(LevelConf, 12, 14, T_GELO, 7, 60, 60); HUMAN_EASY_LEVELS[7] = new LevelInfo(LevelConf, 12, 14, T_CASTLE, 8, 60, 60); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_EASY_LEVELS[6] = new LevelInfo(LevelConf, 12, 14, T_LAVA, 7, 60, 60); DEMON_EASY_LEVELS[7] = new LevelInfo(LevelConf, 12, 14, T_MONTANHA, 8, 60, 60); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 3); HUMAN_EASY_LEVELS[8] = new LevelInfo(LevelConf, 22, 20, T_GELO, 9, 60, 60); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 3); DEMON_EASY_LEVELS[8] = new LevelInfo(LevelConf, 22, 20, T_LAVA, 9, 60, 60); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 3); HUMAN_EASY_LEVELS[9] = new LevelInfo(LevelConf, 22, 20, T_CASTLE, 10, 60, 60); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 3); DEMON_EASY_LEVELS[9] = new LevelInfo(LevelConf, 22, 20, T_MONTANHA, 10, 60, 60); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 4); HUMAN_EASY_LEVELS[10] = new LevelInfo(LevelConf, 22, 20, T_GELO, 11, 70, 70); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 4); DEMON_EASY_LEVELS[10] = new LevelInfo(LevelConf, 22, 20, T_LAVA, 11, 70, 70); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 4); HUMAN_EASY_LEVELS[11] = new LevelInfo(LevelConf, 22, 20, T_CASTLE, 12, 80, 80); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 4); DEMON_EASY_LEVELS[11] = new LevelInfo(LevelConf, 22, 20, T_MONTANHA, 12, 80, 80); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_EASY_LEVELS[12] = new LevelInfo(LevelConf, 30, 26, T_GELO, 13, 80, 90); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_EASY_LEVELS[12] = new LevelInfo(LevelConf, 30, 26, T_LAVA, 13, 80, 90); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_HARD_LEVELS[0] = new LevelInfo(LevelConf, 20, 16, T_CASTLE, 1, 80, 80); HUMAN_HARD_LEVELS[1] = new LevelInfo(LevelConf, 20, 16, T_GELO, 2, 80, 80); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_HARD_LEVELS[0] = new LevelInfo(LevelConf, 20, 16, T_MONTANHA, 1, 80, 80); DEMON_HARD_LEVELS[1] = new LevelInfo(LevelConf, 20, 16, T_LAVA, 2, 80, 80); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, true, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_HARD_LEVELS[2] = new LevelInfo(LevelConf, 20, 18, T_CASTLE, 3, 90, 90); HUMAN_HARD_LEVELS[3] = new LevelInfo(LevelConf, 20, 18, T_GELO, 4, 90, 90); LevelConf = new Array(); SetAllCardsFromLevelAndPage(LevelConf, false, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_HARD_LEVELS[2] = new LevelInfo(LevelConf, 20, 18, T_MONTANHA, 3, 90, 90); DEMON_HARD_LEVELS[3] = new LevelInfo(LevelConf, 20, 18, T_LAVA, 4, 90, 90); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 2); HUMAN_HARD_LEVELS[4] = new LevelInfo(LevelConf, 30, 28, T_CASTLE, 5, 120, 120); HUMAN_HARD_LEVELS[5] = new LevelInfo(LevelConf, 30, 28, T_GELO, 6, 120, 120); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 2); DEMON_HARD_LEVELS[4] = new LevelInfo(LevelConf, 30, 28, T_MONTANHA, 5, 120, 120); DEMON_HARD_LEVELS[5] = new LevelInfo(LevelConf, 30, 28, T_LAVA, 6, 120, 120); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 4); HUMAN_HARD_LEVELS[6] = new LevelInfo(LevelConf, 30, 28, T_CASTLE, 7, 140, 140); HUMAN_HARD_LEVELS[7] = new LevelInfo(LevelConf, 30, 28, T_GELO, 8, 140, 140); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 4); DEMON_HARD_LEVELS[6] = new LevelInfo(LevelConf, 30, 28, T_MONTANHA, 7, 140, 140); DEMON_HARD_LEVELS[7] = new LevelInfo(LevelConf, 30, 28, T_LAVA, 8, 140, 140); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 4); HUMAN_HARD_LEVELS[8] = new LevelInfo(LevelConf, 30, 26, T_CASTLE, 9, 120, 140); HUMAN_HARD_LEVELS[9] = new LevelInfo(LevelConf, 30, 26, T_GELO, 10, 120, 140); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 4); DEMON_HARD_LEVELS[8] = new LevelInfo(LevelConf, 30, 26, T_MONTANHA, 9, 120, 140); DEMON_HARD_LEVELS[9] = new LevelInfo(LevelConf, 30, 26, T_LAVA, 10, 120, 140); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 3); HUMAN_HARD_LEVELS[10] = new LevelInfo(LevelConf, 30, 26, T_CASTLE, 11, 130, 150); HUMAN_HARD_LEVELS[11] = new LevelInfo(LevelConf, 30, 26, T_GELO, 12, 130, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; SetAllCardsFromLevelAndPage(LevelConf, false, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 3); DEMON_HARD_LEVELS[10] = new LevelInfo(LevelConf, 30, 26, T_MONTANHA, 11, 130, 150); DEMON_HARD_LEVELS[11] = new LevelInfo(LevelConf, 30, 26, T_LAVA, 12, 130, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); HUMAN_HARD_LEVELS[12] = new LevelInfo(LevelConf, 52, 52, T_CASTLE, 13, 250, 300); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, false, 1, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); DEMON_HARD_LEVELS[12] = new LevelInfo(LevelConf, 52, 52, T_MONTANHA, 13, 250, 300); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 2); SetAllCardsFromLevelAndPage(LevelConf, true, 4, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 4, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 2); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 2); BOTH_LEVELS[0] = new LevelInfo(LevelConf, 30, 30, T_GRAMA, 1, 150, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 1); SetAllCardsFromLevelAndPage(LevelConf, true, 4, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 4, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 1); BOTH_LEVELS[1] = new LevelInfo(LevelConf, 30, 30, T_FLORESTA, 2, 150, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 3); SetAllCardsFromLevelAndPage(LevelConf, true, 4, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 4, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 3); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 3); BOTH_LEVELS[2] = new LevelInfo(LevelConf, 30, 30, T_GRAMA, 3, 150, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; SetAllCardsFromLevelAndPage(LevelConf, true, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 2, 4); SetAllCardsFromLevelAndPage(LevelConf, true, 4, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 4, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 1, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 3, 4); SetAllCardsFromLevelAndPage(LevelConf, false, 2, 4); BOTH_LEVELS[3] = new LevelInfo(LevelConf, 30, 30, T_FLORESTA, 4, 150, 150); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, true, 2, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 4, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 4, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 2, -1); BOTH_LEVELS[4] = new LevelInfo(LevelConf, 50, 60, T_GRAMA, 5, 300, 300); BOTH_LEVELS[5] = new LevelInfo(LevelConf, 50, 60, T_FLORESTA, 6, 300, 300); BOTH_LEVELS[6] = new LevelInfo(LevelConf, 50, 60, T_GRAMA, 7, 300, 300); BOTH_LEVELS[7] = new LevelInfo(LevelConf, 50, 60, T_FLORESTA, 8, 300, 300); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, true, 3, -1); SetAllCardsFromLevelAndPage(LevelConf, true, 4, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 4, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 3, -1); BOTH_LEVELS[8] = new LevelInfo(LevelConf, 40, 40, T_GRAMA, 9, 250, 300); BOTH_LEVELS[9] = new LevelInfo(LevelConf, 40, 40, T_FLORESTA, 10, 250, 300); BOTH_LEVELS[10] = new LevelInfo(LevelConf, 40, 40, T_GRAMA, 11, 250, 300); BOTH_LEVELS[11] = new LevelInfo(LevelConf, 40, 40, T_FLORESTA, 12, 250, 300); LevelConf = new Array(); LevelConf[LevelConf.length] = CardDB.CARD_H_ELRION; LevelConf[LevelConf.length] = CardDB.CARD_H_LEONEL; LevelConf[LevelConf.length] = CardDB.CARD_H_LOTHAR; LevelConf[LevelConf.length] = CardDB.CARD_H_MERLIN; LevelConf[LevelConf.length] = CardDB.CARD_D_ABADA; LevelConf[LevelConf.length] = CardDB.CARD_D_KALODAN; LevelConf[LevelConf.length] = CardDB.CARD_D_BELZERU; LevelConf[LevelConf.length] = CardDB.CARD_D_BALROG; SetAllCardsFromLevelAndPage(LevelConf, true, 4, -1); SetAllCardsFromLevelAndPage(LevelConf, false, 4, -1); BOTH_LEVELS[12] = new LevelInfo(LevelConf, 20, 20, T_GRAMA, 13, 200, 300); } public static function ClickLevel(E:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Book.PRE_BATTLE = E.target.ID; Application.application.World.Quit(); Book.CallTela(); } public static function GetLevelCardsArray(pLevel:int):Array{ var PickCard:int; var UsedCards:Array = new Array(); var LevelCards:Array = GetLevelInfo(pLevel, Application.application.World.WORLD).CARDS; var QTD_CARDS:int = GetLevelInfo(pLevel, Application.application.World.WORLD).ENEMY_QTD_CARDS; var i:int; while (i <= QTD_CARDS) { PickCard = (Math.random() * (LevelCards.length - 1)); while (UsedCards.indexOf(LevelCards[PickCard]) >= 0) { PickCard++; if (PickCard > LevelCards.length){ PickCard = 0; }; }; UsedCards[UsedCards.length] = LevelCards[PickCard]; i++; }; return (UsedCards); } public static function SetInfoOnLevelMc(pLevelMc:MovieClip, pLevelId:int):void{ pLevelMc.ID = pLevelId; pLevelMc.addEventListener(MouseEvent.CLICK, ClickLevel, false, 0, true); pLevelMc.addEventListener(MouseEvent.ROLL_OUT, OutLevel, false, 0, true); pLevelMc.addEventListener(MouseEvent.ROLL_OVER, OverLevel, false, 0, true); pLevelMc.useHandCursor = true; pLevelMc.buttonMode = true; } public static function OutLevel(E:MouseEvent):void{ Application.application.World.GRF_GRAFICO.LEVEL_INFO.alpha = 0; if (Application.application.World.LevelDone(E.target.ID)){ E.target.gotoAndStop((PlayerDB.HUMAN) ? "HUMAN" : "DEMON"); } else { E.target.gotoAndStop("OFF"); }; } private static function SetAllCardsFromLevelAndPage(pLevelArray:Array, pHuman:Boolean, pLevel:int, pPage:int):void{ var Raca:int; if (pHuman){ Raca = CardDB.RACA_HUMANO; } else { Raca = CardDB.RACA_DEMONIO; }; var i:int; while (i < CardDB.Cards.length) { if ((((CardDB.GetCardInfo(i).RACA == Raca)) && ((CardDB.GetCardInfo(i).LEVEL == pLevel)))){ if (pPage == -1){ pLevelArray[pLevelArray.length] = i; } else { if ((((pPage == 1)) && ((CardDB.GetCardInfo(i).CLASSE == CardDB.CLASSE_WARRIOR)))){ pLevelArray[pLevelArray.length] = i; } else { if ((((pPage == 2)) && ((((CardDB.GetCardInfo(i).CLASSE == CardDB.CLASSE_WARRIORS_FORTES)) || ((CardDB.GetCardInfo(i).CLASSE == CardDB.CLASSE_CAVALARIA)))))){ pLevelArray[pLevelArray.length] = i; } else { if ((((pPage == 3)) && ((CardDB.GetCardInfo(i).CLASSE == CardDB.CLASSE_RANGERS)))){ pLevelArray[pLevelArray.length] = i; } else { if ((((pPage == 4)) && ((CardDB.GetCardInfo(i).CLASSE == CardDB.CLASSE_MAGOS)))){ pLevelArray[pLevelArray.length] = i; }; }; }; }; }; }; i++; }; } public static function GetLevelInfo(pLevel:int, pWorld:int):LevelInfo{ var Retorno:LevelInfo; if (pWorld == WorldMap.WORLD_HUMAN){ if (PlayerDB.HUMAN){ Retorno = HUMAN_HARD_LEVELS[pLevel]; } else { Retorno = HUMAN_EASY_LEVELS[pLevel]; }; } else { if (pWorld == WorldMap.WORLD_DEMON){ if (PlayerDB.HUMAN){ Retorno = DEMON_EASY_LEVELS[pLevel]; } else { Retorno = DEMON_HARD_LEVELS[pLevel]; }; } else { if (PlayerDB.HUMAN){ Retorno = BOTH_LEVELS[pLevel]; } else { Retorno = BOTH_LEVELS[pLevel]; }; }; }; return (Retorno); } public static function OverLevel(E:MouseEvent):void{ var E = E; var LevelInfo:MovieClip = Application.application.World.GRF_GRAFICO.LEVEL_INFO; var TerrenoClass:Class = GetLevelInfo(E.target.ID, Application.application.World.WORLD).TERRENO; if (Options.SFX){ Sons.SFX_MENU.play(); }; E.target.gotoAndStop("ON"); LevelInfo.TERRENO.removeChild(Application.application.HumanMap.GRF_INFO_LEVEL_TERRENO); //unresolved jump var _slot1 = E; Application.application.World.GRF_INFO_LEVEL_TERRENO = new (TerrenoClass); Application.application.World.GRF_INFO_LEVEL_TERRENO.width = 130; Application.application.World.GRF_INFO_LEVEL_TERRENO.height = 47.3; LevelInfo.TERRENO.addChild(Application.application.World.GRF_INFO_LEVEL_TERRENO); LevelInfo.LEVEL.text = ("Level " + GetLevelInfo(E.target.ID, Application.application.World.WORLD).LEVEL.toString()); LevelInfo.CARDS.text = GetLevelInfo(E.target.ID, Application.application.World.WORLD).ENEMY_QTD_CARDS.toString(); LevelInfo.LIFE.text = GetLevelInfo(E.target.ID, Application.application.World.WORLD).ENEMY_LIFE.toString(); if (Application.application.World.WORLD == WorldMap.WORLD_DEMON){ LevelInfo.PACK.gotoAndStop("Demon"); } else { if (Application.application.World.WORLD == WorldMap.WORLD_HUMAN){ LevelInfo.PACK.gotoAndStop("Human"); } else { if (PlayerDB.HUMAN){ LevelInfo.PACK.gotoAndStop("Demon"); } else { LevelInfo.PACK.gotoAndStop("Human"); }; }; }; LevelInfo.alpha = 1; } } }//package DB
Section 174
//LevelInfo (DB.LevelInfo) package DB { public class LevelInfo { public var CARDS:Array; public var LEVEL:int; public var PLAYER_QTD_CARDS:int; public var ENEMY_QTD_CARDS:int; public var ENEMY_LIFE:int; public var TERRENO:Class; public var PLAYER_LIFE:int; public function LevelInfo(pLevelCards:Array, pQtdPlayerCards:int, pQtdCards:int, pTerreno:Class, pNoLevel:int, pPlayerLife:int, pEnemyLife:int){ super(); this.CARDS = pLevelCards; this.ENEMY_QTD_CARDS = pQtdCards; this.ENEMY_LIFE = pEnemyLife; this.PLAYER_LIFE = pPlayerLife; this.LEVEL = pNoLevel; this.TERRENO = pTerreno; this.PLAYER_QTD_CARDS = pQtdPlayerCards; } } }//package DB
Section 175
//PlayerDB (DB.PlayerDB) package DB { import mx.core.*; import mx.controls.*; import Telas.*; import mochi.as3.*; import flash.net.*; public final class PlayerDB { public static var HUMAN_LEVELS:Array; public static var CARDS_VISTAS:Array; public static var CARDS:Array; public static var ZEROU:Boolean; public static var DEMON_LEVELS:Array; public static var HUMAN:Boolean; public static var SCORE:int; public static var CARDS_BATTLE:Array; public static var BOTH_LEVELS:Array; public function PlayerDB(){ super(); SCORE = 0; CARDS_BATTLE = new Array(); CARDS = new Array(); CARDS_VISTAS = new Array(); HUMAN_LEVELS = new Array(); DEMON_LEVELS = new Array(); BOTH_LEVELS = new Array(); } public static function SaveData():void{ var DemonHuman:String; var so:SharedObject; if (Options.AUTO_SAVE){ if (HUMAN){ DemonHuman = "H"; } else { DemonHuman = "D"; }; so = SharedObject.getLocal((("_" + DemonHuman) + "_MysticCards")); so.data.CARDS = CARDS.toString(); so.data.CARDS_VISTAS = CARDS_VISTAS.toString(); so.data.CARDS_BATTLE = CARDS_BATTLE.toString(); so.data.HUMAN = (HUMAN) ? "true" : "false"; so.data.SCORE = SCORE.toString(); so.data.HUMAN_LEVELS = HUMAN_LEVELS.toString(); so.data.DEMON_LEVELS = DEMON_LEVELS.toString(); so.data.BOTH_LEVELS = BOTH_LEVELS.toString(); so.flush(); if (Application.application.MochiScore){ MochiScores.setBoardID("e53db209442e0301"); MochiScores.submit(Number(SCORE), "Player"); }; if (Application.application.Kongregate){ Application.application.KongregateAPI.stats.submit("Score", SCORE.toString()); //unresolved jump var _slot1 = E; }; }; } public static function AddScore(pScore:int):void{ SCORE = (SCORE + pScore); } public static function AddCardToVistas(pIdCard:int):void{ if (CARDS_VISTAS.indexOf(pIdCard) <= 0){ CARDS_VISTAS[CARDS_VISTAS.length] = pIdCard; }; } public static function LoadGame(pHuman:Boolean):void{ var DemonHuman:String; var i:int; var pHuman = pHuman; if (pHuman){ DemonHuman = "H"; } else { DemonHuman = "D"; }; var so:SharedObject = SharedObject.getLocal((("_" + DemonHuman) + "_MysticCards")); var AuxArray:Array = new Array(); AuxArray = (so.data.CARDS as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ CARDS[CARDS.length] = int(AuxArray[i]); }; i = (i + 1); }; AuxArray = (so.data.HUMAN_LEVELS as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ HUMAN_LEVELS[HUMAN_LEVELS.length] = int(AuxArray[i]); }; i = (i + 1); }; AuxArray = (so.data.BOTH_LEVELS as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ BOTH_LEVELS[BOTH_LEVELS.length] = int(AuxArray[i]); }; i = (i + 1); }; AuxArray = (so.data.DEMON_LEVELS as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ DEMON_LEVELS[DEMON_LEVELS.length] = int(AuxArray[i]); }; i = (i + 1); }; AuxArray = (so.data.CARDS_VISTAS as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ CARDS_VISTAS[CARDS_VISTAS.length] = int(AuxArray[i]); }; i = (i + 1); }; AuxArray = (so.data.CARDS_BATTLE as String).split(","); i = 0; while (i < AuxArray.length) { if (AuxArray[i] != ""){ CARDS_BATTLE[CARDS_BATTLE.length] = int(AuxArray[i]); }; i = (i + 1); }; HUMAN = ((so.data.HUMAN)=="true") ? true : false; SCORE = int(so.data.SCORE); if (HUMAN){ if (DEMON_LEVELS.length < 13){ Application.application.World = new WorldMap(WorldMap.WORLD_DEMON); } else { if ((((HUMAN_LEVELS.length < 13)) || (!(Options.BOTH_WORLD)))){ Application.application.World = new WorldMap(WorldMap.WORLD_HUMAN); if (HUMAN_LEVELS.length > 12){ ZEROU = true; }; } else { if (Options.BOTH_WORLD){ Application.application.World = new WorldMap(WorldMap.WORLD_BOTH); if (BOTH_LEVELS.length > 12){ ZEROU = true; }; }; }; }; } else { if (HUMAN_LEVELS.length < 13){ Application.application.World = new WorldMap(WorldMap.WORLD_HUMAN); } else { if ((((DEMON_LEVELS.length < 13)) || (!(Options.BOTH_WORLD)))){ Application.application.World = new WorldMap(WorldMap.WORLD_DEMON); if (DEMON_LEVELS.length > 12){ ZEROU = true; }; } else { if (Options.BOTH_WORLD){ Application.application.World = new WorldMap(WorldMap.WORLD_BOTH); if (BOTH_LEVELS.length > 12){ ZEROU = true; }; }; }; }; }; Tutorial.FIRST_BATTLE = false; Tutorial.FIRST_BOOK = false; Tutorial.FIRST_MAP = false; Tutorial.FIRST_START = false; Application.application.World.CallTela(); //unresolved jump var _slot1 = E; Alert.show(("Error loading Game! " + _slot1.toString())); Capa.CallTela(); } } }//package DB
Section 176
//SpellDB (DB.SpellDB) package DB { public final class SpellDB { public static var SPELL_EXPLOSION_1:int = 32; public static var SPELL_BURN_1:int = 30; public static var SPELL_THUNDER_STORM_1:int = 34; public static var SPELL_THUNDER_STORM_2:int = 35; public static var SPELL_BLESSING_1:int = 28; public static var SPELL_POISON_IMUNITY:int = 10; public static var SPELL_REVITALIZE:int = 0; public static var SPELL_DEFENCE_UP_1:int = 24; public static var SPELL_DEFENCE_UP_2:int = 25; public static var SPELL_LAST_STAND_1:int = 11; public static var SPELL_LAST_STAND_2:int = 12; public static var SPELL_LAST_STAND_3:int = 13; public static var SPELL_BURN_IMUNITY:int = 9; public static var SPELL_POISON_2:int = 43; public static var SPELL_CURE_1:int = 3; public static var SPELL_CRITICAL_1:int = 18; public static var SPELL_BLESSING_2:int = 29; public static var SPELL_CURE_2:int = 4; public static var SPELL_CRITICAL_2:int = 19; public static var SPELL_BREAK_ARMOR_1:int = 16; public static var SPELL_BREAK_ARMOR_2:int = 17; public static var SPELL_POISON_1:int = 42; public static var SPELL_WEAKNES_1:int = 14; public static var SPELL_WEAKNES_2:int = 15; public static var SPELL_BASTION_1:int = 40; public static var SPELL_CURE_3:int = 5; public static var SPELL_EXPLOSION_2:int = 33; public static var SPELL_BASTION_2:int = 41; public static var SPELL_DRAIN_LIFE_1:int = 36; public static var SPELL_DRAIN_LIFE_2:int = 37; public static var SPELL_RAGE_1:int = 38; public static var SPELL_RAGE_2:int = 39; public static var SPELL_BURN_2:int = 31; public static var SPELL_REGENERATION:int = 2; public static var Spells:Array; public static var SPELL_EVADE_1:int = 20; public static var SPELL_EVADE_2:int = 21; public static var SPELL_ATACK_UP_2:int = 27; public static var SPELL_REVIDE_1:int = 22; public static var SPELL_REVIDE_2:int = 23; public static var SPELL_REVIVE:int = 8; public static var SPELL_CURE_ALL_1:int = 6; public static var SPELL_CURE_ALL_2:int = 7; public static var SPELL_ATACK_UP_1:int = 26; public function SpellDB(){ super(); Spells = new Array(); Spells[SPELL_REVITALIZE] = new SpellInfo("Revitalize", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_REMOVE_ALL_DEBUFS, -1, -1, "Remove all debuffs on a sinlge ally every turn"); Spells[SPELL_CURE_1] = new SpellInfo("Cure 1", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_HEAL, 1, SpellInfo.VALOR, "Heal 1 life point on a single ally every turn"); Spells[SPELL_CURE_2] = new SpellInfo("Cure 2", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_HEAL, 2, SpellInfo.VALOR, "Heal 2 life point on a single ally every turn"); Spells[SPELL_CURE_3] = new SpellInfo("Cure 3", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_HEAL, 3, SpellInfo.VALOR, "Heal 3 life point on a single ally every turn"); Spells[SPELL_REVIVE] = new SpellInfo("Revive", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_REVIVE, 0.5, SpellInfo.PORCENTUAL, "50% Chance to instant revive any player on field when it dies"); Spells[SPELL_BURN_IMUNITY] = new SpellInfo("Burn Imune", SpellInfo.TARGET_SELF, SpellInfo.TIPO_IMUNE_BURN, -1, -1, "Imunity to burn damage"); Spells[SPELL_POISON_IMUNITY] = new SpellInfo("Poison Imune", SpellInfo.TARGET_SELF, SpellInfo.TIPO_IMUNE_POISON, -1, -1, "Imunity to poison damage"); Spells[SPELL_LAST_STAND_1] = new SpellInfo("Last Stand 1", SpellInfo.TARGET_SELF, SpellInfo.TIPO_LAST_STAND, 1, SpellInfo.VALOR, "Adds 1 point to defence when life is lower than 50%"); Spells[SPELL_LAST_STAND_2] = new SpellInfo("Last Stand 2", SpellInfo.TARGET_SELF, SpellInfo.TIPO_LAST_STAND, 2, SpellInfo.VALOR, "Adds 2 points to defence when life is lower than 50%"); Spells[SPELL_LAST_STAND_3] = new SpellInfo("Last Stand 3", SpellInfo.TARGET_SELF, SpellInfo.TIPO_LAST_STAND, 3, SpellInfo.VALOR, "Adds 3 points to defence when life is lower than 50%"); Spells[SPELL_WEAKNES_1] = new SpellInfo("Weakness 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DECREASE_ATACK, 0.4, SpellInfo.PORCENTUAL, "Decrease one enemy atack by 40% for 5 turns"); Spells[SPELL_WEAKNES_2] = new SpellInfo("Weakness 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DECREASE_ATACK, 0.6, SpellInfo.PORCENTUAL, "Decrease one enemy atack by 60% for 5 turns"); Spells[SPELL_BREAK_ARMOR_1] = new SpellInfo("Break Armor 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DECREASE_AMOR, 0.3, SpellInfo.PORCENTUAL, "Decrease one enemy armor by 30% for 5 turns"); Spells[SPELL_BREAK_ARMOR_2] = new SpellInfo("Break Armor 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DECREASE_AMOR, 0.5, SpellInfo.PORCENTUAL, "Decrease one enemy armor by 50% for 5 turns"); Spells[SPELL_BLESSING_1] = new SpellInfo("Blessing 1", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_LIFE_BUFF, 1, SpellInfo.VALOR, "Increase a single ally life in +1 life"); Spells[SPELL_BLESSING_2] = new SpellInfo("Blessing 2", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_LIFE_BUFF, 2, SpellInfo.VALOR, "Increase a single ally life in +2 life"); Spells[SPELL_BASTION_1] = new SpellInfo("Bastion 1", SpellInfo.TARGET_SELF, SpellInfo.TIPO_DEFENCE_UP_ON_KILL, 0.15, SpellInfo.PORCENTUAL, "15% of chance to increase Defense in 1 point up to 4 points after one hit"); Spells[SPELL_BASTION_2] = new SpellInfo("Bastion 2", SpellInfo.TARGET_SELF, SpellInfo.TIPO_DEFENCE_UP_ON_KILL, 0.3, SpellInfo.PORCENTUAL, "30% of chance to increase Defense in 1 point up to 4 points after one hit"); Spells[SPELL_CRITICAL_1] = new SpellInfo("Critical 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_CRITICAL_HIT_CHANCE, 0.3, SpellInfo.PORCENTUAL, "30% of chance to double atack power every hit on enemy"); Spells[SPELL_CRITICAL_2] = new SpellInfo("Critical 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_CRITICAL_HIT_CHANCE, 0.5, SpellInfo.PORCENTUAL, "50% of chance to double atack power every hit on enemy"); Spells[SPELL_POISON_1] = new SpellInfo("Poison 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_POISON, 1, SpellInfo.VALOR, "Poison a enemy for 4 turns, decrease 1 life each turn"); Spells[SPELL_POISON_2] = new SpellInfo("Poison 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_POISON, 2, SpellInfo.VALOR, "Poison a enemy for 4 turns, decrease 2 life each turn"); Spells[SPELL_EVADE_1] = new SpellInfo("Evade 1", SpellInfo.TARGET_SELF, SpellInfo.TIPO_EVADE_CHANCE, 0.3, SpellInfo.PORCENTUAL, "30% of chance to avoid an atack"); Spells[SPELL_EVADE_2] = new SpellInfo("Evade 2", SpellInfo.TARGET_SELF, SpellInfo.TIPO_EVADE_CHANCE, 0.5, SpellInfo.PORCENTUAL, "50% of chance to avoid an atack"); Spells[SPELL_RAGE_1] = new SpellInfo("Rage 1", SpellInfo.TARGET_SELF, SpellInfo.TIPO_ATACK_UP_ON_KILL, 0.25, SpellInfo.PORCENTUAL, "25% of chance to increase Atack in 1 point up to 6 points after one hit"); Spells[SPELL_RAGE_2] = new SpellInfo("Rage 2", SpellInfo.TARGET_SELF, SpellInfo.TIPO_ATACK_UP_ON_KILL, 0.4, SpellInfo.PORCENTUAL, "40% of chance to increase Atack in 1 point up to 6 points after one hit"); Spells[SPELL_REVIDE_1] = new SpellInfo("Revide 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_REVIDE, 0.4, SpellInfo.PORCENTUAL, "Revide any meele atack dealing 40% of damage from atack power"); Spells[SPELL_REVIDE_2] = new SpellInfo("Revide 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_REVIDE, 0.6, SpellInfo.PORCENTUAL, "Revide any meele atack dealing 60% of damage from atack power"); Spells[SPELL_REGENERATION] = new SpellInfo("Regeneration", SpellInfo.TARGET_SELF, SpellInfo.TIPO_REGENERATION, 1, SpellInfo.VALOR, "Regenerate 1 life point every turn"); Spells[SPELL_BURN_1] = new SpellInfo("Burn 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_BURN, 0.4, SpellInfo.PORCENTUAL, "40% of chance to decrease 1 life/turn and 2 atack points for 3 turns"); Spells[SPELL_BURN_2] = new SpellInfo("Burn 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_BURN, 0.6, SpellInfo.PORCENTUAL, "60% of chance to decrease 1 life/turn and 2 atack points for 3 turns"); Spells[SPELL_ATACK_UP_1] = new SpellInfo("Atack Up 1", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_ATACK_BUFF, 1, SpellInfo.VALOR, "Increase 1 atack point of an ally every turn"); Spells[SPELL_ATACK_UP_2] = new SpellInfo("Atack Up 2", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_ATACK_BUFF, 2, SpellInfo.VALOR, "Increase 2 atack points of an ally every turn"); Spells[SPELL_DEFENCE_UP_1] = new SpellInfo("Defense Up 1", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_DEFENCE_BUFF, 1, SpellInfo.VALOR, "Increase 1 defense point of an ally every turn"); Spells[SPELL_DEFENCE_UP_2] = new SpellInfo("Defense Up 2", SpellInfo.TARGET_SINGLE_ALLY, SpellInfo.TIPO_DEFENCE_BUFF, 2, SpellInfo.VALOR, "Increase 2 defense points of an ally every turn"); Spells[SPELL_DRAIN_LIFE_1] = new SpellInfo("Drain Life 1", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DRAIN_LIFE, 1, SpellInfo.VALOR, "Drain 1 life point from enemy"); Spells[SPELL_DRAIN_LIFE_2] = new SpellInfo("Drain Life 2", SpellInfo.TARGET_SINGLE_ENEMY, SpellInfo.TIPO_DRAIN_LIFE, 2, SpellInfo.VALOR, "Drain 2 life point from enemy"); Spells[SPELL_CURE_ALL_1] = new SpellInfo("Cure All 1", SpellInfo.TARGET_ALL_ALLYS, SpellInfo.TIPO_HEAL_ALL, 1, SpellInfo.VALOR, "Heal 1 life point on all ally units every turn"); Spells[SPELL_CURE_ALL_2] = new SpellInfo("Cure All 2", SpellInfo.TARGET_ALL_ALLYS, SpellInfo.TIPO_HEAL_ALL, 2, SpellInfo.VALOR, "Heal 2 life point on all ally units every turn"); Spells[SPELL_THUNDER_STORM_1] = new SpellInfo("Thunder Storm 1", SpellInfo.TARGET_ALL_ENEMYS, SpellInfo.TIPO_THUNDERSOTM, 1, SpellInfo.VALOR, "Deal 1 damage to all enemys"); Spells[SPELL_THUNDER_STORM_2] = new SpellInfo("Thunder Storm 2", SpellInfo.TARGET_ALL_ENEMYS, SpellInfo.TIPO_THUNDERSOTM, 2, SpellInfo.VALOR, "Deal 2 damage to all enemys"); Spells[SPELL_EXPLOSION_1] = new SpellInfo("Explosion 1", SpellInfo.TARGET_ALL_ENEMYS, SpellInfo.TIPO_EXPLOSION, 1, SpellInfo.VALOR, "Deal 1 damage to all enemys 20% chance to burn enemy"); Spells[SPELL_EXPLOSION_2] = new SpellInfo("Explosion 2", SpellInfo.TARGET_ALL_ENEMYS, SpellInfo.TIPO_EXPLOSION, 2, SpellInfo.VALOR, "Deal 2 damage to all enemys 20% chance to burn enemy"); } public static function SpellIsCastable(pIdSpell:int):Boolean{ var Retorno:Boolean; switch (GetSpell(pIdSpell).TIPO){ case SpellInfo.TIPO_REVIVE: Retorno = false; break; case SpellInfo.TIPO_REGENERATION: Retorno = false; break; case SpellInfo.TIPO_IMUNE_BURN: Retorno = false; break; case SpellInfo.TIPO_IMUNE_POISON: Retorno = false; break; case SpellInfo.TIPO_LAST_STAND: Retorno = false; break; case SpellInfo.TIPO_CRITICAL_HIT_CHANCE: Retorno = false; break; case SpellInfo.TIPO_EVADE_CHANCE: Retorno = false; break; case SpellInfo.TIPO_DEFENCE_UP_ON_KILL: Retorno = false; break; case SpellInfo.TIPO_ATACK_UP_ON_KILL: Retorno = false; break; case SpellInfo.TIPO_REVIDE: Retorno = false; break; }; return (Retorno); } public static function GetSpell(pID:int):SpellInfo{ return (Spells[pID]); } public static function GetSpellSpawnCost(pIdSpell:int, pIdCard:int):Number{ var SpawnCost:Number = 0; switch (GetSpell(pIdSpell).TIPO){ case SpellInfo.TIPO_REMOVE_ALL_DEBUFS: SpawnCost = (SpawnCost + (0.5 * 1.5)); break; case SpellInfo.TIPO_HEAL: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 1.5)); break; case SpellInfo.TIPO_THUNDERSOTM: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 0.5) * 2.5)); break; case SpellInfo.TIPO_EXPLOSION: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 0.5) * 2.5)); SpawnCost = (SpawnCost + (0.2 * 0.9)); break; case SpellInfo.TIPO_REVIVE: SpawnCost = (SpawnCost + (1.5 * 1.5)); break; case SpellInfo.TIPO_HEAL_ALL: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 3)); break; case SpellInfo.TIPO_REGENERATION: SpawnCost = (SpawnCost + GetSpell(pIdSpell).POTENCIA); break; case SpellInfo.TIPO_IMUNE_BURN: SpawnCost = (SpawnCost + 0.5); break; case SpellInfo.TIPO_IMUNE_POISON: SpawnCost = (SpawnCost + 0.5); break; case SpellInfo.TIPO_LAST_STAND: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 0.5)); break; case SpellInfo.TIPO_CRITICAL_HIT_CHANCE: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * CardDB.GetCardInfo(pIdCard).DANO) / 2)); break; case SpellInfo.TIPO_DECREASE_AMOR: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 4) * 1.5)); break; case SpellInfo.TIPO_DECREASE_ATACK: SpawnCost = (SpawnCost + (((GetSpell(pIdSpell).POTENCIA * 6) / 2) * 1.5)); break; case SpellInfo.TIPO_EVADE_CHANCE: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * (((CardDB.GetCardInfo(pIdCard).VIDA / 4) + CardDB.GetCardInfo(pIdCard).DEF) + (CardDB.GetCardInfo(pIdCard).DANO / 2)))); break; case SpellInfo.TIPO_LIFE_BUFF: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 1.5) * 1.5)); break; case SpellInfo.TIPO_DEFENCE_UP_ON_KILL: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 1) * 5)); break; case SpellInfo.TIPO_ATACK_UP_ON_KILL: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 0.5) * 5)); break; case SpellInfo.TIPO_POISON: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 0.5)); break; case SpellInfo.TIPO_BURN: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 0.9)); break; case SpellInfo.TIPO_REVIDE: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * CardDB.GetCardInfo(pIdCard).DANO) / 2)); break; case SpellInfo.TIPO_ATACK_BUFF: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 0.5) * 1.5)); break; case SpellInfo.TIPO_DEFENCE_BUFF: SpawnCost = (SpawnCost + ((GetSpell(pIdSpell).POTENCIA * 1) * 1.5)); break; case SpellInfo.TIPO_DRAIN_LIFE: SpawnCost = (SpawnCost + (GetSpell(pIdSpell).POTENCIA * 1.75)); break; }; return (SpawnCost); } } }//package DB
Section 177
//SpellInfo (DB.SpellInfo) package DB { public class SpellInfo { public var NOME:String; public var TARGETS:int; public var DESCRICAO:String; public var TIPO_POTENCIA:int; public var TIPO:int; public var POTENCIA:Number; public static var PORCENTUAL:int = 1; public static var TIPO_ATACK_BUFF:int = 10; public static var TIPO_THUNDERSOTM:int = 22; public static var TIPO_REVIDE:int = 16; public static var TIPO_HEAL:int = 1; public static var TIPO_CRITICAL_HIT_CHANCE:int = 7; public static var TARGET_SINGLE_ENEMY:int = 1; public static var TIPO_EXPLOSION:int = 23; public static var VALOR:int = 0; public static var TIPO_EVADE_CHANCE:int = 8; public static var TIPO_REMOVE_ALL_DEBUFS:int = 0; public static var TIPO_IMUNE_POISON:int = 2; public static var TIPO_DEFENCE_BUFF:int = 11; public static var TIPO_REGENERATION:int = 17; public static var TIPO_LAST_STAND:int = 4; public static var TARGET_SELF:int = 2; public static var TIPO_DECREASE_AMOR:int = 6; public static var TIPO_REVIVE:int = 21; public static var TIPO_ATACK_UP_ON_KILL:int = 13; public static var TIPO_HEAL_ALL:int = 20; public static var TARGET_ALL_ENEMYS:int = 4; public static var TARGET_EVERYONE:int = 3; public static var TIPO_DECREASE_ATACK:int = 5; public static var TIPO_LIFE_BUFF:int = 9; public static var TIPO_DRAIN_LIFE:int = 19; public static var TARGET_ALL_ALLYS:int = 5; public static var TIPO_IMUNE_BURN:int = 3; public static var TIPO_POISON:int = 14; public static var TARGET_SINGLE_ALLY:int = 0; public static var TIPO_BURN:int = 18; public static var TIPO_DEFENCE_UP_ON_KILL:int = 12; public function SpellInfo(pNome:String, pTarget:int, pTipo:int, pPotencia:Number, pTipoPotencia:int, pDescricao:String){ super(); this.NOME = pNome; this.TARGETS = pTarget; this.TIPO = pTipo; this.POTENCIA = pPotencia; this.TIPO_POTENCIA = pTipoPotencia; this.DESCRICAO = pDescricao; } } }//package DB
Section 178
//StageMark_5 (Graficos_fla.StageMark_5) package Graficos_fla { import flash.display.*; public dynamic class StageMark_5 extends MovieClip { public function StageMark_5(){ addFrameScript(0, this.frame1); } function frame1(){ this.stop(); } } }//package Graficos_fla
Section 179
//MochiAd (mochi.as3.MochiAd) package mochi.as3 { import flash.display.*; import flash.events.*; import flash.system.*; import flash.net.*; import flash.utils.*; public class MochiAd { public function MochiAd(){ super(); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showClickAwayAd(options:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = options; var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; var sendHostProgress:Boolean; mc.regContLC = function (lc_name:String):void{ mc._containerLCName = lc_name; }; chk["onEnterFrame"] = function ():void{ var total:Number; if (!this.parent){ delete this.onEnterFrame; return; }; var ad_clip:Object = this.parent._mochiad_ctr; var elapsed:Number = (getTimer() - this.started); var finished:Boolean; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; finished = true; chk.started = getTimer(); } else { if (elapsed > chk.ad_timeout){ options.ad_failed(); finished = true; }; }; }; if (this.root == null){ finished = true; }; if (finished){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(server:String):String{ var hostname:String = server.split("/")[2].split(":")[0]; if (Security.sandboxType == "application"){ return (hostname); }; Security.allowDomain("*"); Security.allowDomain(hostname); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(hostname); return (hostname); } public static function unload(clip:Object):Boolean{ if (((clip.clip) && (clip.clip._mochiad))){ clip = clip.clip; }; if (clip.origFrameRate != undefined){ clip.stage.frameRate = clip.origFrameRate; }; if (!clip._mochiad){ return (false); }; if (clip._mochiad._containerLCName != undefined){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"}); }; if (clip._mochiad.onUnload){ clip._mochiad.onUnload(); }; delete clip._mochiad_loaded; delete clip._mochiad; return (true); } public static function showInterLevelAd(options:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = options; var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (p > 0){ this.parent.alpha = (p * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (msec:Number):void{ var _chk:Object = mc._mochiad_wait; _chk.server_control = true; _chk.showing = true; _chk.started = getTimer(); _chk.ad_msec = (msec - 250); }; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; chk["onEnterFrame"] = function ():void{ var total:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var ad_clip:Object = this.parent._mochiad_ctr; var elapsed:Number = (getTimer() - this.started); var finished:Boolean; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (elapsed > chk.ad_timeout){ options.ad_failed(); finished = true; }; }; }; if (elapsed > chk.ad_msec){ finished = true; }; if (finished){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(options:Object, defaults:Object):Object{ var k:String; var pairs:Array; var i:Number; var kv:Array; var optcopy:Object = {}; for (k in defaults) { optcopy[k] = defaults[k]; }; if (options){ for (k in options) { optcopy[k] = options[k]; }; }; if (optcopy.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; options = optcopy.clip.loaderInfo.parameters.mochiad_options; if (options){ pairs = options.split("&"); i = 0; while (i < pairs.length) { kv = pairs[i].split("="); optcopy[unescape(kv[0])] = unescape(kv[1]); i++; }; }; if (optcopy.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (optcopy); } public static function _cleanup(mc:Object):void{ var k:String; var lc:LocalConnection; var f:Function; var mc = mc; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ lc.client = null; lc.close(); //unresolved jump var _slot1 = e; }; setTimeout(f, 0); }; var idx:Number = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(options:Object):MovieClip{ var clip:Object; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = options; var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip._mochiad_loaded){ return (null); }; //unresolved jump var _slot1 = e; throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); var depth:Number = options.depth; delete options.depth; var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth); var wh:Array = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; } else { trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal"); }; var lv:URLVariables = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (ev:Object):void{ ev.target.removeEventListener(ev.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (io:IOErrorEvent):void{ trace("[MochiAds] Blocked URL"); }); loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(base:Object, methodName:String, argsArray:Array):Object{ var nameArray:Array = methodName.split("."); var i:Number = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return (undefined); }; base = base[nameArray[i]]; i++; }; if (typeof(base[nameArray[i]]) == "function"){ return (base[nameArray[i]].apply(base, argsArray)); }; return (undefined); } public static function createEmptyMovieClip(parent:Object, name:String, depth:Number):MovieClip{ var mc:MovieClip = new MovieClip(); if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; parent[name] = mc; mc["_name"] = name; return (mc); } public static function _getRes(options:Object, clip:Object):Array{ var xy:Array; var b:Object = clip.getBounds(clip.root); var w:Number = 0; var h:Number = 0; if (typeof(options.res) != "undefined"){ xy = options.res.split("x"); w = parseFloat(xy[0]); h = parseFloat(xy[1]); } else { w = (b.xMax - b.xMin); h = (b.yMax - b.yMin); }; if ((((w == 0)) || ((h == 0)))){ w = clip.stage.stageWidth; h = clip.stage.stageHeight; }; return ([w, h]); } public static function adShowing(mc:Object):void{ mc.origFrameRate = mc.stage.frameRate; mc.stage.frameRate = 30; } public static function getValue(base:Object, objectName:String):Object{ var nameArray:Array = objectName.split("."); var i:Number = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return (undefined); }; base = base[nameArray[i]]; i++; }; return (base[nameArray[i]]); } public static function rpc(clip:Object, callbackID:Number, arg:Object):void{ var _local4:Object; var _local5:Object; switch (arg.id){ case "setValue": MochiAd.setValue(clip, arg.objectName, arg.value); break; case "getValue": _local4 = MochiAd.getValue(clip, arg.objectName); clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(clip, arg.method, arg.args); clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + arg.id)); }; } public static function setValue(base:Object, objectName:String, value:Object):void{ var nameArray:Array = objectName.split("."); var i:Number = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return; }; base = base[nameArray[i]]; i++; }; base[nameArray[i]] = value; } public static function showPreGameAd(options:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var complete:Boolean; var unloaded:Boolean; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = options; var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (percent:Number):void{ }, progress_override:function (_clip:Object):Number{ return (NaN); }, bar_offset:0}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); var fn:Function = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = (10 + options.bar_offset); bar.y = (h - 20); }; var bar_w:Number = ((w - bar.x) - 10); var bar_color:Number = options.color; delete options.color; var bar_background:Number = options.background; delete options.background; var bar_outline:Number = options.outline; delete options.outline; var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1); var backing:Object = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo(bar_w, 0); backing.lineTo(bar_w, 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2); var inside:Object = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo(bar_w, 0); inside.lineTo(bar_w, 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3); var outline:Object = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo(bar_w, 0); outline.lineTo(bar_w, 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (p > 0){ this.parent.alpha = (p * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; var progress:Number = Math.min(1, options.progress_override(clip)); var f:Function = function (ev:Event):void{ ev.target.removeEventListener(ev.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; if (!isNaN(progress)){ complete = (progress == 1); } else { if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){ complete = true; } else { if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; } else { clip.loaderInfo.addEventListener(Event.COMPLETE, f); }; } else { clip.loaderInfo.addEventListener(Event.COMPLETE, f); }; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (msec:Number):void{ var _chk:Object = mc._mochiad_wait; _chk.server_control = true; _chk.showing = true; _chk.started = getTimer(); _chk.ad_msec = msec; }; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; mc.rpcTestFn = function (s:String):Object{ trace(("[MOCHIAD rpcTestFn] " + s)); return (s); }; mc.regContLC = function (lc_name:String):void{ mc._containerLCName = lc_name; }; sendHostProgress = false; mc.sendHostLoadProgress = function (lc_name:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var total:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; var _clip:Object = this.parent.parent.root; var ad_clip:Object = this.parent._mochiad_ctr; var elapsed:Number = (getTimer() - this.started); var finished:Boolean; var clip_total:Number = _clip.loaderInfo.bytesTotal; var clip_loaded:Number = _clip.loaderInfo.bytesLoaded; var clip_progress:Number = Math.min(1, options.progress_override(_clip)); if (clip_progress == 1){ complete = true; }; if (complete){ clip_loaded = Math.max(1, clip_loaded); clip_total = clip_loaded; }; var clip_pcnt:Number = ((100 * clip_loaded) / clip_total); if (!isNaN(clip_progress)){ clip_pcnt = (100 * clip_progress); }; var ad_pcnt:Number = ((100 * elapsed) / chk.ad_msec); var _inside:Object = this._mochiad_bar._inside; var pcnt:Number = Math.min(100, Math.min(((clip_pcnt) || (0)), ad_pcnt)); pcnt = Math.max(this.last_pcnt, pcnt); this.last_pcnt = pcnt; _inside.scaleX = (pcnt * 0.01); options.ad_progress(pcnt); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:clip_pcnt}); if (clip_pcnt >= 100){ sendHostProgress = false; }; }; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((elapsed > chk.ad_timeout)) && ((clip_pcnt == 100)))){ options.ad_failed(); finished = true; }; }; }; if (elapsed > chk.ad_msec){ finished = true; }; if (((complete) && (finished))){ if (unloaded){ MochiAd.unload(_clip); } else { if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(options:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(options); } public static function showTimedAd(options:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(options); } public static function doOnEnterFrame(mc:MovieClip):void{ var mc = mc; var f:Function = function (ev:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { ev.target.removeEventListener(ev.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package mochi.as3
Section 180
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const LOGGED_IN:String = "LoggedIn"; public static const STORE_ITEMS:String = "StoreItems"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const ITEM_NEW:String = "ItemNew"; public static const USER_INFO:String = "UserInfo"; public static const IO_ERROR:String = "IOError"; public static const ITEM_OWNED:String = "ItemOwned"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const ERROR:String = "Error"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOW:String = "LoginShow"; public static const STORE_SHOW:String = "StoreShow"; public static const PROFILE_HIDE:String = "ProfileHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiCoins(){ super(); } public static function showItem(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:options}, null, null); } public static function saveUserProperties(properties:Object):void{ MochiServices.send("coins_saveUserProperties", properties); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function showLoginWidget(options:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:options}); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showStore(options:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:options}, null, null); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function showVideo(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:options}, null, null); } } }//package mochi.as3
Section 181
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(digit:Number=0, index:uint=0):void{ super(); Encoder = 0; setValue(digit, index); } public function reencode():void{ var newEncode:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (newEncode ^ Encoder)); Encoder = newEncode; } public function set value(v:Number):void{ setValue(v); } public function toString():String{ var s:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ s = (s + Sibling.toString()); }; return (s); } public function setValue(digit:Number=0, index:uint=0):void{ var s:String = digit.toString(); var _temp1 = index; index = (index + 1); Fragment = (s.charCodeAt(_temp1) ^ Encoder); if (index < s.length){ Sibling = new MochiDigits(digit, index); } else { Sibling = null; }; reencode(); } public function get value():Number{ return (Number(this.toString())); } public function addValue(inc:Number):void{ value = (value + inc); } } }//package mochi.as3
Section 182
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ super(); eventTable = {}; } public function triggerEvent(event:String, args:Object):void{ var i:Object; if (eventTable[event] == undefined){ return; }; for (i in eventTable[event]) { var _local6 = eventTable[event]; _local6[i](args); }; } public function removeEventListener(event:String, delegate:Function):void{ var s:Object; if (eventTable[event] == undefined){ eventTable[event] = []; return; }; for (s in eventTable[event]) { if (eventTable[event][s] != delegate){ } else { eventTable[event].splice(Number(s), 1); }; }; } public function addEventListener(event:String, delegate:Function):void{ removeEventListener(event, delegate); eventTable[event].push(delegate); } } }//package mochi.as3
Section 183
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public function MochiEvents(){ super(); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function startSession(achievementID:String):void{ MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function setNotifications(clip:MovieClip, style:Object):void{ var s:Object; var args:Object = {}; for (s in style) { args[s] = style[s]; }; args.clip = clip; MochiServices.send("events_setNotifications", args, null, null); } public static function endGame():void{ var delta:Number = (new Date().time - gameStart); trigger("end_game", {time:delta}); } public static function startGame():void{ gameStart = new Date().time; trigger("start_game"); } public static function trigger(kind:String, obj:Object=null):void{ if (obj == null){ obj = {}; } else { if (obj["kind"] != undefined){ trace("WARNING: optional arguements package contains key 'id', it will be overwritten"); obj["kind"] = kind; }; }; MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startLevel():void{ levelStart = new Date().time; trigger("start_level"); } public static function endLevel():void{ var delta:Number = (new Date().time - levelStart); trigger("end_level", {time:delta}); } } }//package mochi.as3
Section 184
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public function MochiScores(){ super(); } public static function showLeaderboard(options:Object=null):void{ var n:Number; var options = options; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(callbackObj:Object, callbackMethod:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod); } public static function requestList(callbackObj:Object, callbackMethod:Object=null):void{ MochiServices.send("scores_requestList", null, callbackObj, callbackMethod); } public static function scoresArrayToObjects(scores:Object):Object{ var i:Number; var j:Number; var o:Object; var row_obj:Object; var item:String; var param:String; var so:Object = {}; for (item in scores) { if (typeof(scores[item]) == "object"){ if (((!((scores[item].cols == null))) && (!((scores[item].rows == null))))){ so[item] = []; o = scores[item]; j = 0; while (j < o.rows.length) { row_obj = {}; i = 0; while (i < o.cols.length) { row_obj[o.cols[i]] = o.rows[j][i]; i++; }; so[item].push(row_obj); j++; }; } else { so[item] = {}; for (param in scores[item]) { so[item][param] = scores[item][param]; }; }; } else { so[item] = scores[item]; }; }; return (so); } public static function submit(score:Number, name:String, callbackObj:Object=null, callbackMethod:Object=null):void{ score = Number(score); if (isNaN(score)){ trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((score == Number.NEGATIVE_INFINITY)) || ((score == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(score) != score){ trace((("WARNING: Submitted score '" + String(score)) + "' will be truncated")); }; score = Number(score); }; }; MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod); } public static function onClose(args:Object=null):void{ if (((((args) && ((args.error == true)))) && (onErrorHandler))){ if (args.errorCode == null){ args.errorCode = "IOError"; }; onErrorHandler(args.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(boardID:String):void{ MochiServices.warnID(boardID, true); MochiScores.boardID = boardID; MochiServices.send("scores_setBoardID", {boardID:boardID}); } } }//package mochi.as3
Section 185
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.display.*; import flash.geom.*; import flash.events.*; import flash.system.*; import flash.net.*; import flash.utils.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; public static var servicesSync:MochiSync = new MochiSync(); private static var _clip:MovieClip; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _loader:Loader; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public function MochiServices(){ super(); } public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(pkg:Object):void{ var methodName:String; var pkg = pkg; var cb:String = pkg.callbackID; var cblst:Object = _clip._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ method.apply(obj, pkg.args); //unresolved jump var _slot1 = error; trace(((("Error invoking callback method '" + methodName) + "': ") + _slot1.toString())); } else { if (obj != null){ obj(pkg.args); //unresolved jump var _slot1 = error; trace(("Error invoking method on object: " + _slot1.toString())); }; }; delete _clip._callbacks[cb]; } public static function get childClip():Object{ return (_clip); } public static function send(methodName:String, args:Object=null, callbackObject:Object=null, callbackMethod:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName)); handleError(args, callbackObject, callbackMethod); flush(true); return; }; _clip._queue.push({methodName:methodName, args:args, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod}; _clip._nextcallbackID++; }; }; } private static function init(id:String, clip:Object):void{ _id = id; if (clip != null){ _container = clip; loadCommunicator(id, _container); }; } private static function clickMovie(url:String, cb:Function):MovieClip{ var b:int; var loader:Loader; var avm1_bytecode:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var header:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var footer:Array = [0, 64, 0, 0, 0]; var mc:MovieClip = new MovieClip(); var lc:LocalConnection = new LocalConnection(); var lc_name:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); lc = new LocalConnection(); mc.lc = lc; mc.click = cb; lc.client = mc; lc.connect(lc_name); var ba:ByteArray = new ByteArray(); var cpool:ByteArray = new ByteArray(); cpool.endian = Endian.LITTLE_ENDIAN; cpool.writeShort(1); cpool.writeUTFBytes(((url + " ") + lc_name)); cpool.writeByte(0); var actionLength:uint = ((avm1_bytecode.length + cpool.length) + 4); var fileLength:uint = (actionLength + 35); ba.endian = Endian.LITTLE_ENDIAN; ba.writeUTFBytes("FWS"); ba.writeByte(8); ba.writeUnsignedInt(fileLength); for each (b in header) { ba.writeByte(b); }; ba.writeUnsignedInt(actionLength); ba.writeByte(136); ba.writeShort(cpool.length); ba.writeBytes(cpool); for each (b in avm1_bytecode) { ba.writeByte(b); }; for each (b in footer) { ba.writeByte(b); }; loader = new Loader(); loader.loadBytes(ba); mc.addChild(loader); return (mc); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(url:String, burl:String, btn:DisplayObjectContainer, onClick:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = url; var burl = burl; var btn = btn; var onClick = onClick; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (url:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(url, onClick); var rect:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = rect.x; avm1Click.y = rect.y; avm1Click.scaleX = (0.01 * rect.width); avm1Click.scaleY = (0.01 * rect.height); }; err = function (ev:Object):void{ netup = false; ev.target.removeEventListener(ev.type, arguments.callee); setURL(burl); }; complete = function (ev:Object):void{ ev.target.removeEventListener(ev.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function warnID(bid:String, leaderboard:Boolean):void{ bid = bid.toLowerCase(); if (bid.length != 16){ trace((("WARNING: " + (leaderboard) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (bid == "1e113c7239048b3f"){ if (leaderboard){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (bid == "84993a1de4031cd8"){ if (leaderboard){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; var i:Number = 0; while (i < bid.length) { switch (bid.charAt(i)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + bid)); return; }; i++; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); _mochiLocalConnection.close(); //unresolved jump var _slot1 = error; }; if (_timer != null){ _timer.stop(); //unresolved jump var _slot1 = error; }; } public static function allowDomains(server:String):String{ var hostname:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (server.indexOf("http://") != -1){ hostname = server.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(hostname); Security.allowInsecureDomain(hostname); }; }; return (hostname); } public static function getVersion():String{ return ("3.3 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } private static function flush(error:Boolean):void{ var request:Object; var callback:Object; if (((_clip) && (_clip._queue))){ while (_clip._queue.length > 0) { request = _clip._queue.shift(); callback = null; if (request != null){ if (request.callbackID != null){ callback = _clip._callbacks[request.callbackID]; }; delete _clip._callbacks[request.callbackID]; if (((error) && (!((callback == null))))){ handleError(request.args, callback.callbackObject, callback.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(pkg:Object):void{ var target:String = pkg.target; var event:String = pkg.event; switch (target){ case "events": MochiEvents.triggerEvent(pkg.event, pkg.args); break; case "coins": MochiCoins.triggerEvent(pkg.event, pkg.args); break; case "sync": servicesSync.triggerEvent(pkg.event, pkg.args); break; }; } private static function urlOptions(clip:Object):Object{ var options:String; var pairs:Array; var i:Number; var kv:Array; var opts:Object = {}; if (clip.stage){ options = clip.stage.loaderInfo.parameters.mochiad_options; } else { options = clip.loaderInfo.parameters.mochiad_options; }; if (options){ pairs = options.split("&"); i = 0; while (i < pairs.length) { kv = pairs[i].split("="); opts[unescape(kv[0])] = unescape(kv[1]); i++; }; }; return (opts); } public static function setContainer(container:Object=null, doAdd:Boolean=true):void{ if (container != null){ if ((container is Sprite)){ _container = container; }; }; if (doAdd){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(args:Object, callbackObject:Object, callbackMethod:Object):void{ var args = args; var callbackObject = callbackObject; var callbackMethod = callbackMethod; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ var _local5 = callbackObject; _local5[callbackMethod](args); //unresolved jump var _slot1 = error; } else { if (callbackMethod != null){ callbackMethod.apply(args); //unresolved jump var _slot1 = error; }; }; }; } private static function loadError(ev:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_clip._queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function loadLCBridge(clip:Object):void{ var loader:Loader; var clip = clip; loader = new Loader(); var mochiLCURL:String = (_servURL + _mochiLC); var req:URLRequest = new URLRequest(mochiLCURL); var complete:Function = function (ev:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (args:Object):void{ MochiServices.comChannelName = args.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function get clip():Object{ return (_container); } public static function set comChannelName(val:String):void{ if (val != null){ if (val.length > 3){ _sendChannelName = (val + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(id:String, clip:Object):MovieClip{ var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servURL){ _servURL = urlOptions(clip).servURL; }; var servicesURL:String = (_servURL + _services); if (urlOptions(clip).servicesURL){ servicesURL = urlOptions(clip).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); var req:URLRequest = new URLRequest(servicesURL); var vars:URLVariables = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; vars.api_version = getVersion(); if (widget){ vars.widget = true; }; req.data = vars; _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function connect(id:String, clip:Object, onError:Object=null):void{ var id = id; var clip = clip; var onError = onError; warnID(id, false); if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (errorCode:String):void{ trace(errorCode); }; }; }; } public static function createEmptyMovieClip(parent:Object, name:String, depth:Number, doAdd:Boolean=true):MovieClip{ var parent = parent; var name = name; var depth = depth; var doAdd = doAdd; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; parent[name] = mc; //unresolved jump var _slot1 = e; throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); mc["_name"] = name; return (mc); } public static function bringToTop(e:Event=null):void{ var e = e; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; //unresolved jump var _slot1 = errorObject; trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; } public static function connectWait(e:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 186
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ super(); _syncContainer = {}; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{ if (_syncContainer[name] == value){ return; }; var n:String = name.toString(); _syncContainer[n] = value; MochiServices.send("sync_propUpdate", {name:n, value:value}); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){ return (_syncContainer[name]); } public function triggerEvent(eventType:String, args:Object):void{ switch (eventType){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[args.name] = args.value; break; }; } } }//package mochi.as3
Section 187
//IAutomationObject (mx.automation.IAutomationObject) package mx.automation { import flash.events.*; public interface IAutomationObject { function createAutomationIDPart(:IAutomationObject):Object; function get automationName():String; function get showInAutomationHierarchy():Boolean; function set automationName(E:\dev\3.1.0\frameworks\projects\framework\src;mx\automation;IAutomationObject.as:String):void; function getAutomationChildAt(delegate:int):IAutomationObject; function get automationDelegate():Object; function get automationTabularData():Object; function resolveAutomationIDPart(Object:Object):Array; function replayAutomatableEvent(void:Event):Boolean; function set automationDelegate(E:\dev\3.1.0\frameworks\projects\framework\src;mx\automation;IAutomationObject.as:Object):void; function get automationValue():Array; function get numAutomationChildren():int; function set showInAutomationHierarchy(E:\dev\3.1.0\frameworks\projects\framework\src;mx\automation;IAutomationObject.as:Boolean):void; } }//package mx.automation
Section 188
//Binding (mx.binding.Binding) package mx.binding { import mx.core.*; import flash.utils.*; public class Binding { mx_internal var destFunc:Function; mx_internal var srcFunc:Function; mx_internal var destString:String; mx_internal var document:Object; private var hasHadValue:Boolean; mx_internal var disabledRequests:Dictionary; mx_internal var isExecuting:Boolean; mx_internal var isHandlingEvent:Boolean; public var twoWayCounterpart:Binding; private var wrappedFunctionSuccessful:Boolean; mx_internal var _isEnabled:Boolean; public var uiComponentWatcher:int; private var lastValue:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function Binding(document:Object, srcFunc:Function, destFunc:Function, destString:String){ super(); this.document = document; this.srcFunc = srcFunc; this.destFunc = destFunc; this.destString = destString; _isEnabled = true; isExecuting = false; isHandlingEvent = false; hasHadValue = false; uiComponentWatcher = -1; BindingManager.addBinding(document, destString, this); } private function registerDisabledExecute(o:Object):void{ if (o != null){ disabledRequests = ((disabledRequests)!=null) ? disabledRequests : new Dictionary(true); disabledRequests[o] = true; }; } protected function wrapFunctionCall(thisArg:Object, wrappedFunction:Function, object:Object=null, ... _args):Object{ var result:Object; var thisArg = thisArg; var wrappedFunction = wrappedFunction; var object = object; var args = _args; wrappedFunctionSuccessful = false; result = wrappedFunction.apply(thisArg, args); wrappedFunctionSuccessful = true; return (result); //unresolved jump var _slot1 = itemPendingError; _slot1.addResponder(new EvalBindingResponder(this, object)); if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + _slot1)); }; //unresolved jump var _slot1 = rangeError; if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + _slot1)); }; //unresolved jump var _slot1 = error; if (((((((((!((_slot1.errorID == 1006))) && (!((_slot1.errorID == 1009))))) && (!((_slot1.errorID == 1010))))) && (!((_slot1.errorID == 1055))))) && (!((_slot1.errorID == 1069))))){ throw (_slot1); } else { if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + _slot1)); }; }; return (null); } public function watcherFired(commitEvent:Boolean, cloneIndex:int):void{ var commitEvent = commitEvent; var cloneIndex = cloneIndex; if (isHandlingEvent){ return; }; try { try { isHandlingEvent = true; execute(cloneIndex); } finally { }; } finally { isHandlingEvent = false; }; } private function nodeSeqEqual(x:XMLList, y:XMLList):Boolean{ var i:uint; var n:uint = x.length(); if (n == y.length()){ i = 0; while ((((i < n)) && ((x[i] === y[i])))) { i++; }; return ((i == n)); //unresolved jump }; return (false); } mx_internal function set isEnabled(value:Boolean):void{ _isEnabled = value; if (value){ processDisabledRequests(); }; } private function processDisabledRequests():void{ var key:Object; if (disabledRequests != null){ for (key in disabledRequests) { execute(key); }; disabledRequests = null; }; } public function execute(o:Object=null):void{ var o = o; if (!isEnabled){ if (o != null){ registerDisabledExecute(o); }; return; }; if (((isExecuting) || (((twoWayCounterpart) && (twoWayCounterpart.isExecuting))))){ hasHadValue = true; return; }; try { try { isExecuting = true; wrapFunctionCall(this, innerExecute, o); } finally { }; } finally { isExecuting = false; }; } mx_internal function get isEnabled():Boolean{ return (_isEnabled); } private function innerExecute():void{ var value:Object = wrapFunctionCall(document, srcFunc); if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", srcFunc result = ") + value)); }; if (((hasHadValue) || (wrappedFunctionSuccessful))){ if (((!((((((lastValue is XML)) && (lastValue.hasComplexContent()))) && ((lastValue === value))))) && (!((((((((lastValue is XMLList)) && (lastValue.hasComplexContent()))) && ((value is XMLList)))) && (nodeSeqEqual((lastValue as XMLList), (value as XMLList)))))))){ destFunc.call(document, value); lastValue = value; hasHadValue = true; }; }; } } }//package mx.binding
Section 189
//BindingManager (mx.binding.BindingManager) package mx.binding { import mx.core.*; public class BindingManager { mx_internal static const VERSION:String = "3.0.0.0"; static var debugDestinationStrings:Object = {}; public function BindingManager(){ super(); } public static function executeBindings(document:Object, destStr:String, destObj:Object):void{ var binding:String; if (((!(destStr)) || ((destStr == "")))){ return; }; if (((((((document) && ((((document is IBindingClient)) || (document.hasOwnProperty("_bindingsByDestination")))))) && (document._bindingsByDestination))) && (document._bindingsBeginWithWord[getFirstWord(destStr)]))){ for (binding in document._bindingsByDestination) { if (binding.charAt(0) == destStr.charAt(0)){ if ((((((binding.indexOf((destStr + ".")) == 0)) || ((binding.indexOf((destStr + "[")) == 0)))) || ((binding == destStr)))){ document._bindingsByDestination[binding].execute(destObj); }; }; }; }; } public static function addBinding(document:Object, destStr:String, b:Binding):void{ if (!document._bindingsByDestination){ document._bindingsByDestination = {}; document._bindingsBeginWithWord = {}; }; document._bindingsByDestination[destStr] = b; document._bindingsBeginWithWord[getFirstWord(destStr)] = true; } public static function debugBinding(destinationString:String):void{ debugDestinationStrings[destinationString] = true; } private static function getFirstWord(destStr:String):String{ var indexPeriod:int = destStr.indexOf("."); var indexBracket:int = destStr.indexOf("["); if (indexPeriod == indexBracket){ return (destStr); }; var minIndex:int = Math.min(indexPeriod, indexBracket); if (minIndex == -1){ minIndex = Math.max(indexPeriod, indexBracket); }; return (destStr.substr(0, minIndex)); } public static function setEnabled(document:Object, isEnabled:Boolean):void{ var bindings:Array; var i:uint; var binding:Binding; if ((((document is IBindingClient)) && (document._bindings))){ bindings = (document._bindings as Array); i = 0; while (i < bindings.length) { binding = bindings[i]; binding.isEnabled = isEnabled; i++; }; }; } } }//package mx.binding
Section 190
//EvalBindingResponder (mx.binding.EvalBindingResponder) package mx.binding { import mx.core.*; import mx.rpc.*; public class EvalBindingResponder implements IResponder { private var binding:Binding; private var object:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function EvalBindingResponder(binding:Binding, object:Object){ super(); this.binding = binding; this.object = object; } public function fault(data:Object):void{ } public function result(data:Object):void{ binding.execute(object); } } }//package mx.binding
Section 191
//IBindingClient (mx.binding.IBindingClient) package mx.binding { public interface IBindingClient { } }//package mx.binding
Section 192
//ItemPendingError (mx.collections.errors.ItemPendingError) package mx.collections.errors { import mx.core.*; import mx.rpc.*; public class ItemPendingError extends Error { private var _responders:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function ItemPendingError(message:String){ super(message); } public function get responders():Array{ return (_responders); } public function addResponder(responder:IResponder):void{ if (!_responders){ _responders = []; }; _responders.push(responder); } } }//package mx.collections.errors
Section 193
//ConstraintError (mx.containers.errors.ConstraintError) package mx.containers.errors { import mx.core.*; public class ConstraintError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function ConstraintError(message:String){ super(message); } } }//package mx.containers.errors
Section 194
//ApplicationLayout (mx.containers.utilityClasses.ApplicationLayout) package mx.containers.utilityClasses { import mx.core.*; public class ApplicationLayout extends BoxLayout { mx_internal static const VERSION:String = "3.0.0.0"; public function ApplicationLayout(){ super(); } override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var paddingLeft:Number; var paddingTop:Number; var oX:Number; var oY:Number; var n:int; var i:int; var child:IFlexDisplayObject; super.updateDisplayList(unscaledWidth, unscaledHeight); var target:Container = super.target; if (((((target.horizontalScrollBar) && ((getHorizontalAlignValue() > 0)))) || (((target.verticalScrollBar) && ((getVerticalAlignValue() > 0)))))){ paddingLeft = target.getStyle("paddingLeft"); paddingTop = target.getStyle("paddingTop"); oX = 0; oY = 0; n = target.numChildren; i = 0; while (i < n) { child = IFlexDisplayObject(target.getChildAt(i)); if (child.x < paddingLeft){ oX = Math.max(oX, (paddingLeft - child.x)); }; if (child.y < paddingTop){ oY = Math.max(oY, (paddingTop - child.y)); }; i++; }; if (((!((oX == 0))) || (!((oY == 0))))){ i = 0; while (i < n) { child = IFlexDisplayObject(target.getChildAt(i)); child.move((child.x + oX), (child.y + oY)); i++; }; }; }; } } }//package mx.containers.utilityClasses
Section 195
//BoxLayout (mx.containers.utilityClasses.BoxLayout) package mx.containers.utilityClasses { import mx.core.*; import mx.controls.scrollClasses.*; import mx.containers.*; public class BoxLayout extends Layout { public var direction:String;// = "vertical" mx_internal static const VERSION:String = "3.0.0.0"; public function BoxLayout(){ super(); } private function isVertical():Boolean{ return (!((direction == BoxDirection.HORIZONTAL))); } mx_internal function getHorizontalAlignValue():Number{ var horizontalAlign:String = target.getStyle("horizontalAlign"); if (horizontalAlign == "center"){ return (0.5); }; if (horizontalAlign == "right"){ return (1); }; return (0); } override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var gap:Number; var numChildrenWithOwnSpace:int; var excessSpace:Number; var top:Number; var left:Number; var i:int; var obj:IUIComponent; var child:IUIComponent; var percentWidth:Number; var percentHeight:Number; var width:Number; var height:Number; var target:Container = super.target; var n:int = target.numChildren; if (n == 0){ return; }; var vm:EdgeMetrics = target.viewMetricsAndPadding; var paddingLeft:Number = target.getStyle("paddingLeft"); var paddingTop:Number = target.getStyle("paddingTop"); var horizontalAlign:Number = getHorizontalAlignValue(); var verticalAlign:Number = getVerticalAlignValue(); var mw:Number = ((((target.scaleX > 0)) && (!((target.scaleX == 1))))) ? (target.minWidth / Math.abs(target.scaleX)) : target.minWidth; var mh:Number = ((((target.scaleY > 0)) && (!((target.scaleY == 1))))) ? (target.minHeight / Math.abs(target.scaleY)) : target.minHeight; var w:Number = ((Math.max(unscaledWidth, mw) - vm.right) - vm.left); var h:Number = ((Math.max(unscaledHeight, mh) - vm.bottom) - vm.top); var horizontalScrollBar:ScrollBar = target.horizontalScrollBar; var verticalScrollBar:ScrollBar = target.verticalScrollBar; if (n == 1){ child = IUIComponent(target.getChildAt(0)); percentWidth = child.percentWidth; percentHeight = child.percentHeight; if (percentWidth){ width = Math.max(child.minWidth, Math.min(child.maxWidth, ((percentWidth)>=100) ? w : ((w * percentWidth) / 100))); } else { width = child.getExplicitOrMeasuredWidth(); }; if (percentHeight){ height = Math.max(child.minHeight, Math.min(child.maxHeight, ((percentHeight)>=100) ? h : ((h * percentHeight) / 100))); } else { height = child.getExplicitOrMeasuredHeight(); }; if ((((child.scaleX == 1)) && ((child.scaleY == 1)))){ child.setActualSize(Math.floor(width), Math.floor(height)); } else { child.setActualSize(width, height); }; if (((!((verticalScrollBar == null))) && ((target.verticalScrollPolicy == ScrollPolicy.AUTO)))){ w = (w + verticalScrollBar.minWidth); }; if (((!((horizontalScrollBar == null))) && ((target.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ h = (h + horizontalScrollBar.minHeight); }; left = (((w - child.width) * horizontalAlign) + paddingLeft); top = (((h - child.height) * verticalAlign) + paddingTop); child.move(Math.floor(left), Math.floor(top)); } else { if (isVertical()){ gap = target.getStyle("verticalGap"); numChildrenWithOwnSpace = n; i = 0; while (i < n) { if (!IUIComponent(target.getChildAt(i)).includeInLayout){ numChildrenWithOwnSpace--; }; i++; }; excessSpace = Flex.flexChildHeightsProportionally(target, (h - ((numChildrenWithOwnSpace - 1) * gap)), w); if (((!((horizontalScrollBar == null))) && ((target.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ excessSpace = (excessSpace + horizontalScrollBar.minHeight); }; if (((!((verticalScrollBar == null))) && ((target.verticalScrollPolicy == ScrollPolicy.AUTO)))){ w = (w + verticalScrollBar.minWidth); }; top = (paddingTop + (excessSpace * verticalAlign)); i = 0; while (i < n) { obj = IUIComponent(target.getChildAt(i)); left = (((w - obj.width) * horizontalAlign) + paddingLeft); obj.move(Math.floor(left), Math.floor(top)); if (obj.includeInLayout){ top = (top + (obj.height + gap)); }; i++; }; } else { gap = target.getStyle("horizontalGap"); numChildrenWithOwnSpace = n; i = 0; while (i < n) { if (!IUIComponent(target.getChildAt(i)).includeInLayout){ numChildrenWithOwnSpace--; }; i++; }; excessSpace = Flex.flexChildWidthsProportionally(target, (w - ((numChildrenWithOwnSpace - 1) * gap)), h); if (((!((horizontalScrollBar == null))) && ((target.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ h = (h + horizontalScrollBar.minHeight); }; if (((!((verticalScrollBar == null))) && ((target.verticalScrollPolicy == ScrollPolicy.AUTO)))){ excessSpace = (excessSpace + verticalScrollBar.minWidth); }; left = (paddingLeft + (excessSpace * horizontalAlign)); i = 0; while (i < n) { obj = IUIComponent(target.getChildAt(i)); top = (((h - obj.height) * verticalAlign) + paddingTop); obj.move(Math.floor(left), Math.floor(top)); if (obj.includeInLayout){ left = (left + (obj.width + gap)); }; i++; }; }; }; } mx_internal function getVerticalAlignValue():Number{ var verticalAlign:String = target.getStyle("verticalAlign"); if (verticalAlign == "middle"){ return (0.5); }; if (verticalAlign == "bottom"){ return (1); }; return (0); } mx_internal function heightPadding(numChildren:Number):Number{ var vm:EdgeMetrics = target.viewMetricsAndPadding; var padding:Number = (vm.top + vm.bottom); if ((((numChildren > 1)) && (isVertical()))){ padding = (padding + (target.getStyle("verticalGap") * (numChildren - 1))); }; return (padding); } mx_internal function widthPadding(numChildren:Number):Number{ var vm:EdgeMetrics = target.viewMetricsAndPadding; var padding:Number = (vm.left + vm.right); if ((((numChildren > 1)) && ((isVertical() == false)))){ padding = (padding + (target.getStyle("horizontalGap") * (numChildren - 1))); }; return (padding); } override public function measure():void{ var target:Container; var wPadding:Number; var hPadding:Number; var child:IUIComponent; var wPref:Number; var hPref:Number; target = super.target; var isVertical:Boolean = isVertical(); var minWidth:Number = 0; var minHeight:Number = 0; var preferredWidth:Number = 0; var preferredHeight:Number = 0; var n:int = target.numChildren; var numChildrenWithOwnSpace:int = n; var i:int; while (i < n) { child = IUIComponent(target.getChildAt(i)); if (!child.includeInLayout){ numChildrenWithOwnSpace--; } else { wPref = child.getExplicitOrMeasuredWidth(); hPref = child.getExplicitOrMeasuredHeight(); if (isVertical){ minWidth = Math.max((isNaN(child.percentWidth)) ? wPref : child.minWidth, minWidth); preferredWidth = Math.max(wPref, preferredWidth); minHeight = (minHeight + (isNaN(child.percentHeight)) ? hPref : child.minHeight); preferredHeight = (preferredHeight + hPref); } else { minWidth = (minWidth + (isNaN(child.percentWidth)) ? wPref : child.minWidth); preferredWidth = (preferredWidth + wPref); minHeight = Math.max((isNaN(child.percentHeight)) ? hPref : child.minHeight, minHeight); preferredHeight = Math.max(hPref, preferredHeight); }; }; i++; }; wPadding = widthPadding(numChildrenWithOwnSpace); hPadding = heightPadding(numChildrenWithOwnSpace); target.measuredMinWidth = (minWidth + wPadding); target.measuredMinHeight = (minHeight + hPadding); target.measuredWidth = (preferredWidth + wPadding); target.measuredHeight = (preferredHeight + hPadding); } } }//package mx.containers.utilityClasses
Section 196
//CanvasLayout (mx.containers.utilityClasses.CanvasLayout) package mx.containers.utilityClasses { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.events.*; import flash.utils.*; import mx.containers.errors.*; public class CanvasLayout extends Layout { private var colSpanChildren:Array; private var constraintRegionsInUse:Boolean;// = false private var rowSpanChildren:Array; private var constraintCache:Dictionary; private var _contentArea:Rectangle; mx_internal static const VERSION:String = "3.0.0.0"; private static var r:Rectangle = new Rectangle(); public function CanvasLayout(){ colSpanChildren = []; rowSpanChildren = []; constraintCache = new Dictionary(true); super(); } private function parseConstraints(child:IUIComponent=null):ChildConstraintInfo{ var left:Number; var right:Number; var horizontalCenter:Number; var top:Number; var bottom:Number; var verticalCenter:Number; var baseline:Number; var leftBoundary:String; var rightBoundary:String; var hcBoundary:String; var topBoundary:String; var bottomBoundary:String; var vcBoundary:String; var baselineBoundary:String; var temp:Array; var i:int; var col:ConstraintColumn; var found:Boolean; var row:ConstraintRow; var constraints:LayoutConstraints = getLayoutConstraints(child); if (!constraints){ return (null); }; while (true) { temp = parseConstraintExp(constraints.left); if (!temp){ left = NaN; } else { if (temp.length == 1){ left = Number(temp[0]); } else { leftBoundary = temp[0]; left = temp[1]; }; }; temp = parseConstraintExp(constraints.right); if (!temp){ right = NaN; } else { if (temp.length == 1){ right = Number(temp[0]); } else { rightBoundary = temp[0]; right = temp[1]; }; }; temp = parseConstraintExp(constraints.horizontalCenter); if (!temp){ horizontalCenter = NaN; } else { if (temp.length == 1){ horizontalCenter = Number(temp[0]); } else { hcBoundary = temp[0]; horizontalCenter = temp[1]; }; }; temp = parseConstraintExp(constraints.top); if (!temp){ top = NaN; } else { if (temp.length == 1){ top = Number(temp[0]); } else { topBoundary = temp[0]; top = temp[1]; }; }; temp = parseConstraintExp(constraints.bottom); if (!temp){ bottom = NaN; } else { if (temp.length == 1){ bottom = Number(temp[0]); } else { bottomBoundary = temp[0]; bottom = temp[1]; }; }; temp = parseConstraintExp(constraints.verticalCenter); if (!temp){ verticalCenter = NaN; } else { if (temp.length == 1){ verticalCenter = Number(temp[0]); } else { vcBoundary = temp[0]; verticalCenter = temp[1]; }; }; temp = parseConstraintExp(constraints.baseline); if (!temp){ baseline = NaN; } else { if (temp.length == 1){ baseline = Number(temp[0]); } else { baselineBoundary = temp[0]; baseline = temp[1]; }; }; break; }; var colEntry:ContentColumnChild = new ContentColumnChild(); var pushEntry:Boolean; var leftIndex:Number = 0; var rightIndex:Number = 0; var hcIndex:Number = 0; i = 0; while (i < IConstraintLayout(target).constraintColumns.length) { col = IConstraintLayout(target).constraintColumns[i]; if (col.mx_internal::contentSize){ if (col.id == leftBoundary){ colEntry.leftCol = col; colEntry.leftOffset = left; leftIndex = i; colEntry.left = leftIndex; pushEntry = true; }; if (col.id == rightBoundary){ colEntry.rightCol = col; colEntry.rightOffset = right; rightIndex = (i + 1); colEntry.right = rightIndex; pushEntry = true; }; if (col.id == hcBoundary){ colEntry.hcCol = col; colEntry.hcOffset = horizontalCenter; hcIndex = (i + 1); colEntry.hc = hcIndex; pushEntry = true; }; }; i++; }; if (pushEntry){ colEntry.child = child; if (((((((colEntry.leftCol) && (!(colEntry.rightCol)))) || (((colEntry.rightCol) && (!(colEntry.leftCol)))))) || (colEntry.hcCol))){ colEntry.span = 1; } else { colEntry.span = (rightIndex - leftIndex); }; found = false; i = 0; while (i < colSpanChildren.length) { if (colEntry.child == colSpanChildren[i].child){ found = true; break; }; i++; }; if (!found){ colSpanChildren.push(colEntry); }; }; pushEntry = false; var rowEntry:ContentRowChild = new ContentRowChild(); var topIndex:Number = 0; var bottomIndex:Number = 0; var vcIndex:Number = 0; var baselineIndex:Number = 0; i = 0; while (i < IConstraintLayout(target).constraintRows.length) { row = IConstraintLayout(target).constraintRows[i]; if (row.mx_internal::contentSize){ if (row.id == topBoundary){ rowEntry.topRow = row; rowEntry.topOffset = top; topIndex = i; rowEntry.top = topIndex; pushEntry = true; }; if (row.id == bottomBoundary){ rowEntry.bottomRow = row; rowEntry.bottomOffset = bottom; bottomIndex = (i + 1); rowEntry.bottom = bottomIndex; pushEntry = true; }; if (row.id == vcBoundary){ rowEntry.vcRow = row; rowEntry.vcOffset = verticalCenter; vcIndex = (i + 1); rowEntry.vc = vcIndex; pushEntry = true; }; if (row.id == baselineBoundary){ rowEntry.baselineRow = row; rowEntry.baselineOffset = baseline; baselineIndex = (i + 1); rowEntry.baseline = baselineIndex; pushEntry = true; }; }; i++; }; if (pushEntry){ rowEntry.child = child; if (((((((((rowEntry.topRow) && (!(rowEntry.bottomRow)))) || (((rowEntry.bottomRow) && (!(rowEntry.topRow)))))) || (rowEntry.vcRow))) || (rowEntry.baselineRow))){ rowEntry.span = 1; } else { rowEntry.span = (bottomIndex - topIndex); }; found = false; i = 0; while (i < rowSpanChildren.length) { if (rowEntry.child == rowSpanChildren[i].child){ found = true; break; }; i++; }; if (!found){ rowSpanChildren.push(rowEntry); }; }; var info:ChildConstraintInfo = new ChildConstraintInfo(left, right, horizontalCenter, top, bottom, verticalCenter, baseline, leftBoundary, rightBoundary, hcBoundary, topBoundary, bottomBoundary, vcBoundary, baselineBoundary); constraintCache[child] = info; return (info); } private function bound(a:Number, min:Number, max:Number):Number{ if (a < min){ a = min; } else { if (a > max){ a = max; } else { a = Math.floor(a); }; }; return (a); } private function shareRowSpace(entry:ContentRowChild, availableHeight:Number):Number{ var tempTopHeight:Number; var tempBtmHeight:Number; var share:Number; var topRow:ConstraintRow = entry.topRow; var bottomRow:ConstraintRow = entry.bottomRow; var child:IUIComponent = entry.child; var topHeight:Number = 0; var bottomHeight:Number = 0; var top:Number = (entry.topOffset) ? entry.topOffset : 0; var bottom:Number = (entry.bottomOffset) ? entry.bottomOffset : 0; if (((topRow) && (topRow.height))){ topHeight = (topHeight + topRow.height); } else { if (((bottomRow) && (!(topRow)))){ topRow = IConstraintLayout(target).constraintRows[(entry.bottom - 2)]; if (((topRow) && (topRow.height))){ topHeight = (topHeight + topRow.height); }; }; }; if (((bottomRow) && (bottomRow.height))){ bottomHeight = (bottomHeight + bottomRow.height); } else { if (((topRow) && (!(bottomRow)))){ bottomRow = IConstraintLayout(target).constraintRows[(entry.top + 1)]; if (((bottomRow) && (bottomRow.height))){ bottomHeight = (bottomHeight + bottomRow.height); }; }; }; if (((topRow) && (isNaN(topRow.height)))){ topRow.setActualHeight(Math.max(0, topRow.maxHeight)); }; if (((bottomRow) && (isNaN(bottomRow.height)))){ bottomRow.setActualHeight(Math.max(0, bottomRow.height)); }; var childHeight:Number = child.getExplicitOrMeasuredHeight(); if (childHeight){ if (!entry.topRow){ if (childHeight > topHeight){ tempBtmHeight = ((childHeight - topHeight) + bottom); } else { tempBtmHeight = (childHeight + bottom); }; }; if (!entry.bottomRow){ if (childHeight > bottomHeight){ tempTopHeight = ((childHeight - bottomHeight) + top); } else { tempTopHeight = (childHeight + top); }; }; if (((entry.topRow) && (entry.bottomRow))){ share = (childHeight / Number(entry.span)); if ((share + top) < topHeight){ tempTopHeight = topHeight; tempBtmHeight = ((childHeight - (topHeight - top)) + bottom); } else { tempTopHeight = (share + top); }; if ((share + bottom) < bottomHeight){ tempBtmHeight = bottomHeight; tempTopHeight = ((childHeight - (bottomHeight - bottom)) + top); } else { tempBtmHeight = (share + bottom); }; }; tempBtmHeight = bound(tempBtmHeight, bottomRow.minHeight, bottomRow.maxHeight); bottomRow.setActualHeight(tempBtmHeight); availableHeight = (availableHeight - tempBtmHeight); tempTopHeight = bound(tempTopHeight, topRow.minHeight, topRow.maxHeight); topRow.setActualHeight(tempTopHeight); availableHeight = (availableHeight - tempTopHeight); }; return (availableHeight); } private function parseConstraintExp(val:String):Array{ if (!val){ return (null); }; var temp:String = val.replace(/:/g, " "); var args:Array = temp.split(/\s+/); return (args); } private function measureColumnsAndRows():void{ var i:int; var k:int; var cc:ConstraintColumn; var cr:ConstraintRow; var spaceToDistribute:Number; var w:Number; var h:Number; var remainingSpace:Number; var colEntry:ContentColumnChild; var rowEntry:ContentRowChild; var cols:Array = IConstraintLayout(target).constraintColumns; var rows:Array = IConstraintLayout(target).constraintRows; if ((((!(rows.length) > 0)) && ((!(cols.length) > 0)))){ constraintRegionsInUse = false; return; }; constraintRegionsInUse = true; var canvasX:Number = 0; var canvasY:Number = 0; var vm:EdgeMetrics = Container(target).viewMetrics; var availableWidth:Number = ((Container(target).width - vm.left) - vm.right); var availableHeight:Number = ((Container(target).height - vm.top) - vm.bottom); var fixedSize:Array = []; var percentageSize:Array = []; var contentSize:Array = []; if (cols.length > 0){ i = 0; while (i < cols.length) { cc = cols[i]; if (!isNaN(cc.percentWidth)){ percentageSize.push(cc); } else { if (((!(isNaN(cc.width))) && (!(cc.mx_internal::contentSize)))){ fixedSize.push(cc); } else { contentSize.push(cc); cc.mx_internal::contentSize = true; }; }; i++; }; i = 0; while (i < fixedSize.length) { cc = ConstraintColumn(fixedSize[i]); availableWidth = (availableWidth - cc.width); i++; }; if (contentSize.length > 0){ if (colSpanChildren.length > 0){ colSpanChildren.sortOn("span"); k = 0; while (k < colSpanChildren.length) { colEntry = colSpanChildren[k]; if (colEntry.span == 1){ if (colEntry.hcCol){ cc = ConstraintColumn(cols[cols.indexOf(colEntry.hcCol)]); } else { if (colEntry.leftCol){ cc = ConstraintColumn(cols[cols.indexOf(colEntry.leftCol)]); } else { if (colEntry.rightCol){ cc = ConstraintColumn(cols[cols.indexOf(colEntry.rightCol)]); }; }; }; w = colEntry.child.getExplicitOrMeasuredWidth(); if (colEntry.hcOffset){ w = (w + colEntry.hcOffset); } else { if (colEntry.leftOffset){ w = (w + colEntry.leftOffset); }; if (colEntry.rightOffset){ w = (w + colEntry.rightOffset); }; }; if (!isNaN(cc.width)){ w = Math.max(cc.width, w); }; w = bound(w, cc.minWidth, cc.maxWidth); cc.setActualWidth(w); availableWidth = (availableWidth - cc.width); } else { availableWidth = shareColumnSpace(colEntry, availableWidth); }; k++; }; colSpanChildren = []; }; i = 0; while (i < contentSize.length) { cc = contentSize[i]; if (!cc.width){ w = bound(0, cc.minWidth, 0); cc.setActualWidth(w); }; i++; }; }; remainingSpace = availableWidth; i = 0; while (i < percentageSize.length) { cc = ConstraintColumn(percentageSize[i]); if (remainingSpace <= 0){ w = 0; } else { w = Math.round(((remainingSpace * cc.percentWidth) / 100)); }; w = bound(w, cc.minWidth, cc.maxWidth); cc.setActualWidth(w); availableWidth = (availableWidth - w); i++; }; i = 0; while (i < cols.length) { cc = ConstraintColumn(cols[i]); cc.x = canvasX; canvasX = (canvasX + cc.width); i++; }; }; fixedSize = []; percentageSize = []; contentSize = []; if (rows.length > 0){ i = 0; while (i < rows.length) { cr = rows[i]; if (!isNaN(cr.percentHeight)){ percentageSize.push(cr); } else { if (((!(isNaN(cr.height))) && (!(cr.mx_internal::contentSize)))){ fixedSize.push(cr); } else { contentSize.push(cr); cr.mx_internal::contentSize = true; }; }; i++; }; i = 0; while (i < fixedSize.length) { cr = ConstraintRow(fixedSize[i]); availableHeight = (availableHeight - cr.height); i++; }; if (contentSize.length > 0){ if (rowSpanChildren.length > 0){ rowSpanChildren.sortOn("span"); k = 0; while (k < rowSpanChildren.length) { rowEntry = rowSpanChildren[k]; if (rowEntry.span == 1){ if (rowEntry.vcRow){ cr = ConstraintRow(rows[rows.indexOf(rowEntry.vcRow)]); } else { if (rowEntry.baselineRow){ cr = ConstraintRow(rows[rows.indexOf(rowEntry.baselineRow)]); } else { if (rowEntry.topRow){ cr = ConstraintRow(rows[rows.indexOf(rowEntry.topRow)]); } else { if (rowEntry.bottomRow){ cr = ConstraintRow(rows[rows.indexOf(rowEntry.bottomRow)]); }; }; }; }; h = rowEntry.child.getExplicitOrMeasuredHeight(); if (rowEntry.baselineOffset){ h = (h + rowEntry.baselineOffset); } else { if (rowEntry.vcOffset){ h = (h + rowEntry.vcOffset); } else { if (rowEntry.topOffset){ h = (h + rowEntry.topOffset); }; if (rowEntry.bottomOffset){ h = (h + rowEntry.bottomOffset); }; }; }; if (!isNaN(cr.height)){ h = Math.max(cr.height, h); }; h = bound(h, cr.minHeight, cr.maxHeight); cr.setActualHeight(h); availableHeight = (availableHeight - cr.height); } else { availableHeight = shareRowSpace(rowEntry, availableHeight); }; k++; }; rowSpanChildren = []; }; i = 0; while (i < contentSize.length) { cr = ConstraintRow(contentSize[i]); if (!cr.height){ h = bound(0, cr.minHeight, 0); cr.setActualHeight(h); }; i++; }; }; remainingSpace = availableHeight; i = 0; while (i < percentageSize.length) { cr = ConstraintRow(percentageSize[i]); if (remainingSpace <= 0){ h = 0; } else { h = Math.round(((remainingSpace * cr.percentHeight) / 100)); }; h = bound(h, cr.minHeight, cr.maxHeight); cr.setActualHeight(h); availableHeight = (availableHeight - h); i++; }; i = 0; while (i < rows.length) { cr = rows[i]; cr.y = canvasY; canvasY = (canvasY + cr.height); i++; }; }; } private function child_moveHandler(event:MoveEvent):void{ if ((event.target is IUIComponent)){ if (!IUIComponent(event.target).includeInLayout){ return; }; }; var target:Container = super.target; if (target){ target.invalidateSize(); target.invalidateDisplayList(); _contentArea = null; }; } private function applyAnchorStylesDuringMeasure(child:IUIComponent, r:Rectangle):void{ var i:int; var constraintChild:IConstraintClient = (child as IConstraintClient); if (!constraintChild){ return; }; var childInfo:ChildConstraintInfo = constraintCache[constraintChild]; if (!childInfo){ childInfo = parseConstraints(child); }; var left:Number = childInfo.left; var right:Number = childInfo.right; var horizontalCenter:Number = childInfo.hc; var top:Number = childInfo.top; var bottom:Number = childInfo.bottom; var verticalCenter:Number = childInfo.vc; var cols:Array = IConstraintLayout(target).constraintColumns; var rows:Array = IConstraintLayout(target).constraintRows; var holder:Number = 0; if (!(cols.length) > 0){ if (!isNaN(horizontalCenter)){ r.x = Math.round((((target.width - child.width) / 2) + horizontalCenter)); } else { if (((!(isNaN(left))) && (!(isNaN(right))))){ r.x = left; r.width = (r.width + right); } else { if (!isNaN(left)){ r.x = left; } else { if (!isNaN(right)){ r.x = 0; r.width = (r.width + right); }; }; }; }; } else { r.x = 0; i = 0; while (i < cols.length) { holder = (holder + ConstraintColumn(cols[i]).width); i++; }; r.width = holder; }; if (!(rows.length) > 0){ if (!isNaN(verticalCenter)){ r.y = Math.round((((target.height - child.height) / 2) + verticalCenter)); } else { if (((!(isNaN(top))) && (!(isNaN(bottom))))){ r.y = top; r.height = (r.height + bottom); } else { if (!isNaN(top)){ r.y = top; } else { if (!isNaN(bottom)){ r.y = 0; r.height = (r.height + bottom); }; }; }; }; } else { holder = 0; r.y = 0; i = 0; while (i < rows.length) { holder = (holder + ConstraintRow(rows[i]).height); i++; }; r.height = holder; }; } override public function measure():void{ var target:Container; var vm:EdgeMetrics; var contentArea:Rectangle; var child:IUIComponent; var col:ConstraintColumn; var row:ConstraintRow; target = super.target; var w:Number = 0; var h:Number = 0; var i:Number = 0; vm = target.viewMetrics; i = 0; while (i < target.numChildren) { child = (target.getChildAt(i) as IUIComponent); parseConstraints(child); i++; }; i = 0; while (i < IConstraintLayout(target).constraintColumns.length) { col = IConstraintLayout(target).constraintColumns[i]; if (col.mx_internal::contentSize){ col.mx_internal::_width = NaN; }; i++; }; i = 0; while (i < IConstraintLayout(target).constraintRows.length) { row = IConstraintLayout(target).constraintRows[i]; if (row.mx_internal::contentSize){ row.mx_internal::_height = NaN; }; i++; }; measureColumnsAndRows(); _contentArea = null; contentArea = measureContentArea(); target.measuredWidth = ((contentArea.width + vm.left) + vm.right); target.measuredHeight = ((contentArea.height + vm.top) + vm.bottom); } private function target_childRemoveHandler(event:ChildExistenceChangedEvent):void{ DisplayObject(event.relatedObject).removeEventListener(MoveEvent.MOVE, child_moveHandler); delete constraintCache[event.relatedObject]; } override public function set target(value:Container):void{ var i:int; var n:int; var target:Container = super.target; if (value != target){ if (target){ target.removeEventListener(ChildExistenceChangedEvent.CHILD_ADD, target_childAddHandler); target.removeEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, target_childRemoveHandler); n = target.numChildren; i = 0; while (i < n) { DisplayObject(target.getChildAt(i)).removeEventListener(MoveEvent.MOVE, child_moveHandler); i++; }; }; if (value){ value.addEventListener(ChildExistenceChangedEvent.CHILD_ADD, target_childAddHandler); value.addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, target_childRemoveHandler); n = value.numChildren; i = 0; while (i < n) { DisplayObject(value.getChildAt(i)).addEventListener(MoveEvent.MOVE, child_moveHandler); i++; }; }; super.target = value; }; } private function measureContentArea():Rectangle{ var i:int; var cols:Array; var rows:Array; var child:IUIComponent; var childConstraints:LayoutConstraints; var cx:Number; var cy:Number; var pw:Number; var ph:Number; var rightEdge:Number; var bottomEdge:Number; if (_contentArea){ return (_contentArea); }; _contentArea = new Rectangle(); var n:int = target.numChildren; if ((((n == 0)) && (constraintRegionsInUse))){ cols = IConstraintLayout(target).constraintColumns; rows = IConstraintLayout(target).constraintRows; if (cols.length > 0){ _contentArea.right = (cols[(cols.length - 1)].x + cols[(cols.length - 1)].width); } else { _contentArea.right = 0; }; if (rows.length > 0){ _contentArea.bottom = (rows[(rows.length - 1)].y + rows[(rows.length - 1)].height); } else { _contentArea.bottom = 0; }; }; i = 0; while (i < n) { child = (target.getChildAt(i) as IUIComponent); childConstraints = getLayoutConstraints(child); if (!child.includeInLayout){ } else { cx = child.x; cy = child.y; pw = child.getExplicitOrMeasuredWidth(); ph = child.getExplicitOrMeasuredHeight(); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (((!(isNaN(child.percentWidth))) || (((((childConstraints) && (!(isNaN(childConstraints.left))))) && (!(isNaN(childConstraints.right))))))){ pw = child.minWidth; }; } else { if (((!(isNaN(child.percentWidth))) || (((((((childConstraints) && (!(isNaN(childConstraints.left))))) && (!(isNaN(childConstraints.right))))) && (isNaN(child.explicitWidth)))))){ pw = child.minWidth; }; }; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (((!(isNaN(child.percentHeight))) || (((((childConstraints) && (!(isNaN(childConstraints.top))))) && (!(isNaN(childConstraints.bottom))))))){ ph = child.minHeight; }; } else { if (((!(isNaN(child.percentHeight))) || (((((((childConstraints) && (!(isNaN(childConstraints.top))))) && (!(isNaN(childConstraints.bottom))))) && (isNaN(child.explicitHeight)))))){ ph = child.minHeight; }; }; r.x = cx; r.y = cy; r.width = pw; r.height = ph; applyAnchorStylesDuringMeasure(child, r); cx = r.x; cy = r.y; pw = r.width; ph = r.height; if (isNaN(cx)){ cx = child.x; }; if (isNaN(cy)){ cy = child.y; }; rightEdge = cx; bottomEdge = cy; if (isNaN(pw)){ pw = child.width; }; if (isNaN(ph)){ ph = child.height; }; rightEdge = (rightEdge + pw); bottomEdge = (bottomEdge + ph); _contentArea.right = Math.max(_contentArea.right, rightEdge); _contentArea.bottom = Math.max(_contentArea.bottom, bottomEdge); }; i++; }; return (_contentArea); } private function shareColumnSpace(entry:ContentColumnChild, availableWidth:Number):Number{ var tempLeftWidth:Number; var tempRightWidth:Number; var share:Number; var leftCol:ConstraintColumn = entry.leftCol; var rightCol:ConstraintColumn = entry.rightCol; var child:IUIComponent = entry.child; var leftWidth:Number = 0; var rightWidth:Number = 0; var right:Number = (entry.rightOffset) ? entry.rightOffset : 0; var left:Number = (entry.leftOffset) ? entry.leftOffset : 0; if (((leftCol) && (leftCol.width))){ leftWidth = (leftWidth + leftCol.width); } else { if (((rightCol) && (!(leftCol)))){ leftCol = IConstraintLayout(target).constraintColumns[(entry.right - 2)]; if (((leftCol) && (leftCol.width))){ leftWidth = (leftWidth + leftCol.width); }; }; }; if (((rightCol) && (rightCol.width))){ rightWidth = (rightWidth + rightCol.width); } else { if (((leftCol) && (!(rightCol)))){ rightCol = IConstraintLayout(target).constraintColumns[(entry.left + 1)]; if (((rightCol) && (rightCol.width))){ rightWidth = (rightWidth + rightCol.width); }; }; }; if (((leftCol) && (isNaN(leftCol.width)))){ leftCol.setActualWidth(Math.max(0, leftCol.maxWidth)); }; if (((rightCol) && (isNaN(rightCol.width)))){ rightCol.setActualWidth(Math.max(0, rightCol.maxWidth)); }; var childWidth:Number = child.getExplicitOrMeasuredWidth(); if (childWidth){ if (!entry.leftCol){ if (childWidth > leftWidth){ tempRightWidth = ((childWidth - leftWidth) + right); } else { tempRightWidth = (childWidth + right); }; }; if (!entry.rightCol){ if (childWidth > rightWidth){ tempLeftWidth = ((childWidth - rightWidth) + left); } else { tempLeftWidth = (childWidth + left); }; }; if (((entry.leftCol) && (entry.rightCol))){ share = (childWidth / Number(entry.span)); if ((share + left) < leftWidth){ tempLeftWidth = leftWidth; tempRightWidth = ((childWidth - (leftWidth - left)) + right); } else { tempLeftWidth = (share + left); }; if ((share + right) < rightWidth){ tempRightWidth = rightWidth; tempLeftWidth = ((childWidth - (rightWidth - right)) + left); } else { tempRightWidth = (share + right); }; }; tempLeftWidth = bound(tempLeftWidth, leftCol.minWidth, leftCol.maxWidth); leftCol.setActualWidth(tempLeftWidth); availableWidth = (availableWidth - tempLeftWidth); tempRightWidth = bound(tempRightWidth, rightCol.minWidth, rightCol.maxWidth); rightCol.setActualWidth(tempRightWidth); availableWidth = (availableWidth - tempRightWidth); }; return (availableWidth); } private function getLayoutConstraints(child:IUIComponent):LayoutConstraints{ var constraintChild:IConstraintClient = (child as IConstraintClient); if (!constraintChild){ return (null); }; var constraints:LayoutConstraints = new LayoutConstraints(); constraints.baseline = constraintChild.getConstraintValue("baseline"); constraints.bottom = constraintChild.getConstraintValue("bottom"); constraints.horizontalCenter = constraintChild.getConstraintValue("horizontalCenter"); constraints.left = constraintChild.getConstraintValue("left"); constraints.right = constraintChild.getConstraintValue("right"); constraints.top = constraintChild.getConstraintValue("top"); constraints.verticalCenter = constraintChild.getConstraintValue("verticalCenter"); return (constraints); } override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var i:int; var child:IUIComponent; var col:ConstraintColumn; var row:ConstraintRow; var target:Container = super.target; var n:int = target.numChildren; target.mx_internal::doingLayout = false; var vm:EdgeMetrics = target.viewMetrics; target.mx_internal::doingLayout = true; var viewableWidth:Number = ((unscaledWidth - vm.left) - vm.right); var viewableHeight:Number = ((unscaledHeight - vm.top) - vm.bottom); if ((((IConstraintLayout(target).constraintColumns.length > 0)) || ((IConstraintLayout(target).constraintRows.length > 0)))){ constraintRegionsInUse = true; }; if (constraintRegionsInUse){ i = 0; while (i < n) { child = (target.getChildAt(i) as IUIComponent); parseConstraints(child); i++; }; i = 0; while (i < IConstraintLayout(target).constraintColumns.length) { col = IConstraintLayout(target).constraintColumns[i]; if (col.mx_internal::contentSize){ col.mx_internal::_width = NaN; }; i++; }; i = 0; while (i < IConstraintLayout(target).constraintRows.length) { row = IConstraintLayout(target).constraintRows[i]; if (row.mx_internal::contentSize){ row.mx_internal::_height = NaN; }; i++; }; measureColumnsAndRows(); }; i = 0; while (i < n) { child = (target.getChildAt(i) as IUIComponent); applyAnchorStylesDuringUpdateDisplayList(viewableWidth, viewableHeight, child); i++; }; } private function applyAnchorStylesDuringUpdateDisplayList(availableWidth:Number, availableHeight:Number, child:IUIComponent=null):void{ var i:int; var w:Number; var h:Number; var x:Number; var y:Number; var message:String; var vcHolder:Number; var hcHolder:Number; var vcY:Number; var hcX:Number; var baselineY:Number; var matchLeft:Boolean; var matchRight:Boolean; var matchHC:Boolean; var col:ConstraintColumn; var matchTop:Boolean; var matchBottom:Boolean; var matchVC:Boolean; var matchBaseline:Boolean; var row:ConstraintRow; var constraintChild:IConstraintClient = (child as IConstraintClient); if (!constraintChild){ return; }; var childInfo:ChildConstraintInfo = parseConstraints(child); var left:Number = childInfo.left; var right:Number = childInfo.right; var horizontalCenter:Number = childInfo.hc; var top:Number = childInfo.top; var bottom:Number = childInfo.bottom; var verticalCenter:Number = childInfo.vc; var baseline:Number = childInfo.baseline; var leftBoundary:String = childInfo.leftBoundary; var rightBoundary:String = childInfo.rightBoundary; var hcBoundary:String = childInfo.hcBoundary; var topBoundary:String = childInfo.topBoundary; var bottomBoundary:String = childInfo.bottomBoundary; var vcBoundary:String = childInfo.vcBoundary; var baselineBoundary:String = childInfo.baselineBoundary; var checkWidth:Boolean; var checkHeight:Boolean; var parentBoundariesLR:Boolean = ((((!(hcBoundary)) && (!(leftBoundary)))) && (!(rightBoundary))); var parentBoundariesTB:Boolean = ((((((!(vcBoundary)) && (!(topBoundary)))) && (!(bottomBoundary)))) && (!(baselineBoundary))); var leftHolder:Number = 0; var rightHolder:Number = availableWidth; var topHolder:Number = 0; var bottomHolder:Number = availableHeight; if (!parentBoundariesLR){ matchLeft = (leftBoundary) ? true : false; matchRight = (rightBoundary) ? true : false; matchHC = (hcBoundary) ? true : false; i = 0; while (i < IConstraintLayout(target).constraintColumns.length) { col = ConstraintColumn(IConstraintLayout(target).constraintColumns[i]); if (matchLeft){ if (leftBoundary == col.id){ leftHolder = col.x; matchLeft = false; }; }; if (matchRight){ if (rightBoundary == col.id){ rightHolder = (col.x + col.width); matchRight = false; }; }; if (matchHC){ if (hcBoundary == col.id){ hcHolder = col.width; hcX = col.x; matchHC = false; }; }; i++; }; if (matchLeft){ message = resourceManager.getString("containers", "columnNotFound", [leftBoundary]); throw (new ConstraintError(message)); }; if (matchRight){ message = resourceManager.getString("containers", "columnNotFound", [rightBoundary]); throw (new ConstraintError(message)); }; if (matchHC){ message = resourceManager.getString("containers", "columnNotFound", [hcBoundary]); throw (new ConstraintError(message)); }; } else { if (!parentBoundariesLR){ message = resourceManager.getString("containers", "noColumnsFound"); throw (new ConstraintError(message)); }; }; availableWidth = Math.round((rightHolder - leftHolder)); if (((!(isNaN(left))) && (!(isNaN(right))))){ w = ((availableWidth - left) - right); if (w < child.minWidth){ w = child.minWidth; }; } else { if (!isNaN(child.percentWidth)){ w = ((child.percentWidth / 100) * availableWidth); w = bound(w, child.minWidth, child.maxWidth); checkWidth = true; } else { w = child.getExplicitOrMeasuredWidth(); }; }; if (((!(parentBoundariesTB)) && ((IConstraintLayout(target).constraintRows.length > 0)))){ matchTop = (topBoundary) ? true : false; matchBottom = (bottomBoundary) ? true : false; matchVC = (vcBoundary) ? true : false; matchBaseline = (baselineBoundary) ? true : false; i = 0; while (i < IConstraintLayout(target).constraintRows.length) { row = ConstraintRow(IConstraintLayout(target).constraintRows[i]); if (matchTop){ if (topBoundary == row.id){ topHolder = row.y; matchTop = false; }; }; if (matchBottom){ if (bottomBoundary == row.id){ bottomHolder = (row.y + row.height); matchBottom = false; }; }; if (matchVC){ if (vcBoundary == row.id){ vcHolder = row.height; vcY = row.y; matchVC = false; }; }; if (matchBaseline){ if (baselineBoundary == row.id){ baselineY = row.y; matchBaseline = false; }; }; i++; }; if (matchTop){ message = resourceManager.getString("containers", "rowNotFound", [topBoundary]); throw (new ConstraintError(message)); }; if (matchBottom){ message = resourceManager.getString("containers", "rowNotFound", [bottomBoundary]); throw (new ConstraintError(message)); }; if (matchVC){ message = resourceManager.getString("containers", "rowNotFound", [vcBoundary]); throw (new ConstraintError(message)); }; if (matchBaseline){ message = resourceManager.getString("containers", "rowNotFound", [baselineBoundary]); throw (new ConstraintError(message)); }; } else { if (((!(parentBoundariesTB)) && (!((IConstraintLayout(target).constraintRows.length > 0))))){ message = resourceManager.getString("containers", "noRowsFound"); throw (new ConstraintError(message)); }; }; availableHeight = Math.round((bottomHolder - topHolder)); if (((!(isNaN(top))) && (!(isNaN(bottom))))){ h = ((availableHeight - top) - bottom); if (h < child.minHeight){ h = child.minHeight; }; } else { if (!isNaN(child.percentHeight)){ h = ((child.percentHeight / 100) * availableHeight); h = bound(h, child.minHeight, child.maxHeight); checkHeight = true; } else { h = child.getExplicitOrMeasuredHeight(); }; }; if (!isNaN(horizontalCenter)){ if (hcBoundary){ x = Math.round(((((hcHolder - w) / 2) + horizontalCenter) + hcX)); } else { x = Math.round((((availableWidth - w) / 2) + horizontalCenter)); }; } else { if (!isNaN(left)){ if (leftBoundary){ x = (leftHolder + left); } else { x = left; }; } else { if (!isNaN(right)){ if (rightBoundary){ x = ((rightHolder - right) - w); } else { x = ((availableWidth - right) - w); }; }; }; }; if (!isNaN(baseline)){ if (baselineBoundary){ y = ((baselineY - child.baselinePosition) + baseline); } else { y = baseline; }; }; if (!isNaN(verticalCenter)){ if (vcBoundary){ y = Math.round(((((vcHolder - h) / 2) + verticalCenter) + vcY)); } else { y = Math.round((((availableHeight - h) / 2) + verticalCenter)); }; } else { if (!isNaN(top)){ if (topBoundary){ y = (topHolder + top); } else { y = top; }; } else { if (!isNaN(bottom)){ if (bottomBoundary){ y = ((bottomHolder - bottom) - h); } else { y = ((availableHeight - bottom) - h); }; }; }; }; x = (isNaN(x)) ? child.x : x; y = (isNaN(y)) ? child.y : y; child.move(x, y); if (checkWidth){ if ((x + w) > availableWidth){ w = Math.max((availableWidth - x), child.minWidth); }; }; if (checkHeight){ if ((y + h) > availableHeight){ h = Math.max((availableHeight - y), child.minHeight); }; }; if (((!(isNaN(w))) && (!(isNaN(h))))){ child.setActualSize(w, h); }; } private function target_childAddHandler(event:ChildExistenceChangedEvent):void{ DisplayObject(event.relatedObject).addEventListener(MoveEvent.MOVE, child_moveHandler); } } }//package mx.containers.utilityClasses import mx.core.*; class LayoutConstraints { public var baseline; public var left; public var bottom; public var top; public var horizontalCenter; public var verticalCenter; public var right; private function LayoutConstraints():void{ super(); } } class ChildConstraintInfo { public var baseline:Number; public var left:Number; public var baselineBoundary:String; public var leftBoundary:String; public var hcBoundary:String; public var top:Number; public var right:Number; public var topBoundary:String; public var rightBoundary:String; public var bottom:Number; public var vc:Number; public var bottomBoundary:String; public var vcBoundary:String; public var hc:Number; private function ChildConstraintInfo(left:Number, right:Number, hc:Number, top:Number, bottom:Number, vc:Number, baseline:Number, leftBoundary:String=null, rightBoundary:String=null, hcBoundary:String=null, topBoundary:String=null, bottomBoundary:String=null, vcBoundary:String=null, baselineBoundary:String=null):void{ super(); this.left = left; this.right = right; this.hc = hc; this.top = top; this.bottom = bottom; this.vc = vc; this.baseline = baseline; this.leftBoundary = leftBoundary; this.rightBoundary = rightBoundary; this.hcBoundary = hcBoundary; this.topBoundary = topBoundary; this.bottomBoundary = bottomBoundary; this.vcBoundary = vcBoundary; this.baselineBoundary = baselineBoundary; } } class ContentColumnChild { public var rightCol:ConstraintColumn; public var hcCol:ConstraintColumn; public var left:Number; public var child:IUIComponent; public var rightOffset:Number; public var span:Number; public var hcOffset:Number; public var leftCol:ConstraintColumn; public var leftOffset:Number; public var hc:Number; public var right:Number; private function ContentColumnChild():void{ super(); } } class ContentRowChild { public var topRow:ConstraintRow; public var topOffset:Number; public var baseline:Number; public var baselineRow:ConstraintRow; public var span:Number; public var top:Number; public var vcOffset:Number; public var child:IUIComponent; public var bottomOffset:Number; public var bottom:Number; public var vc:Number; public var bottomRow:ConstraintRow; public var vcRow:ConstraintRow; public var baselineOffset:Number; private function ContentRowChild():void{ super(); } }
Section 197
//ConstraintColumn (mx.containers.utilityClasses.ConstraintColumn) package mx.containers.utilityClasses { import mx.core.*; import flash.events.*; public class ConstraintColumn extends EventDispatcher implements IMXMLObject { private var _container:IInvalidating; private var _explicitMinWidth:Number; mx_internal var _width:Number; mx_internal var contentSize:Boolean;// = false private var _percentWidth:Number; private var _explicitWidth:Number; private var _explicitMaxWidth:Number; private var _x:Number; private var _id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ConstraintColumn(){ super(); } public function get container():IInvalidating{ return (_container); } public function get width():Number{ return (_width); } public function get percentWidth():Number{ return (_percentWidth); } public function set container(value:IInvalidating):void{ _container = value; } public function set maxWidth(value:Number):void{ if (_explicitMaxWidth != value){ _explicitMaxWidth = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("maxWidthChanged")); }; } public function set width(value:Number):void{ if (explicitWidth != value){ explicitWidth = value; if (_width != value){ _width = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("widthChanged")); }; }; } public function get maxWidth():Number{ return (_explicitMaxWidth); } public function get minWidth():Number{ return (_explicitMinWidth); } public function get id():String{ return (_id); } public function initialized(document:Object, id:String):void{ this.id = id; if (((!(this.width)) && (!(this.percentWidth)))){ contentSize = true; }; } public function set explicitWidth(value:Number):void{ if (_explicitWidth == value){ return; }; if (!isNaN(value)){ _percentWidth = NaN; }; _explicitWidth = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("explicitWidthChanged")); } public function setActualWidth(w:Number):void{ if (_width != w){ _width = w; dispatchEvent(new Event("widthChanged")); }; } public function set minWidth(value:Number):void{ if (_explicitMinWidth != value){ _explicitMinWidth = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("minWidthChanged")); }; } public function set percentWidth(value:Number):void{ if (_percentWidth == value){ return; }; if (!isNaN(value)){ _explicitWidth = NaN; }; _percentWidth = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("percentWidthChanged")); } public function set x(value:Number):void{ if (value != _x){ _x = value; dispatchEvent(new Event("xChanged")); }; } public function get explicitWidth():Number{ return (_explicitWidth); } public function set id(value:String):void{ _id = value; } public function get x():Number{ return (_x); } } }//package mx.containers.utilityClasses
Section 198
//ConstraintRow (mx.containers.utilityClasses.ConstraintRow) package mx.containers.utilityClasses { import mx.core.*; import flash.events.*; public class ConstraintRow extends EventDispatcher implements IMXMLObject { private var _container:IInvalidating; mx_internal var _height:Number; private var _explicitMinHeight:Number; private var _y:Number; private var _percentHeight:Number; private var _explicitMaxHeight:Number; mx_internal var contentSize:Boolean;// = false private var _explicitHeight:Number; private var _id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ConstraintRow(){ super(); } public function get container():IInvalidating{ return (_container); } public function set container(value:IInvalidating):void{ _container = value; } public function set y(value:Number):void{ if (value != _y){ _y = value; dispatchEvent(new Event("yChanged")); }; } public function set height(value:Number):void{ if (explicitHeight != value){ explicitHeight = value; if (_height != value){ _height = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("heightChanged")); }; }; } public function set maxHeight(value:Number):void{ if (_explicitMaxHeight != value){ _explicitMaxHeight = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("maxHeightChanged")); }; } public function setActualHeight(h:Number):void{ if (_height != h){ _height = h; dispatchEvent(new Event("heightChanged")); }; } public function get minHeight():Number{ return (_explicitMinHeight); } public function get id():String{ return (_id); } public function set percentHeight(value:Number):void{ if (_percentHeight == value){ return; }; if (!isNaN(value)){ _explicitHeight = NaN; }; _percentHeight = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; } public function initialized(document:Object, id:String):void{ this.id = id; if (((!(this.height)) && (!(this.percentHeight)))){ contentSize = true; }; } public function get percentHeight():Number{ return (_percentHeight); } public function get height():Number{ return (_height); } public function get maxHeight():Number{ return (_explicitMaxHeight); } public function set minHeight(value:Number):void{ if (_explicitMinHeight != value){ _explicitMinHeight = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("minHeightChanged")); }; } public function set id(value:String):void{ _id = value; } public function get y():Number{ return (_y); } public function get explicitHeight():Number{ return (_explicitHeight); } public function set explicitHeight(value:Number):void{ if (_explicitHeight == value){ return; }; if (!isNaN(value)){ _percentHeight = NaN; }; _explicitHeight = value; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("explicitHeightChanged")); } } }//package mx.containers.utilityClasses
Section 199
//Flex (mx.containers.utilityClasses.Flex) package mx.containers.utilityClasses { import mx.core.*; public class Flex { mx_internal static const VERSION:String = "3.0.0.0"; public function Flex(){ super(); } public static function flexChildWidthsProportionally(parent:Container, spaceForChildren:Number, h:Number):Number{ var childInfoArray:Array; var childInfo:FlexChildInfo; var child:IUIComponent; var i:int; var percentWidth:Number; var percentHeight:Number; var height:Number; var width:Number; var spaceToDistribute:Number = spaceForChildren; var totalPercentWidth:Number = 0; childInfoArray = []; var n:int = parent.numChildren; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); percentWidth = child.percentWidth; percentHeight = child.percentHeight; if (((!(isNaN(percentHeight))) && (child.includeInLayout))){ height = Math.max(child.minHeight, Math.min(child.maxHeight, ((percentHeight)>=100) ? h : ((h * percentHeight) / 100))); } else { height = child.getExplicitOrMeasuredHeight(); }; if (((!(isNaN(percentWidth))) && (child.includeInLayout))){ totalPercentWidth = (totalPercentWidth + percentWidth); childInfo = new FlexChildInfo(); childInfo.percent = percentWidth; childInfo.min = child.minWidth; childInfo.max = child.maxWidth; childInfo.height = height; childInfo.child = child; childInfoArray.push(childInfo); } else { width = child.getExplicitOrMeasuredWidth(); if ((((child.scaleX == 1)) && ((child.scaleY == 1)))){ child.setActualSize(Math.floor(width), Math.floor(height)); } else { child.setActualSize(width, height); }; if (child.includeInLayout){ spaceToDistribute = (spaceToDistribute - child.width); }; }; i++; }; if (totalPercentWidth){ spaceToDistribute = flexChildrenProportionally(spaceForChildren, spaceToDistribute, totalPercentWidth, childInfoArray); n = childInfoArray.length; i = 0; while (i < n) { childInfo = childInfoArray[i]; child = childInfo.child; if ((((child.scaleX == 1)) && ((child.scaleY == 1)))){ child.setActualSize(Math.floor(childInfo.size), Math.floor(childInfo.height)); } else { child.setActualSize(childInfo.size, childInfo.height); }; i++; }; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ distributeExtraWidth(parent, spaceForChildren); }; }; return (spaceToDistribute); } public static function distributeExtraHeight(parent:Container, spaceForChildren:Number):void{ var i:int; var percentHeight:Number; var child:IUIComponent; var childHeight:Number; var wantSpace:Number; var n:int = parent.numChildren; var wantToGrow:Boolean; var spaceToDistribute:Number = spaceForChildren; var spaceUsed:Number = 0; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); if (!child.includeInLayout){ } else { childHeight = child.height; percentHeight = child.percentHeight; spaceUsed = (spaceUsed + childHeight); if (!isNaN(percentHeight)){ wantSpace = Math.ceil(((percentHeight / 100) * spaceForChildren)); if (wantSpace > childHeight){ wantToGrow = true; }; }; }; i++; }; if (!wantToGrow){ return; }; spaceToDistribute = (spaceToDistribute - spaceUsed); var stillFlexibleComponents:Boolean; while (((stillFlexibleComponents) && ((spaceToDistribute > 0)))) { stillFlexibleComponents = false; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); childHeight = child.height; percentHeight = child.percentHeight; if (((((!(isNaN(percentHeight))) && (child.includeInLayout))) && ((childHeight < child.maxHeight)))){ wantSpace = Math.ceil(((percentHeight / 100) * spaceForChildren)); if (wantSpace > childHeight){ child.setActualSize(child.width, (childHeight + 1)); spaceToDistribute--; stillFlexibleComponents = true; if (spaceToDistribute == 0){ return; }; }; }; i++; }; }; } public static function distributeExtraWidth(parent:Container, spaceForChildren:Number):void{ var i:int; var percentWidth:Number; var child:IUIComponent; var childWidth:Number; var wantSpace:Number; var n:int = parent.numChildren; var wantToGrow:Boolean; var spaceToDistribute:Number = spaceForChildren; var spaceUsed:Number = 0; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); if (!child.includeInLayout){ } else { childWidth = child.width; percentWidth = child.percentWidth; spaceUsed = (spaceUsed + childWidth); if (!isNaN(percentWidth)){ wantSpace = Math.ceil(((percentWidth / 100) * spaceForChildren)); if (wantSpace > childWidth){ wantToGrow = true; }; }; }; i++; }; if (!wantToGrow){ return; }; spaceToDistribute = (spaceToDistribute - spaceUsed); var stillFlexibleComponents:Boolean; while (((stillFlexibleComponents) && ((spaceToDistribute > 0)))) { stillFlexibleComponents = false; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); childWidth = child.width; percentWidth = child.percentWidth; if (((((!(isNaN(percentWidth))) && (child.includeInLayout))) && ((childWidth < child.maxWidth)))){ wantSpace = Math.ceil(((percentWidth / 100) * spaceForChildren)); if (wantSpace > childWidth){ child.setActualSize((childWidth + 1), child.height); spaceToDistribute--; stillFlexibleComponents = true; if (spaceToDistribute == 0){ return; }; }; }; i++; }; }; } public static function flexChildrenProportionally(spaceForChildren:Number, spaceToDistribute:Number, totalPercent:Number, childInfoArray:Array):Number{ var flexConsumed:Number; var done:Boolean; var spacePerPercent:*; var i:*; var childInfo:*; var size:*; var min:*; var max:*; var numChildren:int = childInfoArray.length; var unused:Number = (spaceToDistribute - ((spaceForChildren * totalPercent) / 100)); if (unused > 0){ spaceToDistribute = (spaceToDistribute - unused); }; do { flexConsumed = 0; done = true; spacePerPercent = (spaceToDistribute / totalPercent); i = 0; while (i < numChildren) { childInfo = childInfoArray[i]; size = (childInfo.percent * spacePerPercent); if (size < childInfo.min){ min = childInfo.min; childInfo.size = min; --numChildren; childInfoArray[i] = childInfoArray[numChildren]; childInfoArray[numChildren] = childInfo; totalPercent = (totalPercent - childInfo.percent); spaceToDistribute = (spaceToDistribute - min); done = false; break; } else { if (size > childInfo.max){ max = childInfo.max; childInfo.size = max; --numChildren; childInfoArray[i] = childInfoArray[numChildren]; childInfoArray[numChildren] = childInfo; totalPercent = (totalPercent - childInfo.percent); spaceToDistribute = (spaceToDistribute - max); done = false; break; } else { childInfo.size = size; flexConsumed = (flexConsumed + size); }; }; i++; }; } while (!(done)); return (Math.max(0, Math.floor((spaceToDistribute - flexConsumed)))); } public static function flexChildHeightsProportionally(parent:Container, spaceForChildren:Number, w:Number):Number{ var childInfo:FlexChildInfo; var child:IUIComponent; var i:int; var percentWidth:Number; var percentHeight:Number; var width:Number; var height:Number; var spaceToDistribute:Number = spaceForChildren; var totalPercentHeight:Number = 0; var childInfoArray:Array = []; var n:int = parent.numChildren; i = 0; while (i < n) { child = IUIComponent(parent.getChildAt(i)); percentWidth = child.percentWidth; percentHeight = child.percentHeight; if (((!(isNaN(percentWidth))) && (child.includeInLayout))){ width = Math.max(child.minWidth, Math.min(child.maxWidth, ((percentWidth)>=100) ? w : ((w * percentWidth) / 100))); } else { width = child.getExplicitOrMeasuredWidth(); }; if (((!(isNaN(percentHeight))) && (child.includeInLayout))){ totalPercentHeight = (totalPercentHeight + percentHeight); childInfo = new FlexChildInfo(); childInfo.percent = percentHeight; childInfo.min = child.minHeight; childInfo.max = child.maxHeight; childInfo.width = width; childInfo.child = child; childInfoArray.push(childInfo); } else { height = child.getExplicitOrMeasuredHeight(); if ((((child.scaleX == 1)) && ((child.scaleY == 1)))){ child.setActualSize(Math.floor(width), Math.floor(height)); } else { child.setActualSize(width, height); }; if (child.includeInLayout){ spaceToDistribute = (spaceToDistribute - child.height); }; }; i++; }; if (totalPercentHeight){ spaceToDistribute = flexChildrenProportionally(spaceForChildren, spaceToDistribute, totalPercentHeight, childInfoArray); n = childInfoArray.length; i = 0; while (i < n) { childInfo = childInfoArray[i]; child = childInfo.child; if ((((child.scaleX == 1)) && ((child.scaleY == 1)))){ child.setActualSize(Math.floor(childInfo.width), Math.floor(childInfo.size)); } else { child.setActualSize(childInfo.width, childInfo.size); }; i++; }; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ distributeExtraHeight(parent, spaceForChildren); }; }; return (spaceToDistribute); } } }//package mx.containers.utilityClasses
Section 200
//FlexChildInfo (mx.containers.utilityClasses.FlexChildInfo) package mx.containers.utilityClasses { import mx.core.*; public class FlexChildInfo { public var flex:Number;// = 0 public var preferred:Number;// = 0 public var percent:Number; public var width:Number; public var height:Number; public var size:Number;// = 0 public var max:Number; public var min:Number; public var child:IUIComponent; mx_internal static const VERSION:String = "3.0.0.0"; public function FlexChildInfo(){ super(); } } }//package mx.containers.utilityClasses
Section 201
//IConstraintLayout (mx.containers.utilityClasses.IConstraintLayout) package mx.containers.utilityClasses { public interface IConstraintLayout { function get constraintColumns():Array; function set constraintRows(E:\dev\3.1.0\frameworks\projects\framework\src;mx\containers\utilityClasses;IConstraintLayout.as:Array):void; function get constraintRows():Array; function set constraintColumns(E:\dev\3.1.0\frameworks\projects\framework\src;mx\containers\utilityClasses;IConstraintLayout.as:Array):void; } }//package mx.containers.utilityClasses
Section 202
//Layout (mx.containers.utilityClasses.Layout) package mx.containers.utilityClasses { import mx.core.*; import mx.resources.*; public class Layout { private var _target:Container; protected var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function Layout(){ resourceManager = ResourceManager.getInstance(); super(); } public function get target():Container{ return (_target); } public function set target(value:Container):void{ _target = value; } public function measure():void{ } public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ } } }//package mx.containers.utilityClasses
Section 203
//Box (mx.containers.Box) package mx.containers { import flash.events.*; import mx.core.*; import mx.containers.utilityClasses.*; public class Box extends Container { mx_internal var layoutObject:BoxLayout; mx_internal static const VERSION:String = "3.0.0.0"; public function Box(){ layoutObject = new BoxLayout(); super(); layoutObject.target = this; } mx_internal function isVertical():Boolean{ return (!((direction == BoxDirection.HORIZONTAL))); } public function set direction(value:String):void{ layoutObject.direction = value; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("directionChanged")); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); layoutObject.updateDisplayList(unscaledWidth, unscaledHeight); } public function pixelsToPercent(pxl:Number):Number{ var child:IUIComponent; var size:Number; var perc:Number; var vertical:Boolean = isVertical(); var totalPerc:Number = 0; var totalSize:Number = 0; var n:int = numChildren; var i:int; while (i < n) { child = IUIComponent(getChildAt(i)); size = (vertical) ? child.height : child.width; perc = (vertical) ? child.percentHeight : child.percentWidth; if (!isNaN(perc)){ totalPerc = (totalPerc + perc); totalSize = (totalSize + size); }; i++; }; var p:Number = 100; if (totalSize != pxl){ p = (((totalSize * totalPerc) / (totalSize - pxl)) - totalPerc); }; return (p); } override protected function measure():void{ super.measure(); layoutObject.measure(); } public function get direction():String{ return (layoutObject.direction); } } }//package mx.containers
Section 204
//BoxDirection (mx.containers.BoxDirection) package mx.containers { import mx.core.*; public final class BoxDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; public function BoxDirection(){ super(); } } }//package mx.containers
Section 205
//ControlBar (mx.containers.ControlBar) package mx.containers { import mx.core.*; public class ControlBar extends Box { mx_internal static const VERSION:String = "3.0.0.0"; public function ControlBar(){ super(); direction = BoxDirection.HORIZONTAL; } override public function set verticalScrollPolicy(value:String):void{ } override public function set horizontalScrollPolicy(value:String):void{ } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); if (contentPane){ contentPane.opaqueBackground = null; }; } override public function set enabled(value:Boolean):void{ if (value != super.enabled){ super.enabled = value; alpha = (value) ? 1 : 0.4; }; } override public function get horizontalScrollPolicy():String{ return (ScrollPolicy.OFF); } override public function invalidateSize():void{ super.invalidateSize(); if (parent){ Container(parent).invalidateViewMetricsAndPadding(); }; } override public function get verticalScrollPolicy():String{ return (ScrollPolicy.OFF); } override public function set includeInLayout(value:Boolean):void{ var p:Container; if (includeInLayout != value){ super.includeInLayout = value; p = (parent as Container); if (p){ p.invalidateViewMetricsAndPadding(); }; }; } } }//package mx.containers
Section 206
//Panel (mx.containers.Panel) package mx.containers { import flash.events.*; import flash.display.*; import mx.events.*; import mx.core.*; import flash.geom.*; import mx.controls.*; import mx.styles.*; import mx.effects.*; import mx.containers.utilityClasses.*; import flash.text.*; import flash.utils.*; import mx.automation.*; public class Panel extends Container implements IConstraintLayout, IFontContextComponent { private var layoutObject:Layout; private var _status:String;// = "" private var _titleChanged:Boolean;// = false mx_internal var titleBarBackground:IFlexDisplayObject; private var regX:Number; private var regY:Number; private var _layout:String;// = "vertical" mx_internal var closeButton:Button; private var initializing:Boolean;// = true private var _title:String;// = "" protected var titleTextField:IUITextField; private var _statusChanged:Boolean;// = false private var autoSetRoundedCorners:Boolean; private var _titleIcon:Class; private var _constraintRows:Array; protected var controlBar:IUIComponent; mx_internal var titleIconObject:Object;// = null protected var titleBar:UIComponent; private var panelViewMetrics:EdgeMetrics; private var _constraintColumns:Array; mx_internal var _showCloseButton:Boolean;// = false private var checkedForAutoSetRoundedCorners:Boolean; private var _titleIconChanged:Boolean;// = false protected var statusTextField:IUITextField; mx_internal static const VERSION:String = "3.0.0.0"; private static const HEADER_PADDING:Number = 14; mx_internal static var createAccessibilityImplementation:Function; private static var _closeButtonStyleFilters:Object = {closeButtonUpSkin:"closeButtonUpSkin", closeButtonOverSkin:"closeButtonOverSkin", closeButtonDownSkin:"closeButtonDownSkin", closeButtonDisabledSkin:"closeButtonDisabledSkin", closeButtonSkin:"closeButtonSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; public function Panel(){ _constraintColumns = []; _constraintRows = []; super(); addEventListener("resizeStart", EffectManager.eventHandler, false, EventPriority.EFFECT); addEventListener("resizeEnd", EffectManager.eventHandler, false, EventPriority.EFFECT); layoutObject = new BoxLayout(); layoutObject.target = this; showInAutomationHierarchy = true; } private function systemManager_mouseUpHandler(event:MouseEvent):void{ if (!isNaN(regX)){ stopDragging(); }; } mx_internal function getHeaderHeightProxy():Number{ return (getHeaderHeight()); } override public function getChildIndex(child:DisplayObject):int{ if (((controlBar) && ((child == controlBar)))){ return (numChildren); }; return (super.getChildIndex(child)); } mx_internal function get _controlBar():IUIComponent{ return (controlBar); } mx_internal function getTitleBar():UIComponent{ return (titleBar); } public function get layout():String{ return (_layout); } override protected function createChildren():void{ var titleBarBackgroundClass:Class; var backgroundUIComponent:IStyleClient; var backgroundStyleable:ISimpleStyleClient; super.createChildren(); if (!titleBar){ titleBar = new UIComponent(); titleBar.visible = false; titleBar.addEventListener(MouseEvent.MOUSE_DOWN, titleBar_mouseDownHandler); rawChildren.addChild(titleBar); }; if (!titleBarBackground){ titleBarBackgroundClass = getStyle("titleBackgroundSkin"); if (titleBarBackgroundClass){ titleBarBackground = new (titleBarBackgroundClass); backgroundUIComponent = (titleBarBackground as IStyleClient); if (backgroundUIComponent){ backgroundUIComponent.setStyle("backgroundImage", undefined); }; backgroundStyleable = (titleBarBackground as ISimpleStyleClient); if (backgroundStyleable){ backgroundStyleable.styleName = this; }; titleBar.addChild(DisplayObject(titleBarBackground)); }; }; createTitleTextField(-1); createStatusTextField(-1); if (!closeButton){ closeButton = new Button(); closeButton.styleName = new StyleProxy(this, closeButtonStyleFilters); closeButton.upSkinName = "closeButtonUpSkin"; closeButton.overSkinName = "closeButtonOverSkin"; closeButton.downSkinName = "closeButtonDownSkin"; closeButton.disabledSkinName = "closeButtonDisabledSkin"; closeButton.skinName = "closeButtonSkin"; closeButton.explicitWidth = (closeButton.explicitHeight = 16); closeButton.focusEnabled = false; closeButton.visible = false; closeButton.enabled = enabled; closeButton.addEventListener(MouseEvent.CLICK, closeButton_clickHandler); titleBar.addChild(closeButton); closeButton.owner = this; }; } public function get constraintColumns():Array{ return (_constraintColumns); } override public function set cacheAsBitmap(value:Boolean):void{ super.cacheAsBitmap = value; if (((((((cacheAsBitmap) && (!(contentPane)))) && (!((cachePolicy == UIComponentCachePolicy.OFF))))) && (getStyle("backgroundColor")))){ createContentPane(); invalidateDisplayList(); }; } override public function createComponentsFromDescriptors(recurse:Boolean=true):void{ var oldChildDocument:Object; super.createComponentsFromDescriptors(); if (numChildren == 0){ setControlBar(null); return; }; var lastChild:IUIComponent = IUIComponent(getChildAt((numChildren - 1))); if ((lastChild is ControlBar)){ oldChildDocument = lastChild.document; if (contentPane){ contentPane.removeChild(DisplayObject(lastChild)); } else { removeChild(DisplayObject(lastChild)); }; lastChild.document = oldChildDocument; rawChildren.addChild(DisplayObject(lastChild)); setControlBar(lastChild); } else { setControlBar(null); }; } override protected function layoutChrome(unscaledWidth:Number, unscaledHeight:Number):void{ var titleBarWidth:Number; var g:Graphics; var leftOffset:Number; var rightOffset:Number; var h:Number; var offset:Number; var borderWidth:Number; var statusX:Number; var minX:Number; var cx:Number; var cy:Number; var cw:Number; var ch:Number; super.layoutChrome(unscaledWidth, unscaledHeight); var em:EdgeMetrics = EdgeMetrics.EMPTY; var bt:Number = getStyle("borderThickness"); if ((((((getQualifiedClassName(border) == "mx.skins.halo::PanelSkin")) && (!((getStyle("borderStyle") == "default"))))) && (bt))){ em = new EdgeMetrics(bt, bt, bt, bt); }; var bm:EdgeMetrics = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? borderMetrics : em; var x:Number = bm.left; var y:Number = bm.top; var headerHeight:Number = getHeaderHeight(); if ((((headerHeight > 0)) && ((height >= headerHeight)))){ titleBarWidth = ((unscaledWidth - bm.left) - bm.right); showTitleBar(true); titleBar.mouseChildren = true; titleBar.mouseEnabled = true; g = titleBar.graphics; g.clear(); g.beginFill(0xFFFFFF, 0); g.drawRect(0, 0, titleBarWidth, headerHeight); g.endFill(); titleBar.move(x, y); titleBar.setActualSize(titleBarWidth, headerHeight); titleBarBackground.move(0, 0); IFlexDisplayObject(titleBarBackground).setActualSize(titleBarWidth, headerHeight); closeButton.visible = _showCloseButton; if (_showCloseButton){ closeButton.setActualSize(closeButton.getExplicitOrMeasuredWidth(), closeButton.getExplicitOrMeasuredHeight()); closeButton.move(((((unscaledWidth - x) - bm.right) - 10) - closeButton.getExplicitOrMeasuredWidth()), ((headerHeight - closeButton.getExplicitOrMeasuredHeight()) / 2)); }; leftOffset = 10; rightOffset = 10; if (titleIconObject){ h = titleIconObject.height; offset = ((headerHeight - h) / 2); titleIconObject.move(leftOffset, offset); leftOffset = (leftOffset + (titleIconObject.width + 4)); }; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ h = titleTextField.nonZeroTextHeight; } else { h = titleTextField.getUITextFormat().measureText(titleTextField.text).height; }; offset = ((headerHeight - h) / 2); borderWidth = (bm.left + bm.right); titleTextField.move(leftOffset, (offset - 1)); titleTextField.setActualSize(Math.max(0, (((unscaledWidth - leftOffset) - rightOffset) - borderWidth)), (h + UITextField.TEXT_HEIGHT_PADDING)); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ h = statusTextField.textHeight; } else { h = ((statusTextField.text)!="") ? statusTextField.getUITextFormat().measureText(statusTextField.text).height : 0; }; offset = ((headerHeight - h) / 2); statusX = ((((unscaledWidth - rightOffset) - 4) - borderWidth) - statusTextField.textWidth); if (_showCloseButton){ statusX = (statusX - (closeButton.getExplicitOrMeasuredWidth() + 4)); }; statusTextField.move(statusX, (offset - 1)); statusTextField.setActualSize((statusTextField.textWidth + 8), (statusTextField.textHeight + UITextField.TEXT_HEIGHT_PADDING)); minX = ((titleTextField.x + titleTextField.textWidth) + 8); if (statusTextField.x < minX){ statusTextField.width = Math.max((statusTextField.width - (minX - statusTextField.x)), 0); statusTextField.x = minX; }; } else { if (titleBar){ showTitleBar(false); titleBar.mouseChildren = false; titleBar.mouseEnabled = false; }; }; if (controlBar){ cx = controlBar.x; cy = controlBar.y; cw = controlBar.width; ch = controlBar.height; controlBar.setActualSize((unscaledWidth - (bm.left + bm.right)), controlBar.getExplicitOrMeasuredHeight()); controlBar.move(bm.left, ((unscaledHeight - bm.bottom) - controlBar.getExplicitOrMeasuredHeight())); if (controlBar.includeInLayout){ controlBar.visible = (controlBar.y >= bm.top); }; if (((((((!((cx == controlBar.x))) || (!((cy == controlBar.y))))) || (!((cw == controlBar.width))))) || (!((ch == controlBar.height))))){ invalidateDisplayList(); }; }; } public function set layout(value:String):void{ if (_layout != value){ _layout = value; if (layoutObject){ layoutObject.target = null; }; if (_layout == ContainerLayout.ABSOLUTE){ layoutObject = new CanvasLayout(); } else { layoutObject = new BoxLayout(); if (_layout == ContainerLayout.VERTICAL){ BoxLayout(layoutObject).direction = BoxDirection.VERTICAL; } else { BoxLayout(layoutObject).direction = BoxDirection.HORIZONTAL; }; }; if (layoutObject){ layoutObject.target = this; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("layoutChanged")); }; } public function get constraintRows():Array{ return (_constraintRows); } public function get title():String{ return (_title); } mx_internal function getTitleTextField():IUITextField{ return (titleTextField); } mx_internal function createStatusTextField(childIndex:int):void{ var statusStyleName:String; if (((titleBar) && (!(statusTextField)))){ statusTextField = IUITextField(createInFontContext(UITextField)); statusTextField.selectable = false; if (childIndex == -1){ titleBar.addChild(DisplayObject(statusTextField)); } else { titleBar.addChildAt(DisplayObject(statusTextField), childIndex); }; statusStyleName = getStyle("statusStyleName"); statusTextField.styleName = statusStyleName; statusTextField.text = status; statusTextField.enabled = enabled; }; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } override protected function measure():void{ var controlWidth:Number; super.measure(); layoutObject.measure(); var textSize:Rectangle = measureHeaderText(); var textWidth:Number = textSize.width; var textHeight:Number = textSize.height; var bm:EdgeMetrics = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? borderMetrics : EdgeMetrics.EMPTY; textWidth = (textWidth + (bm.left + bm.right)); var offset:Number = 5; textWidth = (textWidth + (offset * 2)); if (titleIconObject){ textWidth = (textWidth + titleIconObject.width); }; if (closeButton){ textWidth = (textWidth + (closeButton.getExplicitOrMeasuredWidth() + 6)); }; measuredMinWidth = Math.max(textWidth, measuredMinWidth); measuredWidth = Math.max(textWidth, measuredWidth); if (((controlBar) && (controlBar.includeInLayout))){ controlWidth = ((controlBar.getExplicitOrMeasuredWidth() + bm.left) + bm.right); measuredWidth = Math.max(measuredWidth, controlWidth); }; } mx_internal function getControlBar():IUIComponent{ return (controlBar); } override public function get viewMetrics():EdgeMetrics{ var o:EdgeMetrics; var bt:Number; var btl:Number; var btt:Number; var btr:Number; var btb:Number; var hHeight:Number; var vm:EdgeMetrics = super.viewMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (!panelViewMetrics){ panelViewMetrics = new EdgeMetrics(0, 0, 0, 0); }; vm = panelViewMetrics; o = super.viewMetrics; bt = getStyle("borderThickness"); btl = getStyle("borderThicknessLeft"); btt = getStyle("borderThicknessTop"); btr = getStyle("borderThicknessRight"); btb = getStyle("borderThicknessBottom"); vm.left = (o.left + (isNaN(btl)) ? bt : btl); vm.top = (o.top + (isNaN(btt)) ? bt : btt); vm.right = (o.right + (isNaN(btr)) ? bt : btr); vm.bottom = (o.bottom + (isNaN(btb)) ? (((controlBar) && (!(isNaN(btt))))) ? btt : (isNaN(btl)) ? bt : btl : btb); hHeight = getHeaderHeight(); if (!isNaN(hHeight)){ vm.top = (vm.top + hHeight); }; if (((controlBar) && (controlBar.includeInLayout))){ vm.bottom = (vm.bottom + controlBar.getExplicitOrMeasuredHeight()); }; }; return (vm); } private function measureHeaderText():Rectangle{ var textFormat:UITextFormat; var metrics:TextLineMetrics; var textWidth:Number = 20; var textHeight:Number = 14; if (((titleTextField) && (titleTextField.text))){ titleTextField.validateNow(); textFormat = titleTextField.getUITextFormat(); metrics = textFormat.measureText(titleTextField.text, false); textWidth = metrics.width; textHeight = metrics.height; }; if (((statusTextField) && (statusTextField.text))){ statusTextField.validateNow(); textFormat = statusTextField.getUITextFormat(); metrics = textFormat.measureText(statusTextField.text, false); textWidth = Math.max(textWidth, metrics.width); textHeight = Math.max(textHeight, metrics.height); }; return (new Rectangle(0, 0, Math.round(textWidth), Math.round(textHeight))); } mx_internal function createTitleTextField(childIndex:int):void{ var titleStyleName:String; if (!titleTextField){ titleTextField = IUITextField(createInFontContext(UITextField)); titleTextField.selectable = false; if (childIndex == -1){ titleBar.addChild(DisplayObject(titleTextField)); } else { titleBar.addChildAt(DisplayObject(titleTextField), childIndex); }; titleStyleName = getStyle("titleStyleName"); titleTextField.styleName = titleStyleName; titleTextField.text = title; titleTextField.enabled = enabled; }; } private function closeButton_clickHandler(event:MouseEvent):void{ dispatchEvent(new CloseEvent(CloseEvent.CLOSE)); } private function setControlBar(newControlBar:IUIComponent):void{ if (newControlBar == controlBar){ return; }; controlBar = newControlBar; if (!checkedForAutoSetRoundedCorners){ checkedForAutoSetRoundedCorners = true; autoSetRoundedCorners = (styleDeclaration) ? (styleDeclaration.getStyle("roundedBottomCorners") === undefined) : true; }; if (autoSetRoundedCorners){ setStyle("roundedBottomCorners", !((controlBar == null))); }; var controlBarStyleName:String = getStyle("controlBarStyleName"); if (((controlBarStyleName) && ((controlBar is ISimpleStyleClient)))){ ISimpleStyleClient(controlBar).styleName = controlBarStyleName; }; if (controlBar){ controlBar.enabled = enabled; }; if ((controlBar is IAutomationObject)){ IAutomationObject(controlBar).showInAutomationHierarchy = false; }; invalidateViewMetricsAndPadding(); invalidateSize(); invalidateDisplayList(); } protected function get closeButtonStyleFilters():Object{ return (_closeButtonStyleFilters); } public function set constraintColumns(value:Array):void{ var n:int; var i:int; if (value != _constraintColumns){ n = value.length; i = 0; while (i < n) { ConstraintColumn(value[i]).container = this; i++; }; _constraintColumns = value; invalidateSize(); invalidateDisplayList(); }; } override public function set enabled(value:Boolean):void{ super.enabled = value; if (titleTextField){ titleTextField.enabled = value; }; if (statusTextField){ statusTextField.enabled = value; }; if (controlBar){ controlBar.enabled = value; }; if (closeButton){ closeButton.enabled = value; }; } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; return (((titleBar.y + titleTextField.y) + titleTextField.baselinePosition)); } protected function stopDragging():void{ systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler, true); systemManager.removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); regX = NaN; regY = NaN; } private function titleBar_mouseDownHandler(event:MouseEvent):void{ if (event.target == closeButton){ return; }; if (((((enabled) && (isPopUp))) && (isNaN(regX)))){ startDragging(event); }; } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override protected function initializeAccessibility():void{ if (Panel.createAccessibilityImplementation != null){ Panel.createAccessibilityImplementation(this); }; } protected function getHeaderHeight():Number{ var headerHeight:Number = getStyle("headerHeight"); if (isNaN(headerHeight)){ headerHeight = (measureHeaderText().height + HEADER_PADDING); }; return (headerHeight); } public function set constraintRows(value:Array):void{ var n:int; var i:int; if (value != _constraintRows){ n = value.length; i = 0; while (i < n) { ConstraintRow(value[i]).container = this; i++; }; _constraintRows = value; invalidateSize(); invalidateDisplayList(); }; } public function set title(value:String):void{ _title = value; _titleChanged = true; invalidateProperties(); invalidateSize(); invalidateViewMetricsAndPadding(); dispatchEvent(new Event("titleChanged")); } private function showTitleBar(show:Boolean):void{ var child:DisplayObject; titleBar.visible = show; var n:int = titleBar.numChildren; var i:int; while (i < n) { child = titleBar.getChildAt(i); child.visible = show; i++; }; } override public function styleChanged(styleProp:String):void{ var titleStyleName:String; var statusStyleName:String; var controlBarStyleName:String; var titleBackgroundSkinClass:Class; var backgroundUIComponent:IStyleClient; var backgroundStyleable:ISimpleStyleClient; var allStyles:Boolean = ((!(styleProp)) || ((styleProp == "styleName"))); super.styleChanged(styleProp); if (((allStyles) || ((styleProp == "titleStyleName")))){ if (titleTextField){ titleStyleName = getStyle("titleStyleName"); titleTextField.styleName = titleStyleName; }; }; if (((allStyles) || ((styleProp == "statusStyleName")))){ if (statusTextField){ statusStyleName = getStyle("statusStyleName"); statusTextField.styleName = statusStyleName; }; }; if (((allStyles) || ((styleProp == "controlBarStyleName")))){ if (((controlBar) && ((controlBar is ISimpleStyleClient)))){ controlBarStyleName = getStyle("controlBarStyleName"); ISimpleStyleClient(controlBar).styleName = controlBarStyleName; }; }; if (((allStyles) || ((styleProp == "titleBackgroundSkin")))){ if (titleBar){ titleBackgroundSkinClass = getStyle("titleBackgroundSkin"); if (titleBackgroundSkinClass){ if (titleBarBackground){ titleBar.removeChild(DisplayObject(titleBarBackground)); titleBarBackground = null; }; titleBarBackground = new (titleBackgroundSkinClass); backgroundUIComponent = (titleBarBackground as IStyleClient); if (backgroundUIComponent){ backgroundUIComponent.setStyle("backgroundImage", undefined); }; backgroundStyleable = (titleBarBackground as ISimpleStyleClient); if (backgroundStyleable){ backgroundStyleable.styleName = this; }; titleBar.addChildAt(DisplayObject(titleBarBackground), 0); }; }; }; } mx_internal function getStatusTextField():IUITextField{ return (statusTextField); } public function set fontContext(moduleFactory:IFlexModuleFactory):void{ this.moduleFactory = moduleFactory; } override protected function commitProperties():void{ var childIndex:int; super.commitProperties(); if (hasFontContextChanged()){ if (titleTextField){ childIndex = titleBar.getChildIndex(DisplayObject(titleTextField)); removeTitleTextField(); createTitleTextField(childIndex); _titleChanged = true; }; if (statusTextField){ childIndex = titleBar.getChildIndex(DisplayObject(statusTextField)); removeStatusTextField(); createStatusTextField(childIndex); _statusChanged = true; }; }; if (_titleChanged){ _titleChanged = false; titleTextField.text = _title; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; if (_titleIconChanged){ _titleIconChanged = false; if (titleIconObject){ titleBar.removeChild(DisplayObject(titleIconObject)); titleIconObject = null; }; if (_titleIcon){ titleIconObject = new _titleIcon(); titleBar.addChild(DisplayObject(titleIconObject)); }; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; if (_statusChanged){ _statusChanged = false; statusTextField.text = _status; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; } protected function startDragging(event:MouseEvent):void{ regX = (event.stageX - x); regY = (event.stageY - y); systemManager.addEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler, true); systemManager.addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); } mx_internal function removeStatusTextField():void{ if (((titleBar) && (statusTextField))){ titleBar.removeChild(DisplayObject(statusTextField)); statusTextField = null; }; } private function stage_mouseLeaveHandler(event:Event):void{ if (!isNaN(regX)){ stopDragging(); }; } public function set status(value:String):void{ _status = value; _statusChanged = true; invalidateProperties(); dispatchEvent(new Event("statusChanged")); } public function get titleIcon():Class{ return (_titleIcon); } public function get status():String{ return (_status); } private function systemManager_mouseMoveHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); move((event.stageX - regX), (event.stageY - regY)); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); layoutObject.updateDisplayList(unscaledWidth, unscaledHeight); if (border){ border.visible = true; }; titleBar.visible = true; } mx_internal function removeTitleTextField():void{ if (((titleBar) && (titleTextField))){ titleBar.removeChild(DisplayObject(titleTextField)); titleTextField = null; }; } public function set titleIcon(value:Class):void{ _titleIcon = value; _titleIconChanged = true; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("titleIconChanged")); } } }//package mx.containers
Section 207
//AlertForm (mx.controls.alertClasses.AlertForm) package mx.controls.alertClasses { import flash.events.*; import flash.display.*; import mx.events.*; import mx.core.*; import mx.controls.*; import mx.managers.*; import flash.text.*; import flash.ui.*; public class AlertForm extends UIComponent implements IFontContextComponent { mx_internal var buttons:Array; private var icon:DisplayObject; mx_internal var textField:IUITextField; mx_internal var defaultButton:Button; private var textWidth:Number; private var defaultButtonChanged:Boolean;// = false private var textHeight:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function AlertForm(){ buttons = []; super(); tabChildren = true; } override public function styleChanged(styleProp:String):void{ var buttonStyleName:String; var n:int; var i:int; super.styleChanged(styleProp); if (((((!(styleProp)) || ((styleProp == "styleName")))) || ((styleProp == "buttonStyleName")))){ if (buttons){ buttonStyleName = getStyle("buttonStyleName"); n = buttons.length; i = 0; while (i < n) { buttons[i].styleName = buttonStyleName; i++; }; }; }; } public function set fontContext(moduleFactory:IFlexModuleFactory):void{ this.moduleFactory = moduleFactory; } override protected function commitProperties():void{ var index:int; var sm:ISystemManager; super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ index = getChildIndex(DisplayObject(textField)); removeTextField(); createTextField(index); }; if (((defaultButtonChanged) && (defaultButton))){ defaultButtonChanged = false; Alert(parent).defaultButton = defaultButton; if ((parent is IFocusManagerContainer)){ sm = Alert(parent).systemManager; sm.activate(IFocusManagerContainer(parent)); }; defaultButton.setFocus(); }; } private function createButton(label:String, name:String):Button{ var button:Button = new Button(); button.label = label; button.name = name; var buttonStyleName:String = getStyle("buttonStyleName"); if (buttonStyleName){ button.styleName = buttonStyleName; }; button.addEventListener(MouseEvent.CLICK, clickHandler); button.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); button.owner = parent; addChild(button); button.setActualSize(Alert.buttonWidth, Alert.buttonHeight); buttons.push(button); return (button); } override protected function resourcesChanged():void{ var b:Button; super.resourcesChanged(); b = Button(getChildByName("OK")); if (b){ b.label = String(Alert.okLabel); }; b = Button(getChildByName("CANCEL")); if (b){ b.label = String(Alert.cancelLabel); }; b = Button(getChildByName("YES")); if (b){ b.label = String(Alert.yesLabel); }; b = Button(getChildByName("NO")); if (b){ b.label = String(Alert.noLabel); }; } override protected function createChildren():void{ var label:String; var button:Button; super.createChildren(); createTextField(-1); var iconClass:Class = Alert(parent).iconClass; if (((iconClass) && (!(icon)))){ icon = new (iconClass); addChild(icon); }; var alert:Alert = Alert(parent); var buttonFlags:uint = alert.buttonFlags; var defaultButtonFlag:uint = alert.defaultButtonFlag; if ((buttonFlags & Alert.OK)){ label = String(Alert.okLabel); button = createButton(label, "OK"); if (defaultButtonFlag == Alert.OK){ defaultButton = button; }; }; if ((buttonFlags & Alert.YES)){ label = String(Alert.yesLabel); button = createButton(label, "YES"); if (defaultButtonFlag == Alert.YES){ defaultButton = button; }; }; if ((buttonFlags & Alert.NO)){ label = String(Alert.noLabel); button = createButton(label, "NO"); if (defaultButtonFlag == Alert.NO){ defaultButton = button; }; }; if ((buttonFlags & Alert.CANCEL)){ label = String(Alert.cancelLabel); button = createButton(label, "CANCEL"); if (defaultButtonFlag == Alert.CANCEL){ defaultButton = button; }; }; if (((!(defaultButton)) && (buttons.length))){ defaultButton = buttons[0]; }; if (defaultButton){ defaultButtonChanged = true; invalidateProperties(); }; } override protected function measure():void{ super.measure(); var title:String = Alert(parent).title; var lineMetrics:TextLineMetrics = Alert(parent).getTitleTextField().getUITextFormat().measureText(title); var numButtons:int = Math.max(buttons.length, 2); var buttonWidth:Number = ((numButtons * buttons[0].width) + ((numButtons - 1) * 8)); var buttonAndTitleWidth:Number = Math.max(buttonWidth, lineMetrics.width); textField.width = (2 * buttonAndTitleWidth); textWidth = (textField.textWidth + UITextField.TEXT_WIDTH_PADDING); var prefWidth:Number = Math.max(buttonAndTitleWidth, textWidth); prefWidth = Math.min(prefWidth, (2 * buttonAndTitleWidth)); if ((((textWidth < prefWidth)) && ((textField.multiline == true)))){ textField.multiline = false; textField.wordWrap = false; } else { if (textField.multiline == false){ textField.wordWrap = true; textField.multiline = true; }; }; prefWidth = (prefWidth + 16); if (icon){ prefWidth = (prefWidth + (icon.width + 8)); }; textHeight = (textField.textHeight + UITextField.TEXT_HEIGHT_PADDING); var prefHeight:Number = textHeight; if (icon){ prefHeight = Math.max(prefHeight, icon.height); }; prefHeight = Math.min(prefHeight, (screen.height * 0.75)); prefHeight = (prefHeight + (buttons[0].height + (3 * 8))); measuredWidth = prefWidth; measuredHeight = prefHeight; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } private function clickHandler(event:MouseEvent):void{ var name:String = Button(event.currentTarget).name; removeAlert(name); } mx_internal function removeTextField():void{ if (textField){ removeChild(DisplayObject(textField)); textField = null; }; } override protected function keyDownHandler(event:KeyboardEvent):void{ var buttonFlags:uint = Alert(parent).buttonFlags; if (event.keyCode == Keyboard.ESCAPE){ if ((((buttonFlags & Alert.CANCEL)) || (!((buttonFlags & Alert.NO))))){ removeAlert("CANCEL"); } else { if ((buttonFlags & Alert.NO)){ removeAlert("NO"); }; }; }; } mx_internal function createTextField(childIndex:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; textField.text = Alert(parent).text; textField.multiline = true; textField.wordWrap = true; textField.selectable = true; if (childIndex == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), childIndex); }; }; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var newX:Number; var newY:Number; var newWidth:Number; super.updateDisplayList(unscaledWidth, unscaledHeight); newY = (unscaledHeight - buttons[0].height); newWidth = ((buttons.length * (buttons[0].width + 8)) - 8); newX = ((unscaledWidth - newWidth) / 2); var i:int; while (i < buttons.length) { buttons[i].move(newX, newY); buttons[i].tabIndex = (i + 1); newX = (newX + (buttons[i].width + 8)); i++; }; newWidth = textWidth; if (icon){ newWidth = (newWidth + (icon.width + 8)); }; newX = ((unscaledWidth - newWidth) / 2); if (icon){ icon.x = newX; icon.y = ((newY - icon.height) / 2); newX = (newX + (icon.width + 8)); }; var newHeight:Number = textField.getExplicitOrMeasuredHeight(); textField.move(newX, ((newY - newHeight) / 2)); textField.setActualSize((textWidth + 5), newHeight); } private function removeAlert(buttonPressed:String):void{ var alert:Alert = Alert(parent); alert.visible = false; var closeEvent:CloseEvent = new CloseEvent(CloseEvent.CLOSE); if (buttonPressed == "YES"){ closeEvent.detail = Alert.YES; } else { if (buttonPressed == "NO"){ closeEvent.detail = Alert.NO; } else { if (buttonPressed == "OK"){ closeEvent.detail = Alert.OK; } else { if (buttonPressed == "CANCEL"){ closeEvent.detail = Alert.CANCEL; }; }; }; }; alert.dispatchEvent(closeEvent); PopUpManager.removePopUp(alert); } } }//package mx.controls.alertClasses
Section 208
//DataGridListData (mx.controls.dataGridClasses.DataGridListData) package mx.controls.dataGridClasses { import mx.core.*; import mx.controls.listClasses.*; public class DataGridListData extends BaseListData { public var dataField:String; mx_internal static const VERSION:String = "3.0.0.0"; public function DataGridListData(text:String, dataField:String, columnIndex:int, uid:String, owner:IUIComponent, rowIndex:int=0){ super(text, uid, owner, rowIndex, columnIndex); this.dataField = dataField; } } }//package mx.controls.dataGridClasses
Section 209
//BaseListData (mx.controls.listClasses.BaseListData) package mx.controls.listClasses { import mx.core.*; public class BaseListData { private var _uid:String; public var owner:IUIComponent; public var label:String; public var rowIndex:int; public var columnIndex:int; mx_internal static const VERSION:String = "3.0.0.0"; public function BaseListData(label:String, uid:String, owner:IUIComponent, rowIndex:int=0, columnIndex:int=0){ super(); this.label = label; this.uid = uid; this.owner = owner; this.rowIndex = rowIndex; this.columnIndex = columnIndex; } public function set uid(value:String):void{ _uid = value; } public function get uid():String{ return (_uid); } } }//package mx.controls.listClasses
Section 210
//IDropInListItemRenderer (mx.controls.listClasses.IDropInListItemRenderer) package mx.controls.listClasses { public interface IDropInListItemRenderer { function get listData():BaseListData; function set listData(E:\dev\3.1.0\frameworks\projects\framework\src;mx\controls\listClasses;IDropInListItemRenderer.as:BaseListData):void; } }//package mx.controls.listClasses
Section 211
//IListItemRenderer (mx.controls.listClasses.IListItemRenderer) package mx.controls.listClasses { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.styles.*; public interface IListItemRenderer extends IDataRenderer, IEventDispatcher, IFlexDisplayObject, ILayoutManagerClient, ISimpleStyleClient, IUIComponent { } }//package mx.controls.listClasses
Section 212
//ScrollBar (mx.controls.scrollClasses.ScrollBar) package mx.controls.scrollClasses { import flash.geom.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import flash.utils.*; import flash.ui.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" private var _pageScrollSize:Number;// = 0 mx_internal var scrollTrack:Button; mx_internal var downArrow:Button; mx_internal var scrollThumb:ScrollThumb; private var trackScrollRepeatDirection:int; private var _minScrollPosition:Number;// = 0 private var trackPosition:Number; private var _pageSize:Number;// = 0 mx_internal var _minHeight:Number;// = 32 private var _maxScrollPosition:Number;// = 0 private var trackScrollTimer:Timer; mx_internal var upArrow:Button; private var _lineScrollSize:Number;// = 1 private var _scrollPosition:Number;// = 0 private var trackScrolling:Boolean;// = false mx_internal var isScrolling:Boolean; mx_internal var oldPosition:Number; mx_internal var _minWidth:Number;// = 16 mx_internal static const VERSION:String = "3.0.0.0"; public static const THICKNESS:Number = 16; public function ScrollBar(){ super(); } override public function set enabled(value:Boolean):void{ super.enabled = value; invalidateDisplayList(); } public function set lineScrollSize(value:Number):void{ _lineScrollSize = value; } public function get minScrollPosition():Number{ return (_minScrollPosition); } mx_internal function dispatchScrollEvent(oldPosition:Number, detail:String):void{ var event:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL); event.detail = detail; event.position = scrollPosition; event.delta = (scrollPosition - oldPosition); event.direction = direction; dispatchEvent(event); } private function downArrow_buttonDownHandler(event:FlexEvent):void{ if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; lineScroll(1); } private function scrollTrack_mouseDownHandler(event:MouseEvent):void{ if (!(((event.target == this)) || ((event.target == scrollTrack)))){ return; }; trackScrolling = true; systemManager.addEventListener(MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true); systemManager.addEventListener(MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true); systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_scrollTrack_mouseMoveHandler); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, scrollTrack_mouseLeaveHandler); var pt:Point = new Point(event.localX, event.localY); pt = event.target.localToGlobal(pt); pt = globalToLocal(pt); trackPosition = pt.y; if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; trackScrollRepeatDirection = (((scrollThumb.y + scrollThumb.height) < pt.y)) ? 1 : ((scrollThumb.y > pt.y)) ? -1 : 0; pageScroll(trackScrollRepeatDirection); if (!trackScrollTimer){ trackScrollTimer = new Timer(getStyle("repeatDelay"), 1); trackScrollTimer.addEventListener(TimerEvent.TIMER, trackScrollTimerHandler); }; trackScrollTimer.start(); } public function set minScrollPosition(value:Number):void{ _minScrollPosition = value; } public function get scrollPosition():Number{ return (_scrollPosition); } mx_internal function get linePlusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.LINE_DOWN : ScrollEventDetail.LINE_RIGHT); } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } protected function get thumbStyleFilters():Object{ return (null); } override public function set doubleClickEnabled(value:Boolean):void{ } public function get lineScrollSize():Number{ return (_lineScrollSize); } private function stage_scrollTrack_mouseMoveHandler(event:MouseEvent):void{ if (event.target != stage){ return; }; scrollTrack_mouseMoveHandler(event); } mx_internal function get virtualHeight():Number{ return (unscaledHeight); } public function set scrollPosition(value:Number):void{ var denom:Number; var y:Number; var x:Number; _scrollPosition = value; if (scrollThumb){ if (!cacheAsBitmap){ cacheHeuristic = (scrollThumb.cacheHeuristic = true); }; if (!isScrolling){ value = Math.min(value, maxScrollPosition); value = Math.max(value, minScrollPosition); denom = (maxScrollPosition - minScrollPosition); y = ((((denom == 0)) || (isNaN(denom)))) ? 0 : ((((value - minScrollPosition) * (trackHeight - scrollThumb.height)) / denom) + trackY); x = (((virtualWidth - scrollThumb.width) / 2) + getStyle("thumbOffset")); scrollThumb.move(Math.round(x), Math.round(y)); }; }; } protected function get downArrowStyleFilters():Object{ return (null); } public function get pageSize():Number{ return (_pageSize); } public function set pageScrollSize(value:Number):void{ _pageScrollSize = value; } public function set maxScrollPosition(value:Number):void{ _maxScrollPosition = value; } mx_internal function pageScroll(direction:int):void{ var oldPosition:Number; var detail:String; var delta:Number = ((_pageScrollSize)!=0) ? _pageScrollSize : pageSize; var newPos:Number = (_scrollPosition + (direction * delta)); if (newPos > maxScrollPosition){ newPos = maxScrollPosition; } else { if (newPos < minScrollPosition){ newPos = minScrollPosition; }; }; if (newPos != scrollPosition){ oldPosition = scrollPosition; scrollPosition = newPos; detail = ((direction < 0)) ? pageMinusDetail : pagePlusDetail; dispatchScrollEvent(oldPosition, detail); }; } override protected function createChildren():void{ super.createChildren(); if (!scrollTrack){ scrollTrack = new Button(); scrollTrack.focusEnabled = false; scrollTrack.skinName = "trackSkin"; scrollTrack.upSkinName = "trackUpSkin"; scrollTrack.overSkinName = "trackOverSkin"; scrollTrack.downSkinName = "trackDownSkin"; scrollTrack.disabledSkinName = "trackDisabledSkin"; if ((scrollTrack is ISimpleStyleClient)){ ISimpleStyleClient(scrollTrack).styleName = this; }; addChild(scrollTrack); scrollTrack.validateProperties(); }; if (!upArrow){ upArrow = new Button(); upArrow.enabled = false; upArrow.autoRepeat = true; upArrow.focusEnabled = false; upArrow.upSkinName = "upArrowUpSkin"; upArrow.overSkinName = "upArrowOverSkin"; upArrow.downSkinName = "upArrowDownSkin"; upArrow.disabledSkinName = "upArrowDisabledSkin"; upArrow.skinName = "upArrowSkin"; upArrow.upIconName = ""; upArrow.overIconName = ""; upArrow.downIconName = ""; upArrow.disabledIconName = ""; addChild(upArrow); upArrow.styleName = new StyleProxy(this, upArrowStyleFilters); upArrow.validateProperties(); upArrow.addEventListener(FlexEvent.BUTTON_DOWN, upArrow_buttonDownHandler); }; if (!downArrow){ downArrow = new Button(); downArrow.enabled = false; downArrow.autoRepeat = true; downArrow.focusEnabled = false; downArrow.upSkinName = "downArrowUpSkin"; downArrow.overSkinName = "downArrowOverSkin"; downArrow.downSkinName = "downArrowDownSkin"; downArrow.disabledSkinName = "downArrowDisabledSkin"; downArrow.skinName = "downArrowSkin"; downArrow.upIconName = ""; downArrow.overIconName = ""; downArrow.downIconName = ""; downArrow.disabledIconName = ""; addChild(downArrow); downArrow.styleName = new StyleProxy(this, downArrowStyleFilters); downArrow.validateProperties(); downArrow.addEventListener(FlexEvent.BUTTON_DOWN, downArrow_buttonDownHandler); }; } private function scrollTrack_mouseOverHandler(event:MouseEvent):void{ if (!(((event.target == this)) || ((event.target == scrollTrack)))){ return; }; if (trackScrolling){ trackScrollTimer.start(); }; } private function get minDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.AT_TOP : ScrollEventDetail.AT_LEFT); } mx_internal function isScrollBarKey(key:uint):Boolean{ var oldPosition:Number; if (key == Keyboard.HOME){ if (scrollPosition != 0){ oldPosition = scrollPosition; scrollPosition = 0; dispatchScrollEvent(oldPosition, minDetail); }; return (true); } else { if (key == Keyboard.END){ if (scrollPosition < maxScrollPosition){ oldPosition = scrollPosition; scrollPosition = maxScrollPosition; dispatchScrollEvent(oldPosition, maxDetail); }; return (true); }; }; return (false); } mx_internal function get lineMinusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.LINE_UP : ScrollEventDetail.LINE_LEFT); } mx_internal function get pageMinusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.PAGE_UP : ScrollEventDetail.PAGE_LEFT); } private function get maxDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.AT_BOTTOM : ScrollEventDetail.AT_RIGHT); } private function scrollTrack_mouseLeaveHandler(event:Event):void{ trackScrolling = false; systemManager.removeEventListener(MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true); systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true); systemManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_scrollTrack_mouseMoveHandler); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, scrollTrack_mouseLeaveHandler); if (trackScrollTimer){ trackScrollTimer.reset(); }; if (event.target != scrollTrack){ return; }; var detail:String = ((oldPosition > scrollPosition)) ? pageMinusDetail : pagePlusDetail; dispatchScrollEvent(oldPosition, detail); oldPosition = NaN; } protected function get upArrowStyleFilters():Object{ return (null); } private function get trackHeight():Number{ return ((virtualHeight - (upArrow.getExplicitOrMeasuredHeight() + downArrow.getExplicitOrMeasuredHeight()))); } public function get pageScrollSize():Number{ return (_pageScrollSize); } override protected function measure():void{ super.measure(); upArrow.validateSize(); downArrow.validateSize(); scrollTrack.validateSize(); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _minWidth = (scrollThumb) ? scrollThumb.getExplicitOrMeasuredWidth() : 0; _minWidth = Math.max(scrollTrack.getExplicitOrMeasuredWidth(), upArrow.getExplicitOrMeasuredWidth(), downArrow.getExplicitOrMeasuredWidth(), _minWidth); } else { _minWidth = upArrow.getExplicitOrMeasuredWidth(); }; _minHeight = (upArrow.getExplicitOrMeasuredHeight() + downArrow.getExplicitOrMeasuredHeight()); } mx_internal function lineScroll(direction:int):void{ var oldPosition:Number; var detail:String; var delta:Number = _lineScrollSize; var newPos:Number = (_scrollPosition + (direction * delta)); if (newPos > maxScrollPosition){ newPos = maxScrollPosition; } else { if (newPos < minScrollPosition){ newPos = minScrollPosition; }; }; if (newPos != scrollPosition){ oldPosition = scrollPosition; scrollPosition = newPos; detail = ((direction < 0)) ? lineMinusDetail : linePlusDetail; dispatchScrollEvent(oldPosition, detail); }; } public function setScrollProperties(pageSize:Number, minScrollPosition:Number, maxScrollPosition:Number, pageScrollSize:Number=0):void{ var thumbHeight:Number; this.pageSize = pageSize; _pageScrollSize = ((pageScrollSize)>0) ? pageScrollSize : pageSize; this.minScrollPosition = Math.max(minScrollPosition, 0); this.maxScrollPosition = Math.max(maxScrollPosition, 0); _scrollPosition = Math.max(this.minScrollPosition, _scrollPosition); _scrollPosition = Math.min(this.maxScrollPosition, _scrollPosition); if (((((this.maxScrollPosition - this.minScrollPosition) > 0)) && (enabled))){ upArrow.enabled = true; downArrow.enabled = true; scrollTrack.enabled = true; addEventListener(MouseEvent.MOUSE_DOWN, scrollTrack_mouseDownHandler); addEventListener(MouseEvent.MOUSE_OVER, scrollTrack_mouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, scrollTrack_mouseOutHandler); if (!scrollThumb){ scrollThumb = new ScrollThumb(); scrollThumb.focusEnabled = false; addChildAt(scrollThumb, getChildIndex(downArrow)); scrollThumb.styleName = new StyleProxy(this, thumbStyleFilters); scrollThumb.upSkinName = "thumbUpSkin"; scrollThumb.overSkinName = "thumbOverSkin"; scrollThumb.downSkinName = "thumbDownSkin"; scrollThumb.iconName = "thumbIcon"; scrollThumb.skinName = "thumbSkin"; }; thumbHeight = ((trackHeight < 0)) ? 0 : Math.round(((pageSize / ((this.maxScrollPosition - this.minScrollPosition) + pageSize)) * trackHeight)); if (thumbHeight < scrollThumb.minHeight){ if (trackHeight < scrollThumb.minHeight){ scrollThumb.visible = false; } else { thumbHeight = scrollThumb.minHeight; scrollThumb.visible = true; scrollThumb.setActualSize(scrollThumb.measuredWidth, scrollThumb.minHeight); }; } else { scrollThumb.visible = true; scrollThumb.setActualSize(scrollThumb.measuredWidth, thumbHeight); }; scrollThumb.setRange((upArrow.getExplicitOrMeasuredHeight() + 0), ((virtualHeight - downArrow.getExplicitOrMeasuredHeight()) - scrollThumb.height), this.minScrollPosition, this.maxScrollPosition); scrollPosition = Math.max(Math.min(scrollPosition, this.maxScrollPosition), this.minScrollPosition); } else { upArrow.enabled = false; downArrow.enabled = false; scrollTrack.enabled = false; if (scrollThumb){ scrollThumb.visible = false; }; }; } private function trackScrollTimerHandler(event:Event):void{ if (trackScrollRepeatDirection == 1){ if ((scrollThumb.y + scrollThumb.height) > trackPosition){ return; }; }; if (trackScrollRepeatDirection == -1){ if (scrollThumb.y < trackPosition){ return; }; }; pageScroll(trackScrollRepeatDirection); if (((trackScrollTimer) && ((trackScrollTimer.repeatCount == 1)))){ trackScrollTimer.delay = getStyle("repeatInterval"); trackScrollTimer.repeatCount = 0; }; } private function upArrow_buttonDownHandler(event:FlexEvent):void{ if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; lineScroll(-1); } public function set pageSize(value:Number):void{ _pageSize = value; } private function get trackY():Number{ return (upArrow.getExplicitOrMeasuredHeight()); } private function scrollTrack_mouseOutHandler(event:MouseEvent):void{ if (trackScrolling){ trackScrollTimer.stop(); }; } private function scrollTrack_mouseUpHandler(event:MouseEvent):void{ scrollTrack_mouseLeaveHandler(event); } private function scrollTrack_mouseMoveHandler(event:MouseEvent):void{ var pt:Point; if (trackScrolling){ pt = new Point(event.stageX, event.stageY); pt = globalToLocal(pt); trackPosition = pt.y; }; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ if ($height == 1){ return; }; if (!upArrow){ return; }; super.updateDisplayList(unscaledWidth, unscaledHeight); if (cacheAsBitmap){ cacheHeuristic = (scrollThumb.cacheHeuristic = false); }; upArrow.setActualSize(upArrow.getExplicitOrMeasuredWidth(), upArrow.getExplicitOrMeasuredHeight()); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ upArrow.move(((virtualWidth - upArrow.width) / 2), 0); } else { upArrow.move(0, 0); }; scrollTrack.setActualSize(scrollTrack.getExplicitOrMeasuredWidth(), virtualHeight); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ scrollTrack.x = ((virtualWidth - scrollTrack.width) / 2); }; scrollTrack.y = 0; downArrow.setActualSize(downArrow.getExplicitOrMeasuredWidth(), downArrow.getExplicitOrMeasuredHeight()); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ downArrow.move(((virtualWidth - downArrow.width) / 2), (virtualHeight - downArrow.getExplicitOrMeasuredHeight())); } else { downArrow.move(0, (virtualHeight - downArrow.getExplicitOrMeasuredHeight())); }; setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, _pageScrollSize); scrollPosition = _scrollPosition; } mx_internal function get pagePlusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.PAGE_DOWN : ScrollEventDetail.PAGE_RIGHT); } mx_internal function get virtualWidth():Number{ return (unscaledWidth); } public function set direction(value:String):void{ _direction = value; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("directionChanged")); } public function get direction():String{ return (_direction); } } }//package mx.controls.scrollClasses
Section 213
//ScrollBarDirection (mx.controls.scrollClasses.ScrollBarDirection) package mx.controls.scrollClasses { import mx.core.*; public final class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollBarDirection(){ super(); } } }//package mx.controls.scrollClasses
Section 214
//ScrollThumb (mx.controls.scrollClasses.ScrollThumb) package mx.controls.scrollClasses { import flash.geom.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.controls.*; public class ScrollThumb extends Button { private var lastY:Number; private var datamin:Number; private var ymax:Number; private var ymin:Number; private var datamax:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollThumb(){ super(); explicitMinHeight = 10; stickyHighlighting = true; } private function stopDragThumb():void{ var scrollBar:ScrollBar = ScrollBar(parent); scrollBar.isScrolling = false; scrollBar.dispatchScrollEvent(scrollBar.oldPosition, ScrollEventDetail.THUMB_POSITION); scrollBar.oldPosition = NaN; systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); systemManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); } override protected function mouseDownHandler(event:MouseEvent):void{ super.mouseDownHandler(event); var scrollBar:ScrollBar = ScrollBar(parent); scrollBar.oldPosition = scrollBar.scrollPosition; lastY = event.localY; systemManager.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); } private function mouseMoveHandler(event:MouseEvent):void{ if (ymin == ymax){ return; }; var pt:Point = new Point(event.stageX, event.stageY); pt = globalToLocal(pt); var scrollMove:Number = (pt.y - lastY); scrollMove = (scrollMove + y); if (scrollMove < ymin){ scrollMove = ymin; } else { if (scrollMove > ymax){ scrollMove = ymax; }; }; var scrollBar:ScrollBar = ScrollBar(parent); scrollBar.isScrolling = true; $y = scrollMove; var oldPosition:Number = scrollBar.scrollPosition; var pos:Number = (Math.round((((datamax - datamin) * (y - ymin)) / (ymax - ymin))) + datamin); scrollBar.scrollPosition = pos; scrollBar.dispatchScrollEvent(oldPosition, ScrollEventDetail.THUMB_TRACK); event.updateAfterEvent(); } override mx_internal function buttonReleased():void{ super.buttonReleased(); stopDragThumb(); } private function stage_mouseMoveHandler(event:MouseEvent):void{ if (event.target != stage){ return; }; mouseMoveHandler(event); } mx_internal function setRange(ymin:Number, ymax:Number, datamin:Number, datamax:Number):void{ this.ymin = ymin; this.ymax = ymax; this.datamin = datamin; this.datamax = datamax; } } }//package mx.controls.scrollClasses
Section 215
//Alert (mx.controls.Alert) package mx.controls { import flash.events.*; import flash.display.*; import mx.events.*; import mx.core.*; import mx.resources.*; import mx.managers.*; import mx.containers.*; import mx.controls.alertClasses.*; public class Alert extends Panel { mx_internal var alertForm:AlertForm; public var defaultButtonFlag:uint;// = 4 public var text:String;// = "" private var init:Boolean;// = false public var buttonFlags:uint;// = 4 public var iconClass:Class; public static const NONMODAL:uint = 0x8000; mx_internal static const VERSION:String = "3.0.0.0"; public static const NO:uint = 2; public static const YES:uint = 1; public static const OK:uint = 4; public static const CANCEL:uint = 8; mx_internal static var createAccessibilityImplementation:Function; private static var cancelLabelOverride:String; private static var _resourceManager:IResourceManager; public static var buttonHeight:Number = 22; private static var noLabelOverride:String; private static var _yesLabel:String; private static var yesLabelOverride:String; public static var buttonWidth:Number = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? 60 : 65; ; private static var _okLabel:String; private static var initialized:Boolean = false; private static var _cancelLabel:String; private static var okLabelOverride:String; private static var _noLabel:String; public function Alert(){ super(); title = ""; } override public function styleChanged(styleProp:String):void{ var messageStyleName:String; super.styleChanged(styleProp); if (styleProp == "messageStyleName"){ messageStyleName = getStyle("messageStyleName"); styleName = messageStyleName; }; if (alertForm){ alertForm.styleChanged(styleProp); }; } override protected function measure():void{ var m:EdgeMetrics; super.measure(); m = viewMetrics; measuredWidth = Math.max(measuredWidth, ((alertForm.getExplicitOrMeasuredWidth() + m.left) + m.right)); measuredHeight = ((alertForm.getExplicitOrMeasuredHeight() + m.top) + m.bottom); } override protected function resourcesChanged():void{ super.resourcesChanged(); static_resourcesChanged(); } override protected function initializeAccessibility():void{ if (Alert.createAccessibilityImplementation != null){ Alert.createAccessibilityImplementation(this); }; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var x:Number; var y:Number; super.updateDisplayList(unscaledWidth, unscaledHeight); var vm:EdgeMetrics = viewMetrics; alertForm.setActualSize(((((unscaledWidth - vm.left) - vm.right) - getStyle("paddingLeft")) - getStyle("paddingRight")), ((((unscaledHeight - vm.top) - vm.bottom) - getStyle("paddingTop")) - getStyle("paddingBottom"))); if (!init){ if (parent == systemManager){ x = ((screen.width - measuredWidth) / 2); y = ((screen.height - measuredHeight) / 2); } else { x = ((parent.width - measuredWidth) / 2); y = ((parent.height - measuredHeight) / 2); }; move(Math.round(x), Math.round(y)); init = true; }; } override protected function createChildren():void{ super.createChildren(); var messageStyleName:String = getStyle("messageStyleName"); if (messageStyleName){ styleName = messageStyleName; }; if (!alertForm){ alertForm = new AlertForm(); alertForm.styleName = this; addChild(alertForm); }; } private static function initialize():void{ if (!initialized){ resourceManager.addEventListener(Event.CHANGE, static_resourceManager_changeHandler, false, 0, true); static_resourcesChanged(); initialized = true; }; } private static function static_resourcesChanged():void{ cancelLabel = cancelLabelOverride; noLabel = noLabelOverride; okLabel = okLabelOverride; yesLabel = yesLabelOverride; } public static function get cancelLabel():String{ initialize(); return (_cancelLabel); } public static function set yesLabel(value:String):void{ yesLabelOverride = value; _yesLabel = ((value)!=null) ? value : resourceManager.getString("controls", "yesLabel"); } public static function get noLabel():String{ initialize(); return (_noLabel); } public static function set cancelLabel(value:String):void{ cancelLabelOverride = value; _cancelLabel = ((value)!=null) ? value : resourceManager.getString("controls", "cancelLabel"); } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } public static function get yesLabel():String{ initialize(); return (_yesLabel); } public static function set noLabel(value:String):void{ noLabelOverride = value; _noLabel = ((value)!=null) ? value : resourceManager.getString("controls", "noLabel"); } private static function static_resourceManager_changeHandler(event:Event):void{ static_resourcesChanged(); } public static function set okLabel(value:String):void{ okLabelOverride = value; _okLabel = ((value)!=null) ? value : resourceManager.getString("controls", "okLabel"); } public static function get okLabel():String{ initialize(); return (_okLabel); } public static function show(text:String="", title:String="", flags:uint=4, parent:Sprite=null, closeHandler:Function=null, iconClass:Class=null, defaultButtonFlag:uint=4):Alert{ var modal:Boolean = ((flags & Alert.NONMODAL)) ? false : true; if (!parent){ parent = Sprite(Application.application); }; var alert:Alert = new (Alert); if ((((((((flags & Alert.OK)) || ((flags & Alert.CANCEL)))) || ((flags & Alert.YES)))) || ((flags & Alert.NO)))){ alert.buttonFlags = flags; }; if ((((((((defaultButtonFlag == Alert.OK)) || ((defaultButtonFlag == Alert.CANCEL)))) || ((defaultButtonFlag == Alert.YES)))) || ((defaultButtonFlag == Alert.NO)))){ alert.defaultButtonFlag = defaultButtonFlag; }; alert.text = text; alert.title = title; alert.iconClass = iconClass; if (closeHandler != null){ alert.addEventListener(CloseEvent.CLOSE, closeHandler); }; if ((parent is UIComponent)){ alert.moduleFactory = UIComponent(parent).moduleFactory; }; PopUpManager.addPopUp(alert, parent, modal); alert.setActualSize(alert.getExplicitOrMeasuredWidth(), alert.getExplicitOrMeasuredHeight()); return (alert); } } }//package mx.controls
Section 216
//Button (mx.controls.Button) package mx.controls { import flash.display.*; import mx.core.*; import mx.managers.*; import flash.text.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.listClasses.*; import flash.utils.*; import flash.ui.*; import mx.controls.dataGridClasses.*; public class Button extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IFocusManagerComponent, IListItemRenderer, IFontContextComponent, IButton { mx_internal var _emphasized:Boolean;// = false mx_internal var extraSpacing:Number;// = 20 private var icons:Array; public var selectedField:String;// = null private var labelChanged:Boolean;// = false private var skinMeasuredWidth:Number; mx_internal var checkedDefaultSkin:Boolean;// = false private var autoRepeatTimer:Timer; mx_internal var disabledIconName:String;// = "disabledIcon" mx_internal var disabledSkinName:String;// = "disabledSkin" mx_internal var checkedDefaultIcon:Boolean;// = false public var stickyHighlighting:Boolean;// = false private var enabledChanged:Boolean;// = false mx_internal var selectedUpIconName:String;// = "selectedUpIcon" mx_internal var selectedUpSkinName:String;// = "selectedUpSkin" mx_internal var upIconName:String;// = "upIcon" mx_internal var upSkinName:String;// = "upSkin" mx_internal var centerContent:Boolean;// = true mx_internal var buttonOffset:Number;// = 0 private var skinMeasuredHeight:Number; private var oldUnscaledWidth:Number; mx_internal var downIconName:String;// = "downIcon" mx_internal var _labelPlacement:String;// = "right" mx_internal var downSkinName:String;// = "downSkin" mx_internal var _toggle:Boolean;// = false private var _phase:String;// = "up" private var toolTipSet:Boolean;// = false private var _data:Object; mx_internal var currentIcon:IFlexDisplayObject; mx_internal var currentSkin:IFlexDisplayObject; mx_internal var overIconName:String;// = "overIcon" mx_internal var selectedDownIconName:String;// = "selectedDownIcon" mx_internal var overSkinName:String;// = "overSkin" mx_internal var iconName:String;// = "icon" mx_internal var skinName:String;// = "skin" mx_internal var selectedDownSkinName:String;// = "selectedDownSkin" private var skins:Array; private var selectedSet:Boolean; private var _autoRepeat:Boolean;// = false private var styleChangedFlag:Boolean;// = true mx_internal var selectedOverIconName:String;// = "selectedOverIcon" private var _listData:BaseListData; mx_internal var selectedOverSkinName:String;// = "selectedOverSkin" protected var textField:IUITextField; private var labelSet:Boolean; mx_internal var defaultIconUsesStates:Boolean;// = false mx_internal var defaultSkinUsesStates:Boolean;// = false mx_internal var toggleChanged:Boolean;// = false private var emphasizedChanged:Boolean;// = false private var _label:String;// = "" mx_internal var _selected:Boolean;// = false mx_internal var selectedDisabledIconName:String;// = "selectedDisabledIcon" mx_internal var selectedDisabledSkinName:String;// = "selectedDisabledSkin" mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; mx_internal static var TEXT_WIDTH_PADDING:Number = 6; public function Button(){ skins = []; icons = []; super(); mouseChildren = false; addEventListener(MouseEvent.ROLL_OVER, rollOverHandler); addEventListener(MouseEvent.ROLL_OUT, rollOutHandler); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.CLICK, clickHandler); } private function previousVersion_measure():void{ var bm:EdgeMetrics; var lineMetrics:TextLineMetrics; var paddingLeft:Number; var paddingRight:Number; var paddingTop:Number; var paddingBottom:Number; var horizontalGap:Number; super.measure(); var textWidth:Number = 0; var textHeight:Number = 0; if (label){ lineMetrics = measureText(label); textWidth = lineMetrics.width; textHeight = lineMetrics.height; paddingLeft = getStyle("paddingLeft"); paddingRight = getStyle("paddingRight"); paddingTop = getStyle("paddingTop"); paddingBottom = getStyle("paddingBottom"); textWidth = (textWidth + ((paddingLeft + paddingRight) + getStyle("textIndent"))); textHeight = (textHeight + (paddingTop + paddingBottom)); }; bm = currentSkin["borderMetrics"]; //unresolved jump var _slot1 = e; bm = new EdgeMetrics(3, 3, 3, 3); var tempCurrentIcon:IFlexDisplayObject = getCurrentIcon(); var iconWidth:Number = (tempCurrentIcon) ? tempCurrentIcon.width : 0; var iconHeight:Number = (tempCurrentIcon) ? tempCurrentIcon.height : 0; var w:Number = 0; var h:Number = 0; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ w = (textWidth + iconWidth); if (iconWidth != 0){ horizontalGap = getStyle("horizontalGap"); w = (w + (horizontalGap - 2)); }; h = Math.max(textHeight, (iconHeight + 6)); } else { w = Math.max(textWidth, iconWidth); h = (textHeight + iconHeight); if (iconHeight != 0){ h = (h + getStyle("verticalGap")); }; }; if (bm){ w = (w + (bm.left + bm.right)); h = (h + (bm.top + bm.bottom)); }; if (((label) && (!((label.length == 0))))){ w = (w + extraSpacing); } else { w = (w + 6); }; if (((currentSkin) && (((isNaN(skinMeasuredWidth)) || (isNaN(skinMeasuredHeight)))))){ skinMeasuredWidth = currentSkin.measuredWidth; skinMeasuredHeight = currentSkin.measuredHeight; }; if (!isNaN(skinMeasuredWidth)){ w = Math.max(skinMeasuredWidth, w); }; if (!isNaN(skinMeasuredHeight)){ h = Math.max(skinMeasuredHeight, h); }; measuredMinWidth = (measuredWidth = w); measuredMinHeight = (measuredHeight = h); } public function get label():String{ return (_label); } mx_internal function getCurrentIconName():String{ var tempIconName:String; if (!enabled){ tempIconName = (selected) ? selectedDisabledIconName : disabledIconName; } else { if (phase == ButtonPhase.UP){ tempIconName = (selected) ? selectedUpIconName : upIconName; } else { if (phase == ButtonPhase.OVER){ tempIconName = (selected) ? selectedOverIconName : overIconName; } else { if (phase == ButtonPhase.DOWN){ tempIconName = (selected) ? selectedDownIconName : downIconName; }; }; }; }; return (tempIconName); } protected function mouseUpHandler(event:MouseEvent):void{ if (!enabled){ return; }; phase = ButtonPhase.OVER; buttonReleased(); if (!toggle){ event.updateAfterEvent(); }; } override protected function adjustFocusRect(object:DisplayObject=null):void{ super.adjustFocusRect((currentSkin) ? this : DisplayObject(currentIcon)); } mx_internal function set phase(value:String):void{ _phase = value; invalidateSize(); invalidateDisplayList(); } mx_internal function viewIconForPhase(tempIconName:String):IFlexDisplayObject{ var newIcon:IFlexDisplayObject; var sizeIcon:Boolean; var stateName:String; var newIconClass:Class = Class(getStyle(tempIconName)); if (!newIconClass){ newIconClass = Class(getStyle(iconName)); if (defaultIconUsesStates){ tempIconName = iconName; }; if (((!(checkedDefaultIcon)) && (newIconClass))){ newIcon = IFlexDisplayObject(new (newIconClass)); if (((!((newIcon is IProgrammaticSkin))) && ((newIcon is IStateClient)))){ defaultIconUsesStates = true; tempIconName = iconName; }; if (newIcon){ checkedDefaultIcon = true; }; }; }; newIcon = IFlexDisplayObject(getChildByName(tempIconName)); if (newIcon == null){ if (newIconClass != null){ newIcon = IFlexDisplayObject(new (newIconClass)); newIcon.name = tempIconName; if ((newIcon is ISimpleStyleClient)){ ISimpleStyleClient(newIcon).styleName = this; }; addChild(DisplayObject(newIcon)); sizeIcon = false; if ((newIcon is IInvalidating)){ IInvalidating(newIcon).validateNow(); sizeIcon = true; } else { if ((newIcon is IProgrammaticSkin)){ IProgrammaticSkin(newIcon).validateDisplayList(); sizeIcon = true; }; }; if (((newIcon) && ((newIcon is IUIComponent)))){ IUIComponent(newIcon).enabled = enabled; }; if (sizeIcon){ newIcon.setActualSize(newIcon.measuredWidth, newIcon.measuredHeight); }; icons.push(newIcon); }; }; if (currentIcon != null){ currentIcon.visible = false; }; currentIcon = newIcon; if (((defaultIconUsesStates) && ((currentIcon is IStateClient)))){ stateName = ""; if (!enabled){ stateName = (selected) ? "selectedDisabled" : "disabled"; } else { if (phase == ButtonPhase.UP){ stateName = (selected) ? "selectedUp" : "up"; } else { if (phase == ButtonPhase.OVER){ stateName = (selected) ? "selectedOver" : "over"; } else { if (phase == ButtonPhase.DOWN){ stateName = (selected) ? "selectedDown" : "down"; }; }; }; }; IStateClient(currentIcon).currentState = stateName; }; if (currentIcon != null){ currentIcon.visible = true; }; return (newIcon); } mx_internal function viewSkinForPhase(tempSkinName:String, stateName:String):void{ var newSkin:IFlexDisplayObject; var labelColor:Number; var styleableSkin:ISimpleStyleClient; var newSkinClass:Class = Class(getStyle(tempSkinName)); if (!newSkinClass){ newSkinClass = Class(getStyle(skinName)); if (defaultSkinUsesStates){ tempSkinName = skinName; }; if (((!(checkedDefaultSkin)) && (newSkinClass))){ newSkin = IFlexDisplayObject(new (newSkinClass)); if (((!((newSkin is IProgrammaticSkin))) && ((newSkin is IStateClient)))){ defaultSkinUsesStates = true; tempSkinName = skinName; }; if (newSkin){ checkedDefaultSkin = true; }; }; }; newSkin = IFlexDisplayObject(getChildByName(tempSkinName)); if (!newSkin){ if (newSkinClass){ newSkin = IFlexDisplayObject(new (newSkinClass)); newSkin.name = tempSkinName; styleableSkin = (newSkin as ISimpleStyleClient); if (styleableSkin){ styleableSkin.styleName = this; }; addChild(DisplayObject(newSkin)); newSkin.setActualSize(unscaledWidth, unscaledHeight); if ((((newSkin is IInvalidating)) && (initialized))){ IInvalidating(newSkin).validateNow(); } else { if ((((newSkin is IProgrammaticSkin)) && (initialized))){ IProgrammaticSkin(newSkin).validateDisplayList(); }; }; skins.push(newSkin); }; }; if (currentSkin){ currentSkin.visible = false; }; currentSkin = newSkin; if (((defaultSkinUsesStates) && ((currentSkin is IStateClient)))){ IStateClient(currentSkin).currentState = stateName; }; if (currentSkin){ currentSkin.visible = true; }; if (enabled){ if (phase == ButtonPhase.OVER){ labelColor = textField.getStyle("textRollOverColor"); } else { if (phase == ButtonPhase.DOWN){ labelColor = textField.getStyle("textSelectedColor"); } else { labelColor = textField.getStyle("color"); }; }; textField.setColor(labelColor); }; } mx_internal function getTextField():IUITextField{ return (textField); } protected function rollOverHandler(event:MouseEvent):void{ if (phase == ButtonPhase.UP){ if (event.buttonDown){ return; }; phase = ButtonPhase.OVER; event.updateAfterEvent(); } else { if (phase == ButtonPhase.OVER){ phase = ButtonPhase.DOWN; event.updateAfterEvent(); if (autoRepeatTimer){ autoRepeatTimer.start(); }; }; }; } override protected function createChildren():void{ super.createChildren(); if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; addChild(DisplayObject(textField)); }; } mx_internal function setSelected(value:Boolean, isProgrammatic:Boolean=false):void{ if (_selected != value){ _selected = value; invalidateDisplayList(); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (toggle){ dispatchEvent(new Event(Event.CHANGE)); }; } else { if (((toggle) && (!(isProgrammatic)))){ dispatchEvent(new Event(Event.CHANGE)); }; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; } private function autoRepeatTimer_timerDelayHandler(event:Event):void{ if (!enabled){ return; }; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); if (autoRepeat){ autoRepeatTimer.reset(); autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.delay = getStyle("repeatInterval"); autoRepeatTimer.addEventListener(TimerEvent.TIMER, autoRepeatTimer_timerHandler); autoRepeatTimer.start(); }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set selected(value:Boolean):void{ selectedSet = true; setSelected(value, true); } override protected function focusOutHandler(event:FocusEvent):void{ super.focusOutHandler(event); if (phase != ButtonPhase.UP){ phase = ButtonPhase.UP; }; } public function get labelPlacement():String{ return (_labelPlacement); } public function set autoRepeat(value:Boolean):void{ _autoRepeat = value; if (value){ autoRepeatTimer = new Timer(1); } else { autoRepeatTimer = null; }; } mx_internal function changeIcons():void{ var n:int = icons.length; var i:int; while (i < n) { removeChild(icons[i]); i++; }; icons = []; checkedDefaultIcon = false; defaultIconUsesStates = false; } public function set data(value:Object):void{ var newSelected:*; var newLabel:*; _data = value; if (((_listData) && ((_listData is DataGridListData)))){ newSelected = _data[DataGridListData(_listData).dataField]; newLabel = ""; } else { if (_listData){ if (selectedField){ newSelected = _data[selectedField]; }; newLabel = _listData.label; } else { newSelected = _data; }; }; if (((!((newSelected === undefined))) && (!(selectedSet)))){ selected = (newSelected as Boolean); selectedSet = false; }; if (((!((newLabel === undefined))) && (!(labelSet)))){ label = newLabel; labelSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } mx_internal function getCurrentIcon():IFlexDisplayObject{ var tempIconName:String = getCurrentIconName(); if (!tempIconName){ return (null); }; return (viewIconForPhase(tempIconName)); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function get emphasized():Boolean{ return (_emphasized); } public function get listData():BaseListData{ return (_listData); } mx_internal function layoutContents(unscaledWidth:Number, unscaledHeight:Number, offset:Boolean):void{ var lineMetrics:TextLineMetrics; var moveEvent:MoveEvent; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ previousVersion_layoutContents(unscaledWidth, unscaledHeight, offset); return; }; var labelWidth:Number = 0; var labelHeight:Number = 0; var labelX:Number = 0; var labelY:Number = 0; var iconWidth:Number = 0; var iconHeight:Number = 0; var iconX:Number = 0; var iconY:Number = 0; var horizontalGap:Number = 0; var verticalGap:Number = 0; var paddingLeft:Number = getStyle("paddingLeft"); var paddingRight:Number = getStyle("paddingRight"); var paddingTop:Number = getStyle("paddingTop"); var paddingBottom:Number = getStyle("paddingBottom"); var textWidth:Number = 0; var textHeight:Number = 0; if (label){ lineMetrics = measureText(label); textWidth = (lineMetrics.width + TEXT_WIDTH_PADDING); textHeight = (lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING); } else { lineMetrics = measureText("Wj"); textHeight = (lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING); }; var n:Number = (offset) ? buttonOffset : 0; var textAlign:String = getStyle("textAlign"); var viewWidth:Number = unscaledWidth; var viewHeight:Number = unscaledHeight; var bm:EdgeMetrics = (((((currentSkin) && ((currentSkin is IBorder)))) && (!((currentSkin is IFlexAsset))))) ? IBorder(currentSkin).borderMetrics : null; if (bm){ viewWidth = (viewWidth - (bm.left + bm.right)); viewHeight = (viewHeight - (bm.top + bm.bottom)); }; if (currentIcon){ iconWidth = currentIcon.width; iconHeight = currentIcon.height; }; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ horizontalGap = getStyle("horizontalGap"); if ((((iconWidth == 0)) || ((textWidth == 0)))){ horizontalGap = 0; }; if (textWidth > 0){ labelWidth = Math.max(Math.min(((((viewWidth - iconWidth) - horizontalGap) - paddingLeft) - paddingRight), textWidth), 0); textField.width = labelWidth; } else { labelWidth = 0; textField.width = labelWidth; }; labelHeight = Math.min(viewHeight, textHeight); textField.height = labelHeight; if (textAlign == "left"){ labelX = (labelX + paddingLeft); } else { if (textAlign == "right"){ labelX = (labelX + ((((viewWidth - labelWidth) - iconWidth) - horizontalGap) - paddingRight)); } else { labelX = (labelX + (((((((viewWidth - labelWidth) - iconWidth) - horizontalGap) - paddingLeft) - paddingRight) / 2) + paddingLeft)); }; }; if (labelPlacement == ButtonLabelPlacement.RIGHT){ labelX = (labelX + (iconWidth + horizontalGap)); iconX = (labelX - (iconWidth + horizontalGap)); } else { iconX = ((labelX + labelWidth) + horizontalGap); }; iconY = (((((viewHeight - iconHeight) - paddingTop) - paddingBottom) / 2) + paddingTop); labelY = (((((viewHeight - labelHeight) - paddingTop) - paddingBottom) / 2) + paddingTop); } else { verticalGap = getStyle("verticalGap"); if ((((iconHeight == 0)) || ((label == "")))){ verticalGap = 0; }; if (textWidth > 0){ labelWidth = Math.max(((viewWidth - paddingLeft) - paddingRight), 0); textField.width = labelWidth; labelHeight = Math.min(((((viewHeight - iconHeight) - paddingTop) - paddingBottom) - verticalGap), textHeight); textField.height = labelHeight; } else { labelWidth = 0; textField.width = labelWidth; labelHeight = 0; textField.height = labelHeight; }; labelX = paddingLeft; if (textAlign == "left"){ iconX = (iconX + paddingLeft); } else { if (textAlign == "right"){ iconX = (iconX + Math.max(((viewWidth - iconWidth) - paddingRight), paddingLeft)); } else { iconX = (iconX + (((((viewWidth - iconWidth) - paddingLeft) - paddingRight) / 2) + paddingLeft)); }; }; if (labelPlacement == ButtonLabelPlacement.TOP){ labelY = (labelY + (((((((viewHeight - labelHeight) - iconHeight) - paddingTop) - paddingBottom) - verticalGap) / 2) + paddingTop)); iconY = (iconY + ((labelY + labelHeight) + verticalGap)); } else { iconY = (iconY + (((((((viewHeight - labelHeight) - iconHeight) - paddingTop) - paddingBottom) - verticalGap) / 2) + paddingTop)); labelY = (labelY + ((iconY + iconHeight) + verticalGap)); }; }; var buffX:Number = n; var buffY:Number = n; if (bm){ buffX = (buffX + bm.left); buffY = (buffY + bm.top); }; textField.x = Math.round((labelX + buffX)); textField.y = Math.round((labelY + buffY)); if (currentIcon){ iconX = (iconX + buffX); iconY = (iconY + buffY); moveEvent = new MoveEvent(MoveEvent.MOVE); moveEvent.oldX = currentIcon.x; moveEvent.oldY = currentIcon.y; currentIcon.x = Math.round(iconX); currentIcon.y = Math.round(iconY); currentIcon.dispatchEvent(moveEvent); }; if (currentSkin){ setChildIndex(DisplayObject(currentSkin), (numChildren - 1)); }; if (currentIcon){ setChildIndex(DisplayObject(currentIcon), (numChildren - 1)); }; if (textField){ setChildIndex(DisplayObject(textField), (numChildren - 1)); }; } protected function mouseDownHandler(event:MouseEvent):void{ if (!enabled){ return; }; systemManager.addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); buttonPressed(); event.updateAfterEvent(); } override protected function keyDownHandler(event:KeyboardEvent):void{ if (!enabled){ return; }; if (event.keyCode == Keyboard.SPACE){ buttonPressed(); }; } protected function rollOutHandler(event:MouseEvent):void{ if (phase == ButtonPhase.OVER){ phase = ButtonPhase.UP; event.updateAfterEvent(); } else { if ((((phase == ButtonPhase.DOWN)) && (!(stickyHighlighting)))){ phase = ButtonPhase.OVER; event.updateAfterEvent(); if (autoRepeatTimer){ autoRepeatTimer.stop(); }; }; }; } mx_internal function get phase():String{ return (_phase); } override public function set enabled(value:Boolean):void{ if (super.enabled == value){ return; }; super.enabled = value; enabledChanged = true; invalidateProperties(); invalidateDisplayList(); } override protected function measure():void{ var lineMetrics:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ previousVersion_measure(); return; }; super.measure(); var textWidth:Number = 0; var textHeight:Number = 0; if (label){ lineMetrics = measureText(label); textWidth = (lineMetrics.width + TEXT_WIDTH_PADDING); textHeight = (lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING); }; var tempCurrentIcon:IFlexDisplayObject = getCurrentIcon(); var iconWidth:Number = (tempCurrentIcon) ? tempCurrentIcon.width : 0; var iconHeight:Number = (tempCurrentIcon) ? tempCurrentIcon.height : 0; var w:Number = 0; var h:Number = 0; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ w = (textWidth + iconWidth); if (((textWidth) && (iconWidth))){ w = (w + getStyle("horizontalGap")); }; h = Math.max(textHeight, iconHeight); } else { w = Math.max(textWidth, iconWidth); h = (textHeight + iconHeight); if (((textHeight) && (iconHeight))){ h = (h + getStyle("verticalGap")); }; }; if (((textWidth) || (iconWidth))){ w = (w + (getStyle("paddingLeft") + getStyle("paddingRight"))); h = (h + (getStyle("paddingTop") + getStyle("paddingBottom"))); }; var bm:EdgeMetrics = (((((currentSkin) && ((currentSkin is IBorder)))) && (!((currentSkin is IFlexAsset))))) ? IBorder(currentSkin).borderMetrics : null; if (bm){ w = (w + (bm.left + bm.right)); h = (h + (bm.top + bm.bottom)); }; if (((currentSkin) && (((isNaN(skinMeasuredWidth)) || (isNaN(skinMeasuredHeight)))))){ skinMeasuredWidth = currentSkin.measuredWidth; skinMeasuredHeight = currentSkin.measuredHeight; }; if (!isNaN(skinMeasuredWidth)){ w = Math.max(skinMeasuredWidth, w); }; if (!isNaN(skinMeasuredHeight)){ h = Math.max(skinMeasuredHeight, h); }; measuredMinWidth = (measuredWidth = w); measuredMinHeight = (measuredHeight = h); } public function get toggle():Boolean{ return (_toggle); } mx_internal function buttonReleased():void{ systemManager.removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); if (autoRepeatTimer){ autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerHandler); autoRepeatTimer.reset(); }; } mx_internal function buttonPressed():void{ phase = ButtonPhase.DOWN; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); if (autoRepeat){ autoRepeatTimer.delay = getStyle("repeatDelay"); autoRepeatTimer.addEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.start(); }; } override protected function keyUpHandler(event:KeyboardEvent):void{ if (!enabled){ return; }; if (event.keyCode == Keyboard.SPACE){ buttonReleased(); if (phase == ButtonPhase.DOWN){ dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; phase = ButtonPhase.UP; }; } public function get selected():Boolean{ return (_selected); } public function set labelPlacement(value:String):void{ _labelPlacement = value; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("labelPlacementChanged")); } protected function clickHandler(event:MouseEvent):void{ if (!enabled){ event.stopImmediatePropagation(); return; }; if (toggle){ setSelected(!(selected)); event.updateAfterEvent(); }; } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } public function set toggle(value:Boolean):void{ _toggle = value; toggleChanged = true; invalidateProperties(); invalidateDisplayList(); dispatchEvent(new Event("toggleChanged")); } override public function get baselinePosition():Number{ var t:String; var lineMetrics:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ t = label; if (!t){ t = "Wj"; }; validateNow(); if (((!(label)) && ((((labelPlacement == ButtonLabelPlacement.TOP)) || ((labelPlacement == ButtonLabelPlacement.BOTTOM)))))){ lineMetrics = measureText(t); return ((((measuredHeight - lineMetrics.height) / 2) + lineMetrics.ascent)); }; return ((textField.y + measureText(t).ascent)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textField.y + textField.baselinePosition)); } public function get data():Object{ return (_data); } public function set fontContext(moduleFactory:IFlexModuleFactory):void{ this.moduleFactory = moduleFactory; } mx_internal function viewSkin():void{ var tempSkinName:String; var stateName:String; if (!enabled){ tempSkinName = (selected) ? selectedDisabledSkinName : disabledSkinName; stateName = (selected) ? "selectedDisabled" : "disabled"; } else { if (phase == ButtonPhase.UP){ tempSkinName = (selected) ? selectedUpSkinName : upSkinName; stateName = (selected) ? "selectedUp" : "up"; } else { if (phase == ButtonPhase.OVER){ tempSkinName = (selected) ? selectedOverSkinName : overSkinName; stateName = (selected) ? "selectedOver" : "over"; } else { if (phase == ButtonPhase.DOWN){ tempSkinName = (selected) ? selectedDownSkinName : downSkinName; stateName = (selected) ? "selectedDown" : "down"; }; }; }; }; viewSkinForPhase(tempSkinName, stateName); } override public function styleChanged(styleProp:String):void{ styleChangedFlag = true; super.styleChanged(styleProp); if (((!(styleProp)) || ((styleProp == "styleName")))){ changeSkins(); changeIcons(); if (initialized){ viewSkin(); viewIcon(); }; } else { if (styleProp.toLowerCase().indexOf("skin") != -1){ changeSkins(); } else { if (styleProp.toLowerCase().indexOf("icon") != -1){ changeIcons(); invalidateSize(); }; }; }; } public function set emphasized(value:Boolean):void{ _emphasized = value; emphasizedChanged = true; invalidateDisplayList(); } mx_internal function viewIcon():void{ var tempIconName:String = getCurrentIconName(); viewIconForPhase(tempIconName); } override public function set toolTip(value:String):void{ super.toolTip = value; if (value){ toolTipSet = true; } else { toolTipSet = false; invalidateDisplayList(); }; } override protected function commitProperties():void{ super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ removeChild(DisplayObject(textField)); textField = null; }; if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; addChild(DisplayObject(textField)); enabledChanged = true; toggleChanged = true; }; if (!initialized){ viewSkin(); viewIcon(); }; if (enabledChanged){ textField.enabled = enabled; if (((currentIcon) && ((currentIcon is IUIComponent)))){ IUIComponent(currentIcon).enabled = enabled; }; enabledChanged = false; }; if (toggleChanged){ if (!toggle){ selected = false; }; toggleChanged = false; }; } mx_internal function changeSkins():void{ var n:int = skins.length; var i:int; while (i < n) { removeChild(skins[i]); i++; }; skins = []; skinMeasuredWidth = NaN; skinMeasuredHeight = NaN; checkedDefaultSkin = false; defaultSkinUsesStates = false; if (((initialized) && ((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)))){ viewSkin(); invalidateSize(); }; } private function autoRepeatTimer_timerHandler(event:Event):void{ if (!enabled){ return; }; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); } private function previousVersion_layoutContents(unscaledWidth:Number, unscaledHeight:Number, offset:Boolean):void{ var lineMetrics:TextLineMetrics; var disp:Number; var moveEvent:MoveEvent; var labelWidth:Number = 0; var labelHeight:Number = 0; var labelX:Number = 0; var labelY:Number = 0; var iconWidth:Number = 0; var iconHeight:Number = 0; var iconX:Number = 0; var iconY:Number = 0; var horizontalGap:Number = 2; var verticalGap:Number = 2; var paddingLeft:Number = getStyle("paddingLeft"); var paddingRight:Number = getStyle("paddingRight"); var paddingTop:Number = getStyle("paddingTop"); var paddingBottom:Number = getStyle("paddingBottom"); var textWidth:Number = 0; var textHeight:Number = 0; if (label){ lineMetrics = measureText(label); if (lineMetrics.width > 0){ textWidth = (((paddingLeft + paddingRight) + getStyle("textIndent")) + lineMetrics.width); }; textHeight = lineMetrics.height; } else { lineMetrics = measureText("Wj"); textHeight = lineMetrics.height; }; var n:Number = (offset) ? buttonOffset : 0; var textAlign:String = getStyle("textAlign"); var bm:EdgeMetrics = (((currentSkin) && ((currentSkin is IRectangularBorder)))) ? IRectangularBorder(currentSkin).borderMetrics : null; var viewWidth:Number = unscaledWidth; var viewHeight:Number = ((unscaledHeight - paddingTop) - paddingBottom); if (bm){ viewWidth = (viewWidth - (bm.left + bm.right)); viewHeight = (viewHeight - (bm.top + bm.bottom)); }; if (currentIcon){ iconWidth = currentIcon.width; iconHeight = currentIcon.height; }; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ horizontalGap = getStyle("horizontalGap"); if ((((iconWidth == 0)) || ((textWidth == 0)))){ horizontalGap = 0; }; if (textWidth > 0){ labelWidth = Math.max(((((viewWidth - iconWidth) - horizontalGap) - paddingLeft) - paddingRight), 0); textField.width = labelWidth; } else { labelWidth = 0; textField.width = labelWidth; }; labelHeight = Math.min((viewHeight + 2), (textHeight + UITextField.TEXT_HEIGHT_PADDING)); textField.height = labelHeight; if (labelPlacement == ButtonLabelPlacement.RIGHT){ labelX = (iconWidth + horizontalGap); if (centerContent){ if (textAlign == "left"){ labelX = (labelX + paddingLeft); } else { if (textAlign == "right"){ labelX = (labelX + ((((viewWidth - labelWidth) - iconWidth) - horizontalGap) - paddingLeft)); } else { disp = ((((viewWidth - labelWidth) - iconWidth) - horizontalGap) / 2); labelX = (labelX + Math.max(disp, paddingLeft)); }; }; }; iconX = (labelX - (iconWidth + horizontalGap)); if (!centerContent){ labelX = (labelX + paddingLeft); }; } else { labelX = ((((viewWidth - labelWidth) - iconWidth) - horizontalGap) - paddingRight); if (centerContent){ if (textAlign == "left"){ labelX = 2; } else { if (textAlign == "right"){ labelX--; } else { if (labelX > 0){ labelX = (labelX / 2); }; }; }; }; iconX = ((labelX + labelWidth) + horizontalGap); }; labelY = 0; iconY = labelY; if (centerContent){ iconY = (Math.round(((viewHeight - iconHeight) / 2)) + paddingTop); labelY = (Math.round(((viewHeight - labelHeight) / 2)) + paddingTop); } else { labelY = (labelY + (Math.max(0, ((viewHeight - labelHeight) / 2)) + paddingTop)); iconY = (iconY + (Math.max(0, (((viewHeight - iconHeight) / 2) - 1)) + paddingTop)); }; } else { verticalGap = getStyle("verticalGap"); if ((((iconHeight == 0)) || ((textHeight == 0)))){ verticalGap = 0; }; if (textWidth > 0){ labelWidth = Math.min(viewWidth, (textWidth + UITextField.TEXT_WIDTH_PADDING)); textField.width = labelWidth; labelHeight = Math.min(((viewHeight - iconHeight) + 1), (textHeight + 5)); textField.height = labelHeight; } else { labelWidth = 0; textField.width = labelWidth; labelHeight = 0; textField.height = labelHeight; }; labelX = ((viewWidth - labelWidth) / 2); iconX = ((viewWidth - iconWidth) / 2); if (labelPlacement == ButtonLabelPlacement.TOP){ labelY = (((viewHeight - labelHeight) - iconHeight) - verticalGap); if (((centerContent) && ((labelY > 0)))){ labelY = (labelY / 2); }; labelY = (labelY + paddingTop); iconY = (((labelY + labelHeight) + verticalGap) - 3); } else { labelY = ((iconHeight + verticalGap) + paddingTop); if (centerContent){ labelY = (labelY + (((((viewHeight - labelHeight) - iconHeight) - verticalGap) / 2) + 1)); }; iconY = (((labelY - iconHeight) - verticalGap) + 3); }; }; var buffX:Number = n; var buffY:Number = n; if (bm){ buffX = (buffX + bm.left); buffY = (buffY + bm.top); }; textField.x = (labelX + buffX); textField.y = (labelY + buffY); if (currentIcon){ iconX = (iconX + buffX); iconY = (iconY + buffY); moveEvent = new MoveEvent(MoveEvent.MOVE); moveEvent.oldX = currentIcon.x; moveEvent.oldY = currentIcon.y; currentIcon.x = Math.round(iconX); currentIcon.y = Math.round(iconY); currentIcon.dispatchEvent(moveEvent); }; if (currentSkin){ setChildIndex(DisplayObject(currentSkin), (numChildren - 1)); }; if (currentIcon){ setChildIndex(DisplayObject(currentIcon), (numChildren - 1)); }; if (textField){ setChildIndex(DisplayObject(textField), (numChildren - 1)); }; } private function systemManager_mouseUpHandler(event:MouseEvent):void{ if (contains(DisplayObject(event.target))){ return; }; phase = ButtonPhase.UP; buttonReleased(); event.updateAfterEvent(); } public function set label(value:String):void{ labelSet = true; if (_label != value){ _label = value; labelChanged = true; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("labelChanged")); }; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var skin:IFlexDisplayObject; var truncated:Boolean; super.updateDisplayList(unscaledWidth, unscaledHeight); if (emphasizedChanged){ changeSkins(); emphasizedChanged = false; }; var n:int = skins.length; var i:int; while (i < n) { skin = IFlexDisplayObject(skins[i]); skin.setActualSize(unscaledWidth, unscaledHeight); i++; }; viewSkin(); viewIcon(); layoutContents(unscaledWidth, unscaledHeight, (phase == ButtonPhase.DOWN)); if ((((((((oldUnscaledWidth > unscaledWidth)) || (!((textField.text == label))))) || (labelChanged))) || (styleChangedFlag))){ textField.text = label; truncated = textField.truncateToFit(); if (!toolTipSet){ if (truncated){ super.toolTip = label; } else { super.toolTip = null; }; }; styleChangedFlag = false; labelChanged = false; }; oldUnscaledWidth = unscaledWidth; } private function stage_mouseLeaveHandler(event:Event):void{ phase = ButtonPhase.UP; buttonReleased(); } public function set listData(value:BaseListData):void{ _listData = value; } } }//package mx.controls
Section 217
//ButtonLabelPlacement (mx.controls.ButtonLabelPlacement) package mx.controls { import mx.core.*; public final class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; mx_internal static const VERSION:String = "3.0.0.0"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; public function ButtonLabelPlacement(){ super(); } } }//package mx.controls
Section 218
//ButtonPhase (mx.controls.ButtonPhase) package mx.controls { import mx.core.*; public final class ButtonPhase { public static const DOWN:String = "down"; public static const OVER:String = "over"; mx_internal static const VERSION:String = "3.0.0.0"; public static const UP:String = "up"; public function ButtonPhase(){ super(); } } }//package mx.controls
Section 219
//HScrollBar (mx.controls.HScrollBar) package mx.controls { import mx.core.*; import mx.controls.scrollClasses.*; import flash.ui.*; public class HScrollBar extends ScrollBar { mx_internal static const VERSION:String = "3.0.0.0"; public function HScrollBar(){ super(); super.direction = ScrollBarDirection.HORIZONTAL; scaleX = -1; rotation = -90; } override mx_internal function get virtualHeight():Number{ return (unscaledWidth); } override protected function measure():void{ super.measure(); measuredWidth = _minHeight; measuredHeight = _minWidth; } override public function get minHeight():Number{ return (_minWidth); } override mx_internal function get virtualWidth():Number{ return (unscaledHeight); } override public function get minWidth():Number{ return (_minHeight); } override mx_internal function isScrollBarKey(key:uint):Boolean{ if (key == Keyboard.LEFT){ lineScroll(-1); return (true); }; if (key == Keyboard.RIGHT){ lineScroll(1); return (true); }; return (super.isScrollBarKey(key)); } override public function set direction(value:String):void{ } } }//package mx.controls
Section 220
//IFlexContextMenu (mx.controls.IFlexContextMenu) package mx.controls { import flash.display.*; public interface IFlexContextMenu { function setContextMenu(:InteractiveObject):void; function unsetContextMenu(:InteractiveObject):void; } }//package mx.controls
Section 221
//ToolTip (mx.controls.ToolTip) package mx.controls { import flash.display.*; import mx.core.*; import flash.text.*; import mx.styles.*; public class ToolTip extends UIComponent implements IToolTip, IFontContextComponent { private var textChanged:Boolean; private var _text:String; protected var textField:IUITextField; mx_internal var border:IFlexDisplayObject; mx_internal static const VERSION:String = "3.0.0.0"; public static var maxWidth:Number = 300; public function ToolTip(){ super(); mouseEnabled = false; } public function set fontContext(moduleFactory:IFlexModuleFactory):void{ this.moduleFactory = moduleFactory; } override public function styleChanged(styleProp:String):void{ super.styleChanged(styleProp); if ((((((styleProp == "borderStyle")) || ((styleProp == "styleName")))) || ((styleProp == null)))){ invalidateDisplayList(); }; } override protected function commitProperties():void{ var index:int; var textFormat:TextFormat; super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ index = getChildIndex(DisplayObject(textField)); removeTextField(); createTextField(index); invalidateSize(); textChanged = true; }; if (textChanged){ textFormat = textField.getTextFormat(); textFormat.leftMargin = 0; textFormat.rightMargin = 0; textField.defaultTextFormat = textFormat; textField.text = _text; textChanged = false; }; } mx_internal function getTextField():IUITextField{ return (textField); } override protected function createChildren():void{ var borderClass:Class; super.createChildren(); if (!border){ borderClass = getStyle("borderSkin"); border = new (borderClass); if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; addChild(DisplayObject(border)); }; createTextField(-1); } override protected function measure():void{ var heightSlop:Number; super.measure(); var bm:EdgeMetrics = borderMetrics; var leftInset:Number = (bm.left + getStyle("paddingLeft")); var topInset:Number = (bm.top + getStyle("paddingTop")); var rightInset:Number = (bm.right + getStyle("paddingRight")); var bottomInset:Number = (bm.bottom + getStyle("paddingBottom")); var widthSlop:Number = (leftInset + rightInset); heightSlop = (topInset + bottomInset); textField.wordWrap = false; if ((textField.textWidth + widthSlop) > ToolTip.maxWidth){ textField.width = (ToolTip.maxWidth - widthSlop); textField.wordWrap = true; }; measuredWidth = (textField.width + widthSlop); measuredHeight = (textField.height + heightSlop); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function set text(value:String):void{ _text = value; textChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); } public function get text():String{ return (_text); } mx_internal function removeTextField():void{ if (textField){ removeChild(DisplayObject(textField)); textField = null; }; } mx_internal function createTextField(childIndex:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.autoSize = TextFieldAutoSize.LEFT; textField.mouseEnabled = false; textField.multiline = true; textField.selectable = false; textField.wordWrap = false; textField.styleName = this; if (childIndex == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), childIndex); }; }; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); var bm:EdgeMetrics = borderMetrics; var leftInset:Number = (bm.left + getStyle("paddingLeft")); var topInset:Number = (bm.top + getStyle("paddingTop")); var rightInset:Number = (bm.right + getStyle("paddingRight")); var bottomInset:Number = (bm.bottom + getStyle("paddingBottom")); var widthSlop:Number = (leftInset + rightInset); var heightSlop:Number = (topInset + bottomInset); border.setActualSize(unscaledWidth, unscaledHeight); textField.move(leftInset, topInset); textField.setActualSize((unscaledWidth - widthSlop), (unscaledHeight - heightSlop)); } private function get borderMetrics():EdgeMetrics{ if ((border is IRectangularBorder)){ return (IRectangularBorder(border).borderMetrics); }; return (EdgeMetrics.EMPTY); } } }//package mx.controls
Section 222
//VScrollBar (mx.controls.VScrollBar) package mx.controls { import mx.core.*; import mx.controls.scrollClasses.*; import flash.ui.*; public class VScrollBar extends ScrollBar { mx_internal static const VERSION:String = "3.0.0.0"; public function VScrollBar(){ super(); super.direction = ScrollBarDirection.VERTICAL; } override protected function measure():void{ super.measure(); measuredWidth = _minWidth; measuredHeight = _minHeight; } override public function get minHeight():Number{ return (_minHeight); } override mx_internal function isScrollBarKey(key:uint):Boolean{ if (key == Keyboard.UP){ lineScroll(-1); return (true); }; if (key == Keyboard.DOWN){ lineScroll(1); return (true); }; if (key == Keyboard.PAGE_UP){ pageScroll(-1); return (true); }; if (key == Keyboard.PAGE_DOWN){ pageScroll(1); return (true); }; return (super.isScrollBarKey(key)); } override public function get minWidth():Number{ return (_minWidth); } override public function set direction(value:String):void{ } } }//package mx.controls
Section 223
//Application (mx.core.Application) package mx.core { import flash.display.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import flash.system.*; import flash.net.*; import mx.effects.*; import flash.utils.*; import mx.containers.utilityClasses.*; import flash.ui.*; import flash.external.*; public class Application extends LayoutContainer { public var preloader:Object; public var pageTitle:String; private var resizeWidth:Boolean;// = true private var _applicationViewMetrics:EdgeMetrics; mx_internal var _parameters:Object; private var processingCreationQueue:Boolean;// = false public var scriptRecursionLimit:int; private var resizeHandlerAdded:Boolean;// = false private var preloadObj:Object; public var usePreloader:Boolean; mx_internal var _url:String; private var _viewSourceURL:String; public var resetHistory:Boolean;// = true public var historyManagementEnabled:Boolean;// = true public var scriptTimeLimit:Number; public var frameRate:Number; private var creationQueue:Array; private var resizeHeight:Boolean;// = true public var controlBar:IUIComponent; private var viewSourceCMI:ContextMenuItem; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var useProgressiveLayout:Boolean = false; public function Application(){ creationQueue = []; name = "application"; UIComponentGlobals.layoutManager = ILayoutManager(Singleton.getInstance("mx.managers::ILayoutManager")); UIComponentGlobals.layoutManager.usePhasedInstantiation = true; if (!ApplicationGlobals.application){ ApplicationGlobals.application = this; }; super(); layoutObject = new ApplicationLayout(); layoutObject.target = this; boxLayoutClass = ApplicationLayout; showInAutomationHierarchy = true; } public function set viewSourceURL(value:String):void{ _viewSourceURL = value; } override public function set percentWidth(value:Number):void{ super.percentWidth = value; invalidateDisplayList(); } override public function prepareToPrint(target:IFlexDisplayObject):Object{ var objData:Object = {}; if (target == this){ objData.width = width; objData.height = height; objData.verticalScrollPosition = verticalScrollPosition; objData.horizontalScrollPosition = horizontalScrollPosition; objData.horizontalScrollBarVisible = !((horizontalScrollBar == null)); objData.verticalScrollBarVisible = !((verticalScrollBar == null)); objData.whiteBoxVisible = !((whiteBox == null)); setActualSize(measuredWidth, measuredHeight); horizontalScrollPosition = 0; verticalScrollPosition = 0; if (horizontalScrollBar){ horizontalScrollBar.visible = false; }; if (verticalScrollBar){ verticalScrollBar.visible = false; }; if (whiteBox){ whiteBox.visible = false; }; updateDisplayList(unscaledWidth, unscaledHeight); }; objData.scrollRect = super.prepareToPrint(target); return (objData); } override protected function measure():void{ var controlWidth:Number; super.measure(); var bm:EdgeMetrics = borderMetrics; if (((controlBar) && (controlBar.includeInLayout))){ controlWidth = ((controlBar.getExplicitOrMeasuredWidth() + bm.left) + bm.right); measuredWidth = Math.max(measuredWidth, controlWidth); measuredMinWidth = Math.max(measuredMinWidth, controlWidth); }; } override public function getChildIndex(child:DisplayObject):int{ if (((controlBar) && ((child == controlBar)))){ return (-1); }; return (super.getChildIndex(child)); } private function resizeHandler(event:Event):void{ var w:Number; var h:Number; if (resizeWidth){ if (isNaN(percentWidth)){ w = DisplayObject(systemManager).width; } else { super.percentWidth = Math.max(percentWidth, 0); super.percentWidth = Math.min(percentWidth, 100); w = ((percentWidth * screen.width) / 100); }; if (!isNaN(explicitMaxWidth)){ w = Math.min(w, explicitMaxWidth); }; if (!isNaN(explicitMinWidth)){ w = Math.max(w, explicitMinWidth); }; } else { w = width; }; if (resizeHeight){ if (isNaN(percentHeight)){ h = DisplayObject(systemManager).height; } else { super.percentHeight = Math.max(percentHeight, 0); super.percentHeight = Math.min(percentHeight, 100); h = ((percentHeight * screen.height) / 100); }; if (!isNaN(explicitMaxHeight)){ h = Math.min(h, explicitMaxHeight); }; if (!isNaN(explicitMinHeight)){ h = Math.max(h, explicitMinHeight); }; } else { h = height; }; if (((!((w == width))) || (!((h == height))))){ invalidateProperties(); invalidateSize(); }; setActualSize(w, h); invalidateDisplayList(); } private function initManagers(sm:ISystemManager):void{ if (sm.isTopLevel()){ focusManager = new FocusManager(this); sm.activate(this); }; } override public function initialize():void{ var properties:Object; var sm:ISystemManager = systemManager; _url = sm.loaderInfo.url; _parameters = sm.loaderInfo.parameters; initManagers(sm); _descriptor = null; if (documentDescriptor){ creationPolicy = documentDescriptor.properties.creationPolicy; if ((((creationPolicy == null)) || ((creationPolicy.length == 0)))){ creationPolicy = ContainerCreationPolicy.AUTO; }; properties = documentDescriptor.properties; if (properties.width != null){ width = properties.width; delete properties.width; }; if (properties.height != null){ height = properties.height; delete properties.height; }; documentDescriptor.events = null; }; initContextMenu(); super.initialize(); addEventListener(Event.ADDED, addedHandler); if (((sm.isTopLevel()) && ((Capabilities.isDebugger == true)))){ setInterval(debugTickler, 1500); }; } override public function set percentHeight(value:Number):void{ super.percentHeight = value; invalidateDisplayList(); } override public function get id():String{ if (((((!(super.id)) && ((this == Application.application)))) && (ExternalInterface.available))){ return (ExternalInterface.objectID); }; return (super.id); } override mx_internal function setUnscaledWidth(value:Number):void{ invalidateProperties(); super.setUnscaledWidth(value); } private function debugTickler():void{ var i:int; } private function doNextQueueItem(event:FlexEvent=null):void{ processingCreationQueue = true; Application.useProgressiveLayout = true; callLater(processNextQueueItem); } private function initContextMenu():void{ var caption:String; if (flexContextMenu != null){ if ((systemManager is InteractiveObject)){ InteractiveObject(systemManager).contextMenu = contextMenu; }; return; }; var defaultMenu:ContextMenu = new ContextMenu(); defaultMenu.hideBuiltInItems(); defaultMenu.builtInItems.print = true; if (_viewSourceURL){ caption = resourceManager.getString("core", "viewSource"); viewSourceCMI = new ContextMenuItem(caption, true); viewSourceCMI.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); defaultMenu.customItems.push(viewSourceCMI); }; contextMenu = defaultMenu; if ((systemManager is InteractiveObject)){ InteractiveObject(systemManager).contextMenu = defaultMenu; }; } private function addedHandler(event:Event):void{ if ((((event.target == this)) && ((creationQueue.length > 0)))){ doNextQueueItem(); }; } public function get viewSourceURL():String{ return (_viewSourceURL); } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override mx_internal function setUnscaledHeight(value:Number):void{ invalidateProperties(); super.setUnscaledHeight(value); } mx_internal function dockControlBar(controlBar:IUIComponent, dock:Boolean):void{ var controlBar = controlBar; var dock = dock; if (dock){ removeChild(DisplayObject(controlBar)); //unresolved jump var _slot1 = e; return; rawChildren.addChildAt(DisplayObject(controlBar), firstChildIndex); setControlBar(controlBar); } else { rawChildren.removeChild(DisplayObject(controlBar)); //unresolved jump var _slot1 = e; return; setControlBar(null); addChildAt(DisplayObject(controlBar), 0); }; } override public function styleChanged(styleProp:String):void{ super.styleChanged(styleProp); if ((((styleProp == "backgroundColor")) && ((getStyle("backgroundImage") == getStyle("defaultBackgroundImage"))))){ clearStyle("backgroundImage"); }; } override protected function layoutChrome(unscaledWidth:Number, unscaledHeight:Number):void{ super.layoutChrome(unscaledWidth, unscaledHeight); if (!doingLayout){ createBorder(); }; var bm:EdgeMetrics = borderMetrics; var thickness:Number = getStyle("borderThickness"); var em:EdgeMetrics = new EdgeMetrics(); em.left = (bm.left - thickness); em.top = (bm.top - thickness); em.right = (bm.right - thickness); em.bottom = (bm.bottom - thickness); if (((controlBar) && (controlBar.includeInLayout))){ if ((controlBar is IInvalidating)){ IInvalidating(controlBar).invalidateDisplayList(); }; controlBar.setActualSize((width - (em.left + em.right)), controlBar.getExplicitOrMeasuredHeight()); controlBar.move(em.left, em.top); }; } protected function menuItemSelectHandler(event:Event):void{ navigateToURL(new URLRequest(_viewSourceURL), "_blank"); } private function printCreationQueue():void{ var child:Object; var msg:String = ""; var n:Number = creationQueue.length; var i:int; while (i < n) { child = creationQueue[i]; msg = (msg + (((((" [" + i) + "] ") + child.id) + " ") + child.index)); i++; }; } override protected function resourcesChanged():void{ super.resourcesChanged(); if (viewSourceCMI){ viewSourceCMI.caption = resourceManager.getString("core", "viewSource"); }; } override protected function commitProperties():void{ super.commitProperties(); resizeWidth = isNaN(explicitWidth); resizeHeight = isNaN(explicitHeight); if (((resizeWidth) || (resizeHeight))){ resizeHandler(new Event(Event.RESIZE)); if (!resizeHandlerAdded){ systemManager.addEventListener(Event.RESIZE, resizeHandler, false, 0, true); resizeHandlerAdded = true; }; } else { if (resizeHandlerAdded){ systemManager.removeEventListener(Event.RESIZE, resizeHandler); resizeHandlerAdded = false; }; }; } override public function set toolTip(value:String):void{ } public function addToCreationQueue(id:Object, preferredIndex:int=-1, callbackFunc:Function=null, parent:IFlexDisplayObject=null):void{ var insertIndex:int; var pointerIndex:int; var pointerLevel:int; var parentLevel:int; var queueLength:int = creationQueue.length; var queueObj:Object = {}; var insertedItem:Boolean; queueObj.id = id; queueObj.parent = parent; queueObj.callbackFunc = callbackFunc; queueObj.index = preferredIndex; var i:int; while (i < queueLength) { pointerIndex = creationQueue[i].index; pointerLevel = (creationQueue[i].parent) ? creationQueue[i].parent.nestLevel : 0; if (queueObj.index != -1){ if ((((pointerIndex == -1)) || ((queueObj.index < pointerIndex)))){ insertIndex = i; insertedItem = true; break; }; } else { parentLevel = (queueObj.parent) ? queueObj.parent.nestLevel : 0; if ((((pointerIndex == -1)) && ((pointerLevel < parentLevel)))){ insertIndex = i; insertedItem = true; break; }; }; i++; }; if (!insertedItem){ creationQueue.push(queueObj); insertedItem = true; } else { creationQueue.splice(insertIndex, 0, queueObj); }; if (((initialized) && (!(processingCreationQueue)))){ doNextQueueItem(); }; } override mx_internal function initThemeColor():Boolean{ var tc:Object; var rc:Number; var sc:Number; var globalSelector:CSSStyleDeclaration; var result:Boolean = super.initThemeColor(); if (!result){ globalSelector = StyleManager.getStyleDeclaration("global"); if (globalSelector){ tc = globalSelector.getStyle("themeColor"); rc = globalSelector.getStyle("rollOverColor"); sc = globalSelector.getStyle("selectionColor"); }; if (((((tc) && (isNaN(rc)))) && (isNaN(sc)))){ setThemeColor(tc); }; result = true; }; return (result); } override public function finishPrint(obj:Object, target:IFlexDisplayObject):void{ if (target == this){ setActualSize(obj.width, obj.height); if (horizontalScrollBar){ horizontalScrollBar.visible = obj.horizontalScrollBarVisible; }; if (verticalScrollBar){ verticalScrollBar.visible = obj.verticalScrollBarVisible; }; if (whiteBox){ whiteBox.visible = obj.whiteBoxVisible; }; horizontalScrollPosition = obj.horizontalScrollPosition; verticalScrollPosition = obj.verticalScrollPosition; updateDisplayList(unscaledWidth, unscaledHeight); }; super.finishPrint(obj.scrollRect, target); } private function processNextQueueItem():void{ var queueItem:Object; var nextChild:IUIComponent; if (EffectManager.effectsPlaying.length > 0){ callLater(processNextQueueItem); } else { if (creationQueue.length > 0){ queueItem = creationQueue.shift(); nextChild = ((queueItem.id is String)) ? document[queueItem.id] : queueItem.id; if ((nextChild is Container)){ Container(nextChild).createComponentsFromDescriptors(true); }; if ((((nextChild is Container)) && ((Container(nextChild).creationPolicy == ContainerCreationPolicy.QUEUED)))){ doNextQueueItem(); } else { nextChild.addEventListener("childrenCreationComplete", doNextQueueItem); }; //unresolved jump var _slot1 = e; processNextQueueItem(); } else { processingCreationQueue = false; Application.useProgressiveLayout = false; }; }; } override public function set label(value:String):void{ } public function get parameters():Object{ return (_parameters); } override public function get viewMetrics():EdgeMetrics{ if (!_applicationViewMetrics){ _applicationViewMetrics = new EdgeMetrics(); }; var vm:EdgeMetrics = _applicationViewMetrics; var o:EdgeMetrics = super.viewMetrics; var thickness:Number = getStyle("borderThickness"); vm.left = o.left; vm.top = o.top; vm.right = o.right; vm.bottom = o.bottom; if (((controlBar) && (controlBar.includeInLayout))){ vm.top = (vm.top - thickness); vm.top = (vm.top + Math.max(controlBar.getExplicitOrMeasuredHeight(), thickness)); }; return (vm); } public function get url():String{ return (_url); } override public function set icon(value:Class):void{ } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); createBorder(); } private function setControlBar(newControlBar:IUIComponent):void{ if (newControlBar == controlBar){ return; }; if (((controlBar) && ((controlBar is IStyleClient)))){ IStyleClient(controlBar).clearStyle("cornerRadius"); IStyleClient(controlBar).clearStyle("docked"); }; controlBar = newControlBar; if (((controlBar) && ((controlBar is IStyleClient)))){ IStyleClient(controlBar).setStyle("cornerRadius", 0); IStyleClient(controlBar).setStyle("docked", true); }; invalidateSize(); invalidateDisplayList(); invalidateViewMetricsAndPadding(); } override public function set tabIndex(value:int):void{ } public static function get application():Object{ return (ApplicationGlobals.application); } } }//package mx.core
Section 224
//ApplicationGlobals (mx.core.ApplicationGlobals) package mx.core { public class ApplicationGlobals { public static var application:Object; public function ApplicationGlobals(){ super(); } } }//package mx.core
Section 225
//ComponentDescriptor (mx.core.ComponentDescriptor) package mx.core { public class ComponentDescriptor { public var events:Object; public var type:Class; public var document:Object; private var _properties:Object; public var propertiesFactory:Function; public var id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ComponentDescriptor(descriptorProperties:Object){ var p:String; super(); for (p in descriptorProperties) { this[p] = descriptorProperties[p]; }; } public function toString():String{ return (("ComponentDescriptor_" + id)); } public function invalidateProperties():void{ _properties = null; } public function get properties():Object{ var cd:Array; var n:int; var i:int; if (_properties){ return (_properties); }; if (propertiesFactory != null){ _properties = propertiesFactory.call(document); }; if (_properties){ cd = _properties.childDescriptors; if (cd){ n = cd.length; i = 0; while (i < n) { cd[i].document = document; i++; }; }; } else { _properties = {}; }; return (_properties); } } }//package mx.core
Section 226
//Container (mx.core.Container) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.text.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.graphics.*; import mx.controls.*; import mx.controls.scrollClasses.*; import mx.binding.*; import mx.controls.listClasses.*; import flash.utils.*; import flash.ui.*; public class Container extends UIComponent implements IContainer, IDataRenderer, IFocusManagerContainer, IListItemRenderer, IRawChildrenContainer { private var forceLayout:Boolean;// = false private var _numChildrenCreated:int;// = -1 private var _horizontalLineScrollSize:Number;// = 5 mx_internal var border:IFlexDisplayObject; protected var actualCreationPolicy:String; private var _viewMetricsAndPadding:EdgeMetrics; private var _creatingContentPane:Boolean;// = false private var _childRepeaters:Array; private var scrollableWidth:Number;// = 0 private var _childDescriptors:Array; private var _rawChildren:ContainerRawChildrenList; private var _data:Object; private var _verticalPageScrollSize:Number;// = 0 private var _viewMetrics:EdgeMetrics; private var _verticalScrollBar:ScrollBar; private var scrollPropertiesChanged:Boolean;// = false private var changedStyles:String;// = null private var scrollPositionChanged:Boolean;// = true private var _defaultButton:IFlexDisplayObject; private var mouseEventReferenceCount:int;// = 0 private var _focusPane:Sprite; protected var whiteBox:Shape; private var _forceClippingCount:int; private var _horizontalPageScrollSize:Number;// = 0 private var _creationPolicy:String; private var _creationIndex:int;// = -1 private var _clipContent:Boolean;// = true private var _verticalScrollPosition:Number;// = 0 private var _autoLayout:Boolean;// = true private var _icon:Class;// = null mx_internal var doingLayout:Boolean;// = false private var _horizontalScrollBar:ScrollBar; private var numChildrenBefore:int; private var viewableHeight:Number;// = 0 private var viewableWidth:Number;// = 0 mx_internal var contentPane:Sprite;// = null private var _createdComponents:Array; private var _firstChildIndex:int;// = 0 private var scrollableHeight:Number;// = 0 private var _verticalLineScrollSize:Number;// = 5 private var _horizontalScrollPosition:Number;// = 0 mx_internal var _horizontalScrollPolicy:String;// = "auto" private var verticalScrollPositionPending:Number; mx_internal var _verticalScrollPolicy:String;// = "auto" private var horizontalScrollPositionPending:Number; mx_internal var _numChildren:int;// = 0 private var recursionFlag:Boolean;// = true private var _label:String;// = "" mx_internal var blocker:Sprite; mx_internal static const VERSION:String = "3.0.0.0"; private static const MULTIPLE_PROPERTIES:String = "<MULTIPLE>"; public function Container(){ super(); tabChildren = true; tabEnabled = false; showInAutomationHierarchy = false; } public function set verticalScrollPolicy(value:String):void{ if (_verticalScrollPolicy != value){ _verticalScrollPolicy = value; invalidateDisplayList(); dispatchEvent(new Event("verticalScrollPolicyChanged")); }; } private function createContentPaneAndScrollbarsIfNeeded():Boolean{ var bounds:Rectangle; var changed:Boolean; if (_clipContent){ bounds = getScrollableRect(); changed = createScrollbarsIfNeeded(bounds); if (border){ updateBackgroundImageRect(); }; return (changed); } else { changed = createOrDestroyScrollbars(false, false, false); bounds = getScrollableRect(); scrollableWidth = bounds.right; scrollableHeight = bounds.bottom; if (((changed) && (border))){ updateBackgroundImageRect(); }; }; return (changed); } override protected function initializationComplete():void{ } mx_internal function rawChildren_getObjectsUnderPoint(pt:Point):Array{ return (super.getObjectsUnderPoint(pt)); } public function set creatingContentPane(value:Boolean):void{ _creatingContentPane = value; } public function set clipContent(value:Boolean):void{ if (_clipContent != value){ _clipContent = value; invalidateDisplayList(); }; } protected function scrollChildren():void{ if (!contentPane){ return; }; var vm:EdgeMetrics = viewMetrics; var x:Number = 0; var y:Number = 0; var w:Number = ((unscaledWidth - vm.left) - vm.right); var h:Number = ((unscaledHeight - vm.top) - vm.bottom); if (_clipContent){ x = (x + _horizontalScrollPosition); if (horizontalScrollBar){ w = viewableWidth; }; y = (y + _verticalScrollPosition); if (verticalScrollBar){ h = viewableHeight; }; } else { w = scrollableWidth; h = scrollableHeight; }; var sr:Rectangle = getScrollableRect(); if ((((((((((((((x == 0)) && ((y == 0)))) && ((w >= sr.right)))) && ((h >= sr.bottom)))) && ((sr.left >= 0)))) && ((sr.top >= 0)))) && ((_forceClippingCount <= 0)))){ contentPane.scrollRect = null; contentPane.opaqueBackground = null; contentPane.cacheAsBitmap = false; } else { contentPane.scrollRect = new Rectangle(x, y, w, h); }; if (focusPane){ focusPane.scrollRect = contentPane.scrollRect; }; if (((((border) && ((border is IRectangularBorder)))) && (IRectangularBorder(border).hasBackgroundImage))){ IRectangularBorder(border).layoutBackgroundImage(); }; } override public function set doubleClickEnabled(value:Boolean):void{ var n:int; var i:int; var child:InteractiveObject; super.doubleClickEnabled = value; if (contentPane){ n = contentPane.numChildren; i = 0; while (i < n) { child = (contentPane.getChildAt(i) as InteractiveObject); if (child){ child.doubleClickEnabled = value; }; i++; }; }; } override public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{ var child:ISimpleStyleClient; var n:int = super.numChildren; var i:int; while (i < n) { if (((((contentPane) || ((i < _firstChildIndex)))) || ((i >= (_firstChildIndex + _numChildren))))){ child = (super.getChildAt(i) as ISimpleStyleClient); if (child){ child.styleChanged(styleProp); if ((child is IStyleClient)){ IStyleClient(child).notifyStyleChangeInChildren(styleProp, recursive); }; }; }; i++; }; if (recursive){ changedStyles = (((!((changedStyles == null))) || ((styleProp == null)))) ? MULTIPLE_PROPERTIES : styleProp; invalidateProperties(); }; } mx_internal function get createdComponents():Array{ return (_createdComponents); } public function get childDescriptors():Array{ return (_childDescriptors); } override public function get contentMouseY():Number{ if (contentPane){ return (contentPane.mouseY); }; return (super.contentMouseY); } mx_internal function get childRepeaters():Array{ return (_childRepeaters); } override public function contains(child:DisplayObject):Boolean{ if (contentPane){ return (contentPane.contains(child)); }; return (super.contains(child)); } override public function get contentMouseX():Number{ if (contentPane){ return (contentPane.mouseX); }; return (super.contentMouseX); } mx_internal function set createdComponents(value:Array):void{ _createdComponents = value; } public function get horizontalScrollBar():ScrollBar{ return (_horizontalScrollBar); } override public function validateSize(recursive:Boolean=false):void{ var n:int; var i:int; var child:DisplayObject; if ((((autoLayout == false)) && ((forceLayout == false)))){ if (recursive){ n = super.numChildren; i = 0; while (i < n) { child = super.getChildAt(i); if ((child is ILayoutManagerClient)){ ILayoutManagerClient(child).validateSize(true); }; i++; }; }; adjustSizesForScaleChanges(); } else { super.validateSize(recursive); }; } public function get rawChildren():IChildList{ if (!_rawChildren){ _rawChildren = new ContainerRawChildrenList(this); }; return (_rawChildren); } override public function getChildAt(index:int):DisplayObject{ if (contentPane){ return (contentPane.getChildAt(index)); }; return (super.getChildAt((_firstChildIndex + index))); } override protected function attachOverlay():void{ rawChildren_addChild(overlay); } override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void{ super.addEventListener(type, listener, useCapture, priority, useWeakReference); if ((((((((((((((((type == MouseEvent.CLICK)) || ((type == MouseEvent.DOUBLE_CLICK)))) || ((type == MouseEvent.MOUSE_DOWN)))) || ((type == MouseEvent.MOUSE_MOVE)))) || ((type == MouseEvent.MOUSE_OVER)))) || ((type == MouseEvent.MOUSE_OUT)))) || ((type == MouseEvent.MOUSE_UP)))) || ((type == MouseEvent.MOUSE_WHEEL)))){ if ((((mouseEventReferenceCount < 2147483647)) && ((mouseEventReferenceCount++ == 0)))){ setStyle("mouseShield", true); setStyle("mouseShieldChildren", true); }; }; } override public function localToContent(point:Point):Point{ if (!contentPane){ return (point); }; point = localToGlobal(point); return (globalToContent(point)); } public function executeChildBindings(recurse:Boolean):void{ var child:IUIComponent; var n:int = numChildren; var i:int; while (i < n) { child = IUIComponent(getChildAt(i)); if ((child is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(child).executeBindings(recurse); }; i++; }; } protected function createBorder():void{ var borderClass:Class; if (((!(border)) && (isBorderNeeded()))){ borderClass = getStyle("borderSkin"); if (borderClass != null){ border = new (borderClass); border.name = "border"; if ((border is IUIComponent)){ IUIComponent(border).enabled = enabled; }; if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; rawChildren.addChildAt(DisplayObject(border), 0); invalidateDisplayList(); }; }; } public function get verticalScrollPosition():Number{ if (!isNaN(verticalScrollPositionPending)){ return (verticalScrollPositionPending); }; return (_verticalScrollPosition); } public function get horizontalScrollPosition():Number{ if (!isNaN(horizontalScrollPositionPending)){ return (horizontalScrollPositionPending); }; return (_horizontalScrollPosition); } protected function layoutChrome(unscaledWidth:Number, unscaledHeight:Number):void{ if (border){ updateBackgroundImageRect(); border.move(0, 0); border.setActualSize(unscaledWidth, unscaledHeight); }; } mx_internal function set childRepeaters(value:Array):void{ _childRepeaters = value; } override public function get focusPane():Sprite{ return (_focusPane); } public function set creationIndex(value:int):void{ _creationIndex = value; } public function get viewMetrics():EdgeMetrics{ var bm:EdgeMetrics = borderMetrics; var verticalScrollBarIncluded:Boolean = ((!((verticalScrollBar == null))) && (((doingLayout) || ((verticalScrollPolicy == ScrollPolicy.ON))))); var horizontalScrollBarIncluded:Boolean = ((!((horizontalScrollBar == null))) && (((doingLayout) || ((horizontalScrollPolicy == ScrollPolicy.ON))))); if (((!(verticalScrollBarIncluded)) && (!(horizontalScrollBarIncluded)))){ return (bm); }; if (!_viewMetrics){ _viewMetrics = bm.clone(); } else { _viewMetrics.left = bm.left; _viewMetrics.right = bm.right; _viewMetrics.top = bm.top; _viewMetrics.bottom = bm.bottom; }; if (verticalScrollBarIncluded){ _viewMetrics.right = (_viewMetrics.right + verticalScrollBar.minWidth); }; if (horizontalScrollBarIncluded){ _viewMetrics.bottom = (_viewMetrics.bottom + horizontalScrollBar.minHeight); }; return (_viewMetrics); } public function set verticalScrollBar(value:ScrollBar):void{ _verticalScrollBar = value; } public function set verticalScrollPosition(value:Number):void{ if (_verticalScrollPosition == value){ return; }; _verticalScrollPosition = value; scrollPositionChanged = true; if (!initialized){ verticalScrollPositionPending = value; }; invalidateDisplayList(); dispatchEvent(new Event("viewChanged")); } private function createOrDestroyScrollbars(needHorizontal:Boolean, needVertical:Boolean, needContentPane:Boolean):Boolean{ var fm:IFocusManager; var horizontalScrollBarStyleName:String; var verticalScrollBarStyleName:String; var g:Graphics; var changed:Boolean; if (((((needHorizontal) || (needVertical))) || (needContentPane))){ createContentPane(); }; if (needHorizontal){ if (!horizontalScrollBar){ horizontalScrollBar = new HScrollBar(); horizontalScrollBar.name = "horizontalScrollBar"; horizontalScrollBarStyleName = getStyle("horizontalScrollBarStyleName"); if (((horizontalScrollBarStyleName) && ((horizontalScrollBar is ISimpleStyleClient)))){ ISimpleStyleClient(horizontalScrollBar).styleName = horizontalScrollBarStyleName; }; rawChildren.addChild(DisplayObject(horizontalScrollBar)); horizontalScrollBar.lineScrollSize = horizontalLineScrollSize; horizontalScrollBar.pageScrollSize = horizontalPageScrollSize; horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, horizontalScrollBar_scrollHandler); horizontalScrollBar.enabled = enabled; if ((horizontalScrollBar is IInvalidating)){ IInvalidating(horizontalScrollBar).validateNow(); }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); changed = true; if (!verticalScrollBar){ addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; }; } else { if (horizontalScrollBar){ horizontalScrollBar.removeEventListener(ScrollEvent.SCROLL, horizontalScrollBar_scrollHandler); rawChildren.removeChild(DisplayObject(horizontalScrollBar)); horizontalScrollBar = null; viewableWidth = (scrollableWidth = 0); if (_horizontalScrollPosition != 0){ _horizontalScrollPosition = 0; scrollPositionChanged = true; }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); changed = true; fm = focusManager; if (((!(verticalScrollBar)) && (((!(fm)) || (!((fm.getFocus() == this))))))){ removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; }; }; if (needVertical){ if (!verticalScrollBar){ verticalScrollBar = new VScrollBar(); verticalScrollBar.name = "verticalScrollBar"; verticalScrollBarStyleName = getStyle("verticalScrollBarStyleName"); if (((verticalScrollBarStyleName) && ((verticalScrollBar is ISimpleStyleClient)))){ ISimpleStyleClient(verticalScrollBar).styleName = verticalScrollBarStyleName; }; rawChildren.addChild(DisplayObject(verticalScrollBar)); verticalScrollBar.lineScrollSize = verticalLineScrollSize; verticalScrollBar.pageScrollSize = verticalPageScrollSize; verticalScrollBar.addEventListener(ScrollEvent.SCROLL, verticalScrollBar_scrollHandler); verticalScrollBar.enabled = enabled; if ((verticalScrollBar is IInvalidating)){ IInvalidating(verticalScrollBar).validateNow(); }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); changed = true; if (!horizontalScrollBar){ addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); }; } else { if (verticalScrollBar){ verticalScrollBar.removeEventListener(ScrollEvent.SCROLL, verticalScrollBar_scrollHandler); rawChildren.removeChild(DisplayObject(verticalScrollBar)); verticalScrollBar = null; viewableHeight = (scrollableHeight = 0); if (_verticalScrollPosition != 0){ _verticalScrollPosition = 0; scrollPositionChanged = true; }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); changed = true; fm = focusManager; if (((!(horizontalScrollBar)) && (((!(fm)) || (!((fm.getFocus() == this))))))){ removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); }; }; if (((horizontalScrollBar) && (verticalScrollBar))){ if (!whiteBox){ whiteBox = new FlexShape(); whiteBox.name = "whiteBox"; g = whiteBox.graphics; g.beginFill(0xFFFFFF); g.drawRect(0, 0, verticalScrollBar.minWidth, horizontalScrollBar.minHeight); g.endFill(); rawChildren.addChild(whiteBox); }; } else { if (whiteBox){ rawChildren.removeChild(whiteBox); whiteBox = null; }; }; return (changed); } override protected function keyDownHandler(event:KeyboardEvent):void{ var direction:String; var oldPos:Number; var focusObj:Object = getFocus(); if ((focusObj is TextField)){ return; }; if (verticalScrollBar){ direction = ScrollEventDirection.VERTICAL; oldPos = verticalScrollPosition; switch (event.keyCode){ case Keyboard.DOWN: verticalScrollPosition = (verticalScrollPosition + verticalLineScrollSize); dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.LINE_DOWN); event.stopPropagation(); break; case Keyboard.UP: verticalScrollPosition = (verticalScrollPosition - verticalLineScrollSize); dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.LINE_UP); event.stopPropagation(); break; case Keyboard.PAGE_UP: verticalScrollPosition = (verticalScrollPosition - verticalPageScrollSize); dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.PAGE_UP); event.stopPropagation(); break; case Keyboard.PAGE_DOWN: verticalScrollPosition = (verticalScrollPosition + verticalPageScrollSize); dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.PAGE_DOWN); event.stopPropagation(); break; case Keyboard.HOME: verticalScrollPosition = verticalScrollBar.minScrollPosition; dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.AT_TOP); event.stopPropagation(); break; case Keyboard.END: verticalScrollPosition = verticalScrollBar.maxScrollPosition; dispatchScrollEvent(direction, oldPos, verticalScrollPosition, ScrollEventDetail.AT_BOTTOM); event.stopPropagation(); break; }; }; if (horizontalScrollBar){ direction = ScrollEventDirection.HORIZONTAL; oldPos = horizontalScrollPosition; switch (event.keyCode){ case Keyboard.LEFT: horizontalScrollPosition = (horizontalScrollPosition - horizontalLineScrollSize); dispatchScrollEvent(direction, oldPos, horizontalScrollPosition, ScrollEventDetail.LINE_LEFT); event.stopPropagation(); break; case Keyboard.RIGHT: horizontalScrollPosition = (horizontalScrollPosition + horizontalLineScrollSize); dispatchScrollEvent(direction, oldPos, horizontalScrollPosition, ScrollEventDetail.LINE_RIGHT); event.stopPropagation(); break; }; }; } public function get icon():Class{ return (_icon); } private function createOrDestroyBlocker():void{ var o:DisplayObject; var sm:ISystemManager; if (enabled){ if (blocker){ rawChildren.removeChild(blocker); blocker = null; }; } else { if (!blocker){ blocker = new FlexSprite(); blocker.name = "blocker"; blocker.mouseEnabled = true; rawChildren.addChild(blocker); blocker.addEventListener(MouseEvent.CLICK, blocker_clickHandler); o = (focusManager) ? DisplayObject(focusManager.getFocus()) : null; while (o) { if (o == this){ sm = systemManager; if (((sm) && (sm.stage))){ sm.stage.focus = null; }; break; }; o = o.parent; }; }; }; } private function horizontalScrollBar_scrollHandler(event:Event):void{ var oldPos:Number; if ((event is ScrollEvent)){ oldPos = horizontalScrollPosition; horizontalScrollPosition = horizontalScrollBar.scrollPosition; dispatchScrollEvent(ScrollEventDirection.HORIZONTAL, oldPos, horizontalScrollPosition, ScrollEvent(event).detail); }; } public function createComponentFromDescriptor(descriptor:ComponentDescriptor, recurse:Boolean):IFlexDisplayObject{ var p:String; var rChild:IRepeaterClient; var scChild:IStyleClient; var eventName:String; var eventHandler:String; var childDescriptor:UIComponentDescriptor = UIComponentDescriptor(descriptor); var childProperties:Object = childDescriptor.properties; if (((((((!((numChildrenBefore == 0))) || (!((numChildrenCreated == -1))))) && ((childDescriptor.instanceIndices == null)))) && (hasChildMatchingDescriptor(childDescriptor)))){ return (null); }; UIComponentGlobals.layoutManager.usePhasedInstantiation = true; var childType:Class = childDescriptor.type; var child:IDeferredInstantiationUIComponent = new (childType); child.id = childDescriptor.id; if (((child.id) && (!((child.id == ""))))){ child.name = child.id; }; child.descriptor = childDescriptor; if (((childProperties.childDescriptors) && ((child is Container)))){ Container(child)._childDescriptors = childProperties.childDescriptors; delete childProperties.childDescriptors; }; for (p in childProperties) { child[p] = childProperties[p]; }; if ((child is Container)){ Container(child).recursionFlag = recurse; }; if (childDescriptor.instanceIndices){ if ((child is IRepeaterClient)){ rChild = IRepeaterClient(child); rChild.instanceIndices = childDescriptor.instanceIndices; rChild.repeaters = childDescriptor.repeaters; rChild.repeaterIndices = childDescriptor.repeaterIndices; }; }; if ((child is IStyleClient)){ scChild = IStyleClient(child); if (childDescriptor.stylesFactory != null){ if (!scChild.styleDeclaration){ scChild.styleDeclaration = new CSSStyleDeclaration(); }; scChild.styleDeclaration.factory = childDescriptor.stylesFactory; }; }; var childEvents:Object = childDescriptor.events; if (childEvents){ for (eventName in childEvents) { eventHandler = childEvents[eventName]; child.addEventListener(eventName, childDescriptor.document[eventHandler]); }; }; var childEffects:Array = childDescriptor.effects; if (childEffects){ child.registerEffects(childEffects); }; if ((child is IRepeaterClient)){ IRepeaterClient(child).initializeRepeaterArrays(this); }; child.createReferenceOnParentDocument(IFlexDisplayObject(childDescriptor.document)); if (!child.document){ child.document = childDescriptor.document; }; if ((child is IRepeater)){ if (!childRepeaters){ childRepeaters = []; }; childRepeaters.push(child); child.executeBindings(); IRepeater(child).initializeRepeater(this, recurse); } else { addChild(DisplayObject(child)); child.executeBindings(); if ((((creationPolicy == ContainerCreationPolicy.QUEUED)) || ((creationPolicy == ContainerCreationPolicy.NONE)))){ child.addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; return (child); } override public function set enabled(value:Boolean):void{ super.enabled = value; if (horizontalScrollBar){ horizontalScrollBar.enabled = value; }; if (verticalScrollBar){ verticalScrollBar.enabled = value; }; invalidateProperties(); } public function set horizontalScrollBar(value:ScrollBar):void{ _horizontalScrollBar = value; } mx_internal function get usePadding():Boolean{ return (true); } override public function get baselinePosition():Number{ var child:IUIComponent; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if ((((getStyle("verticalAlign") == "top")) && ((numChildren > 0)))){ child = (getChildAt(0) as IUIComponent); if (child){ return ((child.y + child.baselinePosition)); }; }; return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; var lineMetrics:TextLineMetrics = measureText("Wj"); if (height < (((2 * viewMetrics.top) + 4) + lineMetrics.ascent)){ return (int((height + ((lineMetrics.ascent - height) / 2)))); }; return (((viewMetrics.top + 2) + lineMetrics.ascent)); } override public function getChildByName(name:String):DisplayObject{ var child:DisplayObject; var index:int; if (contentPane){ return (contentPane.getChildByName(name)); }; child = super.getChildByName(name); if (!child){ return (null); }; index = (super.getChildIndex(child) - _firstChildIndex); if ((((index < 0)) || ((index >= _numChildren)))){ return (null); }; return (child); } public function get verticalLineScrollSize():Number{ return (_verticalLineScrollSize); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } override public function addChildAt(child:DisplayObject, index:int):DisplayObject{ var formerParent:DisplayObjectContainer = child.parent; if (((formerParent) && (!((formerParent is Loader))))){ formerParent.removeChild(child); }; addingChild(child); if (contentPane){ contentPane.addChildAt(child, index); } else { $addChildAt(child, (_firstChildIndex + index)); }; childAdded(child); if ((((child is UIComponent)) && (UIComponent(child).isDocument))){ BindingManager.setEnabled(child, true); }; return (child); } public function get maxVerticalScrollPosition():Number{ return ((verticalScrollBar) ? verticalScrollBar.maxScrollPosition : Math.max((scrollableHeight - viewableHeight), 0)); } public function set horizontalScrollPosition(value:Number):void{ if (_horizontalScrollPosition == value){ return; }; _horizontalScrollPosition = value; scrollPositionChanged = true; if (!initialized){ horizontalScrollPositionPending = value; }; invalidateDisplayList(); dispatchEvent(new Event("viewChanged")); } mx_internal function invalidateViewMetricsAndPadding():void{ _viewMetricsAndPadding = null; } public function get horizontalLineScrollSize():Number{ return (_horizontalLineScrollSize); } override public function set focusPane(o:Sprite):void{ var oldInvalidateSizeFlag:Boolean = invalidateSizeFlag; var oldInvalidateDisplayListFlag:Boolean = invalidateDisplayListFlag; invalidateSizeFlag = true; invalidateDisplayListFlag = true; if (o){ rawChildren.addChild(o); o.x = 0; o.y = 0; o.scrollRect = null; _focusPane = o; } else { rawChildren.removeChild(_focusPane); _focusPane = null; }; if (((o) && (contentPane))){ o.x = contentPane.x; o.y = contentPane.y; o.scrollRect = contentPane.scrollRect; }; invalidateSizeFlag = oldInvalidateSizeFlag; invalidateDisplayListFlag = oldInvalidateDisplayListFlag; } private function updateBackgroundImageRect():void{ var rectBorder:IRectangularBorder = (border as IRectangularBorder); if (!rectBorder){ return; }; if ((((viewableWidth == 0)) && ((viewableHeight == 0)))){ rectBorder.backgroundImageBounds = null; return; }; var vm:EdgeMetrics = viewMetrics; var bkWidth:Number = (viewableWidth) ? viewableWidth : ((unscaledWidth - vm.left) - vm.right); var bkHeight:Number = (viewableHeight) ? viewableHeight : ((unscaledHeight - vm.top) - vm.bottom); if (getStyle("backgroundAttachment") == "fixed"){ rectBorder.backgroundImageBounds = new Rectangle(vm.left, vm.top, bkWidth, bkHeight); } else { rectBorder.backgroundImageBounds = new Rectangle(vm.left, vm.top, Math.max(scrollableWidth, bkWidth), Math.max(scrollableHeight, bkHeight)); }; } private function blocker_clickHandler(event:Event):void{ event.stopPropagation(); } private function mouseWheelHandler(event:MouseEvent):void{ var scrollDirection:int; var lineScrollSize:int; var scrollAmount:Number; var oldPosition:Number; if (verticalScrollBar){ event.stopPropagation(); scrollDirection = ((event.delta <= 0)) ? 1 : -1; lineScrollSize = (verticalScrollBar) ? verticalScrollBar.lineScrollSize : 1; scrollAmount = Math.max(Math.abs(event.delta), lineScrollSize); oldPosition = verticalScrollPosition; verticalScrollPosition = (verticalScrollPosition + ((3 * scrollAmount) * scrollDirection)); dispatchScrollEvent(ScrollEventDirection.VERTICAL, oldPosition, verticalScrollPosition, ((event.delta <= 0)) ? ScrollEventDetail.LINE_UP : ScrollEventDetail.LINE_DOWN); }; } public function get defaultButton():IFlexDisplayObject{ return (_defaultButton); } mx_internal function createContentPane():void{ var childIndex:int; var child:IUIComponent; if (contentPane){ return; }; creatingContentPane = true; var n:int = numChildren; var newPane:Sprite = new FlexSprite(); newPane.name = "contentPane"; newPane.tabChildren = true; if (border){ childIndex = (rawChildren.getChildIndex(DisplayObject(border)) + 1); if ((((border is IRectangularBorder)) && (IRectangularBorder(border).hasBackgroundImage))){ childIndex++; }; } else { childIndex = 0; }; rawChildren.addChildAt(newPane, childIndex); var i:int; while (i < n) { child = IUIComponent(super.getChildAt(_firstChildIndex)); newPane.addChild(DisplayObject(child)); child.parentChanged(newPane); _numChildren--; i++; }; contentPane = newPane; creatingContentPane = false; contentPane.visible = true; } public function set verticalPageScrollSize(value:Number):void{ scrollPropertiesChanged = true; _verticalPageScrollSize = value; invalidateDisplayList(); dispatchEvent(new Event("verticalPageScrollSizeChanged")); } mx_internal function setDocumentDescriptor(desc:UIComponentDescriptor):void{ var message:String; if (processedDescriptors){ return; }; if (((_documentDescriptor) && (_documentDescriptor.properties.childDescriptors))){ if (desc.properties.childDescriptors){ message = resourceManager.getString("core", "multipleChildSets_ClassAndSubclass"); throw (new Error(message)); }; } else { _documentDescriptor = desc; _documentDescriptor.document = this; }; } private function verticalScrollBar_scrollHandler(event:Event):void{ var oldPos:Number; if ((event is ScrollEvent)){ oldPos = verticalScrollPosition; verticalScrollPosition = verticalScrollBar.scrollPosition; dispatchScrollEvent(ScrollEventDirection.VERTICAL, oldPos, verticalScrollPosition, ScrollEvent(event).detail); }; } public function get creationPolicy():String{ return (_creationPolicy); } public function set icon(value:Class):void{ _icon = value; dispatchEvent(new Event("iconChanged")); } private function dispatchScrollEvent(direction:String, oldPosition:Number, newPosition:Number, detail:String):void{ var event:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL); event.direction = direction; event.position = newPosition; event.delta = (newPosition - oldPosition); event.detail = detail; dispatchEvent(event); } public function get label():String{ return (_label); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function get borderMetrics():EdgeMetrics{ return ((((border) && ((border is IRectangularBorder)))) ? IRectangularBorder(border).borderMetrics : EdgeMetrics.EMPTY); } private function creationCompleteHandler(event:FlexEvent):void{ numChildrenCreated--; if (numChildrenCreated <= 0){ dispatchEvent(new FlexEvent("childrenCreationComplete")); }; } override public function contentToLocal(point:Point):Point{ if (!contentPane){ return (point); }; point = contentToGlobal(point); return (globalToLocal(point)); } override public function removeChild(child:DisplayObject):DisplayObject{ var n:int; var i:int; if ((((child is IDeferredInstantiationUIComponent)) && (IDeferredInstantiationUIComponent(child).descriptor))){ if (createdComponents){ n = createdComponents.length; i = 0; while (i < n) { if (createdComponents[i] === child){ createdComponents.splice(i, 1); }; i++; }; }; }; removingChild(child); if ((((child is UIComponent)) && (UIComponent(child).isDocument))){ BindingManager.setEnabled(child, false); }; if (contentPane){ contentPane.removeChild(child); } else { $removeChild(child); }; childRemoved(child); return (child); } final mx_internal function get $numChildren():int{ return (super.numChildren); } mx_internal function get numRepeaters():int{ return ((childRepeaters) ? childRepeaters.length : 0); } mx_internal function set numChildrenCreated(value:int):void{ _numChildrenCreated = value; } public function get creatingContentPane():Boolean{ return (_creatingContentPane); } public function get clipContent():Boolean{ return (_clipContent); } mx_internal function rawChildren_getChildIndex(child:DisplayObject):int{ return (super.getChildIndex(child)); } override public function regenerateStyleCache(recursive:Boolean):void{ var n:int; var i:int; var child:DisplayObject; super.regenerateStyleCache(recursive); if (contentPane){ n = contentPane.numChildren; i = 0; while (i < n) { child = getChildAt(i); if (((recursive) && ((child is UIComponent)))){ if (UIComponent(child).inheritingStyles != UIComponent.STYLE_UNINITIALIZED){ UIComponent(child).regenerateStyleCache(recursive); }; } else { if ((((child is IUITextField)) && (IUITextField(child).inheritingStyles))){ StyleProtoChain.initTextField(IUITextField(child)); }; }; i++; }; }; } override public function getChildIndex(child:DisplayObject):int{ var index:int; if (contentPane){ return (contentPane.getChildIndex(child)); }; index = (super.getChildIndex(child) - _firstChildIndex); return (index); } mx_internal function rawChildren_contains(child:DisplayObject):Boolean{ return (super.contains(child)); } mx_internal function getScrollableRect():Rectangle{ var child:DisplayObject; var left:Number = 0; var top:Number = 0; var right:Number = 0; var bottom:Number = 0; var n:int = numChildren; var i:int; while (i < n) { child = getChildAt(i); if ((((child is IUIComponent)) && (!(IUIComponent(child).includeInLayout)))){ } else { left = Math.min(left, child.x); top = Math.min(top, child.y); if (!isNaN(child.width)){ right = Math.max(right, (child.x + child.width)); }; if (!isNaN(child.height)){ bottom = Math.max(bottom, (child.y + child.height)); }; }; i++; }; var vm:EdgeMetrics = viewMetrics; var bounds:Rectangle = new Rectangle(); bounds.left = left; bounds.top = top; bounds.right = right; bounds.bottom = bottom; if (usePadding){ bounds.right = (bounds.right + getStyle("paddingRight")); bounds.bottom = (bounds.bottom + getStyle("paddingBottom")); }; return (bounds); } override protected function createChildren():void{ var mainApp:Application; super.createChildren(); createBorder(); createOrDestroyScrollbars((horizontalScrollPolicy == ScrollPolicy.ON), (verticalScrollPolicy == ScrollPolicy.ON), (((horizontalScrollPolicy == ScrollPolicy.ON)) || ((verticalScrollPolicy == ScrollPolicy.ON)))); if (creationPolicy != null){ actualCreationPolicy = creationPolicy; } else { if ((parent is Container)){ if (Container(parent).actualCreationPolicy == ContainerCreationPolicy.QUEUED){ actualCreationPolicy = ContainerCreationPolicy.AUTO; } else { actualCreationPolicy = Container(parent).actualCreationPolicy; }; }; }; if (actualCreationPolicy == ContainerCreationPolicy.NONE){ actualCreationPolicy = ContainerCreationPolicy.AUTO; } else { if (actualCreationPolicy == ContainerCreationPolicy.QUEUED){ mainApp = (parentApplication) ? Application(parentApplication) : Application(Application.application); mainApp.addToCreationQueue(this, creationIndex, null, this); } else { if (recursionFlag){ createComponentsFromDescriptors(); }; }; }; if (autoLayout == false){ forceLayout = true; }; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); } override public function executeBindings(recurse:Boolean=false):void{ var bindingsHost:Object = (((descriptor) && (descriptor.document))) ? descriptor.document : parentDocument; BindingManager.executeBindings(bindingsHost, id, this); if (recurse){ executeChildBindings(recurse); }; } override public function setChildIndex(child:DisplayObject, newIndex:int):void{ var oldIndex:int; var eventOldIndex:int = oldIndex; var eventNewIndex:int = newIndex; if (contentPane){ contentPane.setChildIndex(child, newIndex); if (((_autoLayout) || (forceLayout))){ invalidateDisplayList(); }; } else { oldIndex = super.getChildIndex(child); newIndex = (newIndex + _firstChildIndex); if (newIndex == oldIndex){ return; }; super.setChildIndex(child, newIndex); invalidateDisplayList(); eventOldIndex = (oldIndex - _firstChildIndex); eventNewIndex = (newIndex - _firstChildIndex); }; var event:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.CHILD_INDEX_CHANGE); event.relatedObject = child; event.oldIndex = eventOldIndex; event.newIndex = eventNewIndex; dispatchEvent(event); dispatchEvent(new Event("childrenChanged")); } override public function globalToContent(point:Point):Point{ if (contentPane){ return (contentPane.globalToLocal(point)); }; return (globalToLocal(point)); } mx_internal function rawChildren_removeChild(child:DisplayObject):DisplayObject{ var index:int = rawChildren_getChildIndex(child); return (rawChildren_removeChildAt(index)); } mx_internal function rawChildren_setChildIndex(child:DisplayObject, newIndex:int):void{ var oldIndex:int = super.getChildIndex(child); super.setChildIndex(child, newIndex); if ((((oldIndex < _firstChildIndex)) && ((newIndex >= _firstChildIndex)))){ _firstChildIndex--; } else { if ((((oldIndex >= _firstChildIndex)) && ((newIndex <= _firstChildIndex)))){ _firstChildIndex++; }; }; dispatchEvent(new Event("childrenChanged")); } public function set verticalLineScrollSize(value:Number):void{ scrollPropertiesChanged = true; _verticalLineScrollSize = value; invalidateDisplayList(); dispatchEvent(new Event("verticalLineScrollSizeChanged")); } mx_internal function rawChildren_getChildAt(index:int):DisplayObject{ return (super.getChildAt(index)); } public function get creationIndex():int{ return (_creationIndex); } public function get verticalScrollBar():ScrollBar{ return (_verticalScrollBar); } public function get viewMetricsAndPadding():EdgeMetrics{ if (((((_viewMetricsAndPadding) && (((!(horizontalScrollBar)) || ((horizontalScrollPolicy == ScrollPolicy.ON)))))) && (((!(verticalScrollBar)) || ((verticalScrollPolicy == ScrollPolicy.ON)))))){ return (_viewMetricsAndPadding); }; if (!_viewMetricsAndPadding){ _viewMetricsAndPadding = new EdgeMetrics(); }; var o:EdgeMetrics = _viewMetricsAndPadding; var vm:EdgeMetrics = viewMetrics; o.left = (vm.left + getStyle("paddingLeft")); o.right = (vm.right + getStyle("paddingRight")); o.top = (vm.top + getStyle("paddingTop")); o.bottom = (vm.bottom + getStyle("paddingBottom")); return (o); } override public function addChild(child:DisplayObject):DisplayObject{ return (addChildAt(child, numChildren)); } public function set horizontalPageScrollSize(value:Number):void{ scrollPropertiesChanged = true; _horizontalPageScrollSize = value; invalidateDisplayList(); dispatchEvent(new Event("horizontalPageScrollSizeChanged")); } override mx_internal function childAdded(child:DisplayObject):void{ dispatchEvent(new Event("childrenChanged")); var event:ChildExistenceChangedEvent = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_ADD); event.relatedObject = child; dispatchEvent(event); child.dispatchEvent(new FlexEvent(FlexEvent.ADD)); super.childAdded(child); } public function set horizontalScrollPolicy(value:String):void{ if (_horizontalScrollPolicy != value){ _horizontalScrollPolicy = value; invalidateDisplayList(); dispatchEvent(new Event("horizontalScrollPolicyChanged")); }; } private function layoutCompleteHandler(event:FlexEvent):void{ UIComponentGlobals.layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler); forceLayout = false; var needToScrollChildren:Boolean; if (!isNaN(horizontalScrollPositionPending)){ if (horizontalScrollPositionPending < 0){ horizontalScrollPositionPending = 0; } else { if (horizontalScrollPositionPending > maxHorizontalScrollPosition){ horizontalScrollPositionPending = maxHorizontalScrollPosition; }; }; if (((horizontalScrollBar) && (!((horizontalScrollBar.scrollPosition == horizontalScrollPositionPending))))){ _horizontalScrollPosition = horizontalScrollPositionPending; horizontalScrollBar.scrollPosition = horizontalScrollPositionPending; needToScrollChildren = true; }; horizontalScrollPositionPending = NaN; }; if (!isNaN(verticalScrollPositionPending)){ if (verticalScrollPositionPending < 0){ verticalScrollPositionPending = 0; } else { if (verticalScrollPositionPending > maxVerticalScrollPosition){ verticalScrollPositionPending = maxVerticalScrollPosition; }; }; if (((verticalScrollBar) && (!((verticalScrollBar.scrollPosition == verticalScrollPositionPending))))){ _verticalScrollPosition = verticalScrollPositionPending; verticalScrollBar.scrollPosition = verticalScrollPositionPending; needToScrollChildren = true; }; verticalScrollPositionPending = NaN; }; if (needToScrollChildren){ scrollChildren(); }; } public function createComponentsFromDescriptors(recurse:Boolean=true):void{ var component:IFlexDisplayObject; numChildrenBefore = numChildren; createdComponents = []; var n:int = (childDescriptors) ? childDescriptors.length : 0; var i:int; while (i < n) { component = createComponentFromDescriptor(childDescriptors[i], recurse); createdComponents.push(component); i++; }; if ((((creationPolicy == ContainerCreationPolicy.QUEUED)) || ((creationPolicy == ContainerCreationPolicy.NONE)))){ UIComponentGlobals.layoutManager.usePhasedInstantiation = false; }; numChildrenCreated = (numChildren - numChildrenBefore); processedDescriptors = true; } override mx_internal function fillOverlay(overlay:UIComponent, color:uint, targetArea:RoundedRectangle=null):void{ var vm:EdgeMetrics = viewMetrics; var cornerRadius:Number = 0; if (!targetArea){ targetArea = new RoundedRectangle(vm.left, vm.top, ((unscaledWidth - vm.right) - vm.left), ((unscaledHeight - vm.bottom) - vm.top), cornerRadius); }; if (((((((((isNaN(targetArea.x)) || (isNaN(targetArea.y)))) || (isNaN(targetArea.width)))) || (isNaN(targetArea.height)))) || (isNaN(targetArea.cornerRadius)))){ return; }; var g:Graphics = overlay.graphics; g.clear(); g.beginFill(color); g.drawRoundRect(targetArea.x, targetArea.y, targetArea.width, targetArea.height, (targetArea.cornerRadius * 2), (targetArea.cornerRadius * 2)); g.endFill(); } override public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{ super.removeEventListener(type, listener, useCapture); if ((((((((((((((((type == MouseEvent.CLICK)) || ((type == MouseEvent.DOUBLE_CLICK)))) || ((type == MouseEvent.MOUSE_DOWN)))) || ((type == MouseEvent.MOUSE_MOVE)))) || ((type == MouseEvent.MOUSE_OVER)))) || ((type == MouseEvent.MOUSE_OUT)))) || ((type == MouseEvent.MOUSE_UP)))) || ((type == MouseEvent.MOUSE_WHEEL)))){ if ((((mouseEventReferenceCount > 0)) && ((--mouseEventReferenceCount == 0)))){ setStyle("mouseShield", false); setStyle("mouseShieldChildren", false); }; }; } mx_internal function rawChildren_removeChildAt(index:int):DisplayObject{ var child:DisplayObject = super.getChildAt(index); super.removingChild(child); $removeChildAt(index); super.childRemoved(child); if ((((_firstChildIndex < index)) && ((index < (_firstChildIndex + _numChildren))))){ _numChildren--; } else { if ((((_numChildren == 0)) || ((index < _firstChildIndex)))){ _firstChildIndex--; }; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("childrenChanged")); return (child); } public function set data(value:Object):void{ _data = value; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); invalidateDisplayList(); } override public function removeChildAt(index:int):DisplayObject{ return (removeChild(getChildAt(index))); } private function isBorderNeeded():Boolean{ var c:Class = getStyle("borderSkin"); if (c != getDefinitionByName("mx.skins.halo::HaloBorder")){ return (true); }; //unresolved jump var _slot1 = e; return (true); var v:Object = getStyle("borderStyle"); if (v){ if (((!((v == "none"))) || ((((v == "none")) && (getStyle("mouseShield")))))){ return (true); }; }; v = getStyle("backgroundColor"); if (((!((v === null))) && (!((v === ""))))){ return (true); }; v = getStyle("backgroundImage"); return (((!((v == null))) && (!((v == ""))))); } public function set autoLayout(value:Boolean):void{ var p:IInvalidating; _autoLayout = value; if (value){ invalidateSize(); invalidateDisplayList(); p = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; }; } public function get verticalPageScrollSize():Number{ return (_verticalPageScrollSize); } public function getChildren():Array{ var results:Array = []; var n:int = numChildren; var i:int; while (i < n) { results.push(getChildAt(i)); i++; }; return (results); } private function createScrollbarsIfNeeded(bounds:Rectangle):Boolean{ var newScrollableWidth:Number = bounds.right; var newScrollableHeight:Number = bounds.bottom; var newViewableWidth:Number = unscaledWidth; var newViewableHeight:Number = unscaledHeight; var hasNegativeCoords:Boolean = (((bounds.left < 0)) || ((bounds.top < 0))); var vm:EdgeMetrics = viewMetrics; if (scaleX != 1){ newViewableWidth = (newViewableWidth + (1 / Math.abs(scaleX))); }; if (scaleY != 1){ newViewableHeight = (newViewableHeight + (1 / Math.abs(scaleY))); }; newViewableWidth = Math.floor(newViewableWidth); newViewableHeight = Math.floor(newViewableHeight); newScrollableWidth = Math.floor(newScrollableWidth); newScrollableHeight = Math.floor(newScrollableHeight); if (((horizontalScrollBar) && (!((horizontalScrollPolicy == ScrollPolicy.ON))))){ newViewableHeight = (newViewableHeight - horizontalScrollBar.minHeight); }; if (((verticalScrollBar) && (!((verticalScrollPolicy == ScrollPolicy.ON))))){ newViewableWidth = (newViewableWidth - verticalScrollBar.minWidth); }; newViewableWidth = (newViewableWidth - (vm.left + vm.right)); newViewableHeight = (newViewableHeight - (vm.top + vm.bottom)); var needHorizontal = (horizontalScrollPolicy == ScrollPolicy.ON); var needVertical = (verticalScrollPolicy == ScrollPolicy.ON); var needContentPane:Boolean = ((((((((((needHorizontal) || (needVertical))) || (hasNegativeCoords))) || (!((overlay == null))))) || ((vm.left > 0)))) || ((vm.top > 0))); if (newViewableWidth < newScrollableWidth){ needContentPane = true; if ((((((horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((((unscaledHeight - vm.top) - vm.bottom) >= 18)))) && ((((unscaledWidth - vm.left) - vm.right) >= 32)))){ needHorizontal = true; }; }; if (newViewableHeight < newScrollableHeight){ needContentPane = true; if ((((((verticalScrollPolicy == ScrollPolicy.AUTO)) && ((((unscaledWidth - vm.left) - vm.right) >= 18)))) && ((((unscaledHeight - vm.top) - vm.bottom) >= 32)))){ needVertical = true; }; }; if (((((((((((((((needHorizontal) && (needVertical))) && ((horizontalScrollPolicy == ScrollPolicy.AUTO)))) && ((verticalScrollPolicy == ScrollPolicy.AUTO)))) && (horizontalScrollBar))) && (verticalScrollBar))) && (((newViewableWidth + verticalScrollBar.minWidth) >= newScrollableWidth)))) && (((newViewableHeight + horizontalScrollBar.minHeight) >= newScrollableHeight)))){ needVertical = false; needHorizontal = needVertical; } else { if (((((((((needHorizontal) && (!(needVertical)))) && (verticalScrollBar))) && ((horizontalScrollPolicy == ScrollPolicy.AUTO)))) && (((newViewableWidth + verticalScrollBar.minWidth) >= newScrollableWidth)))){ needHorizontal = false; }; }; var changed:Boolean = createOrDestroyScrollbars(needHorizontal, needVertical, needContentPane); if (((((!((scrollableWidth == newScrollableWidth))) || (!((viewableWidth == newViewableWidth))))) || (changed))){ if (horizontalScrollBar){ horizontalScrollBar.setScrollProperties(newViewableWidth, 0, (newScrollableWidth - newViewableWidth), horizontalPageScrollSize); scrollPositionChanged = true; }; viewableWidth = newViewableWidth; scrollableWidth = newScrollableWidth; }; if (((((!((scrollableHeight == newScrollableHeight))) || (!((viewableHeight == newViewableHeight))))) || (changed))){ if (verticalScrollBar){ verticalScrollBar.setScrollProperties(newViewableHeight, 0, (newScrollableHeight - newViewableHeight), verticalPageScrollSize); scrollPositionChanged = true; }; viewableHeight = newViewableHeight; scrollableHeight = newScrollableHeight; }; return (changed); } override mx_internal function removingChild(child:DisplayObject):void{ super.removingChild(child); child.dispatchEvent(new FlexEvent(FlexEvent.REMOVE)); var event:ChildExistenceChangedEvent = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_REMOVE); event.relatedObject = child; dispatchEvent(event); } mx_internal function get numChildrenCreated():int{ return (_numChildrenCreated); } mx_internal function rawChildren_addChildAt(child:DisplayObject, index:int):DisplayObject{ if ((((_firstChildIndex < index)) && ((index < ((_firstChildIndex + _numChildren) + 1))))){ _numChildren++; } else { if (index <= _firstChildIndex){ _firstChildIndex++; }; }; super.addingChild(child); $addChildAt(child, index); super.childAdded(child); dispatchEvent(new Event("childrenChanged")); return (child); } private function hasChildMatchingDescriptor(descriptor:UIComponentDescriptor):Boolean{ var i:int; var child:IUIComponent; var id:String = descriptor.id; if (((!((id == null))) && ((document[id] == null)))){ return (false); }; var n:int = numChildren; i = 0; while (i < n) { child = IUIComponent(getChildAt(i)); if ((((child is IDeferredInstantiationUIComponent)) && ((IDeferredInstantiationUIComponent(child).descriptor == descriptor)))){ return (true); }; i++; }; if (childRepeaters){ n = childRepeaters.length; i = 0; while (i < n) { if (IDeferredInstantiationUIComponent(childRepeaters[i]).descriptor == descriptor){ return (true); }; i++; }; }; return (false); } mx_internal function rawChildren_getChildByName(name:String):DisplayObject{ return (super.getChildByName(name)); } override public function validateDisplayList():void{ var vm:EdgeMetrics; var w:Number; var h:Number; var bgColor:Object; var blockerAlpha:Number; var widthToBlock:Number; var heightToBlock:Number; if (((_autoLayout) || (forceLayout))){ doingLayout = true; super.validateDisplayList(); doingLayout = false; } else { layoutChrome(unscaledWidth, unscaledHeight); }; invalidateDisplayListFlag = true; if (createContentPaneAndScrollbarsIfNeeded()){ if (((_autoLayout) || (forceLayout))){ doingLayout = true; super.validateDisplayList(); doingLayout = false; }; createContentPaneAndScrollbarsIfNeeded(); }; if (clampScrollPositions()){ scrollChildren(); }; if (contentPane){ vm = viewMetrics; if (overlay){ overlay.x = 0; overlay.y = 0; overlay.width = unscaledWidth; overlay.height = unscaledHeight; }; if (((horizontalScrollBar) || (verticalScrollBar))){ if (((verticalScrollBar) && ((verticalScrollPolicy == ScrollPolicy.ON)))){ vm.right = (vm.right - verticalScrollBar.minWidth); }; if (((horizontalScrollBar) && ((horizontalScrollPolicy == ScrollPolicy.ON)))){ vm.bottom = (vm.bottom - horizontalScrollBar.minHeight); }; if (horizontalScrollBar){ w = ((unscaledWidth - vm.left) - vm.right); if (verticalScrollBar){ w = (w - verticalScrollBar.minWidth); }; horizontalScrollBar.setActualSize(w, horizontalScrollBar.minHeight); horizontalScrollBar.move(vm.left, ((unscaledHeight - vm.bottom) - horizontalScrollBar.minHeight)); }; if (verticalScrollBar){ h = ((unscaledHeight - vm.top) - vm.bottom); if (horizontalScrollBar){ h = (h - horizontalScrollBar.minHeight); }; verticalScrollBar.setActualSize(verticalScrollBar.minWidth, h); verticalScrollBar.move(((unscaledWidth - vm.right) - verticalScrollBar.minWidth), vm.top); }; if (whiteBox){ whiteBox.x = verticalScrollBar.x; whiteBox.y = horizontalScrollBar.y; }; }; contentPane.x = vm.left; contentPane.y = vm.top; if (focusPane){ focusPane.x = vm.left; focusPane.y = vm.top; }; scrollChildren(); }; invalidateDisplayListFlag = false; if (blocker){ vm = viewMetrics; bgColor = (enabled) ? null : getStyle("backgroundDisabledColor"); if ((((bgColor === null)) || (isNaN(Number(bgColor))))){ bgColor = getStyle("backgroundColor"); }; if ((((bgColor === null)) || (isNaN(Number(bgColor))))){ bgColor = 0xFFFFFF; }; blockerAlpha = getStyle("disabledOverlayAlpha"); if (isNaN(blockerAlpha)){ blockerAlpha = 0.6; }; blocker.x = vm.left; blocker.y = vm.top; widthToBlock = (unscaledWidth - (vm.left + vm.right)); heightToBlock = (unscaledHeight - (vm.top + vm.bottom)); blocker.graphics.clear(); blocker.graphics.beginFill(uint(bgColor), blockerAlpha); blocker.graphics.drawRect(0, 0, widthToBlock, heightToBlock); blocker.graphics.endFill(); rawChildren.setChildIndex(blocker, (rawChildren.numChildren - 1)); }; } public function set horizontalLineScrollSize(value:Number):void{ scrollPropertiesChanged = true; _horizontalLineScrollSize = value; invalidateDisplayList(); dispatchEvent(new Event("horizontalLineScrollSizeChanged")); } override public function initialize():void{ var props:*; var message:String; if (((((isDocument) && (documentDescriptor))) && (!(processedDescriptors)))){ props = documentDescriptor.properties; if (((props) && (props.childDescriptors))){ if (_childDescriptors){ message = resourceManager.getString("core", "multipleChildSets_ClassAndInstance"); throw (new Error(message)); }; _childDescriptors = props.childDescriptors; }; }; super.initialize(); } mx_internal function set forceClipping(value:Boolean):void{ if (_clipContent){ if (value){ _forceClippingCount++; } else { _forceClippingCount--; }; createContentPane(); scrollChildren(); }; } public function removeAllChildren():void{ while (numChildren > 0) { removeChildAt(0); }; } override public function contentToGlobal(point:Point):Point{ if (contentPane){ return (contentPane.localToGlobal(point)); }; return (localToGlobal(point)); } public function get horizontalPageScrollSize():Number{ return (_horizontalPageScrollSize); } override mx_internal function childRemoved(child:DisplayObject):void{ super.childRemoved(child); invalidateSize(); invalidateDisplayList(); if (!contentPane){ _numChildren--; if (_numChildren == 0){ _firstChildIndex = super.numChildren; }; }; if (((contentPane) && (!(autoLayout)))){ forceLayout = true; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); }; dispatchEvent(new Event("childrenChanged")); } public function set defaultButton(value:IFlexDisplayObject):void{ _defaultButton = value; ContainerGlobals.focusedContainer = null; } public function get data():Object{ return (_data); } override public function get numChildren():int{ return ((contentPane) ? contentPane.numChildren : _numChildren); } public function get autoLayout():Boolean{ return (_autoLayout); } override public function styleChanged(styleProp:String):void{ var horizontalScrollBarStyleName:String; var verticalScrollBarStyleName:String; var allStyles:Boolean = (((styleProp == null)) || ((styleProp == "styleName"))); if (((allStyles) || (StyleManager.isSizeInvalidatingStyle(styleProp)))){ invalidateDisplayList(); }; if (((allStyles) || ((styleProp == "borderSkin")))){ if (border){ rawChildren.removeChild(DisplayObject(border)); border = null; createBorder(); }; }; if (((((((((((allStyles) || ((styleProp == "borderStyle")))) || ((styleProp == "backgroundColor")))) || ((styleProp == "backgroundImage")))) || ((styleProp == "mouseShield")))) || ((styleProp == "mouseShieldChildren")))){ createBorder(); }; super.styleChanged(styleProp); if (((allStyles) || (StyleManager.isSizeInvalidatingStyle(styleProp)))){ invalidateViewMetricsAndPadding(); }; if (((allStyles) || ((styleProp == "horizontalScrollBarStyleName")))){ if (((horizontalScrollBar) && ((horizontalScrollBar is ISimpleStyleClient)))){ horizontalScrollBarStyleName = getStyle("horizontalScrollBarStyleName"); ISimpleStyleClient(horizontalScrollBar).styleName = horizontalScrollBarStyleName; }; }; if (((allStyles) || ((styleProp == "verticalScrollBarStyleName")))){ if (((verticalScrollBar) && ((verticalScrollBar is ISimpleStyleClient)))){ verticalScrollBarStyleName = getStyle("verticalScrollBarStyleName"); ISimpleStyleClient(verticalScrollBar).styleName = verticalScrollBarStyleName; }; }; } override protected function commitProperties():void{ var styleProp:String; super.commitProperties(); if (changedStyles){ styleProp = ((changedStyles == MULTIPLE_PROPERTIES)) ? null : changedStyles; super.notifyStyleChangeInChildren(styleProp, true); changedStyles = null; }; createOrDestroyBlocker(); } override public function finishPrint(obj:Object, target:IFlexDisplayObject):void{ if (obj){ contentPane.scrollRect = Rectangle(obj); }; super.finishPrint(obj, target); } public function get maxHorizontalScrollPosition():Number{ return ((horizontalScrollBar) ? horizontalScrollBar.maxScrollPosition : Math.max((scrollableWidth - viewableWidth), 0)); } public function set creationPolicy(value:String):void{ _creationPolicy = value; setActualCreationPolicies(value); } public function set label(value:String):void{ _label = value; dispatchEvent(new Event("labelChanged")); } private function clampScrollPositions():Boolean{ var changed:Boolean; if (_horizontalScrollPosition < 0){ _horizontalScrollPosition = 0; changed = true; } else { if (_horizontalScrollPosition > maxHorizontalScrollPosition){ _horizontalScrollPosition = maxHorizontalScrollPosition; changed = true; }; }; if (((horizontalScrollBar) && (!((horizontalScrollBar.scrollPosition == _horizontalScrollPosition))))){ horizontalScrollBar.scrollPosition = _horizontalScrollPosition; }; if (_verticalScrollPosition < 0){ _verticalScrollPosition = 0; changed = true; } else { if (_verticalScrollPosition > maxVerticalScrollPosition){ _verticalScrollPosition = maxVerticalScrollPosition; changed = true; }; }; if (((verticalScrollBar) && (!((verticalScrollBar.scrollPosition == _verticalScrollPosition))))){ verticalScrollBar.scrollPosition = _verticalScrollPosition; }; return (changed); } override public function prepareToPrint(target:IFlexDisplayObject):Object{ var rect:Rectangle = (((contentPane) && (contentPane.scrollRect))) ? contentPane.scrollRect : null; if (rect){ contentPane.scrollRect = null; }; super.prepareToPrint(target); return (rect); } mx_internal function get firstChildIndex():int{ return (_firstChildIndex); } mx_internal function rawChildren_addChild(child:DisplayObject):DisplayObject{ if (_numChildren == 0){ _firstChildIndex++; }; super.addingChild(child); $addChild(child); super.childAdded(child); dispatchEvent(new Event("childrenChanged")); return (child); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var backgroundColor:Object; var backgroundAlpha:Number; super.updateDisplayList(unscaledWidth, unscaledHeight); layoutChrome(unscaledWidth, unscaledHeight); if (scrollPositionChanged){ clampScrollPositions(); scrollChildren(); scrollPositionChanged = false; }; if (scrollPropertiesChanged){ if (horizontalScrollBar){ horizontalScrollBar.lineScrollSize = horizontalLineScrollSize; horizontalScrollBar.pageScrollSize = horizontalPageScrollSize; }; if (verticalScrollBar){ verticalScrollBar.lineScrollSize = verticalLineScrollSize; verticalScrollBar.pageScrollSize = verticalPageScrollSize; }; scrollPropertiesChanged = false; }; if (((contentPane) && (contentPane.scrollRect))){ backgroundColor = (enabled) ? null : getStyle("backgroundDisabledColor"); if ((((backgroundColor === null)) || (isNaN(Number(backgroundColor))))){ backgroundColor = getStyle("backgroundColor"); }; backgroundAlpha = getStyle("backgroundAlpha"); if (((((((!(_clipContent)) || (isNaN(Number(backgroundColor))))) || ((backgroundColor === "")))) || (((!(((horizontalScrollBar) || (verticalScrollBar)))) && (!(cacheAsBitmap)))))){ backgroundColor = null; } else { if (((getStyle("backgroundImage")) || (getStyle("background")))){ backgroundColor = null; } else { if (backgroundAlpha != 1){ backgroundColor = null; }; }; }; contentPane.opaqueBackground = backgroundColor; contentPane.cacheAsBitmap = !((backgroundColor == null)); }; } override mx_internal function addingChild(child:DisplayObject):void{ var uiChild:IUIComponent = IUIComponent(child); super.addingChild(child); invalidateSize(); invalidateDisplayList(); if (!contentPane){ if (_numChildren == 0){ _firstChildIndex = super.numChildren; }; _numChildren++; }; if (((contentPane) && (!(autoLayout)))){ forceLayout = true; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); }; } mx_internal function setActualCreationPolicies(policy:String):void{ var child:IFlexDisplayObject; var childContainer:Container; actualCreationPolicy = policy; var childPolicy:String = policy; if (policy == ContainerCreationPolicy.QUEUED){ childPolicy = ContainerCreationPolicy.AUTO; }; var n:int = numChildren; var i:int; while (i < n) { child = IFlexDisplayObject(getChildAt(i)); if ((child is Container)){ childContainer = Container(child); if (childContainer.creationPolicy == null){ childContainer.setActualCreationPolicies(childPolicy); }; }; i++; }; } } }//package mx.core
Section 227
//ContainerCreationPolicy (mx.core.ContainerCreationPolicy) package mx.core { public final class ContainerCreationPolicy { public static const ALL:String = "all"; public static const QUEUED:String = "queued"; public static const NONE:String = "none"; mx_internal static const VERSION:String = "3.0.0.0"; public static const AUTO:String = "auto"; public function ContainerCreationPolicy(){ super(); } } }//package mx.core
Section 228
//ContainerGlobals (mx.core.ContainerGlobals) package mx.core { import flash.display.*; import mx.managers.*; public class ContainerGlobals { public static var focusedContainer:InteractiveObject; public function ContainerGlobals(){ super(); } public static function checkFocus(oldObj:InteractiveObject, newObj:InteractiveObject):void{ var fm:IFocusManager; var defButton:IButton; var objParent:InteractiveObject = newObj; var currObj:InteractiveObject = newObj; var lastUIComp:IUIComponent; if (((!((newObj == null))) && ((oldObj == newObj)))){ return; }; while (currObj) { if (currObj.parent){ objParent = currObj.parent; } else { objParent = null; }; if ((currObj is IUIComponent)){ lastUIComp = IUIComponent(currObj); }; currObj = objParent; if (((((currObj) && ((currObj is IContainer)))) && (IContainer(currObj).defaultButton))){ break; }; }; if (((!((ContainerGlobals.focusedContainer == currObj))) || ((((ContainerGlobals.focusedContainer == null)) && ((currObj == null)))))){ if (!currObj){ currObj = InteractiveObject(lastUIComp); }; if (((currObj) && ((currObj is IContainer)))){ fm = IContainer(currObj).focusManager; if (!fm){ return; }; defButton = (IContainer(currObj).defaultButton as IButton); if (defButton){ ContainerGlobals.focusedContainer = InteractiveObject(currObj); fm.defaultButton = (defButton as IButton); } else { ContainerGlobals.focusedContainer = InteractiveObject(currObj); fm.defaultButton = null; }; }; }; } } }//package mx.core
Section 229
//ContainerLayout (mx.core.ContainerLayout) package mx.core { public final class ContainerLayout { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; public static const ABSOLUTE:String = "absolute"; mx_internal static const VERSION:String = "3.0.0.0"; public function ContainerLayout(){ super(); } } }//package mx.core
Section 230
//ContainerRawChildrenList (mx.core.ContainerRawChildrenList) package mx.core { import flash.display.*; import flash.geom.*; public class ContainerRawChildrenList implements IChildList { private var owner:Container; mx_internal static const VERSION:String = "3.0.0.0"; public function ContainerRawChildrenList(owner:Container){ super(); this.owner = owner; } public function addChild(child:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_addChild(child)); } public function getChildIndex(child:DisplayObject):int{ return (owner.mx_internal::rawChildren_getChildIndex(child)); } public function setChildIndex(child:DisplayObject, newIndex:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(child, newIndex); } public function getChildByName(name:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(name)); } public function removeChildAt(index:int):DisplayObject{ return (owner.mx_internal::rawChildren_removeChildAt(index)); } public function get numChildren():int{ return (owner.mx_internal::$numChildren); } public function addChildAt(child:DisplayObject, index:int):DisplayObject{ return (owner.mx_internal::rawChildren_addChildAt(child, index)); } public function getObjectsUnderPoint(point:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(point)); } public function contains(child:DisplayObject):Boolean{ return (owner.mx_internal::rawChildren_contains(child)); } public function removeChild(child:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_removeChild(child)); } public function getChildAt(index:int):DisplayObject{ return (owner.mx_internal::rawChildren_getChildAt(index)); } } }//package mx.core
Section 231
//DragSource (mx.core.DragSource) package mx.core { public class DragSource { private var formatHandlers:Object; private var dataHolder:Object; private var _formats:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function DragSource(){ dataHolder = {}; formatHandlers = {}; _formats = []; super(); } public function hasFormat(format:String):Boolean{ var n:int = _formats.length; var i:int; while (i < n) { if (_formats[i] == format){ return (true); }; i++; }; return (false); } public function addData(data:Object, format:String):void{ _formats.push(format); dataHolder[format] = data; } public function dataForFormat(format:String):Object{ var data:Object = dataHolder[format]; if (data){ return (data); }; if (formatHandlers[format]){ return (formatHandlers[format]()); }; return (null); } public function addHandler(handler:Function, format:String):void{ _formats.push(format); formatHandlers[format] = handler; } public function get formats():Array{ return (_formats); } } }//package mx.core
Section 232
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){ super(); this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 233
//EmbeddedFont (mx.core.EmbeddedFont) package mx.core { public class EmbeddedFont { private var _fontName:String; private var _fontStyle:String; mx_internal static const VERSION:String = "3.0.0.0"; public function EmbeddedFont(fontName:String, bold:Boolean, italic:Boolean){ super(); _fontName = fontName; _fontStyle = EmbeddedFontRegistry.getFontStyle(bold, italic); } public function get fontStyle():String{ return (_fontStyle); } public function get fontName():String{ return (_fontName); } } }//package mx.core
Section 234
//EmbeddedFontRegistry (mx.core.EmbeddedFontRegistry) package mx.core { import flash.text.*; import flash.utils.*; public class EmbeddedFontRegistry implements IEmbeddedFontRegistry { mx_internal static const VERSION:String = "3.0.0.0"; private static var fonts:Object = {}; private static var instance:IEmbeddedFontRegistry; public function EmbeddedFontRegistry(){ super(); } public function getAssociatedModuleFactory(font:EmbeddedFont, defaultModuleFactory:IFlexModuleFactory):IFlexModuleFactory{ var found:int; var iter:Object; var fontDictionary:Dictionary = fonts[createFontKey(font)]; if (fontDictionary){ found = fontDictionary[defaultModuleFactory]; if (found){ return (defaultModuleFactory); }; for (iter in fontDictionary) { return ((iter as IFlexModuleFactory)); }; }; return (null); } public function deregisterFont(font:EmbeddedFont, moduleFactory:IFlexModuleFactory):void{ var count:int; var obj:Object; var fontKey:String = createFontKey(font); var fontDictionary:Dictionary = fonts[fontKey]; if (fontDictionary != null){ delete fontDictionary[moduleFactory]; count = 0; for (obj in fontDictionary) { count++; }; if (count == 0){ delete fonts[fontKey]; }; }; } public function getFonts():Array{ var key:String; var fontArray:Array = []; for (key in fonts) { fontArray.push(createEmbeddedFont(key)); }; return (fontArray); } public function registerFont(font:EmbeddedFont, moduleFactory:IFlexModuleFactory):void{ var fontKey:String = createFontKey(font); var fontDictionary:Dictionary = fonts[fontKey]; if (!fontDictionary){ fontDictionary = new Dictionary(true); fonts[fontKey] = fontDictionary; }; fontDictionary[moduleFactory] = 1; } public static function registerFonts(fonts:Object, moduleFactory:IFlexModuleFactory):void{ var f:Object; var fontObj:Object; var fieldIter:String; var bold:Boolean; var italic:Boolean; var fontRegistry:IEmbeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); for (f in fonts) { fontObj = fonts[f]; for (fieldIter in fontObj) { if (fontObj[fieldIter] == false){ } else { if (fieldIter == "regular"){ bold = false; italic = false; } else { if (fieldIter == "boldItalic"){ bold = true; italic = true; } else { if (fieldIter == "bold"){ bold = true; italic = false; } else { if (fieldIter == "italic"){ bold = false; italic = true; }; }; }; }; fontRegistry.registerFont(new EmbeddedFont(String(f), bold, italic), moduleFactory); }; }; }; } public static function getInstance():IEmbeddedFontRegistry{ if (!instance){ instance = new (EmbeddedFontRegistry); }; return (instance); } public static function getFontStyle(bold:Boolean, italic:Boolean):String{ var style:String = FontStyle.REGULAR; if (((bold) && (italic))){ style = FontStyle.BOLD_ITALIC; } else { if (bold){ style = FontStyle.BOLD; } else { if (italic){ style = FontStyle.ITALIC; }; }; }; return (style); } private static function createFontKey(font:EmbeddedFont):String{ return ((font.fontName + font.fontStyle)); } private static function createEmbeddedFont(key:String):EmbeddedFont{ var fontName:String; var fontBold:Boolean; var fontItalic:Boolean; var index:int = endsWith(key, FontStyle.REGULAR); if (index > 0){ fontName = key.substring(0, index); return (new EmbeddedFont(fontName, false, false)); }; index = endsWith(key, FontStyle.BOLD); if (index > 0){ fontName = key.substring(0, index); return (new EmbeddedFont(fontName, true, false)); }; index = endsWith(key, FontStyle.BOLD_ITALIC); if (index > 0){ fontName = key.substring(0, index); return (new EmbeddedFont(fontName, true, true)); }; index = endsWith(key, FontStyle.ITALIC); if (index > 0){ fontName = key.substring(0, index); return (new EmbeddedFont(fontName, false, true)); }; return (new EmbeddedFont("", false, false)); } private static function endsWith(s:String, match:String):int{ var index:int = s.lastIndexOf(match); if ((((index > 0)) && (((index + match.length) == s.length)))){ return (index); }; return (-1); } } }//package mx.core
Section 235
//EventPriority (mx.core.EventPriority) package mx.core { public final class EventPriority { public static const DEFAULT:int = 0; public static const BINDING:int = 100; public static const DEFAULT_HANDLER:int = -50; public static const EFFECT:int = -100; public static const CURSOR_MANAGEMENT:int = 200; mx_internal static const VERSION:String = "3.0.0.0"; public function EventPriority(){ super(); } } }//package mx.core
Section 236
//FlexLoader (mx.core.FlexLoader) package mx.core { import flash.display.*; import mx.utils.*; public class FlexLoader extends Loader { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexLoader(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 237
//FlexShape (mx.core.FlexShape) package mx.core { import flash.display.*; import mx.utils.*; public class FlexShape extends Shape { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexShape(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 238
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexSprite(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 239
//FlexTextField (mx.core.FlexTextField) package mx.core { import flash.text.*; import mx.utils.*; public class FlexTextField extends TextField { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexTextField(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 240
//FlexVersion (mx.core.FlexVersion) package mx.core { import mx.resources.*; public class FlexVersion { public static const VERSION_2_0_1:uint = 33554433; public static const CURRENT_VERSION:uint = 50331648; public static const VERSION_3_0:uint = 50331648; public static const VERSION_2_0:uint = 33554432; public static const VERSION_ALREADY_READ:String = "versionAlreadyRead"; public static const VERSION_ALREADY_SET:String = "versionAlreadySet"; mx_internal static const VERSION:String = "3.0.0.0"; private static var compatibilityVersionChanged:Boolean = false; private static var _compatibilityErrorFunction:Function; private static var _compatibilityVersion:uint = 50331648; private static var compatibilityVersionRead:Boolean = false; public function FlexVersion(){ super(); } mx_internal static function changeCompatibilityVersionString(value:String):void{ var pieces:Array = value.split("."); var major:uint = parseInt(pieces[0]); var minor:uint = parseInt(pieces[1]); var update:uint = parseInt(pieces[2]); _compatibilityVersion = (((major << 24) + (minor << 16)) + update); } public static function set compatibilityVersion(value:uint):void{ var s:String; if (value == _compatibilityVersion){ return; }; if (compatibilityVersionChanged){ if (compatibilityErrorFunction == null){ s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET); throw (new Error(s)); }; compatibilityErrorFunction(value, VERSION_ALREADY_SET); }; if (compatibilityVersionRead){ if (compatibilityErrorFunction == null){ s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ); throw (new Error(s)); }; compatibilityErrorFunction(value, VERSION_ALREADY_READ); }; _compatibilityVersion = value; compatibilityVersionChanged = true; } public static function get compatibilityVersion():uint{ compatibilityVersionRead = true; return (_compatibilityVersion); } public static function set compatibilityErrorFunction(value:Function):void{ _compatibilityErrorFunction = value; } public static function set compatibilityVersionString(value:String):void{ var pieces:Array = value.split("."); var major:uint = parseInt(pieces[0]); var minor:uint = parseInt(pieces[1]); var update:uint = parseInt(pieces[2]); compatibilityVersion = (((major << 24) + (minor << 16)) + update); } public static function get compatibilityErrorFunction():Function{ return (_compatibilityErrorFunction); } public static function get compatibilityVersionString():String{ var major:uint = ((compatibilityVersion >> 24) & 0xFF); var minor:uint = ((compatibilityVersion >> 16) & 0xFF); var update:uint = (compatibilityVersion & 0xFFFF); return (((((major.toString() + ".") + minor.toString()) + ".") + update.toString())); } } }//package mx.core
Section 241
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 242
//IButton (mx.core.IButton) package mx.core { public interface IButton extends IUIComponent { function get emphasized():Boolean; function set emphasized(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IButton.as:Boolean):void; function callLater(_arg1:Function, _arg2:Array=null):void; } }//package mx.core
Section 243
//IChildList (mx.core.IChildList) package mx.core { import flash.display.*; import flash.geom.*; public interface IChildList { function get numChildren():int; function removeChild(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject; function getChildByName(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IChildList.as:String):DisplayObject; function removeChildAt(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject; function getChildIndex(:DisplayObject):int; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function getObjectsUnderPoint(child:Point):Array; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function getChildAt(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject; function addChild(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject; function contains(flash.display:DisplayObject):Boolean; } }//package mx.core
Section 244
//IConstraintClient (mx.core.IConstraintClient) package mx.core { public interface IConstraintClient { function setConstraintValue(_arg1:String, _arg2):void; function getConstraintValue(*:String); } }//package mx.core
Section 245
//IContainer (mx.core.IContainer) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.text.*; import flash.media.*; public interface IContainer extends IUIComponent { function set hitArea(mx.core:IContainer/mx.core:IContainer:graphics/get:Sprite):void; function swapChildrenAt(_arg1:int, _arg2:int):void; function getChildByName(Graphics:String):DisplayObject; function get doubleClickEnabled():Boolean; function get graphics():Graphics; function get useHandCursor():Boolean; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function set mouseChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function set creatingContentPane(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function get textSnapshot():TextSnapshot; function getChildIndex(value:DisplayObject):int; function set doubleClickEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function getObjectsUnderPoint(lockCenter:Point):Array; function get creatingContentPane():Boolean; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function get soundTransform():SoundTransform; function set useHandCursor(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function get numChildren():int; function contains(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:DisplayObject):Boolean; function get verticalScrollPosition():Number; function set defaultButton(mx.core:IContainer/mx.core:IContainer:graphics/get:IFlexDisplayObject):void; function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void; function set horizontalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void; function get focusManager():IFocusManager; function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void; function set mouseEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function getChildAt(Graphics:int):DisplayObject; function set soundTransform(mx.core:IContainer/mx.core:IContainer:graphics/get:SoundTransform):void; function get tabChildren():Boolean; function get tabIndex():int; function set focusRect(mx.core:IContainer/mx.core:IContainer:graphics/get:Object):void; function get hitArea():Sprite; function get mouseChildren():Boolean; function removeChildAt(Graphics:int):DisplayObject; function get defaultButton():IFlexDisplayObject; function stopDrag():void; function set tabEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function get horizontalScrollPosition():Number; function get focusRect():Object; function get viewMetrics():EdgeMetrics; function set verticalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void; function get dropTarget():DisplayObject; function get mouseEnabled():Boolean; function set tabChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function set buttonMode(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void; function get tabEnabled():Boolean; function get buttonMode():Boolean; function removeChild(Graphics:DisplayObject):DisplayObject; function set tabIndex(mx.core:IContainer/mx.core:IContainer:graphics/get:int):void; function addChild(Graphics:DisplayObject):DisplayObject; function areInaccessibleObjectsUnderPoint(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:Point):Boolean; } }//package mx.core
Section 246
//IDataRenderer (mx.core.IDataRenderer) package mx.core { public interface IDataRenderer { function get data():Object; function set data(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IDataRenderer.as:Object):void; } }//package mx.core
Section 247
//IDeferredInstantiationUIComponent (mx.core.IDeferredInstantiationUIComponent) package mx.core { public interface IDeferredInstantiationUIComponent extends IUIComponent { function set cacheHeuristic(:Boolean):void; function createReferenceOnParentDocument(:IFlexDisplayObject):void; function get cachePolicy():String; function set id(:String):void; function registerEffects(:Array):void; function executeBindings(:Boolean=false):void; function get id():String; function deleteReferenceOnParentDocument(:IFlexDisplayObject):void; function set descriptor(:UIComponentDescriptor):void; function get descriptor():UIComponentDescriptor; } }//package mx.core
Section 248
//IEmbeddedFontRegistry (mx.core.IEmbeddedFontRegistry) package mx.core { public interface IEmbeddedFontRegistry { function getAssociatedModuleFactory(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):IFlexModuleFactory; function registerFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void; function deregisterFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void; function getFonts():Array; } }//package mx.core
Section 249
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 250
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.display.*; import flash.geom.*; import flash.accessibility.*; import flash.events.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(void:Point):Point; function get name():String; function set width(flash.display:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(flash.display:String):void; function set scaleX(flash.display:Number):void; function set scaleY(flash.display:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(flash.display:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(void:Point):Point; function get height():Number; function set blendMode(flash.display:String):void; function get parent():DisplayObjectContainer; function getBounds(String:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(flash.display:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(flash.display:Number):void; function set accessibilityProperties(flash.display:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(flash.display:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(flash.display:Number):void; function set mask(flash.display:DisplayObject):void; function getRect(String:DisplayObject):Rectangle; function get alpha():Number; function set transform(flash.display:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean; function set opaqueBackground(flash.display:Object):void; function set visible(flash.display:Boolean):void; function get mask():DisplayObject; function set x(flash.display:Number):void; function set y(flash.display:Number):void; function get transform():Transform; function set filters(flash.display:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(flash.display:Number):void; function get stage():Stage; } }//package mx.core
Section 251
//IFlexModule (mx.core.IFlexModule) package mx.core { public interface IFlexModule { function set moduleFactory(:IFlexModuleFactory):void; function get moduleFactory():IFlexModuleFactory; } }//package mx.core
Section 252
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { public interface IFlexModuleFactory { function create(... _args):Object; function info():Object; } }//package mx.core
Section 253
//IFontContextComponent (mx.core.IFontContextComponent) package mx.core { public interface IFontContextComponent { function get fontContext():IFlexModuleFactory; function set fontContext(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IFontContextComponent.as:IFlexModuleFactory):void; } }//package mx.core
Section 254
//IIMESupport (mx.core.IIMESupport) package mx.core { public interface IIMESupport { function set imeMode(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IIMESupport.as:String):void; function get imeMode():String; } }//package mx.core
Section 255
//IInvalidating (mx.core.IInvalidating) package mx.core { public interface IInvalidating { function validateNow():void; function invalidateSize():void; function invalidateDisplayList():void; function invalidateProperties():void; } }//package mx.core
Section 256
//IMXMLObject (mx.core.IMXMLObject) package mx.core { public interface IMXMLObject { function initialized(_arg1:Object, _arg2:String):void; } }//package mx.core
Section 257
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 258
//IPropertyChangeNotifier (mx.core.IPropertyChangeNotifier) package mx.core { import flash.events.*; public interface IPropertyChangeNotifier extends IEventDispatcher, IUID { } }//package mx.core
Section 259
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 260
//IRectangularBorder (mx.core.IRectangularBorder) package mx.core { import flash.geom.*; public interface IRectangularBorder extends IBorder { function get backgroundImageBounds():Rectangle; function get hasBackgroundImage():Boolean; function set backgroundImageBounds(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRectangularBorder.as:Rectangle):void; function layoutBackgroundImage():void; } }//package mx.core
Section 261
//IRepeater (mx.core.IRepeater) package mx.core { public interface IRepeater { function get container():IContainer; function set startingIndex(mx.core:IRepeater/mx.core:IRepeater:container/get:int):void; function get startingIndex():int; function set recycleChildren(mx.core:IRepeater/mx.core:IRepeater:container/get:Boolean):void; function get currentItem():Object; function get count():int; function get recycleChildren():Boolean; function executeChildBindings():void; function set dataProvider(mx.core:IRepeater/mx.core:IRepeater:container/get:Object):void; function initializeRepeater(_arg1:IContainer, _arg2:Boolean):void; function get currentIndex():int; function get dataProvider():Object; function set count(mx.core:IRepeater/mx.core:IRepeater:container/get:int):void; } }//package mx.core
Section 262
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get isDocument():Boolean; function set repeaters(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function initializeRepeaterArrays(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 263
//IStateClient (mx.core.IStateClient) package mx.core { public interface IStateClient { function get currentState():String; function set currentState(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IStateClient.as:String):void; } }//package mx.core
Section 264
//ITextFieldFactory (mx.core.ITextFieldFactory) package mx.core { import flash.text.*; public interface ITextFieldFactory { function createTextField(:IFlexModuleFactory):TextField; } }//package mx.core
Section 265
//IToolTip (mx.core.IToolTip) package mx.core { import flash.geom.*; public interface IToolTip extends IUIComponent { function set text(mx.core:IToolTip/mx.core:IToolTip:screen/get:String):void; function get screen():Rectangle; function get text():String; } }//package mx.core
Section 266
//IUIComponent (mx.core.IUIComponent) package mx.core { import flash.display.*; import mx.managers.*; public interface IUIComponent extends IFlexDisplayObject { function set focusPane(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Sprite):void; function get enabled():Boolean; function set enabled(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void; function set isPopUp(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void; function get explicitMinHeight():Number; function get percentWidth():Number; function get isPopUp():Boolean; function get owner():DisplayObjectContainer; function get percentHeight():Number; function get baselinePosition():Number; function owns(Number:DisplayObject):Boolean; function initialize():void; function get maxWidth():Number; function get minWidth():Number; function getExplicitOrMeasuredWidth():Number; function get explicitMaxWidth():Number; function get explicitMaxHeight():Number; function set percentHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function get minHeight():Number; function set percentWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function get document():Object; function get focusPane():Sprite; function getExplicitOrMeasuredHeight():Number; function set tweeningProperties(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Array):void; function set explicitWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function set measuredMinHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function get explicitMinWidth():Number; function get tweeningProperties():Array; function get maxHeight():Number; function set owner(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void; function set includeInLayout(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void; function setVisible(_arg1:Boolean, _arg2:Boolean=false):void; function parentChanged(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void; function get explicitWidth():Number; function get measuredMinHeight():Number; function set measuredMinWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function set explicitHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void; function get includeInLayout():Boolean; function get measuredMinWidth():Number; function get explicitHeight():Number; function set systemManager(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:ISystemManager):void; function set document(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Object):void; function get systemManager():ISystemManager; } }//package mx.core
Section 267
//IUID (mx.core.IUID) package mx.core { public interface IUID { function get uid():String; function set uid(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IUID.as:String):void; } }//package mx.core
Section 268
//IUITextField (mx.core.IUITextField) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.text.*; import mx.styles.*; public interface IUITextField extends IIMESupport, IFlexModule, IInvalidating, ISimpleStyleClient, IToolTipManagerClient, IUIComponent { function replaceText(_arg1:int, _arg2:int, _arg3:String):void; function get doubleClickEnabled():Boolean; function get nestLevel():int; function get caretIndex():int; function set doubleClickEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get maxScrollH():int; function set nestLevel(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:int):void; function get numLines():int; function get scrollH():int; function setColor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:uint):void; function get maxScrollV():int; function getImageReference(mx.core:IUITextField/mx.core:IUITextField:antiAliasType/set:String):DisplayObject; function get scrollV():int; function get border():Boolean; function get text():String; function get styleSheet():StyleSheet; function getCharBoundaries(String:int):Rectangle; function get background():Boolean; function set scrollH(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:int):void; function getFirstCharInParagraph(value:int):int; function get type():String; function replaceSelectedText(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function set borderColor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:uint):void; function get alwaysShowSelection():Boolean; function get sharpness():Number; function get tabIndex():int; function get textColor():uint; function set defaultTextFormat(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:TextFormat):void; function get condenseWhite():Boolean; function get displayAsPassword():Boolean; function get autoSize():String; function setSelection(_arg1:int, _arg2:int):void; function set scrollV(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:int):void; function set useRichTextClipboard(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get selectionBeginIndex():int; function get selectable():Boolean; function set border(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set multiline(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set background(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set embedFonts(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set text(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function get selectionEndIndex():int; function set mouseWheelEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function appendText(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function get antiAliasType():String; function set styleSheet(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:StyleSheet):void; function set nonInheritingStyles(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Object):void; function set textColor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:uint):void; function get wordWrap():Boolean; function getLineIndexAtPoint(_arg1:Number, _arg2:Number):int; function get htmlText():String; function set tabIndex(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:int):void; function get thickness():Number; function getLineIndexOfChar(value:int):int; function get bottomScrollV():int; function set restrict(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function set alwaysShowSelection(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function getTextFormat(_arg1:int=-1, _arg2:int=-1):TextFormat; function set sharpness(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Number):void; function set type(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function setTextFormat(_arg1:TextFormat, _arg2:int=-1, _arg3:int=-1):void; function set gridFitType(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function getUITextFormat():UITextFormat; function set inheritingStyles(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Object):void; function setFocus():void; function get borderColor():uint; function set condenseWhite(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get textWidth():Number; function getLineOffset(value:int):int; function set displayAsPassword(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set autoSize(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function get defaultTextFormat():TextFormat; function get useRichTextClipboard():Boolean; function get nonZeroTextHeight():Number; function set backgroundColor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:uint):void; function get embedFonts():Boolean; function set selectable(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get multiline():Boolean; function set maxChars(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:int):void; function get textHeight():Number; function get nonInheritingStyles():Object; function getLineText(mx.core:IUITextField/mx.core:IUITextField:alwaysShowSelection/get:int):String; function set focusRect(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Object):void; function get mouseWheelEnabled():Boolean; function get restrict():String; function getParagraphLength(value:int):int; function set mouseEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get gridFitType():String; function get inheritingStyles():Object; function set ignorePadding(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function set antiAliasType(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function get backgroundColor():uint; function getCharIndexAtPoint(_arg1:Number, _arg2:Number):int; function set tabEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get maxChars():int; function get focusRect():Object; function get ignorePadding():Boolean; function get mouseEnabled():Boolean; function get length():int; function set wordWrap(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Boolean):void; function get tabEnabled():Boolean; function set thickness(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:Number):void; function getLineLength(value:int):int; function truncateToFit(:String=null):Boolean; function set htmlText(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;ITextFieldInterface.as:String):void; function getLineMetrics(antiAliasType:int):TextLineMetrics; function getStyle(*:String); } }//package mx.core
Section 269
//LayoutContainer (mx.core.LayoutContainer) package mx.core { import flash.events.*; import mx.containers.utilityClasses.*; import mx.containers.*; public class LayoutContainer extends Container implements IConstraintLayout { private var _constraintColumns:Array; protected var layoutObject:Layout; private var _layout:String;// = "vertical" private var processingCreationQueue:Boolean;// = false protected var boxLayoutClass:Class; private var resizeHandlerAdded:Boolean;// = false private var preloadObj:Object; private var creationQueue:Array; private var _constraintRows:Array; protected var canvasLayoutClass:Class; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var useProgressiveLayout:Boolean = false; public function LayoutContainer(){ layoutObject = new BoxLayout(); canvasLayoutClass = CanvasLayout; boxLayoutClass = BoxLayout; creationQueue = []; _constraintColumns = []; _constraintRows = []; super(); layoutObject.target = this; } public function get constraintColumns():Array{ return (_constraintColumns); } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override protected function layoutChrome(unscaledWidth:Number, unscaledHeight:Number):void{ super.layoutChrome(unscaledWidth, unscaledHeight); if (!doingLayout){ createBorder(); }; } public function set constraintColumns(value:Array):void{ var n:int; var i:int; if (value != _constraintColumns){ n = value.length; i = 0; while (i < n) { ConstraintColumn(value[i]).container = this; i++; }; _constraintColumns = value; invalidateSize(); invalidateDisplayList(); }; } public function set layout(value:String):void{ if (_layout != value){ _layout = value; if (layoutObject){ layoutObject.target = null; }; if (_layout == ContainerLayout.ABSOLUTE){ layoutObject = new canvasLayoutClass(); } else { layoutObject = new boxLayoutClass(); if (_layout == ContainerLayout.VERTICAL){ BoxLayout(layoutObject).direction = BoxDirection.VERTICAL; } else { BoxLayout(layoutObject).direction = BoxDirection.HORIZONTAL; }; }; if (layoutObject){ layoutObject.target = this; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("layoutChanged")); }; } public function get constraintRows():Array{ return (_constraintRows); } override protected function measure():void{ super.measure(); layoutObject.measure(); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ super.updateDisplayList(unscaledWidth, unscaledHeight); layoutObject.updateDisplayList(unscaledWidth, unscaledHeight); createBorder(); } public function get layout():String{ return (_layout); } public function set constraintRows(value:Array):void{ var n:int; var i:int; if (value != _constraintRows){ n = value.length; i = 0; while (i < n) { ConstraintRow(value[i]).container = this; i++; }; _constraintRows = value; invalidateSize(); invalidateDisplayList(); }; } } }//package mx.core
Section 270
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 271
//ResourceModuleRSLItem (mx.core.ResourceModuleRSLItem) package mx.core { import flash.events.*; import mx.events.*; import mx.resources.*; public class ResourceModuleRSLItem extends RSLItem { mx_internal static const VERSION:String = "3.0.0.0"; public function ResourceModuleRSLItem(url:String){ super(url); } private function resourceErrorHandler(event:ResourceEvent):void{ var errorEvent:IOErrorEvent = new IOErrorEvent(IOErrorEvent.IO_ERROR); errorEvent.text = event.errorText; super.itemErrorHandler(errorEvent); } override public function load(progressHandler:Function, completeHandler:Function, ioErrorHandler:Function, securityErrorHandler:Function, rslErrorHandler:Function):void{ chainedProgressHandler = progressHandler; chainedCompleteHandler = completeHandler; chainedIOErrorHandler = ioErrorHandler; chainedSecurityErrorHandler = securityErrorHandler; chainedRSLErrorHandler = rslErrorHandler; var resourceManager:IResourceManager = ResourceManager.getInstance(); var eventDispatcher:IEventDispatcher = resourceManager.loadResourceModule(url); eventDispatcher.addEventListener(ResourceEvent.PROGRESS, itemProgressHandler); eventDispatcher.addEventListener(ResourceEvent.COMPLETE, itemCompleteHandler); eventDispatcher.addEventListener(ResourceEvent.ERROR, resourceErrorHandler); } } }//package mx.core
Section 272
//RSLItem (mx.core.RSLItem) package mx.core { import flash.display.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.net.*; public class RSLItem { protected var chainedSecurityErrorHandler:Function; public var total:uint;// = 0 public var loaded:uint;// = 0 private var completed:Boolean;// = false protected var chainedRSLErrorHandler:Function; protected var chainedIOErrorHandler:Function; protected var chainedCompleteHandler:Function; private var errorText:String; protected var chainedProgressHandler:Function; public var urlRequest:URLRequest; protected var url:String; mx_internal static const VERSION:String = "3.0.0.0"; public function RSLItem(url:String){ super(); this.url = url; } public function itemProgressHandler(event:ProgressEvent):void{ loaded = event.bytesLoaded; total = event.bytesTotal; if (chainedProgressHandler != null){ chainedProgressHandler(event); }; } public function itemErrorHandler(event:ErrorEvent):void{ errorText = decodeURI(event.text); completed = true; loaded = 0; total = 0; trace(errorText); if ((((event.type == IOErrorEvent.IO_ERROR)) && (!((chainedIOErrorHandler == null))))){ chainedIOErrorHandler(event); } else { if ((((event.type == SecurityErrorEvent.SECURITY_ERROR)) && (!((chainedSecurityErrorHandler == null))))){ chainedSecurityErrorHandler(event); } else { if ((((event.type == RSLEvent.RSL_ERROR)) && (!((chainedRSLErrorHandler == null))))){ chainedRSLErrorHandler(event); }; }; }; } public function load(progressHandler:Function, completeHandler:Function, ioErrorHandler:Function, securityErrorHandler:Function, rslErrorHandler:Function):void{ chainedProgressHandler = progressHandler; chainedCompleteHandler = completeHandler; chainedIOErrorHandler = ioErrorHandler; chainedSecurityErrorHandler = securityErrorHandler; chainedRSLErrorHandler = rslErrorHandler; var loader:Loader = new Loader(); var loaderContext:LoaderContext = new LoaderContext(); urlRequest = new URLRequest(url); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, itemProgressHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, itemCompleteHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, itemErrorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler); loaderContext.applicationDomain = ApplicationDomain.currentDomain; loader.load(urlRequest, loaderContext); } public function itemCompleteHandler(event:Event):void{ completed = true; if (chainedCompleteHandler != null){ chainedCompleteHandler(event); }; } } }//package mx.core
Section 273
//RSLListLoader (mx.core.RSLListLoader) package mx.core { import flash.events.*; public class RSLListLoader { private var chainedSecurityErrorHandler:Function; private var chainedIOErrorHandler:Function; private var rslList:Array; private var chainedRSLErrorHandler:Function; private var chainedCompleteHandler:Function; private var currentIndex:int;// = 0 private var chainedProgressHandler:Function; mx_internal static const VERSION:String = "3.0.0.0"; public function RSLListLoader(rslList:Array){ rslList = []; super(); this.rslList = rslList; } private function loadNext():void{ if (!isDone()){ currentIndex++; if (currentIndex < rslList.length){ rslList[currentIndex].load(chainedProgressHandler, listCompleteHandler, listIOErrorHandler, listSecurityErrorHandler, chainedRSLErrorHandler); }; }; } public function getIndex():int{ return (currentIndex); } public function load(progressHandler:Function, completeHandler:Function, ioErrorHandler:Function, securityErrorHandler:Function, rslErrorHandler:Function):void{ chainedProgressHandler = progressHandler; chainedCompleteHandler = completeHandler; chainedIOErrorHandler = ioErrorHandler; chainedSecurityErrorHandler = securityErrorHandler; chainedRSLErrorHandler = rslErrorHandler; currentIndex = -1; loadNext(); } private function listCompleteHandler(event:Event):void{ if (chainedCompleteHandler != null){ chainedCompleteHandler(event); }; loadNext(); } public function isDone():Boolean{ return ((currentIndex >= rslList.length)); } private function listSecurityErrorHandler(event:Event):void{ if (chainedSecurityErrorHandler != null){ chainedSecurityErrorHandler(event); }; } public function getItemCount():int{ return (rslList.length); } public function getItem(index:int):RSLItem{ if ((((index < 0)) || ((index >= rslList.length)))){ return (null); }; return (rslList[index]); } private function listIOErrorHandler(event:Event):void{ if (chainedIOErrorHandler != null){ chainedIOErrorHandler(event); }; } } }//package mx.core
Section 274
//ScrollPolicy (mx.core.ScrollPolicy) package mx.core { public final class ScrollPolicy { public static const AUTO:String = "auto"; public static const ON:String = "on"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OFF:String = "off"; public function ScrollPolicy(){ super(); } } }//package mx.core
Section 275
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.0.0.0"; private static var classMap:Object = {}; public function Singleton(){ super(); } public static function registerClass(interfaceName:String, clazz:Class):void{ var c:Class = classMap[interfaceName]; if (!c){ classMap[interfaceName] = clazz; }; } public static function getClass(interfaceName:String):Class{ return (classMap[interfaceName]); } public static function getInstance(interfaceName:String):Object{ var c:Class = classMap[interfaceName]; if (!c){ throw (new Error((("No class registered for interface '" + interfaceName) + "'."))); }; return (c["getInstance"]()); } } }//package mx.core
Section 276
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function SpriteAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 277
//TextFieldFactory (mx.core.TextFieldFactory) package mx.core { import flash.text.*; import flash.utils.*; public class TextFieldFactory implements ITextFieldFactory { private var textFields:Dictionary; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:ITextFieldFactory; public function TextFieldFactory(){ textFields = new Dictionary(true); super(); } public function createTextField(moduleFactory:IFlexModuleFactory):TextField{ var iter:Object; var textField:TextField; var textFieldDictionary:Dictionary = textFields[moduleFactory]; if (textFieldDictionary){ for (iter in textFieldDictionary) { textField = TextField(iter); break; }; }; if (!textField){ if (moduleFactory){ textField = TextField(moduleFactory.create("flash.text.TextField")); } else { textField = new TextField(); }; if (!textFieldDictionary){ textFieldDictionary = new Dictionary(true); }; textFieldDictionary[textField] = 1; textFields[moduleFactory] = textFieldDictionary; }; return (textField); } public static function getInstance():ITextFieldFactory{ if (!instance){ instance = new (TextFieldFactory); }; return (instance); } } }//package mx.core
Section 278
//UIComponent (mx.core.UIComponent) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.text.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.resources.*; import flash.system.*; import mx.graphics.*; import mx.modules.*; import mx.automation.*; import mx.controls.*; import mx.states.*; import mx.effects.*; import mx.binding.*; import flash.utils.*; import mx.utils.*; import mx.validators.*; public class UIComponent extends FlexSprite implements IAutomationObject, IChildList, IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier, IRepeaterClient, ISimpleStyleClient, IStyleClient, IToolTipManagerClient, IUIComponent, IValidatorListener, IStateClient, IConstraintClient { private var cachedEmbeddedFont:EmbeddedFont;// = null private var errorStringChanged:Boolean;// = false mx_internal var overlay:UIComponent; mx_internal var automaticRadioButtonGroups:Object; private var _currentState:String; private var _isPopUp:Boolean; private var _repeaters:Array; private var _systemManager:ISystemManager; private var _measuredWidth:Number;// = 0 private var methodQueue:Array; mx_internal var _width:Number; private var _tweeningProperties:Array; private var _validationSubField:String; private var _endingEffectInstances:Array; mx_internal var saveBorderColor:Boolean;// = true mx_internal var overlayColor:uint; mx_internal var overlayReferenceCount:int;// = 0 private var hasFontContextBeenSaved:Boolean;// = false private var _repeaterIndices:Array; private var oldExplicitWidth:Number; mx_internal var _descriptor:UIComponentDescriptor; private var _initialized:Boolean;// = false private var _focusEnabled:Boolean;// = true private var cacheAsBitmapCount:int;// = 0 private var requestedCurrentState:String; private var listeningForRender:Boolean;// = false mx_internal var invalidateDisplayListFlag:Boolean;// = false private var oldScaleX:Number;// = 1 private var oldScaleY:Number;// = 1 mx_internal var _explicitMaxHeight:Number; mx_internal var invalidatePropertiesFlag:Boolean;// = false private var hasFocusRect:Boolean;// = false mx_internal var invalidateSizeFlag:Boolean;// = false private var _scaleX:Number;// = 1 private var _scaleY:Number;// = 1 private var _styleDeclaration:CSSStyleDeclaration; private var _resourceManager:IResourceManager; mx_internal var _affectedProperties:Object; mx_internal var _documentDescriptor:UIComponentDescriptor; private var _processedDescriptors:Boolean;// = false mx_internal var origBorderColor:Number; private var _focusManager:IFocusManager; private var _cachePolicy:String;// = "auto" private var _measuredHeight:Number;// = 0 private var _id:String; private var _owner:DisplayObjectContainer; public var transitions:Array; mx_internal var _parent:DisplayObjectContainer; private var _measuredMinWidth:Number;// = 0 private var oldMinWidth:Number; private var _explicitWidth:Number; private var _enabled:Boolean;// = false public var states:Array; private var _mouseFocusEnabled:Boolean;// = true private var oldHeight:Number;// = 0 private var _currentStateChanged:Boolean; private var cachedTextFormat:UITextFormat; mx_internal var _height:Number; private var _automationDelegate:IAutomationObject; private var _percentWidth:Number; private var _automationName:String;// = null private var _isEffectStarted:Boolean;// = false private var _styleName:Object; private var lastUnscaledWidth:Number; mx_internal var _document:Object; mx_internal var _errorString:String;// = "" private var oldExplicitHeight:Number; private var _nestLevel:int;// = 0 private var _systemManagerDirty:Boolean;// = false private var _explicitHeight:Number; mx_internal var _toolTip:String; private var _filters:Array; private var _focusPane:Sprite; private var playStateTransition:Boolean;// = true private var _nonInheritingStyles:Object; private var _showInAutomationHierarchy:Boolean;// = true private var _moduleFactory:IFlexModuleFactory; private var preventDrawFocus:Boolean;// = false private var oldX:Number;// = 0 private var oldY:Number;// = 0 private var _instanceIndices:Array; private var _visible:Boolean;// = true private var _inheritingStyles:Object; private var _includeInLayout:Boolean;// = true mx_internal var _effectsStarted:Array; mx_internal var _explicitMinWidth:Number; private var lastUnscaledHeight:Number; mx_internal var _explicitMaxWidth:Number; private var _measuredMinHeight:Number;// = 0 private var _uid:String; private var _currentTransitionEffect:IEffect; private var _updateCompletePendingFlag:Boolean;// = false private var oldMinHeight:Number; private var _flexContextMenu:IFlexContextMenu; mx_internal var _explicitMinHeight:Number; private var _percentHeight:Number; private var oldEmbeddedFontContext:IFlexModuleFactory;// = null private var oldWidth:Number;// = 0 public static const DEFAULT_MEASURED_WIDTH:Number = 160; public static const DEFAULT_MAX_WIDTH:Number = 10000; public static const DEFAULT_MEASURED_MIN_HEIGHT:Number = 22; public static const DEFAULT_MAX_HEIGHT:Number = 10000; public static const DEFAULT_MEASURED_HEIGHT:Number = 22; mx_internal static const VERSION:String = "3.0.0.0"; public static const DEFAULT_MEASURED_MIN_WIDTH:Number = 40; mx_internal static var dispatchEventHook:Function; private static var fakeMouseY:QName = new QName(mx_internal, "_mouseY"); mx_internal static var createAccessibilityImplementation:Function; mx_internal static var STYLE_UNINITIALIZED:Object = {}; private static var fakeMouseX:QName = new QName(mx_internal, "_mouseX"); private static var _embeddedFontRegistry:IEmbeddedFontRegistry; public function UIComponent(){ methodQueue = []; _resourceManager = ResourceManager.getInstance(); _inheritingStyles = UIComponent.STYLE_UNINITIALIZED; _nonInheritingStyles = UIComponent.STYLE_UNINITIALIZED; states = []; transitions = []; _effectsStarted = []; _affectedProperties = {}; _endingEffectInstances = []; super(); focusRect = false; tabEnabled = (this is IFocusManagerComponent); tabChildren = false; enabled = true; $visible = false; addEventListener(Event.ADDED, addedHandler); addEventListener(Event.REMOVED, removedHandler); if ((this is IFocusManagerComponent)){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; resourcesChanged(); resourceManager.addEventListener(Event.CHANGE, resourceManager_changeHandler, false, 0, true); _width = super.width; _height = super.height; } override public function get filters():Array{ return ((_filters) ? _filters : super.filters); } public function get toolTip():String{ return (_toolTip); } private function transition_effectEndHandler(event:EffectEvent):void{ _currentTransitionEffect = null; } public function get nestLevel():int{ return (_nestLevel); } protected function adjustFocusRect(obj:DisplayObject=null):void{ var rectCol:Number; var thickness:Number; var pt:Point; var rotRad:Number; if (!obj){ obj = this; }; if (((isNaN(obj.width)) || (isNaN(obj.height)))){ return; }; var fm:IFocusManager = focusManager; if (!fm){ return; }; var focusObj:IFlexDisplayObject = IFlexDisplayObject(getFocusObject()); if (focusObj){ if (((errorString) && (!((errorString == ""))))){ rectCol = getStyle("errorColor"); } else { rectCol = getStyle("themeColor"); }; thickness = getStyle("focusThickness"); if ((focusObj is IStyleClient)){ IStyleClient(focusObj).setStyle("focusColor", rectCol); }; focusObj.setActualSize((obj.width + (2 * thickness)), (obj.height + (2 * thickness))); if (rotation){ rotRad = ((rotation * Math.PI) / 180); pt = new Point((obj.x - (thickness * (Math.cos(rotRad) - Math.sin(rotRad)))), (obj.y - (thickness * (Math.cos(rotRad) + Math.sin(rotRad))))); DisplayObject(focusObj).rotation = rotation; } else { pt = new Point((obj.x - thickness), (obj.y - thickness)); }; if (obj.parent == this){ pt.x = (pt.x + x); pt.y = (pt.y + y); }; pt = parent.localToGlobal(pt); pt = parent.globalToLocal(pt); focusObj.move(pt.x, pt.y); if ((focusObj is IInvalidating)){ IInvalidating(focusObj).validateNow(); } else { if ((focusObj is IProgrammaticSkin)){ IProgrammaticSkin(focusObj).validateNow(); }; }; }; } mx_internal function setUnscaledWidth(value:Number):void{ var scaledValue:Number = (value * Math.abs(oldScaleX)); if (_explicitWidth == scaledValue){ return; }; if (!isNaN(scaledValue)){ _percentWidth = NaN; }; _explicitWidth = scaledValue; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; } public function set nestLevel(value:int):void{ var childList:IChildList; var n:int; var i:int; var ui:ILayoutManagerClient; var textField:IUITextField; if ((((value > 1)) && (!((_nestLevel == value))))){ _nestLevel = value; updateCallbacks(); childList = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); n = childList.numChildren; i = 0; while (i < n) { ui = (childList.getChildAt(i) as ILayoutManagerClient); if (ui){ ui.nestLevel = (value + 1); } else { textField = (childList.getChildAt(i) as IUITextField); if (textField){ textField.nestLevel = (value + 1); }; }; i++; }; }; } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } private function callLaterDispatcher(event:Event):void{ var callLaterErrorEvent:DynamicEvent; var event = event; UIComponentGlobals.callLaterDispatcherCount++; if (!UIComponentGlobals.catchCallLaterExceptions){ callLaterDispatcher2(event); } else { callLaterDispatcher2(event); //unresolved jump var _slot1 = e; callLaterErrorEvent = new DynamicEvent("callLaterError"); callLaterErrorEvent.error = _slot1; systemManager.dispatchEvent(callLaterErrorEvent); }; UIComponentGlobals.callLaterDispatcherCount--; } public function getStyle(styleProp:String){ return ((StyleManager.inheritingStyles[styleProp]) ? _inheritingStyles[styleProp] : _nonInheritingStyles[styleProp]); } final mx_internal function get $width():Number{ return (super.width); } public function get className():String{ var name:String = getQualifiedClassName(this); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; return (name); } public function verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{ UIComponentGlobals.tempMatrix.createGradientBox(width, height, (Math.PI / 2), x, y); return (UIComponentGlobals.tempMatrix); } public function setCurrentState(stateName:String, playTransition:Boolean=true):void{ if (((!((stateName == currentState))) && (!(((isBaseState(stateName)) && (isBaseState(currentState))))))){ requestedCurrentState = stateName; playStateTransition = playTransition; if (initialized){ commitCurrentState(); } else { _currentStateChanged = true; addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; } private function getBaseStates(state:State):Array{ var baseStates:Array = []; while (((state) && (state.basedOn))) { baseStates.push(state.basedOn); state = getState(state.basedOn); }; return (baseStates); } public function set minHeight(value:Number):void{ if (explicitMinHeight == value){ return; }; explicitMinHeight = value; } protected function isOurFocus(target:DisplayObject):Boolean{ return ((target == this)); } public function get errorString():String{ return (_errorString); } mx_internal function setUnscaledHeight(value:Number):void{ var scaledValue:Number = (value * Math.abs(oldScaleY)); if (_explicitHeight == scaledValue){ return; }; if (!isNaN(scaledValue)){ _percentHeight = NaN; }; _explicitHeight = scaledValue; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; } public function get automationName():String{ if (_automationName){ return (_automationName); }; if (automationDelegate){ return (automationDelegate.automationName); }; return (""); } final mx_internal function set $width(value:Number):void{ super.width = value; } public function invalidateDisplayList():void{ if (!invalidateDisplayListFlag){ invalidateDisplayListFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; }; } mx_internal function initThemeColor():Boolean{ var tc:Object; var rc:Number; var sc:Number; var classSelector:Object; var typeSelectors:Array; var i:int; var typeSelector:CSSStyleDeclaration; var styleName:Object = _styleName; if (_styleDeclaration){ tc = _styleDeclaration.getStyle("themeColor"); rc = _styleDeclaration.getStyle("rollOverColor"); sc = _styleDeclaration.getStyle("selectionColor"); }; if ((((((tc === null)) || (!(StyleManager.isValidStyleValue(tc))))) && (((styleName) && (!((styleName is ISimpleStyleClient))))))){ classSelector = ((styleName is String)) ? StyleManager.getStyleDeclaration(("." + styleName)) : styleName; if (classSelector){ tc = classSelector.getStyle("themeColor"); rc = classSelector.getStyle("rollOverColor"); sc = classSelector.getStyle("selectionColor"); }; }; if ((((tc === null)) || (!(StyleManager.isValidStyleValue(tc))))){ typeSelectors = getClassStyleDeclarations(); i = 0; while (i < typeSelectors.length) { typeSelector = typeSelectors[i]; if (typeSelector){ tc = typeSelector.getStyle("themeColor"); rc = typeSelector.getStyle("rollOverColor"); sc = typeSelector.getStyle("selectionColor"); }; if (((!((tc === null))) && (StyleManager.isValidStyleValue(tc)))){ break; }; i++; }; }; if (((((((!((tc === null))) && (StyleManager.isValidStyleValue(tc)))) && (isNaN(rc)))) && (isNaN(sc)))){ setThemeColor(tc); return (true); }; return (((((((!((tc === null))) && (StyleManager.isValidStyleValue(tc)))) && (!(isNaN(rc))))) && (!(isNaN(sc))))); } override public function get scaleX():Number{ return (_scaleX); } public function get uid():String{ if (!_uid){ _uid = toString(); }; return (_uid); } override public function get mouseX():Number{ if (((((!(root)) || ((root is Stage)))) || ((root[fakeMouseX] === undefined)))){ return (super.mouseX); }; return (globalToLocal(new Point(root[fakeMouseX], 0)).x); } override public function stopDrag():void{ super.stopDrag(); invalidateProperties(); dispatchEvent(new Event("xChanged")); dispatchEvent(new Event("yChanged")); } public function get focusPane():Sprite{ return (_focusPane); } public function set tweeningProperties(value:Array):void{ _tweeningProperties = value; } public function horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{ UIComponentGlobals.tempMatrix.createGradientBox(width, height, 0, x, y); return (UIComponentGlobals.tempMatrix); } public function get isDocument():Boolean{ return ((document == this)); } public function set validationSubField(value:String):void{ _validationSubField = value; } override public function get scaleY():Number{ return (_scaleY); } protected function keyDownHandler(event:KeyboardEvent):void{ } protected function createInFontContext(classObj:Class):Object{ hasFontContextBeenSaved = true; var fontName:String = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); var fontWeight:String = getStyle("fontWeight"); var fontStyle:String = getStyle("fontStyle"); var bold = (fontWeight == "bold"); var italic = (fontStyle == "italic"); oldEmbeddedFontContext = getFontContext(fontName, bold, italic); var obj:Object = createInModuleContext((oldEmbeddedFontContext) ? oldEmbeddedFontContext : moduleFactory, getQualifiedClassName(classObj)); if (obj == null){ obj = new (classObj); }; return (obj); } public function get screen():Rectangle{ var sm:ISystemManager = systemManager; return ((sm) ? sm.screen : null); } protected function focusInHandler(event:FocusEvent):void{ var fm:IFocusManager; if (isOurFocus(DisplayObject(event.target))){ fm = focusManager; if (((fm) && (fm.showFocusIndicator))){ drawFocus(true); }; ContainerGlobals.checkFocus(event.relatedObject, this); }; } public function hasFontContextChanged():Boolean{ if (!hasFontContextBeenSaved){ return (false); }; var fontName:String = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); var fontWeight:String = getStyle("fontWeight"); var fontStyle:String = getStyle("fontStyle"); var bold = (fontWeight == "bold"); var italic = (fontStyle == "italic"); var embeddedFont:EmbeddedFont = getEmbeddedFont(fontName, bold, italic); var fontContext:IFlexModuleFactory = embeddedFontRegistry.getAssociatedModuleFactory(embeddedFont, moduleFactory); return (!((fontContext == oldEmbeddedFontContext))); } public function get explicitHeight():Number{ return (_explicitHeight); } override public function get x():Number{ return (super.x); } override public function get y():Number{ return (super.y); } override public function get visible():Boolean{ return (_visible); } mx_internal function addOverlay(color:uint, targetArea:RoundedRectangle=null):void{ if (!overlay){ overlayColor = color; overlay = new UIComponent(); overlay.name = "overlay"; overlay.$visible = true; fillOverlay(overlay, color, targetArea); attachOverlay(); if (!targetArea){ addEventListener(ResizeEvent.RESIZE, overlay_resizeHandler); }; overlay.x = 0; overlay.y = 0; invalidateDisplayList(); overlayReferenceCount = 1; } else { overlayReferenceCount++; }; dispatchEvent(new ChildExistenceChangedEvent(ChildExistenceChangedEvent.OVERLAY_CREATED, true, false, overlay)); } public function get percentWidth():Number{ return (_percentWidth); } public function set explicitMinHeight(value:Number):void{ if (_explicitMinHeight == value){ return; }; _explicitMinHeight = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMinHeightChanged")); } public function set automationName(value:String):void{ _automationName = value; } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } mx_internal function getEmbeddedFont(fontName:String, bold:Boolean, italic:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == fontName)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(bold, italic))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(fontName, bold, italic); return (cachedEmbeddedFont); } public function stylesInitialized():void{ } public function set errorString(value:String):void{ var oldValue:String = _errorString; _errorString = value; ToolTipManager.registerErrorString(this, oldValue, value); errorStringChanged = true; invalidateProperties(); dispatchEvent(new Event("errorStringChanged")); } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } final mx_internal function set $height(value:Number):void{ super.height = value; } protected function keyUpHandler(event:KeyboardEvent):void{ } final mx_internal function $removeChild(child:DisplayObject):DisplayObject{ return (super.removeChild(child)); } override public function set scaleX(value:Number):void{ if (_scaleX == value){ return; }; _scaleX = value; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("scaleXChanged")); } override public function set scaleY(value:Number):void{ if (_scaleY == value){ return; }; _scaleY = value; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("scaleYChanged")); } public function set uid(uid:String):void{ this._uid = uid; } public function createAutomationIDPart(child:IAutomationObject):Object{ if (automationDelegate){ return (automationDelegate.createAutomationIDPart(child)); }; return (null); } public function getAutomationChildAt(index:int):IAutomationObject{ if (automationDelegate){ return (automationDelegate.getAutomationChildAt(index)); }; return (null); } mx_internal function get isEffectStarted():Boolean{ return (_isEffectStarted); } override public function get parent():DisplayObjectContainer{ return ((_parent) ? _parent : super.parent); } override public function get mouseY():Number{ if (((((!(root)) || ((root is Stage)))) || ((root[fakeMouseY] === undefined)))){ return (super.mouseY); }; return (globalToLocal(new Point(0, root[fakeMouseY])).y); } public function setActualSize(w:Number, h:Number):void{ var changed:Boolean; if (_width != w){ _width = w; dispatchEvent(new Event("widthChanged")); changed = true; }; if (_height != h){ _height = h; dispatchEvent(new Event("heightChanged")); changed = true; }; if (changed){ invalidateDisplayList(); dispatchResizeEvent(); }; } private function focusObj_resizeHandler(event:ResizeEvent):void{ adjustFocusRect(); } mx_internal function adjustSizesForScaleChanges():void{ var scalingFactor:Number; var xScale:Number = scaleX; var yScale:Number = scaleY; if (xScale != oldScaleX){ scalingFactor = Math.abs((xScale / oldScaleX)); if (explicitMinWidth){ explicitMinWidth = (explicitMinWidth * scalingFactor); }; if (!isNaN(explicitWidth)){ explicitWidth = (explicitWidth * scalingFactor); }; if (explicitMaxWidth){ explicitMaxWidth = (explicitMaxWidth * scalingFactor); }; oldScaleX = xScale; }; if (yScale != oldScaleY){ scalingFactor = Math.abs((yScale / oldScaleY)); if (explicitMinHeight){ explicitMinHeight = (explicitMinHeight * scalingFactor); }; if (explicitHeight){ explicitHeight = (explicitHeight * scalingFactor); }; if (explicitMaxHeight){ explicitMaxHeight = (explicitMaxHeight * scalingFactor); }; oldScaleY = yScale; }; } public function set focusPane(value:Sprite):void{ if (value){ addChild(value); value.x = 0; value.y = 0; value.scrollRect = null; _focusPane = value; } else { removeChild(_focusPane); _focusPane.mask = null; _focusPane = null; }; } public function determineTextFormatFromStyles():UITextFormat{ var font:String; var textFormat:UITextFormat = cachedTextFormat; if (!textFormat){ font = StringUtil.trimArrayElements(_inheritingStyles.fontFamily, ","); textFormat = new UITextFormat(getNonNullSystemManager(), font); textFormat.moduleFactory = moduleFactory; textFormat.align = _inheritingStyles.textAlign; textFormat.bold = (_inheritingStyles.fontWeight == "bold"); textFormat.color = (enabled) ? _inheritingStyles.color : _inheritingStyles.disabledColor; textFormat.font = font; textFormat.indent = _inheritingStyles.textIndent; textFormat.italic = (_inheritingStyles.fontStyle == "italic"); textFormat.kerning = _inheritingStyles.kerning; textFormat.leading = _nonInheritingStyles.leading; textFormat.leftMargin = _nonInheritingStyles.paddingLeft; textFormat.letterSpacing = _inheritingStyles.letterSpacing; textFormat.rightMargin = _nonInheritingStyles.paddingRight; textFormat.size = _inheritingStyles.fontSize; textFormat.underline = (_nonInheritingStyles.textDecoration == "underline"); textFormat.antiAliasType = _inheritingStyles.fontAntiAliasType; textFormat.gridFitType = _inheritingStyles.fontGridFitType; textFormat.sharpness = _inheritingStyles.fontSharpness; textFormat.thickness = _inheritingStyles.fontThickness; cachedTextFormat = textFormat; }; return (textFormat); } public function validationResultHandler(event:ValidationResultEvent):void{ var msg:String; var result:ValidationResult; var i:int; if (event.type == ValidationResultEvent.VALID){ if (errorString != ""){ errorString = ""; dispatchEvent(new FlexEvent(FlexEvent.VALID)); }; } else { if (((((!((validationSubField == null))) && (!((validationSubField == ""))))) && (event.results))){ i = 0; while (i < event.results.length) { result = event.results[i]; if (result.subField == validationSubField){ if (result.isError){ msg = result.errorMessage; } else { if (errorString != ""){ errorString = ""; dispatchEvent(new FlexEvent(FlexEvent.VALID)); }; }; break; }; i++; }; } else { if (((event.results) && ((event.results.length > 0)))){ msg = event.results[0].errorMessage; }; }; if (((msg) && (!((errorString == msg))))){ errorString = msg; dispatchEvent(new FlexEvent(FlexEvent.INVALID)); }; }; } public function invalidateProperties():void{ if (!invalidatePropertiesFlag){ invalidatePropertiesFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateProperties(this); }; }; } public function get inheritingStyles():Object{ return (_inheritingStyles); } private function focusObj_scrollHandler(event:Event):void{ adjustFocusRect(); } final mx_internal function get $x():Number{ return (super.x); } final mx_internal function get $y():Number{ return (super.y); } public function setConstraintValue(constraintName:String, value):void{ setStyle(constraintName, value); } protected function resourcesChanged():void{ } public function registerEffects(effects:Array):void{ var event:String; var n:int = effects.length; var i:int; while (i < n) { event = EffectManager.getEventForEffectTrigger(effects[i]); if (((!((event == null))) && (!((event == ""))))){ addEventListener(event, EffectManager.eventHandler, false, EventPriority.EFFECT); }; i++; }; } public function get explicitMinWidth():Number{ return (_explicitMinWidth); } private function filterChangeHandler(event:Event):void{ super.filters = _filters; } override public function set visible(value:Boolean):void{ setVisible(value); } public function set explicitHeight(value:Number):void{ if (_explicitHeight == value){ return; }; if (!isNaN(value)){ _percentHeight = NaN; }; _explicitHeight = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitHeightChanged")); } override public function set x(value:Number):void{ if (super.x == value){ return; }; super.x = value; invalidateProperties(); dispatchEvent(new Event("xChanged")); } public function set showInAutomationHierarchy(value:Boolean):void{ _showInAutomationHierarchy = value; } override public function set y(value:Number):void{ if (super.y == value){ return; }; super.y = value; invalidateProperties(); dispatchEvent(new Event("yChanged")); } private function resourceManager_changeHandler(event:Event):void{ resourcesChanged(); } public function set systemManager(value:ISystemManager):void{ _systemManager = value; _systemManagerDirty = false; } mx_internal function getFocusObject():DisplayObject{ var fm:IFocusManager = focusManager; if (((!(fm)) || (!(fm.focusPane)))){ return (null); }; return (((fm.focusPane.numChildren == 0)) ? null : fm.focusPane.getChildAt(0)); } public function set percentWidth(value:Number):void{ if (_percentWidth == value){ return; }; if (!isNaN(value)){ _explicitWidth = NaN; }; _percentWidth = value; var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } override public function addChild(child:DisplayObject):DisplayObject{ var formerParent:DisplayObjectContainer = child.parent; if (((formerParent) && (!((formerParent is Loader))))){ formerParent.removeChild(child); }; var index:int = (((overlayReferenceCount) && (!((child == overlay))))) ? Math.max(0, (super.numChildren - 1)) : super.numChildren; addingChild(child); $addChildAt(child, index); childAdded(child); return (child); } public function get document():Object{ return (_document); } public function set mouseFocusEnabled(value:Boolean):void{ _mouseFocusEnabled = value; } final mx_internal function $addChild(child:DisplayObject):DisplayObject{ return (super.addChild(child)); } mx_internal function setThemeColor(value:Object):void{ var newValue:Number; if ((newValue is String)){ newValue = parseInt(String(value)); } else { newValue = Number(value); }; if (isNaN(newValue)){ newValue = StyleManager.getColorName(value); }; var newValueS:Number = ColorUtil.adjustBrightness2(newValue, 50); var newValueR:Number = ColorUtil.adjustBrightness2(newValue, 70); setStyle("selectionColor", newValueS); setStyle("rollOverColor", newValueR); } public function get explicitMaxWidth():Number{ return (_explicitMaxWidth); } public function get id():String{ return (_id); } override public function get height():Number{ return (_height); } public function set minWidth(value:Number):void{ if (explicitMinWidth == value){ return; }; explicitMinWidth = value; } public function set currentState(value:String):void{ setCurrentState(value, true); } public function getRepeaterItem(whichRepeater:int=-1):Object{ var repeaterArray:Array = repeaters; if (whichRepeater == -1){ whichRepeater = (repeaterArray.length - 1); }; return (repeaterArray[whichRepeater].getItemAt(repeaterIndices[whichRepeater])); } public function executeBindings(recurse:Boolean=false):void{ var bindingsHost:Object = (((descriptor) && (descriptor.document))) ? descriptor.document : parentDocument; BindingManager.executeBindings(bindingsHost, id, this); } public function replayAutomatableEvent(event:Event):Boolean{ if (automationDelegate){ return (automationDelegate.replayAutomatableEvent(event)); }; return (false); } mx_internal function getFontContext(fontName:String, bold:Boolean, italic:Boolean):IFlexModuleFactory{ return (embeddedFontRegistry.getAssociatedModuleFactory(getEmbeddedFont(fontName, bold, italic), moduleFactory)); } public function get instanceIndex():int{ return ((_instanceIndices) ? _instanceIndices[(_instanceIndices.length - 1)] : -1); } public function set measuredWidth(value:Number):void{ _measuredWidth = value; } public function effectFinished(effectInst:IEffectInstance):void{ _endingEffectInstances.push(effectInst); invalidateProperties(); UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler, false, 0, true); } mx_internal function set isEffectStarted(value:Boolean):void{ _isEffectStarted = value; } mx_internal function fillOverlay(overlay:UIComponent, color:uint, targetArea:RoundedRectangle=null):void{ if (!targetArea){ targetArea = new RoundedRectangle(0, 0, unscaledWidth, unscaledHeight, 0); }; var g:Graphics = overlay.graphics; g.clear(); g.beginFill(color); g.drawRoundRect(targetArea.x, targetArea.y, targetArea.width, targetArea.height, (targetArea.cornerRadius * 2), (targetArea.cornerRadius * 2)); g.endFill(); } public function get instanceIndices():Array{ return ((_instanceIndices) ? _instanceIndices.slice(0) : null); } mx_internal function childAdded(child:DisplayObject):void{ if ((child is UIComponent)){ if (!UIComponent(child).initialized){ UIComponent(child).initialize(); }; } else { if ((child is IUIComponent)){ IUIComponent(child).initialize(); }; }; } public function globalToContent(point:Point):Point{ return (globalToLocal(point)); } mx_internal function removingChild(child:DisplayObject):void{ } mx_internal function getEffectsForProperty(propertyName:String):Array{ return (((_affectedProperties[propertyName])!=undefined) ? _affectedProperties[propertyName] : []); } override public function removeChildAt(index:int):DisplayObject{ var child:DisplayObject = getChildAt(index); removingChild(child); $removeChild(child); childRemoved(child); return (child); } protected function measure():void{ measuredMinWidth = 0; measuredMinHeight = 0; measuredWidth = 0; measuredHeight = 0; } public function set owner(value:DisplayObjectContainer):void{ _owner = value; } mx_internal function getNonNullSystemManager():ISystemManager{ var sm:ISystemManager = systemManager; if (!sm){ sm = ISystemManager(SystemManager.getSWFRoot(this)); }; if (!sm){ return (SystemManagerGlobals.topLevelSystemManagers[0]); }; return (sm); } protected function get unscaledWidth():Number{ return ((width / Math.abs(scaleX))); } public function set processedDescriptors(value:Boolean):void{ _processedDescriptors = value; if (value){ dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE)); }; } private function processEffectFinished(effectInsts:Array):void{ var j:int; var effectInst:IEffectInstance; var removedInst:IEffectInstance; var aProps:Array; var k:int; var propName:String; var l:int; var i:int = (_effectsStarted.length - 1); while (i >= 0) { j = 0; while (j < effectInsts.length) { effectInst = effectInsts[j]; if (effectInst == _effectsStarted[i]){ removedInst = _effectsStarted[i]; _effectsStarted.splice(i, 1); aProps = removedInst.effect.getAffectedProperties(); k = 0; while (k < aProps.length) { propName = aProps[k]; if (_affectedProperties[propName] != undefined){ l = 0; while (l < _affectedProperties[propName].length) { if (_affectedProperties[propName][l] == effectInst){ _affectedProperties[propName].splice(l, 1); break; }; l++; }; if (_affectedProperties[propName].length == 0){ delete _affectedProperties[propName]; }; }; k++; }; break; }; j++; }; i--; }; isEffectStarted = ((_effectsStarted.length > 0)) ? true : false; if (((effectInst) && (effectInst.hideFocusRing))){ preventDrawFocus = false; }; } private function commitCurrentState():void{ var event:StateChangeEvent; var transition:IEffect = (playStateTransition) ? getTransition(_currentState, requestedCurrentState) : null; var commonBaseState:String = findCommonBaseState(_currentState, requestedCurrentState); var oldState:String = (_currentState) ? _currentState : ""; var destination:State = getState(requestedCurrentState); if (_currentTransitionEffect){ _currentTransitionEffect.end(); }; initializeState(requestedCurrentState); if (transition){ transition.captureStartValues(); }; event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING); event.oldState = oldState; event.newState = (requestedCurrentState) ? requestedCurrentState : ""; dispatchEvent(event); if (isBaseState(_currentState)){ dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE)); }; removeState(_currentState, commonBaseState); _currentState = requestedCurrentState; if (isBaseState(currentState)){ dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE)); } else { applyState(_currentState, commonBaseState); }; event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE); event.oldState = oldState; event.newState = (_currentState) ? _currentState : ""; dispatchEvent(event); if (transition){ UIComponentGlobals.layoutManager.validateNow(); _currentTransitionEffect = transition; transition.addEventListener(EffectEvent.EFFECT_END, transition_effectEndHandler); transition.play(); }; } public function get includeInLayout():Boolean{ return (_includeInLayout); } private function dispatchResizeEvent():void{ var resizeEvent:ResizeEvent = new ResizeEvent(ResizeEvent.RESIZE); resizeEvent.oldWidth = oldWidth; resizeEvent.oldHeight = oldHeight; dispatchEvent(resizeEvent); oldWidth = width; oldHeight = height; } public function set maxWidth(value:Number):void{ if (explicitMaxWidth == value){ return; }; explicitMaxWidth = value; } public function validateDisplayList():void{ var sm:ISystemManager; var unscaledWidth:Number; var unscaledHeight:Number; if (invalidateDisplayListFlag){ sm = (parent as ISystemManager); if (sm){ if ((((sm == systemManager.topLevelSystemManager)) && (!((sm.document == this))))){ setActualSize(getExplicitOrMeasuredWidth(), getExplicitOrMeasuredHeight()); }; }; unscaledWidth = ((scaleX == 0)) ? 0 : (width / scaleX); unscaledHeight = ((scaleY == 0)) ? 0 : (height / scaleY); if (Math.abs((unscaledWidth - lastUnscaledWidth)) < 1E-5){ unscaledWidth = lastUnscaledWidth; }; if (Math.abs((unscaledHeight - lastUnscaledHeight)) < 1E-5){ unscaledHeight = lastUnscaledHeight; }; updateDisplayList(unscaledWidth, unscaledHeight); lastUnscaledWidth = unscaledWidth; lastUnscaledHeight = unscaledHeight; invalidateDisplayListFlag = false; }; } public function contentToGlobal(point:Point):Point{ return (localToGlobal(point)); } public function resolveAutomationIDPart(criteria:Object):Array{ if (automationDelegate){ return (automationDelegate.resolveAutomationIDPart(criteria)); }; return ([]); } public function set inheritingStyles(value:Object):void{ _inheritingStyles = value; } public function setFocus():void{ var sm:ISystemManager = systemManager; if (((sm) && (sm.stage))){ if (UIComponentGlobals.callLaterDispatcherCount == 0){ sm.stage.focus = this; UIComponentGlobals.nextFocusObject = null; } else { UIComponentGlobals.nextFocusObject = this; sm.stage.addEventListener(Event.ENTER_FRAME, setFocusLater); }; } else { UIComponentGlobals.nextFocusObject = this; callLater(setFocusLater); }; } private function getTransition(oldState:String, newState:String):IEffect{ var t:Transition; var result:IEffect; var priority:int; if (!transitions){ return (null); }; if (!oldState){ oldState = ""; }; if (!newState){ newState = ""; }; var i:int; while (i < transitions.length) { t = transitions[i]; if ((((((t.fromState == "*")) && ((t.toState == "*")))) && ((priority < 1)))){ result = t.effect; priority = 1; } else { if ((((((t.fromState == oldState)) && ((t.toState == "*")))) && ((priority < 2)))){ result = t.effect; priority = 2; } else { if ((((((t.fromState == "*")) && ((t.toState == newState)))) && ((priority < 3)))){ result = t.effect; priority = 3; } else { if ((((((t.fromState == oldState)) && ((t.toState == newState)))) && ((priority < 4)))){ result = t.effect; priority = 4; break; }; }; }; }; i++; }; return (result); } public function set initialized(value:Boolean):void{ _initialized = value; if (value){ setVisible(_visible, true); dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE)); }; } final mx_internal function set $y(value:Number):void{ super.y = value; } public function owns(child:DisplayObject):Boolean{ var childList:IChildList = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); if (childList.contains(child)){ return (true); }; while (((child) && (!((child == this))))) { if ((child is IUIComponent)){ child = IUIComponent(child).owner; } else { child = child.parent; }; }; return ((child == this)); } public function setVisible(value:Boolean, noEvent:Boolean=false):void{ _visible = value; if (!initialized){ return; }; if ($visible == value){ return; }; $visible = value; if (!noEvent){ dispatchEvent(new FlexEvent((value) ? FlexEvent.SHOW : FlexEvent.HIDE)); }; } final mx_internal function $addChildAt(child:DisplayObject, index:int):DisplayObject{ return (super.addChildAt(child, index)); } public function deleteReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void{ var indices:Array; var r:Object; var stack:Array; var n:int; var i:int; var j:int; var s:Object; var event:PropertyChangeEvent; if (((id) && (!((id == ""))))){ indices = _instanceIndices; if (!indices){ parentDocument[id] = null; } else { r = parentDocument[id]; if (!r){ return; }; stack = []; stack.push(r); n = indices.length; i = 0; while (i < (n - 1)) { s = r[indices[i]]; if (!s){ return; }; r = s; stack.push(r); i++; }; r.splice(indices[(n - 1)], 1); j = (stack.length - 1); while (j > 0) { if (stack[j].length == 0){ stack[(j - 1)].splice(indices[j], 1); }; j--; }; if ((((stack.length > 0)) && ((stack[0].length == 0)))){ parentDocument[id] = null; } else { event = PropertyChangeEvent.createUpdateEvent(parentDocument, id, parentDocument[id], parentDocument[id]); parentDocument.dispatchEvent(event); }; }; }; } public function get nonInheritingStyles():Object{ return (_nonInheritingStyles); } public function effectStarted(effectInst:IEffectInstance):void{ var propName:String; _effectsStarted.push(effectInst); var aProps:Array = effectInst.effect.getAffectedProperties(); var j:int; while (j < aProps.length) { propName = aProps[j]; if (_affectedProperties[propName] == undefined){ _affectedProperties[propName] = []; }; _affectedProperties[propName].push(effectInst); j++; }; isEffectStarted = true; if (effectInst.hideFocusRing){ preventDrawFocus = true; drawFocus(false); }; } final mx_internal function set $x(value:Number):void{ super.x = value; } private function applyState(stateName:String, lastState:String):void{ var overrides:Array; var i:int; var state:State = getState(stateName); if (stateName == lastState){ return; }; if (state){ if (state.basedOn != lastState){ applyState(state.basedOn, lastState); }; overrides = state.overrides; i = 0; while (i < overrides.length) { overrides[i].apply(this); i++; }; state.dispatchEnterState(); }; } protected function commitProperties():void{ var scalingFactorX:Number; var scalingFactorY:Number; if (_scaleX != oldScaleX){ scalingFactorX = Math.abs((_scaleX / oldScaleX)); if (!isNaN(explicitMinWidth)){ explicitMinWidth = (explicitMinWidth * scalingFactorX); }; if (!isNaN(explicitWidth)){ explicitWidth = (explicitWidth * scalingFactorX); }; if (!isNaN(explicitMaxWidth)){ explicitMaxWidth = (explicitMaxWidth * scalingFactorX); }; _width = (_width * scalingFactorX); super.scaleX = (oldScaleX = _scaleX); }; if (_scaleY != oldScaleY){ scalingFactorY = Math.abs((_scaleY / oldScaleY)); if (!isNaN(explicitMinHeight)){ explicitMinHeight = (explicitMinHeight * scalingFactorY); }; if (!isNaN(explicitHeight)){ explicitHeight = (explicitHeight * scalingFactorY); }; if (!isNaN(explicitMaxHeight)){ explicitMaxHeight = (explicitMaxHeight * scalingFactorY); }; _height = (_height * scalingFactorY); super.scaleY = (oldScaleY = _scaleY); }; if (((!((x == oldX))) || (!((y == oldY))))){ dispatchMoveEvent(); }; if (((!((width == oldWidth))) || (!((height == oldHeight))))){ dispatchResizeEvent(); }; if (errorStringChanged){ errorStringChanged = false; setBorderColorForErrorString(); }; } public function get percentHeight():Number{ return (_percentHeight); } override public function get width():Number{ return (_width); } final mx_internal function get $parent():DisplayObjectContainer{ return (super.parent); } public function set explicitMinWidth(value:Number):void{ if (_explicitMinWidth == value){ return; }; _explicitMinWidth = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMinWidthChanged")); } public function get isPopUp():Boolean{ return (_isPopUp); } private function measureSizes():Boolean{ var scalingFactor:Number; var newValue:Number; var xScale:Number; var yScale:Number; var changed:Boolean; if (!invalidateSizeFlag){ return (changed); }; if (((isNaN(explicitWidth)) || (isNaN(explicitHeight)))){ xScale = Math.abs(scaleX); yScale = Math.abs(scaleY); if (xScale != 1){ _measuredMinWidth = (_measuredMinWidth / xScale); _measuredWidth = (_measuredWidth / xScale); }; if (yScale != 1){ _measuredMinHeight = (_measuredMinHeight / yScale); _measuredHeight = (_measuredHeight / yScale); }; measure(); invalidateSizeFlag = false; if (((!(isNaN(explicitMinWidth))) && ((measuredWidth < explicitMinWidth)))){ measuredWidth = explicitMinWidth; }; if (((!(isNaN(explicitMaxWidth))) && ((measuredWidth > explicitMaxWidth)))){ measuredWidth = explicitMaxWidth; }; if (((!(isNaN(explicitMinHeight))) && ((measuredHeight < explicitMinHeight)))){ measuredHeight = explicitMinHeight; }; if (((!(isNaN(explicitMaxHeight))) && ((measuredHeight > explicitMaxHeight)))){ measuredHeight = explicitMaxHeight; }; if (xScale != 1){ _measuredMinWidth = (_measuredMinWidth * xScale); _measuredWidth = (_measuredWidth * xScale); }; if (yScale != 1){ _measuredMinHeight = (_measuredMinHeight * yScale); _measuredHeight = (_measuredHeight * yScale); }; } else { invalidateSizeFlag = false; _measuredMinWidth = 0; _measuredMinHeight = 0; }; adjustSizesForScaleChanges(); if (isNaN(oldMinWidth)){ oldMinWidth = (isNaN(explicitMinWidth)) ? measuredMinWidth : explicitMinWidth; oldMinHeight = (isNaN(explicitMinHeight)) ? measuredMinHeight : explicitMinHeight; oldExplicitWidth = (isNaN(explicitWidth)) ? measuredWidth : explicitWidth; oldExplicitHeight = (isNaN(explicitHeight)) ? measuredHeight : explicitHeight; changed = true; } else { newValue = (isNaN(explicitMinWidth)) ? measuredMinWidth : explicitMinWidth; if (newValue != oldMinWidth){ oldMinWidth = newValue; changed = true; }; newValue = (isNaN(explicitMinHeight)) ? measuredMinHeight : explicitMinHeight; if (newValue != oldMinHeight){ oldMinHeight = newValue; changed = true; }; newValue = (isNaN(explicitWidth)) ? measuredWidth : explicitWidth; if (newValue != oldExplicitWidth){ oldExplicitWidth = newValue; changed = true; }; newValue = (isNaN(explicitHeight)) ? measuredHeight : explicitHeight; if (newValue != oldExplicitHeight){ oldExplicitHeight = newValue; changed = true; }; }; return (changed); } public function get automationTabularData():Object{ if (automationDelegate){ return (automationDelegate.automationTabularData); }; return (null); } public function validateNow():void{ UIComponentGlobals.layoutManager.validateClient(this); } public function finishPrint(obj:Object, target:IFlexDisplayObject):void{ } public function get repeaters():Array{ return ((_repeaters) ? _repeaters.slice(0) : []); } private function dispatchMoveEvent():void{ var moveEvent:MoveEvent = new MoveEvent(MoveEvent.MOVE); moveEvent.oldX = oldX; moveEvent.oldY = oldY; dispatchEvent(moveEvent); oldX = x; oldY = y; } public function drawFocus(isFocused:Boolean):void{ var focusOwner:DisplayObjectContainer; var focusClass:Class; if (!parent){ return; }; var focusObj:DisplayObject = getFocusObject(); var focusPane:Sprite = (focusManager) ? focusManager.focusPane : null; if (((isFocused) && (!(preventDrawFocus)))){ focusOwner = focusPane.parent; if (focusOwner != parent){ if (focusOwner){ if ((focusOwner is ISystemManager)){ ISystemManager(focusOwner).focusPane = null; } else { IUIComponent(focusOwner).focusPane = null; }; }; if ((parent is ISystemManager)){ ISystemManager(parent).focusPane = focusPane; } else { IUIComponent(parent).focusPane = focusPane; }; }; focusClass = getStyle("focusSkin"); if (((focusObj) && (!((focusObj is focusClass))))){ focusPane.removeChild(focusObj); focusObj = null; }; if (!focusObj){ focusObj = new (focusClass); focusObj.name = "focus"; focusPane.addChild(focusObj); }; if ((focusObj is ILayoutManagerClient)){ ILayoutManagerClient(focusObj).nestLevel = nestLevel; }; if ((focusObj is ISimpleStyleClient)){ ISimpleStyleClient(focusObj).styleName = this; }; addEventListener(MoveEvent.MOVE, focusObj_moveHandler, true); addEventListener(MoveEvent.MOVE, focusObj_moveHandler); addEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler, true); addEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler); addEventListener(Event.REMOVED, focusObj_removedHandler, true); focusObj.visible = true; hasFocusRect = true; adjustFocusRect(); } else { if (hasFocusRect){ hasFocusRect = false; if (focusObj){ focusObj.visible = false; }; removeEventListener(MoveEvent.MOVE, focusObj_moveHandler); removeEventListener(MoveEvent.MOVE, focusObj_moveHandler, true); removeEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler, true); removeEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler); removeEventListener(Event.REMOVED, focusObj_removedHandler, true); }; }; } public function get flexContextMenu():IFlexContextMenu{ return (_flexContextMenu); } private function get indexedID():String{ var s:String = id; var indices:Array = instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; return (s); } public function get measuredMinHeight():Number{ return (_measuredMinHeight); } mx_internal function addingChild(child:DisplayObject):void{ if ((((child is IUIComponent)) && (!(IUIComponent(child).document)))){ IUIComponent(child).document = (document) ? document : ApplicationGlobals.application; }; if ((((child is UIComponent)) && ((UIComponent(child).moduleFactory == null)))){ if (moduleFactory != null){ UIComponent(child).moduleFactory = moduleFactory; } else { if ((((document is IFlexModule)) && (!((document.moduleFactory == null))))){ UIComponent(child).moduleFactory = document.moduleFactory; } else { if ((((parent is UIComponent)) && (!((UIComponent(parent).moduleFactory == null))))){ UIComponent(child).moduleFactory = UIComponent(parent).moduleFactory; }; }; }; }; if ((((((child is IFontContextComponent)) && ((!(child) is UIComponent)))) && ((IFontContextComponent(child).fontContext == null)))){ IFontContextComponent(child).fontContext = moduleFactory; }; if ((child is IUIComponent)){ IUIComponent(child).parentChanged(this); }; if ((child is ILayoutManagerClient)){ ILayoutManagerClient(child).nestLevel = (nestLevel + 1); } else { if ((child is IUITextField)){ IUITextField(child).nestLevel = (nestLevel + 1); }; }; if ((child is InteractiveObject)){ if (doubleClickEnabled){ InteractiveObject(child).doubleClickEnabled = true; }; }; if ((child is IStyleClient)){ IStyleClient(child).regenerateStyleCache(true); } else { if ((((child is IUITextField)) && (IUITextField(child).inheritingStyles))){ StyleProtoChain.initTextField(IUITextField(child)); }; }; if ((child is ISimpleStyleClient)){ ISimpleStyleClient(child).styleChanged(null); }; if ((child is IStyleClient)){ IStyleClient(child).notifyStyleChangeInChildren(null, true); }; if ((child is UIComponent)){ UIComponent(child).initThemeColor(); }; if ((child is UIComponent)){ UIComponent(child).stylesInitialized(); }; } public function set repeaterIndices(value:Array):void{ _repeaterIndices = value; } protected function initializationComplete():void{ processedDescriptors = true; } public function set moduleFactory(factory:IFlexModuleFactory):void{ var child:UIComponent; var n:int = numChildren; var i:int; while (i < n) { child = (getChildAt(i) as UIComponent); if (!child){ } else { if ((((child.moduleFactory == null)) || ((child.moduleFactory == _moduleFactory)))){ child.moduleFactory = factory; }; }; i++; }; _moduleFactory = factory; } private function focusObj_removedHandler(event:Event):void{ if (event.target != this){ return; }; var focusObject:DisplayObject = getFocusObject(); if (focusObject){ focusObject.visible = false; }; } mx_internal function updateCallbacks():void{ if (invalidateDisplayListFlag){ UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; if (invalidateSizeFlag){ UIComponentGlobals.layoutManager.invalidateSize(this); }; if (invalidatePropertiesFlag){ UIComponentGlobals.layoutManager.invalidateProperties(this); }; if (systemManager){ if ((((methodQueue.length > 0)) && (!(listeningForRender)))){ _systemManager.stage.addEventListener(Event.RENDER, callLaterDispatcher); _systemManager.stage.addEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = true; }; _systemManager.stage.invalidate(); }; } public function set styleDeclaration(value:CSSStyleDeclaration):void{ _styleDeclaration = value; } override public function set doubleClickEnabled(value:Boolean):void{ var childList:IChildList; var child:InteractiveObject; super.doubleClickEnabled = value; if ((this is IRawChildrenContainer)){ childList = IRawChildrenContainer(this).rawChildren; } else { childList = IChildList(this); }; var i:int; while (i < childList.numChildren) { child = (childList.getChildAt(i) as InteractiveObject); if (child){ child.doubleClickEnabled = value; }; i++; }; } public function prepareToPrint(target:IFlexDisplayObject):Object{ return (null); } public function get minHeight():Number{ if (!isNaN(explicitMinHeight)){ return (explicitMinHeight); }; return (measuredMinHeight); } public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{ var child:ISimpleStyleClient; cachedTextFormat = null; var n:int = numChildren; var i:int; while (i < n) { child = (getChildAt(i) as ISimpleStyleClient); if (child){ child.styleChanged(styleProp); if ((child is IStyleClient)){ IStyleClient(child).notifyStyleChangeInChildren(styleProp, recursive); }; }; i++; }; } public function get contentMouseX():Number{ return (mouseX); } public function get contentMouseY():Number{ return (mouseY); } public function get tweeningProperties():Array{ return (_tweeningProperties); } public function set explicitMaxWidth(value:Number):void{ if (_explicitMaxWidth == value){ return; }; _explicitMaxWidth = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMaxWidthChanged")); } public function set document(value:Object):void{ var child:IUIComponent; var n:int = numChildren; var i:int; while (i < n) { child = (getChildAt(i) as IUIComponent); if (!child){ } else { if ((((child.document == _document)) || ((child.document == ApplicationGlobals.application)))){ child.document = value; }; }; i++; }; _document = value; } public function validateSize(recursive:Boolean=false):void{ var i:int; var child:DisplayObject; var sizeChanging:Boolean; var p:IInvalidating; if (recursive){ i = 0; while (i < numChildren) { child = getChildAt(i); if ((child is ILayoutManagerClient)){ (child as ILayoutManagerClient).validateSize(true); }; i++; }; }; if (invalidateSizeFlag){ sizeChanging = measureSizes(); if (((sizeChanging) && (includeInLayout))){ invalidateDisplayList(); p = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; }; }; } public function get validationSubField():String{ return (_validationSubField); } override public function dispatchEvent(event:Event):Boolean{ if (dispatchEventHook != null){ dispatchEventHook(event, this); }; return (super.dispatchEvent(event)); } public function set id(value:String):void{ _id = value; } private function overlay_resizeHandler(event:Event):void{ fillOverlay(overlay, overlayColor, null); } public function set updateCompletePendingFlag(value:Boolean):void{ _updateCompletePendingFlag = value; } final mx_internal function get $height():Number{ return (super.height); } protected function attachOverlay():void{ addChild(overlay); } public function get explicitMinHeight():Number{ return (_explicitMinHeight); } override public function set height(value:Number):void{ var p:IInvalidating; if (explicitHeight != value){ explicitHeight = value; invalidateSize(); }; if (_height != value){ invalidateProperties(); invalidateDisplayList(); p = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; _height = value; dispatchEvent(new Event("heightChanged")); }; } public function get numAutomationChildren():int{ if (automationDelegate){ return (automationDelegate.numAutomationChildren); }; return (0); } public function get parentApplication():Object{ var p:UIComponent; var o:Object = systemManager.document; if (o == this){ p = (o.systemManager.parent as UIComponent); o = (p) ? p.systemManager.document : null; }; return (o); } public function localToContent(point:Point):Point{ return (point); } public function get repeaterIndex():int{ return ((_repeaterIndices) ? _repeaterIndices[(_repeaterIndices.length - 1)] : -1); } private function removeState(stateName:String, lastState:String):void{ var overrides:Array; var i:int; var state:State = getState(stateName); if (stateName == lastState){ return; }; if (state){ state.dispatchExitState(); overrides = state.overrides; i = overrides.length; while (i) { overrides[(i - 1)].remove(this); i--; }; if (state.basedOn != lastState){ removeState(state.basedOn, lastState); }; }; } public function setStyle(styleProp:String, newValue):void{ if (styleProp == "styleName"){ styleName = newValue; return; }; if (EffectManager.getEventForEffectTrigger(styleProp) != ""){ EffectManager.setStyle(styleProp, this); }; var isInheritingStyle:Boolean = StyleManager.isInheritingStyle(styleProp); var isProtoChainInitialized = !((inheritingStyles == UIComponent.STYLE_UNINITIALIZED)); var valueChanged = !((getStyle(styleProp) == newValue)); if (!_styleDeclaration){ _styleDeclaration = new CSSStyleDeclaration(); _styleDeclaration.setStyle(styleProp, newValue); if (isProtoChainInitialized){ regenerateStyleCache(isInheritingStyle); }; } else { _styleDeclaration.setStyle(styleProp, newValue); }; if (((isProtoChainInitialized) && (valueChanged))){ styleChanged(styleProp); notifyStyleChangeInChildren(styleProp, isInheritingStyle); }; } public function get showInAutomationHierarchy():Boolean{ return (_showInAutomationHierarchy); } public function get systemManager():ISystemManager{ var r:DisplayObject; var o:DisplayObjectContainer; var ui:IUIComponent; if (((!(_systemManager)) || (_systemManagerDirty))){ r = root; if (((r) && (!((r is Stage))))){ _systemManager = (r as ISystemManager); } else { if (r){ _systemManager = (Stage(r).getChildAt(0) as ISystemManager); } else { o = parent; while (o) { ui = (o as IUIComponent); if (ui){ _systemManager = ui.systemManager; break; }; o = o.parent; }; }; }; _systemManagerDirty = false; }; return (_systemManager); } private function isBaseState(stateName:String):Boolean{ return (((!(stateName)) || ((stateName == "")))); } public function set enabled(value:Boolean):void{ _enabled = value; cachedTextFormat = null; invalidateDisplayList(); dispatchEvent(new Event("enabledChanged")); } public function set focusEnabled(value:Boolean):void{ _focusEnabled = value; } public function get minWidth():Number{ if (!isNaN(explicitMinWidth)){ return (explicitMinWidth); }; return (measuredMinWidth); } private function setFocusLater(event:Event=null):void{ var sm:ISystemManager = systemManager; if (((sm) && (sm.stage))){ sm.stage.removeEventListener(Event.ENTER_FRAME, setFocusLater); if (UIComponentGlobals.nextFocusObject){ sm.stage.focus = UIComponentGlobals.nextFocusObject; }; UIComponentGlobals.nextFocusObject = null; }; } public function get currentState():String{ return ((_currentStateChanged) ? requestedCurrentState : _currentState); } public function initializeRepeaterArrays(parent:IRepeaterClient):void{ if (((((((parent) && (parent.instanceIndices))) && (!(_instanceIndices)))) && (!(parent.isDocument)))){ _instanceIndices = parent.instanceIndices; _repeaters = parent.repeaters; _repeaterIndices = parent.repeaterIndices; }; } public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (NaN); }; if (!validateBaselinePosition()){ return (NaN); }; var lineMetrics:TextLineMetrics = measureText("Wj"); if (height < ((2 + lineMetrics.ascent) + 2)){ return (int((height + ((lineMetrics.ascent - height) / 2)))); }; return ((2 + lineMetrics.ascent)); } public function get measuredWidth():Number{ return (_measuredWidth); } public function set instanceIndices(value:Array):void{ _instanceIndices = value; } public function set cachePolicy(value:String):void{ if (_cachePolicy != value){ _cachePolicy = value; if (value == UIComponentCachePolicy.OFF){ cacheAsBitmap = false; } else { if (value == UIComponentCachePolicy.ON){ cacheAsBitmap = true; } else { cacheAsBitmap = (cacheAsBitmapCount > 0); }; }; }; } public function get automationValue():Array{ if (automationDelegate){ return (automationDelegate.automationValue); }; return ([]); } private function addedHandler(event:Event):void{ if (event.eventPhase != EventPhase.AT_TARGET){ return; }; if ((((parent is IContainer)) && (IContainer(parent).creatingContentPane))){ event.stopImmediatePropagation(); return; }; } public function parentChanged(p:DisplayObjectContainer):void{ if (!p){ _parent = null; _nestLevel = 0; } else { if ((p is IStyleClient)){ _parent = p; } else { if ((p is ISystemManager)){ _parent = p; } else { _parent = p.parent; }; }; }; } public function get owner():DisplayObjectContainer{ return ((_owner) ? _owner : parent); } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } override public function addChildAt(child:DisplayObject, index:int):DisplayObject{ var formerParent:DisplayObjectContainer = child.parent; if (((formerParent) && (!((formerParent is Loader))))){ formerParent.removeChild(child); }; if (((overlayReferenceCount) && (!((child == overlay))))){ index = Math.min(index, Math.max(0, (super.numChildren - 1))); }; addingChild(child); $addChildAt(child, index); childAdded(child); return (child); } public function get maxWidth():Number{ return ((isNaN(explicitMaxWidth)) ? DEFAULT_MAX_WIDTH : explicitMaxWidth); } override public function set alpha(value:Number):void{ super.alpha = value; dispatchEvent(new Event("alphaChanged")); } private function removedHandler(event:Event):void{ if (event.eventPhase != EventPhase.AT_TARGET){ return; }; if ((((parent is IContainer)) && (IContainer(parent).creatingContentPane))){ event.stopImmediatePropagation(); return; }; _systemManagerDirty = true; } public function callLater(method:Function, args:Array=null):void{ methodQueue.push(new MethodQueueElement(method, args)); var sm:ISystemManager = systemManager; if (((sm) && (sm.stage))){ if (!listeningForRender){ sm.stage.addEventListener(Event.RENDER, callLaterDispatcher); sm.stage.addEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = true; }; sm.stage.invalidate(); }; } public function get initialized():Boolean{ return (_initialized); } private function callLaterDispatcher2(event:Event):void{ var mqe:MethodQueueElement; if (UIComponentGlobals.callLaterSuspendCount > 0){ return; }; var sm:ISystemManager = systemManager; if (((((sm) && (sm.stage))) && (listeningForRender))){ sm.stage.removeEventListener(Event.RENDER, callLaterDispatcher); sm.stage.removeEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = false; }; var queue:Array = methodQueue; methodQueue = []; var n:int = queue.length; var i:int; while (i < n) { mqe = MethodQueueElement(queue[i]); mqe.method.apply(null, mqe.args); i++; }; } public function measureHTMLText(htmlText:String):TextLineMetrics{ return (determineTextFormatFromStyles().measureHTMLText(htmlText)); } public function set descriptor(value:UIComponentDescriptor):void{ _descriptor = value; } private function getState(stateName:String):State{ if (((!(states)) || (isBaseState(stateName)))){ return (null); }; var i:int; while (i < states.length) { if (states[i].name == stateName){ return (states[i]); }; i++; }; var message:String = resourceManager.getString("core", "stateUndefined", [stateName]); throw (new ArgumentError(message)); } public function validateProperties():void{ if (invalidatePropertiesFlag){ commitProperties(); invalidatePropertiesFlag = false; }; } mx_internal function get documentDescriptor():UIComponentDescriptor{ return (_documentDescriptor); } public function set includeInLayout(value:Boolean):void{ var p:IInvalidating; if (_includeInLayout != value){ _includeInLayout = value; p = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("includeInLayoutChanged")); }; } public function getClassStyleDeclarations():Array{ var myApplicationDomain:ApplicationDomain; var cache:Array; var myRoot:DisplayObject; var s:CSSStyleDeclaration; var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(this); if (factory != null){ myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]); } else { myRoot = SystemManager.getSWFRoot(this); if (!myRoot){ return ([]); }; myApplicationDomain = myRoot.loaderInfo.applicationDomain; }; var className:String = getQualifiedClassName(this); className = className.replace("::", "."); cache = StyleManager.typeSelectorCache[className]; if (cache){ return (cache); }; var decls:Array = []; var classNames:Array = []; var caches:Array = []; var declcache:Array = []; while (((((!((className == null))) && (!((className == "mx.core.UIComponent"))))) && (!((className == "mx.core.UITextField"))))) { cache = StyleManager.typeSelectorCache[className]; if (cache){ decls = decls.concat(cache); break; }; s = StyleManager.getStyleDeclaration(className); if (s){ decls.unshift(s); classNames.push(className); caches.push(classNames); declcache.push(decls); decls = []; classNames = []; } else { classNames.push(className); }; className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className)); className = className.replace("::", "."); continue; var _slot1 = e; className = null; }; caches.push(classNames); declcache.push(decls); decls = []; while (caches.length) { classNames = caches.pop(); decls = decls.concat(declcache.pop()); while (classNames.length) { StyleManager.typeSelectorCache[classNames.pop()] = decls; }; }; return (decls); } public function set measuredMinWidth(value:Number):void{ _measuredMinWidth = value; } private function initializeState(stateName:String):void{ var state:State = getState(stateName); while (state) { state.initialize(); state = getState(state.basedOn); }; } mx_internal function initProtoChain():void{ var classSelector:CSSStyleDeclaration; var inheritChain:Object; var typeSelector:CSSStyleDeclaration; if (styleName){ if ((styleName is CSSStyleDeclaration)){ classSelector = CSSStyleDeclaration(styleName); } else { if ((((styleName is IFlexDisplayObject)) || ((styleName is IStyleClient)))){ StyleProtoChain.initProtoChainForUIComponentStyleName(this); return; }; if ((styleName is String)){ classSelector = StyleManager.getStyleDeclaration(("." + styleName)); }; }; }; var nonInheritChain:Object = StyleManager.stylesRoot; if (((nonInheritChain) && (nonInheritChain.effects))){ registerEffects(nonInheritChain.effects); }; var p:IStyleClient = (parent as IStyleClient); if (p){ inheritChain = p.inheritingStyles; if (inheritChain == UIComponent.STYLE_UNINITIALIZED){ inheritChain = nonInheritChain; }; } else { if (isPopUp){ if ((((((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)) && (_owner))) && ((_owner is IStyleClient)))){ inheritChain = IStyleClient(_owner).inheritingStyles; } else { inheritChain = ApplicationGlobals.application.inheritingStyles; }; } else { inheritChain = StyleManager.stylesRoot; }; }; var typeSelectors:Array = getClassStyleDeclarations(); var n:int = typeSelectors.length; var i:int; while (i < n) { typeSelector = typeSelectors[i]; inheritChain = typeSelector.addStyleToProtoChain(inheritChain, this); nonInheritChain = typeSelector.addStyleToProtoChain(nonInheritChain, this); if (typeSelector.effects){ registerEffects(typeSelector.effects); }; i++; }; if (classSelector){ inheritChain = classSelector.addStyleToProtoChain(inheritChain, this); nonInheritChain = classSelector.addStyleToProtoChain(nonInheritChain, this); if (classSelector.effects){ registerEffects(classSelector.effects); }; }; inheritingStyles = (_styleDeclaration) ? _styleDeclaration.addStyleToProtoChain(inheritChain, this) : inheritChain; nonInheritingStyles = (_styleDeclaration) ? _styleDeclaration.addStyleToProtoChain(nonInheritChain, this) : nonInheritChain; } public function get repeaterIndices():Array{ return ((_repeaterIndices) ? _repeaterIndices.slice() : []); } override public function removeChild(child:DisplayObject):DisplayObject{ removingChild(child); $removeChild(child); childRemoved(child); return (child); } private function focusObj_moveHandler(event:MoveEvent):void{ adjustFocusRect(); } public function get styleDeclaration():CSSStyleDeclaration{ return (_styleDeclaration); } override public function get doubleClickEnabled():Boolean{ return (super.doubleClickEnabled); } public function contentToLocal(point:Point):Point{ return (point); } private function creationCompleteHandler(event:FlexEvent):void{ if (_currentStateChanged){ _currentStateChanged = false; commitCurrentState(); validateNow(); }; removeEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); } public function set measuredHeight(value:Number):void{ _measuredHeight = value; } protected function createChildren():void{ } public function get activeEffects():Array{ return (_effectsStarted); } override public function setChildIndex(child:DisplayObject, newIndex:int):void{ if (((overlayReferenceCount) && (!((child == overlay))))){ newIndex = Math.min(newIndex, Math.max(0, (super.numChildren - 2))); }; super.setChildIndex(child, newIndex); } public function regenerateStyleCache(recursive:Boolean):void{ var child:DisplayObject; initProtoChain(); var childList:IChildList = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); var n:int = childList.numChildren; var i:int; while (i < n) { child = childList.getChildAt(i); if ((child is IStyleClient)){ if (IStyleClient(child).inheritingStyles != UIComponent.STYLE_UNINITIALIZED){ IStyleClient(child).regenerateStyleCache(recursive); }; } else { if ((child is IUITextField)){ if (IUITextField(child).inheritingStyles){ StyleProtoChain.initTextField(IUITextField(child)); }; }; }; i++; }; } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function focusOutHandler(event:FocusEvent):void{ if (isOurFocus(DisplayObject(event.target))){ drawFocus(false); }; } public function getFocus():InteractiveObject{ var sm:ISystemManager = systemManager; if (!sm){ return (null); }; if (UIComponentGlobals.nextFocusObject){ return (UIComponentGlobals.nextFocusObject); }; return (sm.stage.focus); } public function endEffectsStarted():void{ var len:int = _effectsStarted.length; var i:int; while (i < len) { _effectsStarted[i].end(); i++; }; } protected function get unscaledHeight():Number{ return ((height / Math.abs(scaleY))); } public function get enabled():Boolean{ return (_enabled); } public function get focusEnabled():Boolean{ return (_focusEnabled); } override public function set cacheAsBitmap(value:Boolean):void{ super.cacheAsBitmap = value; cacheAsBitmapCount = (value) ? 1 : 0; } mx_internal function removeOverlay():void{ if ((((((overlayReferenceCount > 0)) && ((--overlayReferenceCount == 0)))) && (overlay))){ removeEventListener("resize", overlay_resizeHandler); if (super.getChildByName("overlay")){ $removeChild(overlay); }; overlay = null; }; } public function set cacheHeuristic(value:Boolean):void{ if (_cachePolicy == UIComponentCachePolicy.AUTO){ if (value){ cacheAsBitmapCount++; } else { if (cacheAsBitmapCount != 0){ cacheAsBitmapCount--; }; }; super.cacheAsBitmap = !((cacheAsBitmapCount == 0)); }; } public function get cachePolicy():String{ return (_cachePolicy); } public function set maxHeight(value:Number):void{ if (explicitMaxHeight == value){ return; }; explicitMaxHeight = value; } public function getConstraintValue(constraintName:String){ return (getStyle(constraintName)); } public function set focusManager(value:IFocusManager):void{ _focusManager = value; } public function clearStyle(styleProp:String):void{ setStyle(styleProp, undefined); } public function get descriptor():UIComponentDescriptor{ return (_descriptor); } public function set nonInheritingStyles(value:Object):void{ _nonInheritingStyles = value; } public function get cursorManager():ICursorManager{ var cm:ICursorManager; var o:DisplayObject = parent; while (o) { if ((((o is IUIComponent)) && (("cursorManager" in o)))){ cm = o["cursorManager"]; return (cm); }; o = o.parent; }; return (CursorManager.getInstance()); } public function set automationDelegate(value:Object):void{ _automationDelegate = (value as IAutomationObject); } public function get measuredMinWidth():Number{ return (_measuredMinWidth); } public function createReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void{ var indices:Array; var r:Object; var n:int; var i:int; var event:PropertyChangeEvent; var s:Object; if (((id) && (!((id == ""))))){ indices = _instanceIndices; if (!indices){ parentDocument[id] = this; } else { r = parentDocument[id]; if (!(r is Array)){ r = (parentDocument[id] = []); }; n = indices.length; i = 0; while (i < (n - 1)) { s = r[indices[i]]; if (!(s is Array)){ s = (r[indices[i]] = []); }; r = s; i++; }; r[indices[(n - 1)]] = this; event = PropertyChangeEvent.createUpdateEvent(parentDocument, id, parentDocument[id], parentDocument[id]); parentDocument.dispatchEvent(event); }; }; } public function get repeater():IRepeater{ return ((_repeaters) ? _repeaters[(_repeaters.length - 1)] : null); } public function set isPopUp(value:Boolean):void{ _isPopUp = value; } public function get measuredHeight():Number{ return (_measuredHeight); } public function initialize():void{ if (initialized){ return; }; dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE)); createChildren(); childrenCreated(); initializeAccessibility(); initializationComplete(); } override public function set width(value:Number):void{ var p:IInvalidating; if (explicitWidth != value){ explicitWidth = value; invalidateSize(); }; if (_width != value){ invalidateProperties(); invalidateDisplayList(); p = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; _width = value; dispatchEvent(new Event("widthChanged")); }; } public function set percentHeight(value:Number):void{ if (_percentHeight == value){ return; }; if (!isNaN(value)){ _explicitHeight = NaN; }; _percentHeight = value; var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; } final mx_internal function set $visible(value:Boolean):void{ super.visible = value; } private function findCommonBaseState(state1:String, state2:String):String{ var firstState:State = getState(state1); var secondState:State = getState(state2); if (((!(firstState)) || (!(secondState)))){ return (""); }; if (((isBaseState(firstState.basedOn)) && (isBaseState(secondState.basedOn)))){ return (""); }; var firstBaseStates:Array = getBaseStates(firstState); var secondBaseStates:Array = getBaseStates(secondState); var commonBase:String = ""; while (firstBaseStates[(firstBaseStates.length - 1)] == secondBaseStates[(secondBaseStates.length - 1)]) { commonBase = firstBaseStates.pop(); secondBaseStates.pop(); if (((!(firstBaseStates.length)) || (!(secondBaseStates.length)))){ break; }; }; if (((firstBaseStates.length) && ((firstBaseStates[(firstBaseStates.length - 1)] == secondState.name)))){ commonBase = secondState.name; } else { if (((secondBaseStates.length) && ((secondBaseStates[(secondBaseStates.length - 1)] == firstState.name)))){ commonBase = firstState.name; }; }; return (commonBase); } mx_internal function childRemoved(child:DisplayObject):void{ if ((child is IUIComponent)){ if (IUIComponent(child).document != child){ IUIComponent(child).document = null; }; IUIComponent(child).parentChanged(null); }; } final mx_internal function $removeChildAt(index:int):DisplayObject{ return (super.removeChildAt(index)); } public function get maxHeight():Number{ return ((isNaN(explicitMaxHeight)) ? DEFAULT_MAX_HEIGHT : explicitMaxHeight); } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function set explicitMaxHeight(value:Number):void{ if (_explicitMaxHeight == value){ return; }; _explicitMaxHeight = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMaxHeightChanged")); } public function get focusManager():IFocusManager{ if (_focusManager){ return (_focusManager); }; var o:DisplayObject = parent; while (o) { if ((o is IFocusManagerContainer)){ return (IFocusManagerContainer(o).focusManager); }; o = o.parent; }; return (null); } public function set styleName(value:Object):void{ if (_styleName === value){ return; }; _styleName = value; if (inheritingStyles == UIComponent.STYLE_UNINITIALIZED){ return; }; regenerateStyleCache(true); initThemeColor(); styleChanged("styleName"); notifyStyleChangeInChildren("styleName", true); } public function get automationDelegate():Object{ return (_automationDelegate); } protected function get resourceManager():IResourceManager{ return (_resourceManager); } mx_internal function validateBaselinePosition():Boolean{ var w:Number; var h:Number; if (!parent){ return (false); }; if ((((width == 0)) && ((height == 0)))){ validateNow(); w = getExplicitOrMeasuredWidth(); h = getExplicitOrMeasuredHeight(); setActualSize(w, h); }; validateNow(); return (true); } mx_internal function cancelAllCallLaters():void{ var sm:ISystemManager = systemManager; if (((sm) && (sm.stage))){ if (listeningForRender){ sm.stage.removeEventListener(Event.RENDER, callLaterDispatcher); sm.stage.removeEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = false; }; }; methodQueue.splice(0); } private function updateCompleteHandler(event:FlexEvent):void{ UIComponentGlobals.layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler); processEffectFinished(_endingEffectInstances); _endingEffectInstances = []; } public function styleChanged(styleProp:String):void{ if ((((this is IFontContextComponent)) && (hasFontContextChanged()))){ invalidateProperties(); }; if (((((!(styleProp)) || ((styleProp == "styleName")))) || (StyleManager.isSizeInvalidatingStyle(styleProp)))){ invalidateSize(); }; if (((((!(styleProp)) || ((styleProp == "styleName")))) || ((styleProp == "themeColor")))){ initThemeColor(); }; invalidateDisplayList(); if ((parent is IInvalidating)){ if (StyleManager.isParentSizeInvalidatingStyle(styleProp)){ IInvalidating(parent).invalidateSize(); }; if (StyleManager.isParentDisplayListInvalidatingStyle(styleProp)){ IInvalidating(parent).invalidateDisplayList(); }; }; } final mx_internal function get $visible():Boolean{ return (super.visible); } public function drawRoundRect(x:Number, y:Number, w:Number, h:Number, r:Object=null, c:Object=null, alpha:Object=null, rot:Object=null, gradient:String=null, ratios:Array=null, hole:Object=null):void{ var ellipseSize:Number; var alphas:Array; var matrix:Matrix; var holeR:Object; var g:Graphics = graphics; if (((!(w)) || (!(h)))){ return; }; if (c !== null){ if ((c is Array)){ if ((alpha is Array)){ alphas = (alpha as Array); } else { alphas = [alpha, alpha]; }; if (!ratios){ ratios = [0, 0xFF]; }; matrix = null; if (rot){ if ((rot is Matrix)){ matrix = Matrix(rot); } else { matrix = new Matrix(); if ((rot is Number)){ matrix.createGradientBox(w, h, ((Number(rot) * Math.PI) / 180), x, y); } else { matrix.createGradientBox(rot.w, rot.h, rot.r, rot.x, rot.y); }; }; }; if (gradient == GradientType.RADIAL){ g.beginGradientFill(GradientType.RADIAL, (c as Array), alphas, ratios, matrix); } else { g.beginGradientFill(GradientType.LINEAR, (c as Array), alphas, ratios, matrix); }; } else { g.beginFill(Number(c), Number(alpha)); }; }; if (!r){ g.drawRect(x, y, w, h); } else { if ((r is Number)){ ellipseSize = (Number(r) * 2); g.drawRoundRect(x, y, w, h, ellipseSize, ellipseSize); } else { GraphicsUtil.drawRoundRectComplex(g, x, y, w, h, r.tl, r.tr, r.bl, r.br); }; }; if (hole){ holeR = hole.r; if ((holeR is Number)){ ellipseSize = (Number(holeR) * 2); g.drawRoundRect(hole.x, hole.y, hole.w, hole.h, ellipseSize, ellipseSize); } else { GraphicsUtil.drawRoundRectComplex(g, hole.x, hole.y, hole.w, hole.h, holeR.tl, holeR.tr, holeR.bl, holeR.br); }; }; if (c !== null){ g.endFill(); }; } public function move(x:Number, y:Number):void{ var changed:Boolean; if (x != super.x){ super.x = x; dispatchEvent(new Event("xChanged")); changed = true; }; if (y != super.y){ super.y = y; dispatchEvent(new Event("yChanged")); changed = true; }; if (changed){ dispatchMoveEvent(); }; } public function set toolTip(value:String):void{ var oldValue:String = _toolTip; _toolTip = value; ToolTipManager.registerToolTip(this, oldValue, value); dispatchEvent(new Event("toolTipChanged")); } public function set repeaters(value:Array):void{ _repeaters = value; } public function get explicitMaxHeight():Number{ return (_explicitMaxHeight); } public function measureText(text:String):TextLineMetrics{ return (determineTextFormatFromStyles().measureText(text)); } public function get styleName():Object{ return (_styleName); } protected function createInModuleContext(moduleFactory:IFlexModuleFactory, className:String):Object{ var newObject:Object; if (moduleFactory){ newObject = moduleFactory.create(className); }; return (newObject); } public function get parentDocument():Object{ var p:IUIComponent; var sm:ISystemManager; if (document == this){ p = (parent as IUIComponent); if (p){ return (p.document); }; sm = (parent as ISystemManager); if (sm){ return (sm.document); }; return (null); //unresolved jump }; return (document); } protected function childrenCreated():void{ invalidateProperties(); invalidateSize(); invalidateDisplayList(); } public function set flexContextMenu(value:IFlexContextMenu):void{ if (_flexContextMenu){ _flexContextMenu.unsetContextMenu(this); }; _flexContextMenu = value; if (value != null){ _flexContextMenu.setContextMenu(this); }; } public function set explicitWidth(value:Number):void{ if (_explicitWidth == value){ return; }; if (!isNaN(value)){ _percentWidth = NaN; }; _explicitWidth = value; invalidateSize(); var p:IInvalidating = (parent as IInvalidating); if (((p) && (includeInLayout))){ p.invalidateSize(); p.invalidateDisplayList(); }; dispatchEvent(new Event("explicitWidthChanged")); } private function setBorderColorForErrorString():void{ if (((!(_errorString)) || ((_errorString.length == 0)))){ if (!isNaN(origBorderColor)){ setStyle("borderColor", origBorderColor); saveBorderColor = true; }; } else { if (saveBorderColor){ saveBorderColor = false; origBorderColor = getStyle("borderColor"); }; setStyle("borderColor", getStyle("errorColor")); }; styleChanged("themeColor"); var focusManager:IFocusManager = focusManager; var focusObj:DisplayObject = (focusManager) ? DisplayObject(focusManager.getFocus()) : null; if (((((focusManager) && (focusManager.showFocusIndicator))) && ((focusObj == this)))){ drawFocus(true); }; } public function get explicitWidth():Number{ return (_explicitWidth); } public function invalidateSize():void{ if (!invalidateSizeFlag){ invalidateSizeFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateSize(this); }; }; } public function set measuredMinHeight(value:Number):void{ _measuredMinHeight = value; } protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ } override public function set filters(value:Array):void{ var n:int; var i:int; var e:IEventDispatcher; if (_filters){ n = _filters.length; i = 0; while (i < n) { e = (_filters[i] as IEventDispatcher); if (e){ e.removeEventListener("change", filterChangeHandler); }; i++; }; }; _filters = value; if (_filters){ n = _filters.length; i = 0; while (i < n) { e = (_filters[i] as IEventDispatcher); if (e){ e.addEventListener("change", filterChangeHandler); }; i++; }; }; super.filters = _filters; } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } public static function resumeBackgroundProcessing():void{ var sm:ISystemManager; if (UIComponentGlobals.callLaterSuspendCount > 0){ UIComponentGlobals.callLaterSuspendCount--; if (UIComponentGlobals.callLaterSuspendCount == 0){ sm = SystemManagerGlobals.topLevelSystemManagers[0]; if (((sm) && (sm.stage))){ sm.stage.invalidate(); }; }; }; } public static function suspendBackgroundProcessing():void{ UIComponentGlobals.callLaterSuspendCount++; } } }//package mx.core class MethodQueueElement { public var method:Function; public var args:Array; private function MethodQueueElement(method:Function, args:Array=null){ super(); this.method = method; this.args = args; } }
Section 279
//UIComponentCachePolicy (mx.core.UIComponentCachePolicy) package mx.core { public final class UIComponentCachePolicy { public static const AUTO:String = "auto"; public static const ON:String = "on"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OFF:String = "off"; public function UIComponentCachePolicy(){ super(); } } }//package mx.core
Section 280
//UIComponentDescriptor (mx.core.UIComponentDescriptor) package mx.core { public class UIComponentDescriptor extends ComponentDescriptor { mx_internal var instanceIndices:Array; public var stylesFactory:Function; public var effects:Array; mx_internal var repeaters:Array; mx_internal var repeaterIndices:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function UIComponentDescriptor(descriptorProperties:Object){ super(descriptorProperties); } override public function toString():String{ return (("UIComponentDescriptor_" + id)); } } }//package mx.core
Section 281
//UIComponentGlobals (mx.core.UIComponentGlobals) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; public class UIComponentGlobals { mx_internal static var callLaterSuspendCount:int = 0; mx_internal static var layoutManager:ILayoutManager; mx_internal static var nextFocusObject:InteractiveObject; mx_internal static var designTime:Boolean = false; mx_internal static var tempMatrix:Matrix = new Matrix(); mx_internal static var callLaterDispatcherCount:int = 0; private static var _catchCallLaterExceptions:Boolean = false; public function UIComponentGlobals(){ super(); } public static function set catchCallLaterExceptions(value:Boolean):void{ _catchCallLaterExceptions = value; } public static function get designMode():Boolean{ return (designTime); } public static function set designMode(value:Boolean):void{ designTime = value; } public static function get catchCallLaterExceptions():Boolean{ return (_catchCallLaterExceptions); } } }//package mx.core
Section 282
//UITextField (mx.core.UITextField) package mx.core { import flash.display.*; import mx.managers.*; import flash.text.*; import flash.events.*; import mx.styles.*; import mx.resources.*; import mx.automation.*; import flash.utils.*; import mx.utils.*; public class UITextField extends FlexTextField implements IAutomationObject, IIMESupport, IFlexModule, IInvalidating, ISimpleStyleClient, IToolTipManagerClient, IUITextField { private var _enabled:Boolean;// = true private var untruncatedText:String; private var cachedEmbeddedFont:EmbeddedFont;// = null private var cachedTextFormat:TextFormat; private var _automationDelegate:IAutomationObject; private var _automationName:String; private var _styleName:Object; private var _document:Object; mx_internal var _toolTip:String; private var _nestLevel:int;// = 0 private var _explicitHeight:Number; private var _moduleFactory:IFlexModuleFactory; private var _initialized:Boolean;// = false private var _nonInheritingStyles:Object; private var _inheritingStyles:Object; private var _includeInLayout:Boolean;// = true private var invalidateDisplayListFlag:Boolean;// = true mx_internal var explicitColor:uint;// = 4294967295 private var _processedDescriptors:Boolean;// = true private var _updateCompletePendingFlag:Boolean;// = false private var explicitHTMLText:String;// = null mx_internal var _parent:DisplayObjectContainer; private var _imeMode:String;// = null private var resourceManager:IResourceManager; mx_internal var styleChangedFlag:Boolean;// = true private var _ignorePadding:Boolean;// = true private var _owner:DisplayObjectContainer; private var _explicitWidth:Number; mx_internal static const TEXT_WIDTH_PADDING:int = 5; mx_internal static const TEXT_HEIGHT_PADDING:int = 4; mx_internal static const VERSION:String = "3.0.0.0"; private static var truncationIndicatorResource:String; private static var _embeddedFontRegistry:IEmbeddedFontRegistry; mx_internal static var debuggingBorders:Boolean = false; public function UITextField(){ resourceManager = ResourceManager.getInstance(); _inheritingStyles = UIComponent.STYLE_UNINITIALIZED; _nonInheritingStyles = UIComponent.STYLE_UNINITIALIZED; super(); super.text = ""; focusRect = false; selectable = false; tabEnabled = false; if (debuggingBorders){ border = true; }; if (!truncationIndicatorResource){ truncationIndicatorResource = resourceManager.getString("core", "truncationIndicator"); }; addEventListener(Event.CHANGE, changeHandler); addEventListener("textFieldStyleChange", textFieldStyleChangeHandler); resourceManager.addEventListener(Event.CHANGE, resourceManager_changeHandler, false, 0, true); } public function set imeMode(value:String):void{ _imeMode = value; } public function get nestLevel():int{ return (_nestLevel); } private function textFieldStyleChangeHandler(event:Event):void{ if (explicitHTMLText != null){ super.htmlText = explicitHTMLText; }; } public function truncateToFit(truncationIndicator:String=null):Boolean{ var s:String; if (!truncationIndicator){ truncationIndicator = truncationIndicatorResource; }; validateNow(); var originalText:String = super.text; untruncatedText = originalText; var w:Number = width; if (((!((originalText == ""))) && (((textWidth + TEXT_WIDTH_PADDING) > (w + 1E-14))))){ var _local5 = originalText; super.text = _local5; s = _local5; originalText.slice(0, Math.floor(((w / (textWidth + TEXT_WIDTH_PADDING)) * originalText.length))); while ((((s.length > 1)) && (((textWidth + TEXT_WIDTH_PADDING) > w)))) { s = s.slice(0, -1); super.text = (s + truncationIndicator); }; return (true); }; return (false); } public function set nestLevel(value:int):void{ if ((((value > 1)) && (!((_nestLevel == value))))){ _nestLevel = value; StyleProtoChain.initTextField(this); styleChangedFlag = true; validateNow(); }; } public function get minHeight():Number{ return (0); } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } public function getStyle(styleProp:String){ if (StyleManager.inheritingStyles[styleProp]){ return ((inheritingStyles) ? inheritingStyles[styleProp] : IStyleClient(parent).getStyle(styleProp)); //unresolved jump }; return ((nonInheritingStyles) ? nonInheritingStyles[styleProp] : IStyleClient(parent).getStyle(styleProp)); } public function get className():String{ var name:String = getQualifiedClassName(this); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; return (name); } public function setColor(color:uint):void{ explicitColor = color; styleChangedFlag = true; invalidateDisplayListFlag = true; validateNow(); } override public function replaceText(beginIndex:int, endIndex:int, newText:String):void{ super.replaceText(beginIndex, endIndex, newText); dispatchEvent(new Event("textReplace")); } private function creatingSystemManager():ISystemManager{ return ((((!((moduleFactory == null))) && ((moduleFactory is ISystemManager)))) ? ISystemManager(moduleFactory) : systemManager); } public function set document(value:Object):void{ _document = value; } public function get automationName():String{ if (_automationName){ return (_automationName); }; if (automationDelegate){ return (automationDelegate.automationName); }; return (""); } public function get explicitMinHeight():Number{ return (NaN); } public function get focusPane():Sprite{ return (null); } public function getTextStyles():TextFormat{ var textFormat:TextFormat = new TextFormat(); textFormat.align = getStyle("textAlign"); textFormat.bold = (getStyle("fontWeight") == "bold"); if (enabled){ if (explicitColor == StyleManager.NOT_A_COLOR){ textFormat.color = getStyle("color"); } else { textFormat.color = explicitColor; }; } else { textFormat.color = getStyle("disabledColor"); }; textFormat.font = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); textFormat.indent = getStyle("textIndent"); textFormat.italic = (getStyle("fontStyle") == "italic"); textFormat.kerning = getStyle("kerning"); textFormat.leading = getStyle("leading"); textFormat.leftMargin = (ignorePadding) ? 0 : getStyle("paddingLeft"); textFormat.letterSpacing = getStyle("letterSpacing"); textFormat.rightMargin = (ignorePadding) ? 0 : getStyle("paddingRight"); textFormat.size = getStyle("fontSize"); textFormat.underline = (getStyle("textDecoration") == "underline"); cachedTextFormat = textFormat; return (textFormat); } override public function set text(value:String):void{ if (!value){ value = ""; }; if (((!(isHTML)) && ((super.text == value)))){ return; }; super.text = value; explicitHTMLText = null; if (invalidateDisplayListFlag){ validateNow(); }; } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } public function get showInAutomationHierarchy():Boolean{ return (true); } public function set automationName(value:String):void{ _automationName = value; } public function get systemManager():ISystemManager{ var ui:IUIComponent; var o:DisplayObject = parent; while (o) { ui = (o as IUIComponent); if (ui){ return (ui.systemManager); }; o = o.parent; }; return (null); } public function setStyle(styleProp:String, value):void{ } public function get percentWidth():Number{ return (NaN); } public function get explicitHeight():Number{ return (_explicitHeight); } public function get baselinePosition():Number{ var tlm:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ tlm = getLineMetrics(0); return (((height - 4) - tlm.descent)); }; if (!parent){ return (NaN); }; var isEmpty = (text == ""); if (isEmpty){ super.text = "Wj"; }; tlm = getLineMetrics(0); if (isEmpty){ super.text = ""; }; return ((2 + tlm.ascent)); } public function set enabled(value:Boolean):void{ mouseEnabled = value; _enabled = value; styleChanged("color"); } public function get minWidth():Number{ return (0); } public function get automationValue():Array{ if (automationDelegate){ return (automationDelegate.automationValue); }; return ([""]); } public function get tweeningProperties():Array{ return (null); } public function get measuredWidth():Number{ validateNow(); if (!stage){ return ((textWidth + TEXT_WIDTH_PADDING)); }; return (((textWidth * transform.concatenatedMatrix.d) + TEXT_WIDTH_PADDING)); } public function set tweeningProperties(value:Array):void{ } public function createAutomationIDPart(child:IAutomationObject):Object{ return (null); } override public function get parent():DisplayObjectContainer{ return ((_parent) ? _parent : super.parent); } public function set updateCompletePendingFlag(value:Boolean):void{ _updateCompletePendingFlag = value; } public function setActualSize(w:Number, h:Number):void{ if (width != w){ width = w; }; if (height != h){ height = h; }; } public function get numAutomationChildren():int{ return (0); } public function set focusPane(value:Sprite):void{ } public function getAutomationChildAt(index:int):IAutomationObject{ return (null); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function get owner():DisplayObjectContainer{ return ((_owner) ? _owner : parent); } public function parentChanged(p:DisplayObjectContainer):void{ if (!p){ _parent = null; _nestLevel = 0; } else { if ((p is IStyleClient)){ _parent = p; } else { if ((p is SystemManager)){ _parent = p; } else { _parent = p.parent; }; }; }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function get maxWidth():Number{ return (UIComponent.DEFAULT_MAX_WIDTH); } private function getEmbeddedFont(fontName:String, bold:Boolean, italic:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == fontName)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(bold, italic))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(fontName, bold, italic); return (cachedEmbeddedFont); } public function get initialized():Boolean{ return (_initialized); } public function invalidateDisplayList():void{ invalidateDisplayListFlag = true; } public function invalidateProperties():void{ } override public function insertXMLText(beginIndex:int, endIndex:int, richText:String, pasting:Boolean=false):void{ super.insertXMLText(beginIndex, endIndex, richText, pasting); dispatchEvent(new Event("textInsert")); } public function set includeInLayout(value:Boolean):void{ var p:IInvalidating; if (_includeInLayout != value){ _includeInLayout = value; p = (parent as IInvalidating); if (p){ p.invalidateSize(); p.invalidateDisplayList(); }; }; } override public function set htmlText(value:String):void{ if (!value){ value = ""; }; if (((isHTML) && ((super.htmlText == value)))){ return; }; if (((cachedTextFormat) && ((styleSheet == null)))){ defaultTextFormat = cachedTextFormat; }; super.htmlText = value; explicitHTMLText = value; if (invalidateDisplayListFlag){ validateNow(); }; } public function set showInAutomationHierarchy(value:Boolean):void{ } private function resourceManager_changeHandler(event:Event):void{ truncationIndicatorResource = resourceManager.getString("core", "truncationIndicator"); if (untruncatedText != null){ super.text = untruncatedText; truncateToFit(); }; } public function set measuredMinWidth(value:Number):void{ } public function set explicitHeight(value:Number):void{ _explicitHeight = value; } public function get explicitMinWidth():Number{ return (NaN); } public function set percentWidth(value:Number):void{ } public function get imeMode():String{ return (_imeMode); } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } public function set systemManager(value:ISystemManager):void{ } public function get explicitMaxWidth():Number{ return (NaN); } public function get document():Object{ return (_document); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } public function replayAutomatableEvent(event:Event):Boolean{ if (automationDelegate){ return (automationDelegate.replayAutomatableEvent(event)); }; return (false); } public function get enabled():Boolean{ return (_enabled); } public function set owner(value:DisplayObjectContainer):void{ _owner = value; } public function get automationTabularData():Object{ return (null); } public function set nonInheritingStyles(value:Object):void{ _nonInheritingStyles = value; } public function get includeInLayout():Boolean{ return (_includeInLayout); } public function get measuredMinWidth():Number{ return (0); } public function set isPopUp(value:Boolean):void{ } public function set automationDelegate(value:Object):void{ _automationDelegate = (value as IAutomationObject); } public function get measuredHeight():Number{ validateNow(); if (!stage){ return ((textHeight + TEXT_HEIGHT_PADDING)); }; return (((textHeight * transform.concatenatedMatrix.a) + TEXT_HEIGHT_PADDING)); } public function set processedDescriptors(value:Boolean):void{ _processedDescriptors = value; } public function setFocus():void{ systemManager.stage.focus = this; } public function initialize():void{ } public function set percentHeight(value:Number):void{ } public function resolveAutomationIDPart(criteria:Object):Array{ return ([]); } public function set inheritingStyles(value:Object):void{ _inheritingStyles = value; } public function getUITextFormat():UITextFormat{ validateNow(); var textFormat:UITextFormat = new UITextFormat(creatingSystemManager()); textFormat.moduleFactory = moduleFactory; textFormat.copyFrom(getTextFormat()); textFormat.antiAliasType = antiAliasType; textFormat.gridFitType = gridFitType; textFormat.sharpness = sharpness; textFormat.thickness = thickness; return (textFormat); } private function changeHandler(event:Event):void{ explicitHTMLText = null; } public function set initialized(value:Boolean):void{ _initialized = value; } public function get nonZeroTextHeight():Number{ var result:Number; if (super.text == ""){ super.text = "Wj"; result = textHeight; super.text = ""; return (result); }; return (textHeight); } public function owns(child:DisplayObject):Boolean{ return ((child == this)); } override public function setTextFormat(format:TextFormat, beginIndex:int=-1, endIndex:int=-1):void{ if (styleSheet){ return; }; super.setTextFormat(format, beginIndex, endIndex); dispatchEvent(new Event("textFormatChange")); } public function get nonInheritingStyles():Object{ return (_nonInheritingStyles); } public function setVisible(visible:Boolean, noEvent:Boolean=false):void{ this.visible = visible; } public function get maxHeight():Number{ return (UIComponent.DEFAULT_MAX_HEIGHT); } public function get automationDelegate():Object{ return (_automationDelegate); } public function get isPopUp():Boolean{ return (false); } public function set ignorePadding(value:Boolean):void{ _ignorePadding = value; styleChanged(null); } public function set styleName(value:Object):void{ if (_styleName === value){ return; }; _styleName = value; if (parent){ StyleProtoChain.initTextField(this); styleChanged("styleName"); }; } public function styleChanged(styleProp:String):void{ styleChangedFlag = true; if (!invalidateDisplayListFlag){ invalidateDisplayListFlag = true; if (("callLater" in parent)){ Object(parent).callLater(validateNow); }; }; } public function get percentHeight():Number{ return (NaN); } private function get isHTML():Boolean{ return (!((explicitHTMLText == null))); } public function get explicitMaxHeight():Number{ return (NaN); } public function get styleName():Object{ return (_styleName); } public function set explicitWidth(value:Number):void{ _explicitWidth = value; } public function validateNow():void{ var textFormat:TextFormat; var embeddedFont:EmbeddedFont; var fontModuleFactory:IFlexModuleFactory; var sm:ISystemManager; if (!parent){ return; }; if (((!(isNaN(explicitWidth))) && (!((super.width == explicitWidth))))){ super.width = ((explicitWidth)>4) ? explicitWidth : 4; }; if (((!(isNaN(explicitHeight))) && (!((super.height == explicitHeight))))){ super.height = explicitHeight; }; if (styleChangedFlag){ textFormat = getTextStyles(); if (textFormat.font){ embeddedFont = getEmbeddedFont(textFormat.font, textFormat.bold, textFormat.italic); fontModuleFactory = embeddedFontRegistry.getAssociatedModuleFactory(embeddedFont, moduleFactory); if (fontModuleFactory != null){ embedFonts = true; } else { sm = creatingSystemManager(); embedFonts = ((!((sm == null))) && (sm.isFontFaceEmbedded(textFormat))); }; } else { embedFonts = getStyle("embedFonts"); }; if (getStyle("fontAntiAliasType") != undefined){ antiAliasType = getStyle("fontAntiAliasType"); gridFitType = getStyle("fontGridFitType"); sharpness = getStyle("fontSharpness"); thickness = getStyle("fontThickness"); }; if (!styleSheet){ super.setTextFormat(textFormat); defaultTextFormat = textFormat; }; dispatchEvent(new Event("textFieldStyleChange")); }; styleChangedFlag = false; invalidateDisplayListFlag = false; } public function set toolTip(value:String):void{ var oldValue:String = _toolTip; _toolTip = value; ToolTipManager.registerToolTip(this, oldValue, value); } public function move(x:Number, y:Number):void{ if (this.x != x){ this.x = x; }; if (this.y != y){ this.y = y; }; } public function get toolTip():String{ return (_toolTip); } public function get ignorePadding():Boolean{ return (_ignorePadding); } public function get explicitWidth():Number{ return (_explicitWidth); } public function invalidateSize():void{ invalidateDisplayListFlag = true; } public function set measuredMinHeight(value:Number):void{ } public function get measuredMinHeight():Number{ return (0); } public function set moduleFactory(factory:IFlexModuleFactory):void{ _moduleFactory = factory; } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } } }//package mx.core
Section 283
//UITextFormat (mx.core.UITextFormat) package mx.core { import mx.managers.*; import flash.text.*; public class UITextFormat extends TextFormat { private var systemManager:ISystemManager; public var sharpness:Number; public var gridFitType:String; public var antiAliasType:String; public var thickness:Number; private var cachedEmbeddedFont:EmbeddedFont;// = null private var _moduleFactory:IFlexModuleFactory; mx_internal static const VERSION:String = "3.0.0.0"; private static var _embeddedFontRegistry:IEmbeddedFontRegistry; private static var _textFieldFactory:ITextFieldFactory; public function UITextFormat(systemManager:ISystemManager, font:String=null, size:Object=null, color:Object=null, bold:Object=null, italic:Object=null, underline:Object=null, url:String=null, target:String=null, align:String=null, leftMargin:Object=null, rightMargin:Object=null, indent:Object=null, leading:Object=null){ this.systemManager = systemManager; super(font, size, color, bold, italic, underline, url, target, align, leftMargin, rightMargin, indent, leading); } public function set moduleFactory(value:IFlexModuleFactory):void{ _moduleFactory = value; } mx_internal function copyFrom(source:TextFormat):void{ font = source.font; size = source.size; color = source.color; bold = source.bold; italic = source.italic; underline = source.underline; url = source.url; target = source.target; align = source.align; leftMargin = source.leftMargin; rightMargin = source.rightMargin; indent = source.indent; leading = source.leading; } private function getEmbeddedFont(fontName:String, bold:Boolean, italic:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == fontName)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(bold, italic))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(fontName, bold, italic); return (cachedEmbeddedFont); } public function measureText(text:String, roundUp:Boolean=true):TextLineMetrics{ return (measure(text, false, roundUp)); } private function measure(s:String, html:Boolean, roundUp:Boolean):TextLineMetrics{ if (!s){ s = ""; }; var embeddedFont:Boolean; var fontModuleFactory:IFlexModuleFactory = embeddedFontRegistry.getAssociatedModuleFactory(getEmbeddedFont(font, bold, italic), moduleFactory); embeddedFont = !((fontModuleFactory == null)); if (fontModuleFactory == null){ fontModuleFactory = systemManager; }; var measurementTextField:TextField; measurementTextField = TextField(textFieldFactory.createTextField(fontModuleFactory)); if (html){ measurementTextField.htmlText = ""; } else { measurementTextField.text = ""; }; measurementTextField.defaultTextFormat = this; if (font){ measurementTextField.embedFonts = ((embeddedFont) || (((!((systemManager == null))) && (systemManager.isFontFaceEmbedded(this))))); } else { measurementTextField.embedFonts = false; }; measurementTextField.antiAliasType = antiAliasType; measurementTextField.gridFitType = gridFitType; measurementTextField.sharpness = sharpness; measurementTextField.thickness = thickness; if (html){ measurementTextField.htmlText = s; } else { measurementTextField.text = s; }; var lineMetrics:TextLineMetrics = measurementTextField.getLineMetrics(0); if (roundUp){ lineMetrics.width = Math.ceil(lineMetrics.width); lineMetrics.height = Math.ceil(lineMetrics.height); }; return (lineMetrics); } public function measureHTMLText(htmlText:String, roundUp:Boolean=true):TextLineMetrics{ return (measure(htmlText, true, roundUp)); } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } private static function get textFieldFactory():ITextFieldFactory{ if (!_textFieldFactory){ _textFieldFactory = ITextFieldFactory(Singleton.getInstance("mx.core::ITextFieldFactory")); }; return (_textFieldFactory); } } }//package mx.core
Section 284
//AddRemoveEffectTargetFilter (mx.effects.effectClasses.AddRemoveEffectTargetFilter) package mx.effects.effectClasses { import mx.core.*; import mx.effects.*; public class AddRemoveEffectTargetFilter extends EffectTargetFilter { public var add:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function AddRemoveEffectTargetFilter(){ super(); filterProperties = ["parent"]; } override protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean{ var props:PropertyChanges; var n:int = propChanges.length; var i:int; while (i < n) { props = propChanges[i]; if (props.target == instanceTarget){ if (add){ return ((((props.start["parent"] == null)) && (!((props.end["parent"] == null))))); }; return (((!((props.start["parent"] == null))) && ((props.end["parent"] == null)))); }; i++; }; return (false); } } }//package mx.effects.effectClasses
Section 285
//BlurInstance (mx.effects.effectClasses.BlurInstance) package mx.effects.effectClasses { import flash.events.*; import flash.filters.*; public class BlurInstance extends TweenEffectInstance { public var blurXTo:Number; public var blurYTo:Number; public var blurXFrom:Number; public var blurYFrom:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function BlurInstance(target:Object){ super(target); } override public function initEffect(event:Event):void{ super.initEffect(event); } override public function onTweenEnd(value:Object):void{ setBlurFilter(value[0], value[1]); super.onTweenEnd(value); } private function setBlurFilter(blurX:Number, blurY:Number):void{ var filters:Array = target.filters; var n:int = filters.length; var i:int; while (i < n) { if ((filters[i] is BlurFilter)){ filters.splice(i, 1); }; i++; }; if (((blurX) || (blurY))){ filters.push(new BlurFilter(blurX, blurY)); }; target.filters = filters; } override public function play():void{ super.play(); if (isNaN(blurXFrom)){ blurXFrom = 4; }; if (isNaN(blurXTo)){ blurXTo = 0; }; if (isNaN(blurYFrom)){ blurYFrom = 4; }; if (isNaN(blurYTo)){ blurYTo = 0; }; tween = createTween(this, [blurXFrom, blurYFrom], [blurXTo, blurYTo], duration); } override public function onTweenUpdate(value:Object):void{ setBlurFilter(value[0], value[1]); } } }//package mx.effects.effectClasses
Section 286
//FadeInstance (mx.effects.effectClasses.FadeInstance) package mx.effects.effectClasses { import flash.events.*; import mx.events.*; import mx.core.*; public class FadeInstance extends TweenEffectInstance { public var alphaFrom:Number; private var restoreAlpha:Boolean; public var alphaTo:Number; private var origAlpha:Number;// = NAN mx_internal static const VERSION:String = "3.0.0.0"; public function FadeInstance(target:Object){ super(target); } override public function initEffect(event:Event):void{ super.initEffect(event); switch (event.type){ case "childrenCreationComplete": case FlexEvent.CREATION_COMPLETE: case FlexEvent.SHOW: case Event.ADDED: case "resizeEnd": if (isNaN(alphaFrom)){ alphaFrom = 0; }; if (isNaN(alphaTo)){ alphaTo = target.alpha; }; break; case FlexEvent.HIDE: case Event.REMOVED: case "resizeStart": restoreAlpha = true; if (isNaN(alphaFrom)){ alphaFrom = target.alpha; }; if (isNaN(alphaTo)){ alphaTo = 0; }; break; }; } override public function onTweenEnd(value:Object):void{ super.onTweenEnd(value); if (((mx_internal::hideOnEffectEnd) || (restoreAlpha))){ target.alpha = origAlpha; }; } override public function play():void{ super.play(); origAlpha = target.alpha; var values:PropertyChanges = propertyChanges; if (((isNaN(alphaFrom)) && (isNaN(alphaTo)))){ if (((values) && (!((values.end["alpha"] === undefined))))){ alphaFrom = origAlpha; alphaTo = values.end["alpha"]; } else { if (((values) && (!((values.end["visible"] === undefined))))){ alphaFrom = (values.start["visible"]) ? origAlpha : 0; alphaTo = (values.end["visible"]) ? origAlpha : 0; } else { alphaFrom = 0; alphaTo = origAlpha; }; }; } else { if (isNaN(alphaFrom)){ alphaFrom = ((alphaTo)==0) ? origAlpha : 0; } else { if (isNaN(alphaTo)){ if (((values) && (!((values.end["alpha"] === undefined))))){ alphaTo = values.end["alpha"]; } else { alphaTo = ((alphaFrom)==0) ? origAlpha : 0; }; }; }; }; tween = createTween(this, alphaFrom, alphaTo, duration); target.alpha = tween.mx_internal::getCurrentValue(0); } override public function onTweenUpdate(value:Object):void{ target.alpha = value; } } }//package mx.effects.effectClasses
Section 287
//HideShowEffectTargetFilter (mx.effects.effectClasses.HideShowEffectTargetFilter) package mx.effects.effectClasses { import mx.core.*; import mx.effects.*; public class HideShowEffectTargetFilter extends EffectTargetFilter { public var show:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function HideShowEffectTargetFilter(){ super(); filterProperties = ["visible"]; } override protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean{ var props:PropertyChanges; var n:int = propChanges.length; var i:int; while (i < n) { props = propChanges[i]; if (props.target == instanceTarget){ return ((props.end["visible"] == show)); }; i++; }; return (false); } } }//package mx.effects.effectClasses
Section 288
//PropertyChanges (mx.effects.effectClasses.PropertyChanges) package mx.effects.effectClasses { import mx.core.*; public class PropertyChanges { public var target:Object; public var start:Object; public var end:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function PropertyChanges(target:Object){ end = {}; start = {}; super(); this.target = target; } } }//package mx.effects.effectClasses
Section 289
//TweenEffectInstance (mx.effects.effectClasses.TweenEffectInstance) package mx.effects.effectClasses { import mx.core.*; import mx.events.*; import mx.effects.*; public class TweenEffectInstance extends EffectInstance { private var _seekTime:Number;// = 0 public var easingFunction:Function; public var tween:Tween; mx_internal var needToLayout:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function TweenEffectInstance(target:Object){ super(target); } override public function stop():void{ super.stop(); if (tween){ tween.stop(); }; } mx_internal function applyTweenStartValues():void{ if (duration > 0){ onTweenUpdate(tween.getCurrentValue(0)); }; } override public function get playheadTime():Number{ if (tween){ return ((tween.playheadTime + super.playheadTime)); }; return (0); } protected function createTween(listener:Object, startValue:Object, endValue:Object, duration:Number=-1, minFps:Number=-1):Tween{ var newTween:Tween = new Tween(listener, startValue, endValue, duration, minFps); newTween.addEventListener(TweenEvent.TWEEN_START, tweenEventHandler); newTween.addEventListener(TweenEvent.TWEEN_UPDATE, tweenEventHandler); newTween.addEventListener(TweenEvent.TWEEN_END, tweenEventHandler); if (easingFunction != null){ newTween.easingFunction = easingFunction; }; if (_seekTime > 0){ newTween.seek(_seekTime); }; newTween.playReversed = playReversed; return (newTween); } private function tweenEventHandler(event:TweenEvent):void{ dispatchEvent(event); } override public function end():void{ stopRepeat = true; if (delayTimer){ delayTimer.reset(); }; if (tween){ tween.endTween(); tween = null; }; } override public function reverse():void{ super.reverse(); if (tween){ tween.reverse(); }; super.playReversed = !(playReversed); } override mx_internal function set playReversed(value:Boolean):void{ super.playReversed = value; if (tween){ tween.playReversed = value; }; } override public function resume():void{ super.resume(); if (tween){ tween.resume(); }; } public function onTweenEnd(value:Object):void{ onTweenUpdate(value); tween = null; if (needToLayout){ UIComponentGlobals.layoutManager.validateNow(); }; finishRepeat(); } public function onTweenUpdate(value:Object):void{ } override public function pause():void{ super.pause(); if (tween){ tween.pause(); }; } public function seek(playheadTime:Number):void{ if (tween){ tween.seek(playheadTime); } else { _seekTime = playheadTime; }; } } }//package mx.effects.effectClasses
Section 290
//ZoomInstance (mx.effects.effectClasses.ZoomInstance) package mx.effects.effectClasses { import mx.core.*; import flash.events.*; import mx.events.*; import mx.effects.*; public class ZoomInstance extends TweenEffectInstance { private var newY:Number; public var originY:Number; private var origX:Number; private var origY:Number; public var originX:Number; private var origPercentHeight:Number; public var zoomWidthFrom:Number; public var zoomWidthTo:Number; private var newX:Number; public var captureRollEvents:Boolean; private var origPercentWidth:Number; public var zoomHeightFrom:Number; private var origScaleX:Number; public var zoomHeightTo:Number; private var origScaleY:Number; private var scaledOriginX:Number; private var scaledOriginY:Number; private var show:Boolean;// = true private var _mouseHasMoved:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function ZoomInstance(target:Object){ super(target); } override public function finishEffect():void{ if (captureRollEvents){ target.removeEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false); target.removeEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false); target.removeEventListener(MouseEvent.MOUSE_MOVE, mouseEventHandler, false); }; super.finishEffect(); } private function getScaleFromWidth(value:Number):Number{ return ((value / (target.width / Math.abs(target.scaleX)))); } override public function initEffect(event:Event):void{ super.initEffect(event); if ((((event.type == FlexEvent.HIDE)) || ((event.type == Event.REMOVED)))){ show = false; }; } private function getScaleFromHeight(value:Number):Number{ return ((value / (target.height / Math.abs(target.scaleY)))); } private function applyPropertyChanges():void{ var useSize:Boolean; var useScale:Boolean; var values:PropertyChanges = propertyChanges; if (values){ useSize = false; useScale = false; if (values.end["scaleX"] !== undefined){ zoomWidthFrom = (isNaN(zoomWidthFrom)) ? target.scaleX : zoomWidthFrom; zoomWidthTo = (isNaN(zoomWidthTo)) ? values.end["scaleX"] : zoomWidthTo; useScale = true; }; if (values.end["scaleY"] !== undefined){ zoomHeightFrom = (isNaN(zoomHeightFrom)) ? target.scaleY : zoomHeightFrom; zoomHeightTo = (isNaN(zoomHeightTo)) ? values.end["scaleY"] : zoomHeightTo; useScale = true; }; if (useScale){ return; }; if (values.end["width"] !== undefined){ zoomWidthFrom = (isNaN(zoomWidthFrom)) ? getScaleFromWidth(target.width) : zoomWidthFrom; zoomWidthTo = (isNaN(zoomWidthTo)) ? getScaleFromWidth(values.end["width"]) : zoomWidthTo; useSize = true; }; if (values.end["height"] !== undefined){ zoomHeightFrom = (isNaN(zoomHeightFrom)) ? getScaleFromHeight(target.height) : zoomHeightFrom; zoomHeightTo = (isNaN(zoomHeightTo)) ? getScaleFromHeight(values.end["height"]) : zoomHeightTo; useSize = true; }; if (useSize){ return; }; if (values.end["visible"] !== undefined){ show = values.end["visible"]; }; }; } private function mouseEventHandler(event:MouseEvent):void{ if (event.type == MouseEvent.MOUSE_MOVE){ _mouseHasMoved = true; } else { if ((((event.type == MouseEvent.ROLL_OUT)) || ((event.type == MouseEvent.ROLL_OVER)))){ if (!_mouseHasMoved){ event.stopImmediatePropagation(); }; _mouseHasMoved = false; }; }; } override public function play():void{ super.play(); applyPropertyChanges(); if (((((((isNaN(zoomWidthFrom)) && (isNaN(zoomWidthTo)))) && (isNaN(zoomHeightFrom)))) && (isNaN(zoomHeightTo)))){ if (show){ zoomWidthFrom = (zoomHeightFrom = 0); zoomWidthTo = target.scaleX; zoomHeightTo = target.scaleY; } else { zoomWidthFrom = target.scaleX; zoomHeightFrom = target.scaleY; zoomWidthTo = (zoomHeightTo = 0); }; } else { if (((isNaN(zoomWidthFrom)) && (isNaN(zoomWidthTo)))){ zoomWidthFrom = (zoomWidthTo = target.scaleX); } else { if (((isNaN(zoomHeightFrom)) && (isNaN(zoomHeightTo)))){ zoomHeightFrom = (zoomHeightTo = target.scaleY); }; }; if (isNaN(zoomWidthFrom)){ zoomWidthFrom = target.scaleX; } else { if (isNaN(zoomWidthTo)){ zoomWidthTo = ((zoomWidthFrom)==1) ? 0 : 1; }; }; if (isNaN(zoomHeightFrom)){ zoomHeightFrom = target.scaleY; } else { if (isNaN(zoomHeightTo)){ zoomHeightTo = ((zoomHeightFrom)==1) ? 0 : 1; }; }; }; if (zoomWidthFrom < 0.01){ zoomWidthFrom = 0.01; }; if (zoomWidthTo < 0.01){ zoomWidthTo = 0.01; }; if (zoomHeightFrom < 0.01){ zoomHeightFrom = 0.01; }; if (zoomHeightTo < 0.01){ zoomHeightTo = 0.01; }; origScaleX = target.scaleX; origScaleY = target.scaleY; newX = (origX = target.x); newY = (origY = target.y); if (isNaN(originX)){ scaledOriginX = (target.width / 2); } else { scaledOriginX = (originX * origScaleX); }; if (isNaN(originY)){ scaledOriginY = (target.height / 2); } else { scaledOriginY = (originY * origScaleY); }; scaledOriginX = Number(scaledOriginX.toFixed(1)); scaledOriginY = Number(scaledOriginY.toFixed(1)); origPercentWidth = target.percentWidth; if (!isNaN(origPercentWidth)){ target.width = target.width; }; origPercentHeight = target.percentHeight; if (!isNaN(origPercentHeight)){ target.height = target.height; }; tween = createTween(this, [zoomWidthFrom, zoomHeightFrom], [zoomWidthTo, zoomHeightTo], duration); if (captureRollEvents){ target.addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false); target.addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false); target.addEventListener(MouseEvent.MOUSE_MOVE, mouseEventHandler, false); }; } override public function onTweenEnd(value:Object):void{ var curWidth:Number; var curHeight:Number; if (!isNaN(origPercentWidth)){ curWidth = target.width; target.percentWidth = origPercentWidth; if (((target.parent) && ((target.parent.autoLayout == false)))){ target.mx_internal::_width = curWidth; }; }; if (!isNaN(origPercentHeight)){ curHeight = target.height; target.percentHeight = origPercentHeight; if (((target.parent) && ((target.parent.autoLayout == false)))){ target.mx_internal::_height = curHeight; }; }; super.onTweenEnd(value); if (mx_internal::hideOnEffectEnd){ EffectManager.suspendEventHandling(); target.scaleX = origScaleX; target.scaleY = origScaleY; target.move(origX, origY); EffectManager.resumeEventHandling(); }; } override public function onTweenUpdate(value:Object):void{ EffectManager.suspendEventHandling(); if (Math.abs((newX - target.x)) > 0.1){ origX = (origX + (Number(target.x.toFixed(1)) - newX)); }; if (Math.abs((newY - target.y)) > 0.1){ origY = (origY + (Number(target.y.toFixed(1)) - newY)); }; target.scaleX = value[0]; target.scaleY = value[1]; var ratioX:Number = (value[0] / origScaleX); var ratioY:Number = (value[1] / origScaleY); var newOriginX:Number = (scaledOriginX * ratioX); var newOriginY:Number = (scaledOriginY * ratioY); newX = ((scaledOriginX - newOriginX) + origX); newY = ((scaledOriginY - newOriginY) + origY); newX = Number(newX.toFixed(1)); newY = Number(newY.toFixed(1)); target.move(newX, newY); tween.mx_internal::needToLayout = true; EffectManager.resumeEventHandling(); } } }//package mx.effects.effectClasses
Section 291
//Blur (mx.effects.Blur) package mx.effects { import mx.effects.effectClasses.*; public class Blur extends TweenEffect { public var blurXTo:Number; public var blurXFrom:Number; public var blurYFrom:Number; public var blurYTo:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["filters"]; public function Blur(target:Object=null){ super(target); instanceClass = BlurInstance; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } override protected function initInstance(instance:IEffectInstance):void{ var blurInstance:BlurInstance; super.initInstance(instance); blurInstance = BlurInstance(instance); blurInstance.blurXFrom = blurXFrom; blurInstance.blurXTo = blurXTo; blurInstance.blurYFrom = blurYFrom; blurInstance.blurYTo = blurYTo; } } }//package mx.effects
Section 292
//Effect (mx.effects.Effect) package mx.effects { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; import flash.utils.*; public class Effect extends EventDispatcher implements IEffect { private var _perElementOffset:Number;// = 0 private var _hideFocusRing:Boolean;// = false private var _customFilter:EffectTargetFilter; public var repeatCount:int;// = 1 public var suspendBackgroundProcessing:Boolean;// = false public var startDelay:int;// = 0 private var _relevantProperties:Array; private var _callValidateNow:Boolean;// = false mx_internal var applyActualDimensions:Boolean;// = true private var _filter:String; private var _triggerEvent:Event; private var _effectTargetHost:IEffectTargetHost; mx_internal var durationExplicitlySet:Boolean;// = false public var repeatDelay:int;// = 0 private var _targets:Array; mx_internal var propertyChangesArray:Array; mx_internal var filterObject:EffectTargetFilter; protected var endValuesCaptured:Boolean;// = false public var instanceClass:Class; private var _duration:Number;// = 500 private var isPaused:Boolean;// = false private var _relevantStyles:Array; private var _instances:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function Effect(target:Object=null){ _instances = []; instanceClass = IEffectInstance; _relevantStyles = []; _targets = []; super(); this.target = target; } public function get targets():Array{ return (_targets); } public function set targets(value:Array):void{ var n:int = value.length; var i:int = (n - 1); while (i > 0) { if (value[i] == null){ value.splice(i, 1); }; i--; }; _targets = value; } public function set hideFocusRing(value:Boolean):void{ _hideFocusRing = value; } public function get hideFocusRing():Boolean{ return (_hideFocusRing); } public function stop():void{ var instance:IEffectInstance; var n:int = _instances.length; var i:int = n; while (i >= 0) { instance = IEffectInstance(_instances[i]); if (instance){ instance.stop(); }; i--; }; } public function captureStartValues():void{ var n:int; var i:int; if (targets.length > 0){ propertyChangesArray = []; _callValidateNow = true; n = targets.length; i = 0; while (i < n) { propertyChangesArray.push(new PropertyChanges(targets[i])); i++; }; propertyChangesArray = captureValues(propertyChangesArray, true); }; endValuesCaptured = false; } mx_internal function captureValues(propChanges:Array, setStartValues:Boolean):Array{ var valueMap:Object; var target:Object; var n:int; var i:int; var m:int; var j:int; var effectProps:Array = (filterObject) ? mergeArrays(relevantProperties, filterObject.filterProperties) : relevantProperties; if (((effectProps) && ((effectProps.length > 0)))){ n = propChanges.length; i = 0; while (i < n) { target = propChanges[i].target; valueMap = (setStartValues) ? propChanges[i].start : propChanges[i].end; m = effectProps.length; j = 0; while (j < m) { valueMap[effectProps[j]] = getValueFromTarget(target, effectProps[j]); j++; }; i++; }; }; var styles:Array = (filterObject) ? mergeArrays(relevantStyles, filterObject.filterStyles) : relevantStyles; if (((styles) && ((styles.length > 0)))){ n = propChanges.length; i = 0; while (i < n) { target = propChanges[i].target; valueMap = (setStartValues) ? propChanges[i].start : propChanges[i].end; m = styles.length; j = 0; while (j < m) { valueMap[styles[j]] = target.getStyle(styles[j]); j++; }; i++; }; }; return (propChanges); } protected function getValueFromTarget(target:Object, property:String){ if ((property in target)){ return (target[property]); }; return (undefined); } public function set target(value:Object):void{ _targets.splice(0); if (value){ _targets[0] = value; }; } public function get className():String{ var name:String = getQualifiedClassName(this); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; return (name); } public function set perElementOffset(value:Number):void{ _perElementOffset = value; } public function resume():void{ var n:int; var i:int; if (((isPlaying) && (isPaused))){ isPaused = false; n = _instances.length; i = 0; while (i < n) { IEffectInstance(_instances[i]).resume(); i++; }; }; } public function set duration(value:Number):void{ durationExplicitlySet = true; _duration = value; } public function play(targets:Array=null, playReversedFromEnd:Boolean=false):Array{ var newInstance:IEffectInstance; if ((((targets == null)) && (!((propertyChangesArray == null))))){ if (_callValidateNow){ LayoutManager.getInstance().validateNow(); }; if (!endValuesCaptured){ propertyChangesArray = captureValues(propertyChangesArray, false); }; propertyChangesArray = stripUnchangedValues(propertyChangesArray); applyStartValues(propertyChangesArray, this.targets); }; var newInstances:Array = createInstances(targets); var n:int = newInstances.length; var i:int; while (i < n) { newInstance = IEffectInstance(newInstances[i]); Object(newInstance).playReversed = playReversedFromEnd; newInstance.startEffect(); i++; }; return (newInstances); } public function captureEndValues():void{ propertyChangesArray = captureValues(propertyChangesArray, false); endValuesCaptured = true; } protected function filterInstance(propChanges:Array, target:Object):Boolean{ if (filterObject){ return (filterObject.filterInstance(propChanges, effectTargetHost, target)); }; return (true); } public function get customFilter():EffectTargetFilter{ return (_customFilter); } public function get effectTargetHost():IEffectTargetHost{ return (_effectTargetHost); } public function set relevantProperties(value:Array):void{ _relevantProperties = value; } public function captureMoreStartValues(targets:Array):void{ var additionalPropertyChangesArray:Array; var i:int; if (targets.length > 0){ additionalPropertyChangesArray = []; i = 0; while (i < targets.length) { additionalPropertyChangesArray.push(new PropertyChanges(targets[i])); i++; }; additionalPropertyChangesArray = captureValues(additionalPropertyChangesArray, true); propertyChangesArray = propertyChangesArray.concat(additionalPropertyChangesArray); }; } public function deleteInstance(instance:IEffectInstance):void{ EventDispatcher(instance).removeEventListener(EffectEvent.EFFECT_START, effectStartHandler); EventDispatcher(instance).removeEventListener(EffectEvent.EFFECT_END, effectEndHandler); var n:int = _instances.length; var i:int; while (i < n) { if (_instances[i] === instance){ _instances.splice(i, 1); }; i++; }; } public function get filter():String{ return (_filter); } public function set triggerEvent(value:Event):void{ _triggerEvent = value; } public function get target():Object{ if (_targets.length > 0){ return (_targets[0]); }; return (null); } public function get duration():Number{ return (_duration); } public function set customFilter(value:EffectTargetFilter):void{ _customFilter = value; filterObject = value; } public function get perElementOffset():Number{ return (_perElementOffset); } public function set effectTargetHost(value:IEffectTargetHost):void{ _effectTargetHost = value; } public function get isPlaying():Boolean{ return (((_instances) && ((_instances.length > 0)))); } protected function effectEndHandler(event:EffectEvent):void{ var instance:IEffectInstance = IEffectInstance(event.effectInstance); deleteInstance(instance); dispatchEvent(event); } public function get relevantProperties():Array{ if (_relevantProperties){ return (_relevantProperties); }; return (getAffectedProperties()); } public function createInstance(target:Object=null):IEffectInstance{ var n:int; var i:int; if (!target){ target = this.target; }; var newInstance:IEffectInstance; var props:PropertyChanges; var create:Boolean; var setPropsArray:Boolean; if (propertyChangesArray){ setPropsArray = true; create = filterInstance(propertyChangesArray, target); }; if (create){ newInstance = IEffectInstance(new instanceClass(target)); initInstance(newInstance); if (setPropsArray){ n = propertyChangesArray.length; i = 0; while (i < n) { if (propertyChangesArray[i].target == target){ newInstance.propertyChanges = propertyChangesArray[i]; }; i++; }; }; EventDispatcher(newInstance).addEventListener(EffectEvent.EFFECT_START, effectStartHandler); EventDispatcher(newInstance).addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _instances.push(newInstance); if (triggerEvent){ newInstance.initEffect(triggerEvent); }; }; return (newInstance); } protected function effectStartHandler(event:EffectEvent):void{ dispatchEvent(event); } public function getAffectedProperties():Array{ return ([]); } public function set relevantStyles(value:Array):void{ _relevantStyles = value; } public function get triggerEvent():Event{ return (_triggerEvent); } protected function applyValueToTarget(target:Object, property:String, value, props:Object):void{ var target = target; var property = property; var value = value; var props = props; if ((property in target)){ if (((((applyActualDimensions) && ((target is IFlexDisplayObject)))) && ((property == "height")))){ target.setActualSize(target.width, value); } else { if (((((applyActualDimensions) && ((target is IFlexDisplayObject)))) && ((property == "width")))){ target.setActualSize(value, target.height); } else { target[property] = value; }; }; //unresolved jump var _slot1 = e; }; } protected function initInstance(instance:IEffectInstance):void{ instance.duration = duration; Object(instance).durationExplicitlySet = durationExplicitlySet; instance.effect = this; instance.effectTargetHost = effectTargetHost; instance.hideFocusRing = hideFocusRing; instance.repeatCount = repeatCount; instance.repeatDelay = repeatDelay; instance.startDelay = startDelay; instance.suspendBackgroundProcessing = suspendBackgroundProcessing; } mx_internal function applyStartValues(propChanges:Array, targets:Array):void{ var m:int; var j:int; var target:Object; var apply:Boolean; var effectProps:Array = relevantProperties; var n:int = propChanges.length; var i:int; while (i < n) { target = propChanges[i].target; apply = false; m = targets.length; j = 0; while (j < m) { if (targets[j] == target){ apply = filterInstance(propChanges, target); break; }; j++; }; if (apply){ m = effectProps.length; j = 0; while (j < m) { if ((((effectProps[j] in propChanges[i].start)) && ((effectProps[j] in target)))){ applyValueToTarget(target, effectProps[j], propChanges[i].start[effectProps[j]], propChanges[i].start); }; j++; }; m = relevantStyles.length; j = 0; while (j < m) { if ((relevantStyles[j] in propChanges[i].start)){ target.setStyle(relevantStyles[j], propChanges[i].start[relevantStyles[j]]); }; j++; }; }; i++; }; } public function end(effectInstance:IEffectInstance=null):void{ var n:int; var i:int; var instance:IEffectInstance; if (effectInstance){ effectInstance.end(); } else { n = _instances.length; i = n; while (i >= 0) { instance = IEffectInstance(_instances[i]); if (instance){ instance.end(); }; i--; }; }; } public function get relevantStyles():Array{ return (_relevantStyles); } public function createInstances(targets:Array=null):Array{ var newInstance:IEffectInstance; if (!targets){ targets = this.targets; }; var newInstances:Array = []; var n:int = targets.length; var offsetDelay:Number = 0; var i:int; while (i < n) { newInstance = createInstance(targets[i]); if (newInstance){ newInstance.startDelay = (newInstance.startDelay + offsetDelay); offsetDelay = (offsetDelay + perElementOffset); newInstances.push(newInstance); }; i++; }; triggerEvent = null; return (newInstances); } public function pause():void{ var n:int; var i:int; if (((isPlaying) && (!(isPaused)))){ isPaused = true; n = _instances.length; i = 0; while (i < n) { IEffectInstance(_instances[i]).pause(); i++; }; }; } public function set filter(value:String):void{ if (!customFilter){ _filter = value; switch (value){ case "add": case "remove": filterObject = new AddRemoveEffectTargetFilter(); AddRemoveEffectTargetFilter(filterObject).add = (value == "add"); break; case "hide": case "show": filterObject = new HideShowEffectTargetFilter(); HideShowEffectTargetFilter(filterObject).show = (value == "show"); break; case "move": filterObject = new EffectTargetFilter(); filterObject.filterProperties = ["x", "y"]; break; case "resize": filterObject = new EffectTargetFilter(); filterObject.filterProperties = ["width", "height"]; break; case "addItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {added:true}; break; case "removeItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {removed:true}; break; case "replacedItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {replaced:true}; break; case "replacementItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {replacement:true}; break; default: filterObject = null; break; }; }; } public function reverse():void{ var n:int; var i:int; if (isPlaying){ n = _instances.length; i = 0; while (i < n) { IEffectInstance(_instances[i]).reverse(); i++; }; }; } private static function mergeArrays(a1:Array, a2:Array):Array{ var i2:int; var addIt:Boolean; var i1:int; if (a2){ i2 = 0; while (i2 < a2.length) { addIt = true; i1 = 0; while (i1 < a1.length) { if (a1[i1] == a2[i2]){ addIt = false; break; }; i1++; }; if (addIt){ a1.push(a2[i2]); }; i2++; }; }; return (a1); } private static function stripUnchangedValues(propChanges:Array):Array{ var prop:Object; var i:int; while (i < propChanges.length) { for (prop in propChanges[i].start) { if ((((propChanges[i].start[prop] == propChanges[i].end[prop])) || ((((((((typeof(propChanges[i].start[prop]) == "number")) && ((typeof(propChanges[i].end[prop]) == "number")))) && (isNaN(propChanges[i].start[prop])))) && (isNaN(propChanges[i].end[prop])))))){ delete propChanges[i].start[prop]; delete propChanges[i].end[prop]; }; }; i++; }; return (propChanges); } } }//package mx.effects
Section 293
//EffectInstance (mx.effects.EffectInstance) package mx.effects { import mx.core.*; import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; import flash.utils.*; public class EffectInstance extends EventDispatcher implements IEffectInstance { private var _hideFocusRing:Boolean; private var delayStartTime:Number;// = 0 mx_internal var stopRepeat:Boolean;// = false private var playCount:int;// = 0 private var _repeatCount:int;// = 0 private var _suspendBackgroundProcessing:Boolean;// = false mx_internal var delayTimer:Timer; private var _triggerEvent:Event; private var _effectTargetHost:IEffectTargetHost; mx_internal var parentCompositeEffectInstance:EffectInstance; mx_internal var durationExplicitlySet:Boolean;// = false private var _effect:IEffect; private var _target:Object; mx_internal var hideOnEffectEnd:Boolean;// = false private var _startDelay:int;// = 0 private var delayElapsedTime:Number;// = 0 private var _repeatDelay:int;// = 0 private var _propertyChanges:PropertyChanges; private var _duration:Number;// = 500 private var _playReversed:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function EffectInstance(target:Object){ super(); this.target = target; } public function get playheadTime():Number{ return ((((Math.max((playCount - 1), 0) * duration) + (Math.max((playCount - 2), 0) * repeatDelay)) + (playReversed) ? 0 : startDelay)); } public function get hideFocusRing():Boolean{ return (_hideFocusRing); } public function stop():void{ if (delayTimer){ delayTimer.reset(); }; stopRepeat = true; finishEffect(); } public function finishEffect():void{ playCount = 0; dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END, false, false, this)); if (target){ target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END, false, false, this)); }; if ((target is UIComponent)){ UIComponent(target).effectFinished(this); }; EffectManager.effectFinished(this); } public function set hideFocusRing(value:Boolean):void{ _hideFocusRing = value; } public function finishRepeat():void{ if (((((!(stopRepeat)) && (!((playCount == 0))))) && ((((playCount < repeatCount)) || ((repeatCount == 0)))))){ if (repeatDelay > 0){ delayTimer = new Timer(repeatDelay, 1); delayStartTime = getTimer(); delayTimer.addEventListener(TimerEvent.TIMER, delayTimerHandler); delayTimer.start(); } else { play(); }; } else { finishEffect(); }; } mx_internal function get playReversed():Boolean{ return (_playReversed); } public function set effect(value:IEffect):void{ _effect = value; } public function get className():String{ var name:String = getQualifiedClassName(this); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; return (name); } public function set duration(value:Number):void{ durationExplicitlySet = true; _duration = value; } mx_internal function set playReversed(value:Boolean):void{ _playReversed = value; } public function resume():void{ if (((((delayTimer) && (!(delayTimer.running)))) && (!(isNaN(delayElapsedTime))))){ delayTimer.delay = (playReversed) ? delayElapsedTime : (delayTimer.delay - delayElapsedTime); delayTimer.start(); }; } public function get propertyChanges():PropertyChanges{ return (_propertyChanges); } public function set target(value:Object):void{ _target = value; } public function get repeatCount():int{ return (_repeatCount); } mx_internal function playWithNoDuration():void{ duration = 0; repeatCount = 1; repeatDelay = 0; startDelay = 0; startEffect(); } public function get startDelay():int{ return (_startDelay); } mx_internal function get actualDuration():Number{ var value:Number = NaN; if (repeatCount > 0){ value = (((duration * repeatCount) + ((repeatDelay * repeatCount) - 1)) + startDelay); }; return (value); } public function play():void{ playCount++; dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this)); if (target){ target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this)); }; } public function get suspendBackgroundProcessing():Boolean{ return (_suspendBackgroundProcessing); } public function get effectTargetHost():IEffectTargetHost{ return (_effectTargetHost); } public function set repeatDelay(value:int):void{ _repeatDelay = value; } public function set propertyChanges(value:PropertyChanges):void{ _propertyChanges = value; } mx_internal function eventHandler(event:Event):void{ if ((((event.type == FlexEvent.SHOW)) && ((hideOnEffectEnd == true)))){ hideOnEffectEnd = false; event.target.removeEventListener(FlexEvent.SHOW, eventHandler); }; } public function set repeatCount(value:int):void{ _repeatCount = value; } private function delayTimerHandler(event:TimerEvent):void{ delayTimer.reset(); delayStartTime = NaN; delayElapsedTime = NaN; play(); } public function set suspendBackgroundProcessing(value:Boolean):void{ _suspendBackgroundProcessing = value; } public function set triggerEvent(value:Event):void{ _triggerEvent = value; } public function set startDelay(value:int):void{ _startDelay = value; } public function get effect():IEffect{ return (_effect); } public function set effectTargetHost(value:IEffectTargetHost):void{ _effectTargetHost = value; } public function get target():Object{ return (_target); } public function startEffect():void{ EffectManager.effectStarted(this); if ((target is UIComponent)){ UIComponent(target).effectStarted(this); }; if ((((startDelay > 0)) && (!(playReversed)))){ delayTimer = new Timer(startDelay, 1); delayStartTime = getTimer(); delayTimer.addEventListener(TimerEvent.TIMER, delayTimerHandler); delayTimer.start(); } else { play(); }; } public function get repeatDelay():int{ return (_repeatDelay); } public function get duration():Number{ if (((!(durationExplicitlySet)) && (parentCompositeEffectInstance))){ return (parentCompositeEffectInstance.duration); }; return (_duration); } public function initEffect(event:Event):void{ triggerEvent = event; switch (event.type){ case "resizeStart": case "resizeEnd": if (!durationExplicitlySet){ duration = 250; }; break; case FlexEvent.HIDE: target.setVisible(true, true); hideOnEffectEnd = true; target.addEventListener(FlexEvent.SHOW, eventHandler); break; }; } public function get triggerEvent():Event{ return (_triggerEvent); } public function end():void{ if (delayTimer){ delayTimer.reset(); }; stopRepeat = true; finishEffect(); } public function reverse():void{ if (repeatCount > 0){ playCount = ((repeatCount - playCount) + 1); }; } public function pause():void{ if (((((delayTimer) && (delayTimer.running))) && (!(isNaN(delayStartTime))))){ delayTimer.stop(); delayElapsedTime = (getTimer() - delayStartTime); }; } } }//package mx.effects
Section 294
//EffectManager (mx.effects.EffectManager) package mx.effects { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; public class EffectManager extends EventDispatcher { mx_internal static const VERSION:String = "3.0.0.0"; private static var _resourceManager:IResourceManager; private static var effects:Dictionary = new Dictionary(true); mx_internal static var effectsPlaying:Array = []; private static var targetsInfo:Array = []; private static var effectTriggersForEvent:Object = {}; mx_internal static var lastEffectCreated:Effect; private static var eventHandlingSuspendCount:Number = 0; private static var eventsForEffectTriggers:Object = {}; public function EffectManager(){ super(); } public static function suspendEventHandling():void{ eventHandlingSuspendCount++; } mx_internal static function registerEffectTrigger(name:String, event:String):void{ var strLen:Number; if (name != ""){ if (event == ""){ strLen = name.length; if ((((strLen > 6)) && ((name.substring((strLen - 6)) == "Effect")))){ event = name.substring(0, (strLen - 6)); }; }; if (event != ""){ effectTriggersForEvent[event] = name; eventsForEffectTriggers[name] = event; }; }; } private static function removedEffectHandler(target:DisplayObject, parent:DisplayObjectContainer, index:int, eventObj:Event):void{ suspendEventHandling(); parent.addChildAt(target, index); resumeEventHandling(); createAndPlayEffect(eventObj, target); } private static function createAndPlayEffect(eventObj:Event, target:Object):void{ var n:int; var i:int; var m:int; var j:int; var message:String; var type:String; var tweeningProperties:Array; var effectProperties:Array; var affectedProps:Array; var runningInstances:Array; var otherInst:EffectInstance; var effectInst:Effect = createEffectForType(target, eventObj.type); if (!effectInst){ return; }; if ((((effectInst is Zoom)) && ((eventObj.type == MoveEvent.MOVE)))){ message = resourceManager.getString("effects", "incorrectTrigger"); throw (new Error(message)); }; if (target.initialized == false){ type = eventObj.type; if ((((((((((type == MoveEvent.MOVE)) || ((type == ResizeEvent.RESIZE)))) || ((type == FlexEvent.SHOW)))) || ((type == FlexEvent.HIDE)))) || ((type == Event.CHANGE)))){ effectInst = null; return; }; }; if ((effectInst.target is IUIComponent)){ tweeningProperties = IUIComponent(effectInst.target).tweeningProperties; if (((tweeningProperties) && ((tweeningProperties.length > 0)))){ effectProperties = effectInst.getAffectedProperties(); n = tweeningProperties.length; m = effectProperties.length; i = 0; while (i < n) { j = 0; while (j < m) { if (tweeningProperties[i] == effectProperties[j]){ effectInst = null; return; }; j++; }; i++; }; }; }; if ((((effectInst.target is UIComponent)) && (UIComponent(effectInst.target).isEffectStarted))){ affectedProps = effectInst.getAffectedProperties(); i = 0; while (i < affectedProps.length) { runningInstances = effectInst.target.getEffectsForProperty(affectedProps[i]); if (runningInstances.length > 0){ if (eventObj.type == ResizeEvent.RESIZE){ return; }; j = 0; while (j < runningInstances.length) { otherInst = runningInstances[j]; if ((((eventObj.type == FlexEvent.SHOW)) && (otherInst.hideOnEffectEnd))){ otherInst.target.removeEventListener(FlexEvent.SHOW, otherInst.eventHandler); otherInst.hideOnEffectEnd = false; }; otherInst.end(); j++; }; }; i++; }; }; effectInst.triggerEvent = eventObj; effectInst.addEventListener(EffectEvent.EFFECT_END, EffectManager.effectEndHandler); lastEffectCreated = effectInst; var instances:Array = effectInst.play(); n = instances.length; i = 0; while (i < n) { effectsPlaying.push(new EffectNode(effectInst, instances[i])); i++; }; if (effectInst.suspendBackgroundProcessing){ UIComponent.suspendBackgroundProcessing(); }; } public static function endEffectsForTarget(target:IUIComponent):void{ var otherInst:EffectInstance; var n:int = effectsPlaying.length; var i:int = (n - 1); while (i >= 0) { otherInst = effectsPlaying[i].instance; if (otherInst.target == target){ otherInst.end(); }; i--; }; } private static function cacheOrUncacheTargetAsBitmap(target:IUIComponent, effectStart:Boolean=true, bitmapEffect:Boolean=true):void{ var n:int; var i:int; var info:Object; n = targetsInfo.length; i = 0; while (i < n) { if (targetsInfo[i].target == target){ info = targetsInfo[i]; break; }; i++; }; if (!info){ info = {target:target, bitmapEffectsCount:0, vectorEffectsCount:0}; targetsInfo.push(info); }; if (effectStart){ if (bitmapEffect){ info.bitmapEffectsCount++; if ((((info.vectorEffectsCount == 0)) && ((target is IDeferredInstantiationUIComponent)))){ IDeferredInstantiationUIComponent(target).cacheHeuristic = true; }; } else { if ((((((info.vectorEffectsCount++ == 0)) && ((target is IDeferredInstantiationUIComponent)))) && ((IDeferredInstantiationUIComponent(target).cachePolicy == UIComponentCachePolicy.AUTO)))){ target.cacheAsBitmap = false; }; }; } else { if (bitmapEffect){ if (info.bitmapEffectsCount != 0){ info.bitmapEffectsCount--; }; if ((target is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(target).cacheHeuristic = false; }; } else { if (info.vectorEffectsCount != 0){ if ((((--info.vectorEffectsCount == 0)) && (!((info.bitmapEffectsCount == 0))))){ n = info.bitmapEffectsCount; i = 0; while (i < n) { if ((target is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(target).cacheHeuristic = true; }; i++; }; }; }; }; if ((((info.bitmapEffectsCount == 0)) && ((info.vectorEffectsCount == 0)))){ n = targetsInfo.length; i = 0; while (i < n) { if (targetsInfo[i].target == target){ targetsInfo.splice(i, 1); break; }; i++; }; }; }; } mx_internal static function eventHandler(eventObj:Event):void{ var focusEventObj:FocusEvent; var targ:DisplayObject; var i:int; var parent:DisplayObjectContainer; var index:int; if (!(eventObj.currentTarget is IFlexDisplayObject)){ return; }; if (eventHandlingSuspendCount > 0){ return; }; if ((((eventObj is FocusEvent)) && ((((eventObj.type == FocusEvent.FOCUS_OUT)) || ((eventObj.type == FocusEvent.FOCUS_IN)))))){ focusEventObj = FocusEvent(eventObj); if (((focusEventObj.relatedObject) && (((focusEventObj.currentTarget.contains(focusEventObj.relatedObject)) || ((focusEventObj.currentTarget == focusEventObj.relatedObject)))))){ return; }; }; if ((((((eventObj.type == Event.ADDED)) || ((eventObj.type == Event.REMOVED)))) && (!((eventObj.target == eventObj.currentTarget))))){ return; }; if (eventObj.type == Event.REMOVED){ if ((eventObj.target is UIComponent)){ if (UIComponent(eventObj.target).initialized == false){ return; }; if (UIComponent(eventObj.target).isEffectStarted){ i = 0; while (i < UIComponent(eventObj.target)._effectsStarted.length) { if (UIComponent(eventObj.target)._effectsStarted[i].triggerEvent.type == Event.REMOVED){ return; }; i++; }; }; }; targ = (eventObj.target as DisplayObject); if (targ != null){ parent = (targ.parent as DisplayObjectContainer); if (parent != null){ index = parent.getChildIndex(targ); if (index >= 0){ if ((targ is UIComponent)){ UIComponent(targ).callLater(removedEffectHandler, [targ, parent, index, eventObj]); }; }; }; }; } else { createAndPlayEffect(eventObj, eventObj.currentTarget); }; } mx_internal static function endBitmapEffect(target:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(target, false, true); } private static function animateSameProperty(a:Effect, b:Effect, c:EffectInstance):Boolean{ var aProps:Array; var bProps:Array; var n:int; var m:int; var i:int; var j:int; if (a.target == c.target){ aProps = a.getAffectedProperties(); bProps = b.getAffectedProperties(); n = aProps.length; m = bProps.length; i = 0; while (i < n) { j = 0; while (j < m) { if (aProps[i] == bProps[j]){ return (true); }; j++; }; i++; }; }; return (false); } mx_internal static function effectFinished(effect:EffectInstance):void{ delete effects[effect]; } mx_internal static function effectsInEffect():Boolean{ var i:*; for (i in effects) { return (true); }; return (false); } mx_internal static function effectEndHandler(event:EffectEvent):void{ var targ:DisplayObject; var parent:DisplayObjectContainer; var effectInst:IEffectInstance = event.effectInstance; var n:int = effectsPlaying.length; var i:int = (n - 1); while (i >= 0) { if (effectsPlaying[i].instance == effectInst){ effectsPlaying.splice(i, 1); break; }; i--; }; if (Object(effectInst).hideOnEffectEnd == true){ effectInst.target.removeEventListener(FlexEvent.SHOW, Object(effectInst).eventHandler); effectInst.target.setVisible(false, true); }; if (((effectInst.triggerEvent) && ((effectInst.triggerEvent.type == Event.REMOVED)))){ targ = (effectInst.target as DisplayObject); if (targ != null){ parent = (targ.parent as DisplayObjectContainer); if (parent != null){ suspendEventHandling(); parent.removeChild(targ); resumeEventHandling(); }; }; }; if (effectInst.suspendBackgroundProcessing){ UIComponent.resumeBackgroundProcessing(); }; } mx_internal static function startBitmapEffect(target:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(target, true, true); } mx_internal static function setStyle(styleProp:String, target):void{ var eventName:String = eventsForEffectTriggers[styleProp]; if (((!((eventName == null))) && (!((eventName == ""))))){ target.addEventListener(eventName, EffectManager.eventHandler, false, EventPriority.EFFECT); }; } mx_internal static function getEventForEffectTrigger(effectTrigger:String):String{ var effectTrigger = effectTrigger; if (eventsForEffectTriggers){ return (eventsForEffectTriggers[effectTrigger]); //unresolved jump var _slot1 = e; return (""); }; return (""); } mx_internal static function createEffectForType(target:Object, type:String):Effect{ var cls:Class; var effectObj:Effect; var doc:Object; var target = target; var type = type; var trigger:String = effectTriggersForEvent[type]; if (trigger == ""){ trigger = (type + "Effect"); }; var value:Object = target.getStyle(trigger); if (!value){ return (null); }; if ((value is Class)){ cls = Class(value); return (new cls(target)); }; if ((value is String)){ doc = target.parentDocument; if (!doc){ doc = ApplicationGlobals.application; }; effectObj = doc[value]; } else { if ((value is Effect)){ effectObj = Effect(value); }; }; if (effectObj){ effectObj.target = target; return (effectObj); }; //unresolved jump var _slot1 = e; var effectClass:Class = Class(target.systemManager.getDefinitionByName(("mx.effects." + value))); if (effectClass){ return (new effectClass(target)); }; return (null); } mx_internal static function effectStarted(effect:EffectInstance):void{ effects[effect] = 1; } public static function resumeEventHandling():void{ eventHandlingSuspendCount--; } mx_internal static function startVectorEffect(target:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(target, true, false); } mx_internal static function endVectorEffect(target:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(target, false, false); } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } } }//package mx.effects class EffectNode { public var factory:Effect; public var instance:EffectInstance; private function EffectNode(factory:Effect, instance:EffectInstance){ super(); this.factory = factory; this.instance = instance; } }
Section 295
//EffectTargetFilter (mx.effects.EffectTargetFilter) package mx.effects { import mx.core.*; import mx.effects.effectClasses.*; public class EffectTargetFilter { public var filterFunction:Function; public var filterStyles:Array; public var filterProperties:Array; public var requiredSemantics:Object;// = null mx_internal static const VERSION:String = "3.0.0.0"; public function EffectTargetFilter(){ filterFunction = defaultFilterFunctionEx; filterProperties = []; filterStyles = []; super(); } protected function defaultFilterFunctionEx(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean{ var prop:String; if (requiredSemantics){ for (prop in requiredSemantics) { if (!semanticsProvider){ return (false); }; if (semanticsProvider.getRendererSemanticValue(target, prop) != requiredSemantics[prop]){ return (false); }; }; return (true); }; return (defaultFilterFunction(propChanges, target)); } protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean{ var props:PropertyChanges; var triggers:Array; var m:int; var j:int; var n:int = propChanges.length; var i:int; while (i < n) { props = propChanges[i]; if (props.target == instanceTarget){ triggers = filterProperties.concat(filterStyles); m = triggers.length; j = 0; while (j < m) { if (((!((props.start[triggers[j]] === undefined))) && (!((props.end[triggers[j]] == props.start[triggers[j]]))))){ return (true); }; j++; }; }; i++; }; return (false); } public function filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean{ if (filterFunction.length == 2){ return (filterFunction(propChanges, target)); }; return (filterFunction(propChanges, semanticsProvider, target)); } } }//package mx.effects
Section 296
//Fade (mx.effects.Fade) package mx.effects { import mx.effects.effectClasses.*; public class Fade extends TweenEffect { public var alphaFrom:Number; public var alphaTo:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["alpha", "visible"]; public function Fade(target:Object=null){ super(target); instanceClass = FadeInstance; } override protected function initInstance(instance:IEffectInstance):void{ super.initInstance(instance); var fadeInstance:FadeInstance = FadeInstance(instance); fadeInstance.alphaFrom = alphaFrom; fadeInstance.alphaTo = alphaTo; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } } }//package mx.effects
Section 297
//IAbstractEffect (mx.effects.IAbstractEffect) package mx.effects { import flash.events.*; public interface IAbstractEffect extends IEventDispatcher { } }//package mx.effects
Section 298
//IEffect (mx.effects.IEffect) package mx.effects { import flash.events.*; public interface IEffect extends IAbstractEffect { function captureMoreStartValues(mx.effects:IEffect/mx.effects:IEffect:className/get:Array):void; function get triggerEvent():Event; function set targets(mx.effects:IEffect/mx.effects:IEffect:className/get:Array):void; function captureStartValues():void; function get hideFocusRing():Boolean; function get customFilter():EffectTargetFilter; function get effectTargetHost():IEffectTargetHost; function set triggerEvent(mx.effects:IEffect/mx.effects:IEffect:className/get:Event):void; function set hideFocusRing(mx.effects:IEffect/mx.effects:IEffect:className/get:Boolean):void; function captureEndValues():void; function get target():Object; function set customFilter(mx.effects:IEffect/mx.effects:IEffect:className/get:EffectTargetFilter):void; function get duration():Number; function get perElementOffset():Number; function get targets():Array; function set effectTargetHost(mx.effects:IEffect/mx.effects:IEffect:className/get:IEffectTargetHost):void; function get relevantStyles():Array; function set relevantProperties(mx.effects:IEffect/mx.effects:IEffect:className/get:Array):void; function set target(mx.effects:IEffect/mx.effects:IEffect:className/get:Object):void; function get className():String; function get isPlaying():Boolean; function deleteInstance(mx.effects:IEffect/mx.effects:IEffect:className/get:IEffectInstance):void; function set duration(mx.effects:IEffect/mx.effects:IEffect:className/get:Number):void; function createInstances(EffectTargetFilter:Array=null):Array; function end(mx.effects:IEffect/mx.effects:IEffect:className/get:IEffectInstance=null):void; function set perElementOffset(mx.effects:IEffect/mx.effects:IEffect:className/get:Number):void; function resume():void; function stop():void; function set filter(mx.effects:IEffect/mx.effects:IEffect:className/get:String):void; function createInstance(void:Object=null):IEffectInstance; function play(_arg1:Array=null, _arg2:Boolean=false):Array; function pause():void; function get relevantProperties():Array; function get filter():String; function reverse():void; function getAffectedProperties():Array; function set relevantStyles(mx.effects:IEffect/mx.effects:IEffect:className/get:Array):void; } }//package mx.effects
Section 299
//IEffectInstance (mx.effects.IEffectInstance) package mx.effects { import flash.events.*; import mx.effects.effectClasses.*; public interface IEffectInstance { function get playheadTime():Number; function get triggerEvent():Event; function set triggerEvent(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Event):void; function get hideFocusRing():Boolean; function initEffect(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Event):void; function set startDelay(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:int):void; function get effectTargetHost():IEffectTargetHost; function finishEffect():void; function set hideFocusRing(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Boolean):void; function finishRepeat():void; function set repeatDelay(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:int):void; function get effect():IEffect; function startEffect():void; function get duration():Number; function get target():Object; function get startDelay():int; function stop():void; function set effectTargetHost(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:IEffectTargetHost):void; function set propertyChanges(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:PropertyChanges):void; function set effect(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:IEffect):void; function get className():String; function set duration(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Number):void; function set target(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Object):void; function end():void; function resume():void; function get propertyChanges():PropertyChanges; function set repeatCount(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:int):void; function reverse():void; function get repeatCount():int; function pause():void; function get repeatDelay():int; function set suspendBackgroundProcessing(mx.effects:IEffectInstance/mx.effects:IEffectInstance:className/get:Boolean):void; function play():void; function get suspendBackgroundProcessing():Boolean; } }//package mx.effects
Section 300
//IEffectTargetHost (mx.effects.IEffectTargetHost) package mx.effects { public interface IEffectTargetHost { function unconstrainRenderer(:Object):void; function removeDataEffectItem(:Object):void; function getRendererSemanticValue(_arg1:Object, _arg2:String):Object; function addDataEffectItem(:Object):void; } }//package mx.effects
Section 301
//Tween (mx.effects.Tween) package mx.effects { import mx.core.*; import flash.events.*; import mx.events.*; import flash.utils.*; public class Tween extends EventDispatcher { private var started:Boolean;// = false private var previousUpdateTime:Number; public var duration:Number;// = 3000 private var id:int; private var arrayMode:Boolean; private var _isPlaying:Boolean;// = true private var startValue:Object; public var listener:Object; private var userEquation:Function; mx_internal var needToLayout:Boolean;// = false private var updateFunction:Function; private var _doSeek:Boolean;// = false mx_internal var startTime:Number; private var endFunction:Function; private var endValue:Object; private var _doReverse:Boolean;// = false private var _playheadTime:Number;// = 0 private var _invertValues:Boolean;// = false private var maxDelay:Number;// = 87.5 mx_internal static const VERSION:String = "3.0.0.0"; private static var timer:Timer = null; private static var interval:Number = 10; mx_internal static var activeTweens:Array = []; mx_internal static var intervalTime:Number = NAN; public function Tween(listener:Object, startValue:Object, endValue:Object, duration:Number=-1, minFps:Number=-1, updateFunction:Function=null, endFunction:Function=null){ userEquation = defaultEasingFunction; super(); if (!listener){ return; }; if ((startValue is Array)){ arrayMode = true; }; this.listener = listener; this.startValue = startValue; this.endValue = endValue; if (((!(isNaN(duration))) && (!((duration == -1))))){ this.duration = duration; }; if (((!(isNaN(minFps))) && (!((minFps == -1))))){ maxDelay = (1000 / minFps); }; this.updateFunction = updateFunction; this.endFunction = endFunction; if (duration == 0){ id = -1; endTween(); } else { Tween.addTween(this); }; } mx_internal function get playheadTime():Number{ return (_playheadTime); } public function stop():void{ if (id >= 0){ Tween.removeTweenAt(id); }; } mx_internal function get playReversed():Boolean{ return (_invertValues); } mx_internal function set playReversed(value:Boolean):void{ _invertValues = value; } public function resume():void{ _isPlaying = true; startTime = (intervalTime - _playheadTime); if (_doReverse){ reverse(); _doReverse = false; }; } public function setTweenHandlers(updateFunction:Function, endFunction:Function):void{ this.updateFunction = updateFunction; this.endFunction = endFunction; } private function defaultEasingFunction(t:Number, b:Number, c:Number, d:Number):Number{ return ((((c / 2) * (Math.sin((Math.PI * ((t / d) - 0.5))) + 1)) + b)); } public function set easingFunction(value:Function):void{ userEquation = value; } public function endTween():void{ var event:TweenEvent = new TweenEvent(TweenEvent.TWEEN_END); var value:Object = getCurrentValue(duration); event.value = value; dispatchEvent(event); if (endFunction != null){ endFunction(value); } else { listener.onTweenEnd(value); }; if (id >= 0){ Tween.removeTweenAt(id); }; } public function reverse():void{ if (_isPlaying){ _doReverse = false; seek((duration - _playheadTime)); _invertValues = !(_invertValues); } else { _doReverse = !(_doReverse); }; } mx_internal function getCurrentValue(currentTime:Number):Object{ var returnArray:Array; var n:int; var i:int; if (duration == 0){ return (endValue); }; if (_invertValues){ currentTime = (duration - currentTime); }; if (arrayMode){ returnArray = []; n = startValue.length; i = 0; while (i < n) { returnArray[i] = userEquation(currentTime, startValue[i], (endValue[i] - startValue[i]), duration); i++; }; return (returnArray); //unresolved jump }; return (userEquation(currentTime, startValue, (Number(endValue) - Number(startValue)), duration)); } mx_internal function doInterval():Boolean{ var currentTime:Number; var currentValue:Object; var event:TweenEvent; var startEvent:TweenEvent; var tweenEnded:Boolean; previousUpdateTime = intervalTime; if (((_isPlaying) || (_doSeek))){ currentTime = (intervalTime - startTime); _playheadTime = currentTime; currentValue = getCurrentValue(currentTime); if ((((currentTime >= duration)) && (!(_doSeek)))){ endTween(); tweenEnded = true; } else { if (!started){ startEvent = new TweenEvent(TweenEvent.TWEEN_START); dispatchEvent(startEvent); started = true; }; event = new TweenEvent(TweenEvent.TWEEN_UPDATE); event.value = currentValue; dispatchEvent(event); if (updateFunction != null){ updateFunction(currentValue); } else { listener.onTweenUpdate(currentValue); }; }; _doSeek = false; }; return (tweenEnded); } public function pause():void{ _isPlaying = false; } public function seek(playheadTime:Number):void{ var clockTime:Number = intervalTime; previousUpdateTime = clockTime; startTime = (clockTime - playheadTime); _doSeek = true; } mx_internal static function removeTween(tween:Tween):void{ removeTweenAt(tween.id); } private static function addTween(tween:Tween):void{ tween.id = activeTweens.length; activeTweens.push(tween); if (!timer){ timer = new Timer(interval); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); } else { timer.start(); }; if (isNaN(intervalTime)){ intervalTime = getTimer(); }; tween.startTime = (tween.previousUpdateTime = intervalTime); } private static function timerHandler(event:TimerEvent):void{ var tween:Tween; var needToLayout:Boolean; var oldTime:Number = intervalTime; intervalTime = getTimer(); var n:int = activeTweens.length; var i:int = n; while (i >= 0) { tween = Tween(activeTweens[i]); if (tween){ tween.needToLayout = false; tween.doInterval(); if (tween.needToLayout){ needToLayout = true; }; }; i--; }; if (needToLayout){ UIComponentGlobals.layoutManager.validateNow(); }; event.updateAfterEvent(); } private static function removeTweenAt(index:int):void{ var curTween:Tween; if ((((index >= activeTweens.length)) || ((index < 0)))){ return; }; activeTweens.splice(index, 1); var n:int = activeTweens.length; var i:int = index; while (i < n) { curTween = Tween(activeTweens[i]); curTween.id--; i++; }; if (n == 0){ intervalTime = NaN; timer.reset(); }; } } }//package mx.effects
Section 302
//TweenEffect (mx.effects.TweenEffect) package mx.effects { import mx.core.*; import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; public class TweenEffect extends Effect { public var easingFunction:Function;// = null mx_internal static const VERSION:String = "3.0.0.0"; public function TweenEffect(target:Object=null){ super(target); instanceClass = TweenEffectInstance; } protected function tweenEventHandler(event:TweenEvent):void{ dispatchEvent(event); } override protected function initInstance(instance:IEffectInstance):void{ super.initInstance(instance); TweenEffectInstance(instance).easingFunction = easingFunction; EventDispatcher(instance).addEventListener(TweenEvent.TWEEN_START, tweenEventHandler); EventDispatcher(instance).addEventListener(TweenEvent.TWEEN_UPDATE, tweenEventHandler); EventDispatcher(instance).addEventListener(TweenEvent.TWEEN_END, tweenEventHandler); } } }//package mx.effects
Section 303
//Zoom (mx.effects.Zoom) package mx.effects { import mx.core.*; import mx.effects.effectClasses.*; public class Zoom extends TweenEffect { public var zoomHeightFrom:Number; public var zoomWidthTo:Number; public var originX:Number; public var zoomHeightTo:Number; public var originY:Number; public var captureRollEvents:Boolean; public var zoomWidthFrom:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["scaleX", "scaleY", "x", "y", "width", "height"]; public function Zoom(target:Object=null){ super(target); instanceClass = ZoomInstance; applyActualDimensions = false; relevantProperties = ["scaleX", "scaleY", "width", "height", "visible"]; } override protected function initInstance(instance:IEffectInstance):void{ var zoomInstance:ZoomInstance; super.initInstance(instance); zoomInstance = ZoomInstance(instance); zoomInstance.zoomWidthFrom = zoomWidthFrom; zoomInstance.zoomWidthTo = zoomWidthTo; zoomInstance.zoomHeightFrom = zoomHeightFrom; zoomInstance.zoomHeightTo = zoomHeightTo; zoomInstance.originX = originX; zoomInstance.originY = originY; zoomInstance.captureRollEvents = captureRollEvents; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } } }//package mx.effects
Section 304
//ChildExistenceChangedEvent (mx.events.ChildExistenceChangedEvent) package mx.events { import flash.display.*; import mx.core.*; import flash.events.*; public class ChildExistenceChangedEvent extends Event { public var relatedObject:DisplayObject; public static const CHILD_REMOVE:String = "childRemove"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OVERLAY_CREATED:String = "overlayCreated"; public static const CHILD_ADD:String = "childAdd"; public function ChildExistenceChangedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, relatedObject:DisplayObject=null){ super(type, bubbles, cancelable); this.relatedObject = relatedObject; } override public function clone():Event{ return (new ChildExistenceChangedEvent(type, bubbles, cancelable, relatedObject)); } } }//package mx.events
Section 305
//CloseEvent (mx.events.CloseEvent) package mx.events { import flash.events.*; public class CloseEvent extends Event { public var detail:int; mx_internal static const VERSION:String = "3.0.0.0"; public static const CLOSE:String = "close"; public function CloseEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, detail:int=-1){ super(type, bubbles, cancelable); this.detail = detail; } override public function clone():Event{ return (new CloseEvent(type, bubbles, cancelable, detail)); } } }//package mx.events
Section 306
//DragEvent (mx.events.DragEvent) package mx.events { import mx.core.*; import flash.events.*; public class DragEvent extends MouseEvent { public var draggedItem:Object; public var action:String; public var dragInitiator:IUIComponent; public var dragSource:DragSource; public static const DRAG_DROP:String = "dragDrop"; public static const DRAG_COMPLETE:String = "dragComplete"; public static const DRAG_EXIT:String = "dragExit"; public static const DRAG_ENTER:String = "dragEnter"; public static const DRAG_START:String = "dragStart"; mx_internal static const VERSION:String = "3.0.0.0"; public static const DRAG_OVER:String = "dragOver"; public function DragEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=true, dragInitiator:IUIComponent=null, dragSource:DragSource=null, action:String=null, ctrlKey:Boolean=false, altKey:Boolean=false, shiftKey:Boolean=false){ super(type, bubbles, cancelable); this.dragInitiator = dragInitiator; this.dragSource = dragSource; this.action = action; this.ctrlKey = ctrlKey; this.altKey = altKey; this.shiftKey = shiftKey; } override public function clone():Event{ var cloneEvent:DragEvent = new DragEvent(type, bubbles, cancelable, dragInitiator, dragSource, action, ctrlKey, altKey, shiftKey); cloneEvent.relatedObject = this.relatedObject; cloneEvent.localX = this.localX; cloneEvent.localY = this.localY; return (cloneEvent); } } }//package mx.events
Section 307
//DynamicEvent (mx.events.DynamicEvent) package mx.events { import mx.core.*; import flash.events.*; public dynamic class DynamicEvent extends Event { mx_internal static const VERSION:String = "3.0.0.0"; public function DynamicEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){ super(type, bubbles, cancelable); } override public function clone():Event{ var p:String; var event:DynamicEvent = new DynamicEvent(type, bubbles, cancelable); for (p in this) { event[p] = this[p]; }; return (event); } } }//package mx.events
Section 308
//EffectEvent (mx.events.EffectEvent) package mx.events { import mx.core.*; import flash.events.*; import mx.effects.*; public class EffectEvent extends Event { public var effectInstance:IEffectInstance; public static const EFFECT_START:String = "effectStart"; mx_internal static const VERSION:String = "3.0.0.0"; public static const EFFECT_END:String = "effectEnd"; public function EffectEvent(eventType:String, bubbles:Boolean=false, cancelable:Boolean=false, effectInstance:IEffectInstance=null){ super(eventType, bubbles, cancelable); this.effectInstance = effectInstance; } override public function clone():Event{ return (new EffectEvent(type, bubbles, cancelable, effectInstance)); } } }//package mx.events
Section 309
//FlexEvent (mx.events.FlexEvent) package mx.events { import mx.core.*; import flash.events.*; public class FlexEvent extends Event { public static const ADD:String = "add"; public static const TRANSFORM_CHANGE:String = "transformChange"; public static const INIT_COMPLETE:String = "initComplete"; public static const REMOVE:String = "remove"; public static const BUTTON_DOWN:String = "buttonDown"; public static const EXIT_STATE:String = "exitState"; public static const CREATION_COMPLETE:String = "creationComplete"; public static const REPEAT:String = "repeat"; public static const LOADING:String = "loading"; public static const REPEAT_START:String = "repeatStart"; public static const INITIALIZE:String = "initialize"; public static const ENTER_STATE:String = "enterState"; public static const URL_CHANGED:String = "urlChanged"; public static const REPEAT_END:String = "repeatEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const HIDE:String = "hide"; public static const ENTER:String = "enter"; public static const PRELOADER_DONE:String = "preloaderDone"; public static const CURSOR_UPDATE:String = "cursorUpdate"; public static const PREINITIALIZE:String = "preinitialize"; public static const INVALID:String = "invalid"; public static const IDLE:String = "idle"; public static const VALID:String = "valid"; public static const DATA_CHANGE:String = "dataChange"; public static const APPLICATION_COMPLETE:String = "applicationComplete"; public static const VALUE_COMMIT:String = "valueCommit"; public static const UPDATE_COMPLETE:String = "updateComplete"; public static const INIT_PROGRESS:String = "initProgress"; public static const SHOW:String = "show"; public function FlexEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){ super(type, bubbles, cancelable); } override public function clone():Event{ return (new FlexEvent(type, bubbles, cancelable)); } } }//package mx.events
Section 310
//FlexMouseEvent (mx.events.FlexMouseEvent) package mx.events { import flash.display.*; import mx.core.*; import flash.events.*; public class FlexMouseEvent extends MouseEvent { public static const MOUSE_DOWN_OUTSIDE:String = "mouseDownOutside"; public static const MOUSE_WHEEL_OUTSIDE:String = "mouseWheelOutside"; mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMouseEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, localX:Number=0, localY:Number=0, relatedObject:InteractiveObject=null, ctrlKey:Boolean=false, altKey:Boolean=false, shiftKey:Boolean=false, buttonDown:Boolean=false, delta:int=0){ super(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta); } override public function clone():Event{ return (new FlexMouseEvent(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta)); } } }//package mx.events
Section 311
//IndexChangedEvent (mx.events.IndexChangedEvent) package mx.events { import flash.display.*; import mx.core.*; import flash.events.*; public class IndexChangedEvent extends Event { public var newIndex:Number; public var triggerEvent:Event; public var relatedObject:DisplayObject; public var oldIndex:Number; public static const HEADER_SHIFT:String = "headerShift"; public static const CHANGE:String = "change"; mx_internal static const VERSION:String = "3.0.0.0"; public static const CHILD_INDEX_CHANGE:String = "childIndexChange"; public function IndexChangedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, relatedObject:DisplayObject=null, oldIndex:Number=-1, newIndex:Number=-1, triggerEvent:Event=null){ super(type, bubbles, cancelable); this.relatedObject = relatedObject; this.oldIndex = oldIndex; this.newIndex = newIndex; this.triggerEvent = triggerEvent; } override public function clone():Event{ return (new IndexChangedEvent(type, bubbles, cancelable, relatedObject, oldIndex, newIndex, triggerEvent)); } } }//package mx.events
Section 312
//ModuleEvent (mx.events.ModuleEvent) package mx.events { import mx.core.*; import flash.events.*; import mx.modules.*; public class ModuleEvent extends ProgressEvent { public var errorText:String; private var _module:IModuleInfo; public static const READY:String = "ready"; public static const ERROR:String = "error"; public static const PROGRESS:String = "progress"; mx_internal static const VERSION:String = "3.0.0.0"; public static const SETUP:String = "setup"; public static const UNLOAD:String = "unload"; public function ModuleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null, module:IModuleInfo=null){ super(type, bubbles, cancelable, bytesLoaded, bytesTotal); this.errorText = errorText; this._module = module; } public function get module():IModuleInfo{ if (_module){ return (_module); }; return ((target as IModuleInfo)); } override public function clone():Event{ return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module)); } } }//package mx.events
Section 313
//MoveEvent (mx.events.MoveEvent) package mx.events { import mx.core.*; import flash.events.*; public class MoveEvent extends Event { public var oldX:Number; public var oldY:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const MOVE:String = "move"; public function MoveEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, oldX:Number=NaN, oldY:Number=NaN){ super(type, bubbles, cancelable); this.oldX = oldX; this.oldY = oldY; } override public function clone():Event{ return (new MoveEvent(type, bubbles, cancelable, oldX, oldY)); } } }//package mx.events
Section 314
//PropertyChangeEvent (mx.events.PropertyChangeEvent) package mx.events { import mx.core.*; import flash.events.*; public class PropertyChangeEvent extends Event { public var newValue:Object; public var kind:String; public var property:Object; public var oldValue:Object; public var source:Object; mx_internal static const VERSION:String = "3.0.0.0"; public static const PROPERTY_CHANGE:String = "propertyChange"; public function PropertyChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, kind:String=null, property:Object=null, oldValue:Object=null, newValue:Object=null, source:Object=null){ super(type, bubbles, cancelable); this.kind = kind; this.property = property; this.oldValue = oldValue; this.newValue = newValue; this.source = source; } override public function clone():Event{ return (new PropertyChangeEvent(type, bubbles, cancelable, kind, property, oldValue, newValue, source)); } public static function createUpdateEvent(source:Object, property:Object, oldValue:Object, newValue:Object):PropertyChangeEvent{ var event:PropertyChangeEvent = new PropertyChangeEvent(PROPERTY_CHANGE); event.kind = PropertyChangeEventKind.UPDATE; event.oldValue = oldValue; event.newValue = newValue; event.source = source; event.property = property; return (event); } } }//package mx.events
Section 315
//PropertyChangeEventKind (mx.events.PropertyChangeEventKind) package mx.events { import mx.core.*; public final class PropertyChangeEventKind { mx_internal static const VERSION:String = "3.0.0.0"; public static const UPDATE:String = "update"; public static const DELETE:String = "delete"; public function PropertyChangeEventKind(){ super(); } } }//package mx.events
Section 316
//ResizeEvent (mx.events.ResizeEvent) package mx.events { import mx.core.*; import flash.events.*; public class ResizeEvent extends Event { public var oldHeight:Number; public var oldWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const RESIZE:String = "resize"; public function ResizeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, oldWidth:Number=NaN, oldHeight:Number=NaN){ super(type, bubbles, cancelable); this.oldWidth = oldWidth; this.oldHeight = oldHeight; } override public function clone():Event{ return (new ResizeEvent(type, bubbles, cancelable, oldWidth, oldHeight)); } } }//package mx.events
Section 317
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import mx.core.*; import flash.events.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function ResourceEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){ super(type, bubbles, cancelable, bytesLoaded, bytesTotal); this.errorText = errorText; } override public function clone():Event{ return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 318
//RSLEvent (mx.events.RSLEvent) package mx.events { import mx.core.*; import flash.events.*; import flash.net.*; public class RSLEvent extends ProgressEvent { public var errorText:String; public var rslIndex:int; public var rslTotal:int; public var url:URLRequest; public static const RSL_PROGRESS:String = "rslProgress"; public static const RSL_ERROR:String = "rslError"; mx_internal static const VERSION:String = "3.0.0.0"; public static const RSL_COMPLETE:String = "rslComplete"; public function RSLEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:int=-1, bytesTotal:int=-1, rslIndex:int=-1, rslTotal:int=-1, url:URLRequest=null, errorText:String=null){ super(type, bubbles, cancelable, bytesLoaded, bytesTotal); this.rslIndex = rslIndex; this.rslTotal = rslTotal; this.url = url; this.errorText = errorText; } override public function clone():Event{ return (new RSLEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, rslIndex, rslTotal, url, errorText)); } } }//package mx.events
Section 319
//ScrollEvent (mx.events.ScrollEvent) package mx.events { import mx.core.*; import flash.events.*; public class ScrollEvent extends Event { public var detail:String; public var delta:Number; public var position:Number; public var direction:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const SCROLL:String = "scroll"; public function ScrollEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, detail:String=null, position:Number=NaN, direction:String=null, delta:Number=NaN){ super(type, bubbles, cancelable); this.detail = detail; this.position = position; this.direction = direction; this.delta = delta; } override public function clone():Event{ return (new ScrollEvent(type, bubbles, cancelable, detail, position, direction, delta)); } } }//package mx.events
Section 320
//ScrollEventDetail (mx.events.ScrollEventDetail) package mx.events { import mx.core.*; public final class ScrollEventDetail { public static const LINE_UP:String = "lineUp"; public static const AT_RIGHT:String = "atRight"; public static const PAGE_UP:String = "pageUp"; public static const LINE_DOWN:String = "lineDown"; public static const PAGE_DOWN:String = "pageDown"; public static const AT_LEFT:String = "atLeft"; public static const PAGE_RIGHT:String = "pageRight"; public static const THUMB_POSITION:String = "thumbPosition"; public static const AT_TOP:String = "atTop"; public static const LINE_LEFT:String = "lineLeft"; public static const AT_BOTTOM:String = "atBottom"; public static const LINE_RIGHT:String = "lineRight"; public static const THUMB_TRACK:String = "thumbTrack"; public static const PAGE_LEFT:String = "pageLeft"; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollEventDetail(){ super(); } } }//package mx.events
Section 321
//ScrollEventDirection (mx.events.ScrollEventDirection) package mx.events { import mx.core.*; public final class ScrollEventDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollEventDirection(){ super(); } } }//package mx.events
Section 322
//StateChangeEvent (mx.events.StateChangeEvent) package mx.events { import mx.core.*; import flash.events.*; public class StateChangeEvent extends Event { public var newState:String; public var oldState:String; public static const CURRENT_STATE_CHANGING:String = "currentStateChanging"; public static const CURRENT_STATE_CHANGE:String = "currentStateChange"; mx_internal static const VERSION:String = "3.0.0.0"; public function StateChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, oldState:String=null, newState:String=null){ super(type, bubbles, cancelable); this.oldState = oldState; this.newState = newState; } override public function clone():Event{ return (new StateChangeEvent(type, bubbles, cancelable, oldState, newState)); } } }//package mx.events
Section 323
//StyleEvent (mx.events.StyleEvent) package mx.events { import mx.core.*; import flash.events.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function StyleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){ super(type, bubbles, cancelable, bytesLoaded, bytesTotal); this.errorText = errorText; } override public function clone():Event{ return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 324
//ToolTipEvent (mx.events.ToolTipEvent) package mx.events { import mx.core.*; import flash.events.*; public class ToolTipEvent extends Event { public var toolTip:IToolTip; public static const TOOL_TIP_SHOWN:String = "toolTipShown"; public static const TOOL_TIP_CREATE:String = "toolTipCreate"; public static const TOOL_TIP_SHOW:String = "toolTipShow"; public static const TOOL_TIP_HIDE:String = "toolTipHide"; public static const TOOL_TIP_END:String = "toolTipEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const TOOL_TIP_START:String = "toolTipStart"; public function ToolTipEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, toolTip:IToolTip=null){ super(type, bubbles, cancelable); this.toolTip = toolTip; } override public function clone():Event{ return (new ToolTipEvent(type, bubbles, cancelable, toolTip)); } } }//package mx.events
Section 325
//TweenEvent (mx.events.TweenEvent) package mx.events { import mx.core.*; import flash.events.*; public class TweenEvent extends Event { public var value:Object; public static const TWEEN_END:String = "tweenEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const TWEEN_UPDATE:String = "tweenUpdate"; public static const TWEEN_START:String = "tweenStart"; public function TweenEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, value:Object=null){ super(type, bubbles, cancelable); this.value = value; } override public function clone():Event{ return (new TweenEvent(type, bubbles, cancelable, value)); } } }//package mx.events
Section 326
//ValidationResultEvent (mx.events.ValidationResultEvent) package mx.events { import mx.core.*; import flash.events.*; public class ValidationResultEvent extends Event { public var results:Array; public var field:String; public static const INVALID:String = "invalid"; mx_internal static const VERSION:String = "3.0.0.0"; public static const VALID:String = "valid"; public function ValidationResultEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, field:String=null, results:Array=null){ super(type, bubbles, cancelable); this.field = field; this.results = results; } public function get message():String{ var msg:String = ""; var n:int = results.length; var i:int; while (i < n) { if (results[i].isError){ msg = (msg + ((msg == "")) ? "" : "\n"); msg = (msg + results[i].errorMessage); }; i++; }; return (msg); } override public function clone():Event{ return (new ValidationResultEvent(type, bubbles, cancelable, field, results)); } } }//package mx.events
Section 327
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.utils.*; import flash.filters.*; public class RectangularDropShadow { private var leftShadow:BitmapData; private var _tlRadius:Number;// = 0 private var _trRadius:Number;// = 0 private var _angle:Number;// = 45 private var topShadow:BitmapData; private var _distance:Number;// = 4 private var rightShadow:BitmapData; private var _alpha:Number;// = 0.4 private var shadow:BitmapData; private var _brRadius:Number;// = 0 private var _blRadius:Number;// = 0 private var _color:int;// = 0 private var bottomShadow:BitmapData; private var changed:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function RectangularDropShadow(){ super(); } public function get blRadius():Number{ return (_blRadius); } public function set brRadius(value:Number):void{ if (_brRadius != value){ _brRadius = value; changed = true; }; } public function set color(value:int):void{ if (_color != value){ _color = value; changed = true; }; } public function drawShadow(g:Graphics, x:Number, y:Number, width:Number, height:Number):void{ var tlWidth:Number; var tlHeight:Number; var trWidth:Number; var trHeight:Number; var blWidth:Number; var blHeight:Number; var brWidth:Number; var brHeight:Number; if (changed){ createShadowBitmaps(); changed = false; }; width = Math.ceil(width); height = Math.ceil(height); var leftThickness:int = (leftShadow) ? leftShadow.width : 0; var rightThickness:int = (rightShadow) ? rightShadow.width : 0; var topThickness:int = (topShadow) ? topShadow.height : 0; var bottomThickness:int = (bottomShadow) ? bottomShadow.height : 0; var widthThickness:int = (leftThickness + rightThickness); var heightThickness:int = (topThickness + bottomThickness); var maxCornerHeight:Number = ((height + heightThickness) / 2); var maxCornerWidth:Number = ((width + widthThickness) / 2); var matrix:Matrix = new Matrix(); if (((leftShadow) || (topShadow))){ tlWidth = Math.min((tlRadius + widthThickness), maxCornerWidth); tlHeight = Math.min((tlRadius + heightThickness), maxCornerHeight); matrix.tx = (x - leftThickness); matrix.ty = (y - topThickness); g.beginBitmapFill(shadow, matrix); g.drawRect((x - leftThickness), (y - topThickness), tlWidth, tlHeight); g.endFill(); }; if (((rightShadow) || (topShadow))){ trWidth = Math.min((trRadius + widthThickness), maxCornerWidth); trHeight = Math.min((trRadius + heightThickness), maxCornerHeight); matrix.tx = (((x + width) + rightThickness) - shadow.width); matrix.ty = (y - topThickness); g.beginBitmapFill(shadow, matrix); g.drawRect((((x + width) + rightThickness) - trWidth), (y - topThickness), trWidth, trHeight); g.endFill(); }; if (((leftShadow) || (bottomShadow))){ blWidth = Math.min((blRadius + widthThickness), maxCornerWidth); blHeight = Math.min((blRadius + heightThickness), maxCornerHeight); matrix.tx = (x - leftThickness); matrix.ty = (((y + height) + bottomThickness) - shadow.height); g.beginBitmapFill(shadow, matrix); g.drawRect((x - leftThickness), (((y + height) + bottomThickness) - blHeight), blWidth, blHeight); g.endFill(); }; if (((rightShadow) || (bottomShadow))){ brWidth = Math.min((brRadius + widthThickness), maxCornerWidth); brHeight = Math.min((brRadius + heightThickness), maxCornerHeight); matrix.tx = (((x + width) + rightThickness) - shadow.width); matrix.ty = (((y + height) + bottomThickness) - shadow.height); g.beginBitmapFill(shadow, matrix); g.drawRect((((x + width) + rightThickness) - brWidth), (((y + height) + bottomThickness) - brHeight), brWidth, brHeight); g.endFill(); }; if (leftShadow){ matrix.tx = (x - leftThickness); matrix.ty = 0; g.beginBitmapFill(leftShadow, matrix); g.drawRect((x - leftThickness), ((y - topThickness) + tlHeight), leftThickness, ((((height + topThickness) + bottomThickness) - tlHeight) - blHeight)); g.endFill(); }; if (rightShadow){ matrix.tx = (x + width); matrix.ty = 0; g.beginBitmapFill(rightShadow, matrix); g.drawRect((x + width), ((y - topThickness) + trHeight), rightThickness, ((((height + topThickness) + bottomThickness) - trHeight) - brHeight)); g.endFill(); }; if (topShadow){ matrix.tx = 0; matrix.ty = (y - topThickness); g.beginBitmapFill(topShadow, matrix); g.drawRect(((x - leftThickness) + tlWidth), (y - topThickness), ((((width + leftThickness) + rightThickness) - tlWidth) - trWidth), topThickness); g.endFill(); }; if (bottomShadow){ matrix.tx = 0; matrix.ty = (y + height); g.beginBitmapFill(bottomShadow, matrix); g.drawRect(((x - leftThickness) + blWidth), (y + height), ((((width + leftThickness) + rightThickness) - blWidth) - brWidth), bottomThickness); g.endFill(); }; } public function get brRadius():Number{ return (_brRadius); } public function get angle():Number{ return (_angle); } private function createShadowBitmaps():void{ var roundRectWidth:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius)); var roundRectHeight:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius)); if ((((roundRectWidth < 0)) || ((roundRectHeight < 0)))){ return; }; var roundRect:Shape = new FlexShape(); var g:Graphics = roundRect.graphics; g.beginFill(0xFFFFFF); GraphicsUtil.drawRoundRectComplex(g, 0, 0, roundRectWidth, roundRectHeight, tlRadius, trRadius, blRadius, brRadius); g.endFill(); var roundRectBitmap:BitmapData = new BitmapData(roundRectWidth, roundRectHeight, true, 0); roundRectBitmap.draw(roundRect, new Matrix()); var filter:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha); filter.knockout = true; var inputRect:Rectangle = new Rectangle(0, 0, roundRectWidth, roundRectHeight); var outputRect:Rectangle = roundRectBitmap.generateFilterRect(inputRect, filter); var leftThickness:Number = (inputRect.left - outputRect.left); var rightThickness:Number = (outputRect.right - inputRect.right); var topThickness:Number = (inputRect.top - outputRect.top); var bottomThickness:Number = (outputRect.bottom - inputRect.bottom); shadow = new BitmapData(outputRect.width, outputRect.height); shadow.applyFilter(roundRectBitmap, inputRect, new Point(leftThickness, topThickness), filter); var origin:Point = new Point(0, 0); var rect:Rectangle = new Rectangle(); if (leftThickness > 0){ rect.x = 0; rect.y = ((tlRadius + topThickness) + bottomThickness); rect.width = leftThickness; rect.height = 1; leftShadow = new BitmapData(leftThickness, 1); leftShadow.copyPixels(shadow, rect, origin); } else { leftShadow = null; }; if (rightThickness > 0){ rect.x = (shadow.width - rightThickness); rect.y = ((trRadius + topThickness) + bottomThickness); rect.width = rightThickness; rect.height = 1; rightShadow = new BitmapData(rightThickness, 1); rightShadow.copyPixels(shadow, rect, origin); } else { rightShadow = null; }; if (topThickness > 0){ rect.x = ((tlRadius + leftThickness) + rightThickness); rect.y = 0; rect.width = 1; rect.height = topThickness; topShadow = new BitmapData(1, topThickness); topShadow.copyPixels(shadow, rect, origin); } else { topShadow = null; }; if (bottomThickness > 0){ rect.x = ((blRadius + leftThickness) + rightThickness); rect.y = (shadow.height - bottomThickness); rect.width = 1; rect.height = bottomThickness; bottomShadow = new BitmapData(1, bottomThickness); bottomShadow.copyPixels(shadow, rect, origin); } else { bottomShadow = null; }; } public function get alpha():Number{ return (_alpha); } public function get color():int{ return (_color); } public function set angle(value:Number):void{ if (_angle != value){ _angle = value; changed = true; }; } public function set trRadius(value:Number):void{ if (_trRadius != value){ _trRadius = value; changed = true; }; } public function set tlRadius(value:Number):void{ if (_tlRadius != value){ _tlRadius = value; changed = true; }; } public function get trRadius():Number{ return (_trRadius); } public function set distance(value:Number):void{ if (_distance != value){ _distance = value; changed = true; }; } public function get distance():Number{ return (_distance); } public function get tlRadius():Number{ return (_tlRadius); } public function set alpha(value:Number):void{ if (_alpha != value){ _alpha = value; changed = true; }; } public function set blRadius(value:Number):void{ if (_blRadius != value){ _blRadius = value; changed = true; }; } } }//package mx.graphics
Section 328
//RoundedRectangle (mx.graphics.RoundedRectangle) package mx.graphics { import flash.geom.*; import mx.core.*; public class RoundedRectangle extends Rectangle { public var cornerRadius:Number;// = 0 mx_internal static const VERSION:String = "3.0.0.0"; public function RoundedRectangle(x:Number=0, y:Number=0, width:Number=0, height:Number=0, cornerRadius:Number=0){ super(x, y, width, height); this.cornerRadius = cornerRadius; } } }//package mx.graphics
Section 329
//PriorityQueue (mx.managers.layoutClasses.PriorityQueue) package mx.managers.layoutClasses { import flash.display.*; import mx.core.*; import mx.managers.*; public class PriorityQueue { private var maxPriority:int;// = -1 private var arrayOfArrays:Array; private var minPriority:int;// = 0 mx_internal static const VERSION:String = "3.0.0.0"; public function PriorityQueue(){ arrayOfArrays = []; super(); } public function addObject(obj:Object, priority:int):void{ if (!arrayOfArrays[priority]){ arrayOfArrays[priority] = []; }; arrayOfArrays[priority].push(obj); if (maxPriority < minPriority){ minPriority = (maxPriority = priority); } else { if (priority < minPriority){ minPriority = priority; }; if (priority > maxPriority){ maxPriority = priority; }; }; } public function removeSmallest():Object{ var obj:Object; if (minPriority <= maxPriority){ while (((!(arrayOfArrays[minPriority])) || ((arrayOfArrays[minPriority].length == 0)))) { minPriority++; if (minPriority > maxPriority){ return (null); }; }; obj = arrayOfArrays[minPriority].shift(); while (((!(arrayOfArrays[minPriority])) || ((arrayOfArrays[minPriority].length == 0)))) { minPriority++; if (minPriority > maxPriority){ break; }; }; }; return (obj); } public function removeLargestChild(client:ILayoutManagerClient):Object{ var i:int; var obj:Object; var max:int = maxPriority; var min:int = client.nestLevel; while (min <= max) { if (((arrayOfArrays[max]) && ((arrayOfArrays[max].length > 0)))){ i = 0; while (i < arrayOfArrays[max].length) { if (contains(DisplayObject(client), arrayOfArrays[max][i])){ obj = arrayOfArrays[max][i]; arrayOfArrays[max].splice(i, 1); return (obj); }; i++; }; max--; } else { if (max == maxPriority){ maxPriority--; }; max--; if (max < min){ break; }; }; }; return (obj); } public function isEmpty():Boolean{ return ((minPriority > maxPriority)); } public function removeLargest():Object{ var obj:Object; if (minPriority <= maxPriority){ while (((!(arrayOfArrays[maxPriority])) || ((arrayOfArrays[maxPriority].length == 0)))) { maxPriority--; if (maxPriority < minPriority){ return (null); }; }; obj = arrayOfArrays[maxPriority].shift(); while (((!(arrayOfArrays[maxPriority])) || ((arrayOfArrays[maxPriority].length == 0)))) { maxPriority--; if (maxPriority < minPriority){ break; }; }; }; return (obj); } public function removeSmallestChild(client:ILayoutManagerClient):Object{ var i:int; var obj:Object; var min:int = client.nestLevel; while (min <= maxPriority) { if (((arrayOfArrays[min]) && ((arrayOfArrays[min].length > 0)))){ i = 0; while (i < arrayOfArrays[min].length) { if (contains(DisplayObject(client), arrayOfArrays[min][i])){ obj = arrayOfArrays[min][i]; arrayOfArrays[min].splice(i, 1); return (obj); }; i++; }; min++; } else { if (min == minPriority){ minPriority++; }; min++; if (min > maxPriority){ break; }; }; }; return (obj); } public function removeAll():void{ arrayOfArrays.splice(0); minPriority = 0; maxPriority = -1; } private function contains(parent:DisplayObject, child:DisplayObject):Boolean{ var rawChildren:IChildList; if ((parent is IRawChildrenContainer)){ rawChildren = IRawChildrenContainer(parent).rawChildren; return (rawChildren.contains(child)); }; if ((parent is DisplayObjectContainer)){ return (DisplayObjectContainer(parent).contains(child)); }; return ((parent == child)); } } }//package mx.managers.layoutClasses
Section 330
//CursorManager (mx.managers.CursorManager) package mx.managers { import mx.core.*; public class CursorManager { mx_internal static const VERSION:String = "3.0.0.0"; public static const NO_CURSOR:int = 0; private static var _impl:ICursorManager; private static var implClassDependency:CursorManagerImpl; public function CursorManager(){ super(); } public static function set currentCursorYOffset(value:Number):void{ impl.currentCursorYOffset = value; } mx_internal static function registerToUseBusyCursor(source:Object):void{ impl.registerToUseBusyCursor(source); } public static function get currentCursorID():int{ return (impl.currentCursorID); } public static function getInstance():ICursorManager{ return (impl); } public static function removeBusyCursor():void{ impl.removeBusyCursor(); } public static function setCursor(cursorClass:Class, priority:int=2, xOffset:Number=0, yOffset:Number=0):int{ return (impl.setCursor(cursorClass, priority, xOffset, yOffset)); } public static function set currentCursorID(value:int):void{ impl.currentCursorID = value; } mx_internal static function unRegisterToUseBusyCursor(source:Object):void{ impl.unRegisterToUseBusyCursor(source); } private static function get impl():ICursorManager{ if (!_impl){ _impl = ICursorManager(Singleton.getInstance("mx.managers::ICursorManager")); }; return (_impl); } public static function removeAllCursors():void{ impl.removeAllCursors(); } public static function setBusyCursor():void{ impl.setBusyCursor(); } public static function showCursor():void{ impl.showCursor(); } public static function hideCursor():void{ impl.hideCursor(); } public static function removeCursor(cursorID:int):void{ impl.removeCursor(cursorID); } public static function get currentCursorXOffset():Number{ return (impl.currentCursorXOffset); } public static function get currentCursorYOffset():Number{ return (impl.currentCursorYOffset); } public static function set currentCursorXOffset(value:Number):void{ impl.currentCursorXOffset = value; } } }//package mx.managers
Section 331
//CursorManagerImpl (mx.managers.CursorManagerImpl) package mx.managers { import flash.display.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.styles.*; import flash.ui.*; public class CursorManagerImpl implements ICursorManager { private var showSystemCursor:Boolean;// = false private var nextCursorID:int;// = 1 private var systemManager:ISystemManager;// = null private var cursorList:Array; private var _currentCursorYOffset:Number;// = 0 private var cursorHolder:Sprite; private var currentCursor:DisplayObject; private var showCustomCursor:Boolean;// = false private var _currentCursorID:int;// = 0 private var listenForContextMenu:Boolean;// = false private var customCursorLeftStage:Boolean;// = false private var initialized:Boolean;// = false private var overTextField:Boolean;// = false private var _currentCursorXOffset:Number;// = 0 private var busyCursorList:Array; private var sourceArray:Array; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:ICursorManager; public function CursorManagerImpl(systemManager:ISystemManager=null){ cursorList = []; busyCursorList = []; sourceArray = []; super(); if (((instance) && (!(systemManager)))){ throw (new Error("Instance already exists.")); }; if (systemManager){ this.systemManager = systemManager; } else { this.systemManager = ApplicationGlobals.application.systemManager; }; } public function set currentCursorYOffset(value:Number):void{ _currentCursorYOffset = value; } public function get currentCursorXOffset():Number{ return (_currentCursorXOffset); } public function removeCursor(cursorID:int):void{ var i:Object; var item:CursorQueueItem; for (i in cursorList) { item = cursorList[i]; if (item.cursorID == cursorID){ cursorList.splice(i, 1); showCurrentCursor(); break; }; }; } public function get currentCursorID():int{ return (_currentCursorID); } private function updateCursorHelper():void{ var hasNativeWindow:Boolean; hasNativeWindow = systemManager.stage.hasOwnProperty("nativeWindow"); var hasFocus:Boolean = ((!(hasNativeWindow)) || (systemManager.stage["nativeWindow"]["active"])); if (hasFocus){ if (showSystemCursor){ showSystemCursor = false; hideCursor(); Mouse.show(); }; if (showCustomCursor){ showCustomCursor = false; showCursor(); Mouse.hide(); }; } else { if (cursorList.length > 0){ Mouse.hide(); }; }; } private function removeContextMenuHandlers():void{ var app:InteractiveObject; var sm:InteractiveObject; if (listenForContextMenu){ app = (systemManager.document as InteractiveObject); sm = (systemManager as InteractiveObject); if (((app) && (app.contextMenu))){ app.contextMenu.removeEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler, true); }; if (((sm) && (sm.contextMenu))){ sm.contextMenu.removeEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler, true); }; listenForContextMenu = false; }; } public function set currentCursorID(value:int):void{ _currentCursorID = value; } private function priorityCompare(a:CursorQueueItem, b:CursorQueueItem):int{ if (a.priority < b.priority){ return (-1); }; if (a.priority == b.priority){ return (0); }; return (1); } public function removeAllCursors():void{ cursorList.splice(0); showCurrentCursor(); } private function mouseOutHandler(event:MouseEvent):void{ if ((((event.relatedObject == null)) && ((cursorList.length > 0)))){ customCursorLeftStage = true; hideCursor(); Mouse.show(); }; } public function setBusyCursor():void{ var cursorManagerStyleDeclaration:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); var busyCursorClass:Class = cursorManagerStyleDeclaration.getStyle("busyCursor"); busyCursorList.push(setCursor(busyCursorClass, CursorManagerPriority.LOW)); } private function findSource(target:Object):int{ var n:int = sourceArray.length; var i:int; while (i < n) { if (sourceArray[i] === target){ return (i); }; i++; }; return (-1); } private function showCurrentCursor():void{ var item:CursorQueueItem; var tempSystemManager:ISystemManager; if (cursorList.length > 0){ if (!initialized){ cursorHolder = new FlexSprite(); cursorHolder.name = "cursorHolder"; cursorHolder.mouseEnabled = false; initialized = true; }; item = cursorList[0]; if (currentCursorID == CursorManager.NO_CURSOR){ Mouse.hide(); }; if (item.cursorID != currentCursorID){ if (cursorHolder.numChildren > 0){ cursorHolder.removeChildAt(0); }; currentCursor = new item.cursorClass(); if (currentCursor){ if ((currentCursor is InteractiveObject)){ InteractiveObject(currentCursor).mouseEnabled = false; }; tempSystemManager = (item.cursorSystemManager) ? item.cursorSystemManager : ApplicationGlobals.application.systemManager; if (((systemManager) && (!((systemManager == tempSystemManager))))){ systemManager.cursorChildren.removeChild(cursorHolder); removeSystemManagerHandlers(); removeContextMenuHandlers(); systemManager = tempSystemManager; }; if (!systemManager.cursorChildren.contains(cursorHolder)){ systemManager.cursorChildren.addChild(cursorHolder); }; cursorHolder.addChild(currentCursor); addContextMenuHandlers(); if ((systemManager is SystemManager)){ cursorHolder.x = (SystemManager(systemManager).mouseX + item.x); cursorHolder.y = (SystemManager(systemManager).mouseY + item.y); } else { if ((systemManager is DisplayObject)){ cursorHolder.x = (DisplayObject(systemManager).mouseX + item.x); cursorHolder.y = (DisplayObject(systemManager).mouseY + item.y); } else { cursorHolder.x = item.x; cursorHolder.y = item.y; }; }; systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true, EventPriority.CURSOR_MANAGEMENT); systemManager.stage.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler, true, EventPriority.CURSOR_MANAGEMENT); }; currentCursorID = item.cursorID; currentCursorXOffset = item.x; currentCursorYOffset = item.y; }; } else { showCustomCursor = false; if (currentCursorID != CursorManager.NO_CURSOR){ currentCursorID = CursorManager.NO_CURSOR; currentCursorXOffset = 0; currentCursorYOffset = 0; cursorHolder.removeChild(currentCursor); removeSystemManagerHandlers(); removeContextMenuHandlers(); }; Mouse.show(); }; } private function contextMenu_menuSelectHandler(event:ContextMenuEvent):void{ showCustomCursor = true; systemManager.stage.addEventListener(MouseEvent.MOUSE_OVER, contextMenuMouseOverHandler, true, EventPriority.CURSOR_MANAGEMENT); } public function hideCursor():void{ if (cursorHolder){ cursorHolder.visible = false; }; } public function showCursor():void{ if (cursorHolder){ cursorHolder.visible = true; }; } private function contextMenuMouseOverHandler(event:MouseEvent):void{ systemManager.stage.removeEventListener(MouseEvent.MOUSE_OVER, contextMenuMouseOverHandler, true); mouseMoveHandler(event); } private function completeHandler(event:Event):void{ var sourceIndex:int = findSource(event.target); if (sourceIndex != -1){ sourceArray.splice(sourceIndex, 1); removeBusyCursor(); }; } public function get currentCursorYOffset():Number{ return (_currentCursorYOffset); } private function addContextMenuHandlers():void{ var app:InteractiveObject; var sm:InteractiveObject; if (!listenForContextMenu){ app = (systemManager.document as InteractiveObject); sm = (systemManager as InteractiveObject); if (((app) && (app.contextMenu))){ app.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler, true, EventPriority.CURSOR_MANAGEMENT); listenForContextMenu = true; }; if (((sm) && (sm.contextMenu))){ sm.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler, true, EventPriority.CURSOR_MANAGEMENT); listenForContextMenu = true; }; }; } public function setCursor(cursorClass:Class, priority:int=2, xOffset:Number=0, yOffset:Number=0):int{ var cursorID:int = nextCursorID++; var item:CursorQueueItem = new CursorQueueItem(); item.cursorID = cursorID; item.cursorClass = cursorClass; item.priority = priority; item.x = xOffset; item.y = yOffset; if (systemManager){ item.cursorSystemManager = systemManager; } else { item.cursorSystemManager = ApplicationGlobals.application.systemManager; }; cursorList.push(item); cursorList.sort(priorityCompare); showCurrentCursor(); return (cursorID); } private function progressHandler(event:ProgressEvent):void{ var sourceIndex:int = findSource(event.target); if (sourceIndex == -1){ sourceArray.push(event.target); setBusyCursor(); }; } public function removeBusyCursor():void{ if (busyCursorList.length > 0){ removeCursor(int(busyCursorList.pop())); }; } private function removeSystemManagerHandlers():void{ var smStage:Stage = systemManager.stage; smStage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); smStage.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler, true); } public function registerToUseBusyCursor(source:Object):void{ if (((source) && ((source is EventDispatcher)))){ source.addEventListener(ProgressEvent.PROGRESS, progressHandler); source.addEventListener(Event.COMPLETE, completeHandler); source.addEventListener(IOErrorEvent.IO_ERROR, completeHandler); }; } public function unRegisterToUseBusyCursor(source:Object):void{ if (((source) && ((source is EventDispatcher)))){ source.removeEventListener(ProgressEvent.PROGRESS, progressHandler); source.removeEventListener(Event.COMPLETE, completeHandler); source.removeEventListener(IOErrorEvent.IO_ERROR, completeHandler); }; } private function mouseMoveHandler(event:MouseEvent):void{ if (customCursorLeftStage){ customCursorLeftStage = false; showCursor(); if (cursorList.length > 0){ Mouse.hide(); }; }; if ((systemManager is SystemManager)){ cursorHolder.x = (SystemManager(systemManager).mouseX + currentCursorXOffset); cursorHolder.y = (SystemManager(systemManager).mouseY + currentCursorYOffset); } else { if ((systemManager is DisplayObject)){ cursorHolder.x = (DisplayObject(systemManager).mouseX + currentCursorXOffset); cursorHolder.y = (DisplayObject(systemManager).mouseY + currentCursorYOffset); } else { cursorHolder.x = currentCursorXOffset; cursorHolder.y = currentCursorYOffset; }; }; var target:Object = event.target; if (((((!(overTextField)) && ((target is TextField)))) && ((target.type == TextFieldType.INPUT)))){ overTextField = true; showSystemCursor = true; } else { if (((overTextField) && (!((((target is TextField)) && ((target.type == TextFieldType.INPUT))))))){ overTextField = false; showCustomCursor = true; }; }; updateCursorHelper(); } public function set currentCursorXOffset(value:Number):void{ _currentCursorXOffset = value; } public static function getInstance():ICursorManager{ if (!instance){ instance = new (CursorManagerImpl); }; return (instance); } } }//package mx.managers import mx.core.*; class CursorQueueItem { public var priority:int;// = 2 public var cursorClass:Class;// = null public var cursorSystemManager:ISystemManager; public var cursorID:int;// = 0 public var x:Number; public var y:Number; mx_internal static const VERSION:String = "3.0.0.0"; private function CursorQueueItem(){ super(); } }
Section 332
//CursorManagerPriority (mx.managers.CursorManagerPriority) package mx.managers { import mx.core.*; public final class CursorManagerPriority { public static const HIGH:int = 1; public static const MEDIUM:int = 2; mx_internal static const VERSION:String = "3.0.0.0"; public static const LOW:int = 3; public function CursorManagerPriority(){ super(); } } }//package mx.managers
Section 333
//FocusManager (mx.managers.FocusManager) package mx.managers { import flash.display.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Array; private var _showFocusIndicator:Boolean;// = false private var defButton:IButton; private var _form:IFocusManagerContainer; private var focusableCandidates:Array; private var LARGE_TAB_INDEX:int;// = 99999 private var browserFocusComponent:InteractiveObject; private var activated:Boolean;// = false private var _defaultButton:IButton; private var calculateCandidates:Boolean;// = true private var _focusPane:Sprite; private var lastFocus:IFocusManagerComponent; private var _defaultButtonEnabled:Boolean;// = true public var browserMode:Boolean; private var lastAction:String; mx_internal static const VERSION:String = "3.0.0.0"; public function FocusManager(container:IFocusManagerContainer, popup:Boolean=false){ super(); browserMode = (((Capabilities.playerType == "ActiveX")) && (!(popup))); container.focusManager = this; _form = container; focusableObjects = []; focusPane = new FlexSprite(); focusPane.name = "focusPane"; addFocusables(DisplayObject(container)); container.addEventListener(Event.ADDED, addedHandler); container.addEventListener(Event.REMOVED, removedHandler); container.addEventListener(FlexEvent.SHOW, showHandler); container.addEventListener(FlexEvent.HIDE, hideHandler); if ((container.systemManager is SystemManager)){ if (container != SystemManager(container.systemManager).application){ container.addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; container.systemManager.addFocusManager(container); } public function deactivate():void{ form.systemManager.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.systemManager.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.systemManager.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.systemManager.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } private function getIndexOfNextObject(i:int, shiftKey:Boolean, bSearchAll:Boolean, groupName:String):int{ var o:DisplayObject; var tg1:IFocusManagerGroup; var j:int; var obj:DisplayObject; var tg2:IFocusManagerGroup; var n:int = focusableCandidates.length; var start:int = i; while (true) { if (shiftKey){ i--; } else { i++; }; if (bSearchAll){ if (((shiftKey) && ((i < 0)))){ break; }; if (((!(shiftKey)) && ((i == n)))){ break; }; } else { i = ((i + n) % n); if (start == i){ break; }; }; if (isValidFocusCandidate(focusableCandidates[i], groupName)){ o = DisplayObject(findFocusManagerComponent(focusableCandidates[i])); if ((o is IFocusManagerGroup)){ tg1 = IFocusManagerGroup(o); j = 0; while (j < focusableCandidates.length) { obj = focusableCandidates[j]; if ((obj is IFocusManagerGroup)){ tg2 = IFocusManagerGroup(obj); if ((((tg2.groupName == tg1.groupName)) && (tg2.selected))){ if (((!((InteractiveObject(obj).tabIndex == InteractiveObject(o).tabIndex))) && (!(tg1.selected)))){ return (getIndexOfNextObject(i, shiftKey, bSearchAll, groupName)); }; i = j; break; }; }; j++; }; }; return (i); }; }; return (i); } private function mouseFocusChangeHandler(event:FocusEvent):void{ var tf:TextField; if ((event.relatedObject is TextField)){ tf = (event.relatedObject as TextField); if ((((tf.type == "input")) || (tf.selectable))){ return; }; }; event.preventDefault(); } mx_internal function set form(value:IFocusManagerContainer):void{ _form = value; } private function addFocusables(o:DisplayObject, skipTopLevel:Boolean=false):void{ var focusable:IFocusManagerComponent; var doc:DisplayObjectContainer; var i:int; var rawChildren:IChildList; var o = o; var skipTopLevel = skipTopLevel; if ((((o is IFocusManagerComponent)) && (!(skipTopLevel)))){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects.push(o); calculateCandidates = true; }; o.addEventListener("tabEnabledChange", tabEnabledChangeHandler); o.addEventListener("tabIndexChange", tabIndexChangeHandler); }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener("tabChildrenChange", tabChildrenChangeHandler); if (doc.tabChildren){ if ((o is IRawChildrenContainer)){ rawChildren = IRawChildrenContainer(o).rawChildren; i = 0; for (;i < rawChildren.numChildren;(i = (i + 1))) { addFocusables(rawChildren.getChildAt(i)); continue; var _slot1 = error; }; } else { i = 0; for (;i < doc.numChildren;(i = (i + 1))) { addFocusables(doc.getChildAt(i)); continue; var _slot1 = error; }; }; }; }; } private function getMaxTabIndex():int{ var t:Number; var z:Number = 0; var n:int = focusableObjects.length; var i:int; while (i < n) { t = focusableObjects[i].tabIndex; if (!isNaN(t)){ z = Math.max(z, t); }; i++; }; return (z); } private function showHandler(event:Event):void{ form.systemManager.activate(form); } public function toString():String{ return ((Object(form).toString() + ".focusManager")); } private function mouseDownHandler(event:MouseEvent):void{ if (event.isDefaultPrevented()){ return; }; var o:DisplayObject = getTopLevelFocusTarget(InteractiveObject(event.target)); if (!o){ return; }; showFocusIndicator = false; if (((((!((o == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((o is TextField))))){ setFocus(IFocusManagerComponent(o)); }; lastAction = "MOUSEDOWN"; } private function sortByDepth(aa:IFocusManagerComponent, bb:IFocusManagerComponent):Number{ var index:int; var tmp:String; var tmp2:String; var val1:String = ""; var val2:String = ""; var zeros:String = "0000"; var a:DisplayObject = DisplayObject(aa); var b:DisplayObject = DisplayObject(bb); while (((!((a == DisplayObject(form)))) && (a.parent))) { index = getChildIndex(a.parent, a); tmp = index.toString(16); if (tmp.length < 4){ tmp2 = (zeros.substring(0, (4 - tmp.length)) + tmp); }; val1 = (tmp2 + val1); a = a.parent; }; while (((!((b == DisplayObject(form)))) && (b.parent))) { index = getChildIndex(b.parent, b); tmp = index.toString(16); if (tmp.length < 4){ tmp2 = (zeros.substring(0, (4 - tmp.length)) + tmp); }; val2 = (tmp2 + val2); b = b.parent; }; return (((val1 > val2)) ? 1 : ((val1 < val2)) ? -1 : 0); } private function focusOutHandler(event:FocusEvent):void{ var target:InteractiveObject = InteractiveObject(event.target); } public function setFocus(o:IFocusManagerComponent):void{ o.setFocus(); } private function getChildIndex(parent:DisplayObjectContainer, child:DisplayObject):int{ var parent = parent; var child = child; return (parent.getChildIndex(child)); //unresolved jump var _slot1 = e; if ((parent is IRawChildrenContainer)){ return (IRawChildrenContainer(parent).rawChildren.getChildIndex(child)); }; throw (_slot1); throw (new Error("FocusManager.getChildIndex failed")); } public function findFocusManagerComponent(o:InteractiveObject):IFocusManagerComponent{ while (o) { if ((((o is IFocusManagerComponent)) && (IFocusManagerComponent(o).focusEnabled))){ return (IFocusManagerComponent(o)); }; o = o.parent; }; return (null); } private function sortFocusableObjectsTabIndex():void{ var c:IFocusManagerComponent; focusableCandidates = []; var n:int = focusableObjects.length; var i:int; while (i < n) { c = focusableObjects[i]; if (((c.tabIndex) && (!(isNaN(Number(c.tabIndex)))))){ focusableCandidates.push(c); }; i++; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(o:DisplayObject, dontRemoveTabChildrenHandler:Boolean):void{ var i:int; if ((o is DisplayObjectContainer)){ if (!dontRemoveTabChildrenHandler){ o.removeEventListener("tabChildrenChange", tabChildrenChangeHandler); }; i = 0; while (i < focusableObjects.length) { if (isParent(DisplayObjectContainer(o), focusableObjects[i])){ if (focusableObjects[i] == lastFocus){ lastFocus.drawFocus(false); lastFocus = null; }; focusableObjects[i].removeEventListener("tabEnabledChange", tabEnabledChangeHandler); focusableObjects[i].removeEventListener("tabIndexChange", tabIndexChangeHandler); focusableObjects.splice(i, 1); i--; calculateCandidates = true; }; i++; }; }; } private function setFocusToNextObject(event:FocusEvent):void{ if (focusableObjects.length == 0){ return; }; var o:IFocusManagerComponent = getNextFocusManagerComponent(event.shiftKey); if (o){ if ((o is IFocusManagerComplexComponent)){ IFocusManagerComplexComponent(o).assignFocus((event.shiftKey) ? "bottom" : "top"); } else { setFocus(o); }; }; } private function getTopLevelFocusTarget(o:InteractiveObject):InteractiveObject{ while (o != InteractiveObject(form)) { if ((((((((o is IFocusManagerComponent)) && (IFocusManagerComponent(o).focusEnabled))) && (IFocusManagerComponent(o).mouseFocusEnabled))) && (((o is IUIComponent)) ? IUIComponent(o).enabled : true))){ return (o); }; o = o.parent; if (o == null){ break; }; }; return (null); } public function set defaultButton(value:IButton):void{ var button:IButton = (value) ? IButton(value) : null; if (button != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = button; defButton = button; if (button){ button.emphasized = true; }; }; } mx_internal function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent("click")); } public function getFocus():IFocusManagerComponent{ var o:InteractiveObject = form.systemManager.stage.focus; return (findFocusManagerComponent(o)); } private function isEnabledAndVisible(o:DisplayObject):Boolean{ var formParent:DisplayObjectContainer = DisplayObject(form).parent; while (o != formParent) { if ((o is IUIComponent)){ if (!IUIComponent(o).enabled){ return (false); }; }; if (!o.visible){ return (false); }; o = o.parent; }; return (true); } private function deactivateHandler(event:Event):void{ var target:InteractiveObject = InteractiveObject(event.target); } private function hideHandler(event:Event):void{ form.systemManager.deactivate(form); } private function addedHandler(event:Event):void{ var target:DisplayObject = DisplayObject(event.target); if (target.stage){ addFocusables(DisplayObject(event.target)); }; } public function hideFocus():void{ if (showFocusIndicator){ showFocusIndicator = false; if (lastFocus){ lastFocus.drawFocus(false); }; }; } private function tabChildrenChangeHandler(event:Event):void{ if (event.target != event.currentTarget){ return; }; calculateCandidates = true; var o:DisplayObjectContainer = DisplayObjectContainer(event.target); if (o.tabChildren){ addFocusables(o, true); } else { removeFocusables(o, true); }; } private function isValidFocusCandidate(o:DisplayObject, g:String):Boolean{ var tg:IFocusManagerGroup; if (!isEnabledAndVisible(o)){ return (false); }; if ((o is IFocusManagerGroup)){ tg = IFocusManagerGroup(o); if (g == tg.groupName){ return (false); }; }; return (true); } public function set focusPane(value:Sprite):void{ _focusPane = value; } private function keyFocusChangeHandler(event:FocusEvent):void{ showFocusIndicator = true; if ((((event.keyCode == Keyboard.TAB)) && (!(event.isDefaultPrevented())))){ if (browserFocusComponent){ if (browserFocusComponent.tabIndex == LARGE_TAB_INDEX){ browserFocusComponent.tabIndex = -1; }; browserFocusComponent = null; return; }; setFocusToNextObject(event); event.preventDefault(); }; } private function getIndexOfFocusedObject(o:DisplayObject):int{ var iui:IUIComponent; if (!o){ return (-1); }; var n:int = focusableCandidates.length; var i:int; i = 0; while (i < n) { if (focusableCandidates[i] == o){ return (i); }; i++; }; i = 0; while (i < n) { iui = (focusableCandidates[i] as IUIComponent); if (((iui) && (iui.owns(o)))){ return (i); }; i++; }; return (-1); } private function isParent(p:DisplayObjectContainer, o:DisplayObject):Boolean{ if ((p is IRawChildrenContainer)){ return (IRawChildrenContainer(p).rawChildren.contains(o)); }; return (p.contains(o)); } private function removedHandler(event:Event):void{ var i:int; var o:DisplayObject = DisplayObject(event.target); if ((o is IFocusManagerComponent)){ i = 0; while (i < focusableObjects.length) { if (o == focusableObjects[i]){ if (o == lastFocus){ lastFocus.drawFocus(false); lastFocus = null; }; o.removeEventListener("tabEnabledChange", tabEnabledChangeHandler); o.removeEventListener("tabIndexChange", tabIndexChangeHandler); focusableObjects.splice(i, 1); calculateCandidates = true; break; }; i++; }; }; removeFocusables(o, false); } mx_internal function get form():IFocusManagerContainer{ return (_form); } private function tabIndexChangeHandler(event:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var c:InteractiveObject; focusableCandidates = []; var n:int = focusableObjects.length; var i:int; while (i < n) { c = focusableObjects[i]; if (((((c.tabIndex) && (!(isNaN(Number(c.tabIndex)))))) && ((c.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(c); i++; }; focusableCandidates.sort(sortByDepth); } public function get nextTabIndex():int{ return ((getMaxTabIndex() + 1)); } public function get defaultButton():IButton{ return (_defaultButton); } public function showFocus():void{ if (!showFocusIndicator){ showFocusIndicator = true; if (lastFocus){ lastFocus.drawFocus(true); }; }; } private function activateHandler(event:Event):void{ var target:InteractiveObject = InteractiveObject(event.target); if (((lastFocus) && (!(browserMode)))){ lastFocus.setFocus(); }; lastAction = "ACTIVATE"; } public function getNextFocusManagerComponent(backward:Boolean=false):IFocusManagerComponent{ var tg:IFocusManagerGroup; if (focusableObjects.length == 0){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; var o:DisplayObject = form.systemManager.stage.focus; o = DisplayObject(findFocusManagerComponent(InteractiveObject(o))); var g:String = ""; if ((o is IFocusManagerGroup)){ tg = IFocusManagerGroup(o); g = tg.groupName; }; var i:int = getIndexOfFocusedObject(o); var bSearchAll:Boolean; var start:int = i; if (i == -1){ if (backward){ i = focusableCandidates.length; }; bSearchAll = true; }; var j:int = getIndexOfNextObject(i, backward, bSearchAll, g); return (findFocusManagerComponent(focusableCandidates[j])); } public function get focusPane():Sprite{ return (_focusPane); } public function set defaultButtonEnabled(value:Boolean):void{ _defaultButtonEnabled = value; } private function keyDownHandler(event:KeyboardEvent):void{ var o:DisplayObject; var g:String; var i:int; var j:int; var tg:IFocusManagerGroup; var sm:SystemManager = (form.systemManager as SystemManager); if (sm){ sm.idleCounter = 0; }; if (event.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (browserMode){ if ((((event.keyCode == Keyboard.TAB)) && ((focusableCandidates.length > 0)))){ o = form.systemManager.stage.focus; o = DisplayObject(findFocusManagerComponent(InteractiveObject(o))); g = ""; if ((o is IFocusManagerGroup)){ tg = IFocusManagerGroup(o); g = tg.groupName; }; i = getIndexOfFocusedObject(o); j = getIndexOfNextObject(i, event.shiftKey, false, g); if (event.shiftKey){ if (j >= i){ browserFocusComponent = form.systemManager.stage.focus; if (browserFocusComponent.tabIndex == -1){ browserFocusComponent.tabIndex = 0; }; }; } else { if (j <= i){ browserFocusComponent = form.systemManager.stage.focus; if (browserFocusComponent.tabIndex == -1){ browserFocusComponent.tabIndex = LARGE_TAB_INDEX; }; }; }; }; }; if (((((((defaultButtonEnabled) && ((event.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ defButton.callLater(sendDefaultButtonEvent); }; } private function focusInHandler(event:FocusEvent):void{ var x:IButton; var target:InteractiveObject = InteractiveObject(event.target); if (isParent(DisplayObjectContainer(form), target)){ lastFocus = findFocusManagerComponent(InteractiveObject(target)); if ((lastFocus is IButton)){ x = (lastFocus as IButton); if (defButton){ defButton.emphasized = false; defButton = x; x.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } public function set showFocusIndicator(value:Boolean):void{ _showFocusIndicator = value; } private function sortByTabIndex(a:IFocusManagerComponent, b:IFocusManagerComponent):int{ var aa:int = a.tabIndex; var bb:int = b.tabIndex; if (aa == -1){ aa = int.MAX_VALUE; }; if (bb == -1){ bb = int.MAX_VALUE; }; return (((aa > bb)) ? 1 : ((aa < bb)) ? -1 : sortByDepth(a, b)); } public function activate():void{ if (activated){ return; }; form.systemManager.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.systemManager.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.systemManager.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.systemManager.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 get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } private function isTabVisible(o:DisplayObject):Boolean{ var s:DisplayObject = DisplayObject(form.systemManager); if (!s){ return (false); }; var p:DisplayObjectContainer = o.parent; while (((p) && (!((p == s))))) { if (!p.tabChildren){ return (false); }; p = p.parent; }; return (true); } private function creationCompleteHandler(event:FlexEvent):void{ if (((DisplayObject(form).visible) && (!(activated)))){ form.systemManager.activate(form); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function tabEnabledChangeHandler(event:Event):void{ calculateCandidates = true; var o:InteractiveObject = InteractiveObject(event.target); var n:int = focusableObjects.length; var i:int; while (i < n) { if (focusableObjects[i] == o){ break; }; i++; }; if (o.tabEnabled){ if ((((i == n)) && (isTabVisible(o)))){ focusableObjects.push(o); }; } else { if (i < n){ focusableObjects.splice(i, 1); }; }; } } }//package mx.managers
Section 334
//ICursorManager (mx.managers.ICursorManager) package mx.managers { public interface ICursorManager { function removeAllCursors():void; function set currentCursorYOffset(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:Number):void; function removeBusyCursor():void; function unRegisterToUseBusyCursor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:Object):void; function hideCursor():void; function get currentCursorID():int; function registerToUseBusyCursor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:Object):void; function setBusyCursor():void; function showCursor():void; function set currentCursorID(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:int):void; function setCursor(_arg1:Class, _arg2:int=2, _arg3:Number=0, _arg4:Number=0):int; function removeCursor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:int):void; function get currentCursorXOffset():Number; function get currentCursorYOffset():Number; function set currentCursorXOffset(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ICursorManager.as:Number):void; } }//package mx.managers
Section 335
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import flash.display.*; import mx.core.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IButton):void; function set focusPane(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Sprite):void; function set showFocusIndicator(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(value:InteractiveObject):IFocusManagerComponent; function get nextTabIndex():int; function get defaultButton():IButton; function get showFocusIndicator():Boolean; function setFocus(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IFocusManagerComponent):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void; function hideFocus():void; function getNextFocusManagerComponent(value:Boolean=false):IFocusManagerComponent; } }//package mx.managers
Section 336
//IFocusManagerComplexComponent (mx.managers.IFocusManagerComplexComponent) package mx.managers { public interface IFocusManagerComplexComponent extends IFocusManagerComponent { function assignFocus(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerComplexComponent.as:String):void; function get hasFocusableContent():Boolean; } }//package mx.managers
Section 337
//IFocusManagerComponent (mx.managers.IFocusManagerComponent) package mx.managers { public interface IFocusManagerComponent { function set focusEnabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void; function drawFocus(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package mx.managers
Section 338
//IFocusManagerContainer (mx.managers.IFocusManagerContainer) package mx.managers { import flash.display.*; import flash.events.*; public interface IFocusManagerContainer extends IEventDispatcher { function set focusManager(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerContainer.as:IFocusManager):void; function get focusManager():IFocusManager; function get systemManager():ISystemManager; function contains(mx.managers:DisplayObject):Boolean; } }//package mx.managers
Section 339
//IFocusManagerGroup (mx.managers.IFocusManagerGroup) package mx.managers { public interface IFocusManagerGroup { function get groupName():String; function get selected():Boolean; function set groupName(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerGroup.as:String):void; function set selected(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IFocusManagerGroup.as:Boolean):void; } }//package mx.managers
Section 340
//ILayoutManager (mx.managers.ILayoutManager) package mx.managers { import flash.events.*; public interface ILayoutManager extends IEventDispatcher { function validateNow():void; function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void; function isInvalid():Boolean; function invalidateDisplayList(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; function set usePhasedInstantiation(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:Boolean):void; function invalidateSize(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; function get usePhasedInstantiation():Boolean; function invalidateProperties(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; } }//package mx.managers
Section 341
//ILayoutManagerClient (mx.managers.ILayoutManagerClient) package mx.managers { import flash.events.*; public interface ILayoutManagerClient extends IEventDispatcher { function get updateCompletePendingFlag():Boolean; function set updateCompletePendingFlag(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void; function set initialized(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void; function validateProperties():void; function validateDisplayList():void; function get nestLevel():int; function get initialized():Boolean; function get processedDescriptors():Boolean; function validateSize(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean=false):void; function set nestLevel(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:int):void; function set processedDescriptors(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void; } }//package mx.managers
Section 342
//IPopUpManager (mx.managers.IPopUpManager) package mx.managers { import flash.display.*; import mx.core.*; public interface IPopUpManager { function createPopUp(_arg1:DisplayObject, _arg2:Class, _arg3:Boolean=false, _arg4:String=null):IFlexDisplayObject; function centerPopUp(childList:IFlexDisplayObject):void; function removePopUp(childList:IFlexDisplayObject):void; function addPopUp(_arg1:IFlexDisplayObject, _arg2:DisplayObject, _arg3:Boolean=false, _arg4:String=null):void; function bringToFront(childList:IFlexDisplayObject):void; } }//package mx.managers
Section 343
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function get focusPane():Sprite; function get loaderInfo():LoaderInfo; function get toolTipChildren():IChildList; function set focusPane(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Sprite):void; function isTopLevel():Boolean; function get popUpChildren():IChildList; function get screen():Rectangle; function isFontFaceEmbedded(mx.managers:ISystemManager/mx.managers:ISystemManager:focusPane/get:TextFormat):Boolean; function get rawChildren():IChildList; function get topLevelSystemManager():ISystemManager; function getDefinitionByName(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;ISystemManager.as:String):Object; function activate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function deactivate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function get cursorChildren():IChildList; function set document(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Object):void; function get embeddedFontList():Object; function set numModalWindows(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:int):void; function removeFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function get document():Object; function get numModalWindows():int; function addFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function get stage():Stage; } }//package mx.managers
Section 344
//IToolTipManager2 (mx.managers.IToolTipManager2) package mx.managers { import flash.display.*; import mx.core.*; import mx.effects.*; public interface IToolTipManager2 { function registerToolTip(_arg1:DisplayObject, _arg2:String, _arg3:String):void; function get enabled():Boolean; function set enabled(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:Boolean):void; function get scrubDelay():Number; function set hideEffect(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:IAbstractEffect):void; function createToolTip(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String=null, _arg5:IUIComponent=null):IToolTip; function set scrubDelay(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:Number):void; function set hideDelay(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:Number):void; function get currentTarget():DisplayObject; function set showDelay(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:Number):void; function get showDelay():Number; function get showEffect():IAbstractEffect; function get hideDelay():Number; function get currentToolTip():IToolTip; function get hideEffect():IAbstractEffect; function set currentToolTip(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:IToolTip):void; function get toolTipClass():Class; function registerErrorString(_arg1:DisplayObject, _arg2:String, _arg3:String):void; function destroyToolTip(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:IToolTip):void; function set toolTipClass(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:Class):void; function sizeTip(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:IToolTip):void; function set currentTarget(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:DisplayObject):void; function set showEffect(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManager2.as:IAbstractEffect):void; } }//package mx.managers
Section 345
//IToolTipManagerClient (mx.managers.IToolTipManagerClient) package mx.managers { import mx.core.*; public interface IToolTipManagerClient extends IFlexDisplayObject { function get toolTip():String; function set toolTip(E:\dev\3.1.0\frameworks\projects\framework\src;mx\managers;IToolTipManagerClient.as:String):void; } }//package mx.managers
Section 346
//LayoutManager (mx.managers.LayoutManager) package mx.managers { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.managers.layoutClasses.*; public class LayoutManager extends EventDispatcher implements ILayoutManager { private var invalidateClientPropertiesFlag:Boolean;// = false private var invalidateDisplayListQueue:PriorityQueue; private var updateCompleteQueue:PriorityQueue; private var invalidateDisplayListFlag:Boolean;// = false private var invalidateClientSizeFlag:Boolean;// = false private var invalidateSizeQueue:PriorityQueue; private var originalFrameRate:Number; private var invalidatePropertiesFlag:Boolean;// = false private var invalidatePropertiesQueue:PriorityQueue; private var invalidateSizeFlag:Boolean;// = false private var callLaterPending:Boolean;// = false private var _usePhasedInstantiation:Boolean;// = false private var callLaterObject:UIComponent; private var targetLevel:int;// = 2147483647 mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:LayoutManager; public function LayoutManager(){ updateCompleteQueue = new PriorityQueue(); invalidatePropertiesQueue = new PriorityQueue(); invalidateSizeQueue = new PriorityQueue(); invalidateDisplayListQueue = new PriorityQueue(); super(); } public function set usePhasedInstantiation(value:Boolean):void{ var stage:Stage; if (_usePhasedInstantiation != value){ _usePhasedInstantiation = value; stage = SystemManagerGlobals.topLevelSystemManagers[0].stage; if (value){ originalFrameRate = stage.frameRate; stage.frameRate = 1000; } else { stage.frameRate = originalFrameRate; }; }; } private function waitAFrame():void{ callLaterObject.callLater(doPhasedInstantiation); } public function validateClient(target:ILayoutManagerClient, skipDisplayList:Boolean=false):void{ var obj:ILayoutManagerClient; var i:int; var done:Boolean; var oldTargetLevel:int = targetLevel; if (targetLevel == int.MAX_VALUE){ targetLevel = target.nestLevel; }; while (!(done)) { done = true; obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target)); while (obj) { obj.validateProperties(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target)); }; if (invalidatePropertiesQueue.isEmpty()){ invalidatePropertiesFlag = false; invalidateClientPropertiesFlag = false; }; obj = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(target)); while (obj) { obj.validateSize(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; if (invalidateClientPropertiesFlag){ obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target)); if (obj){ invalidatePropertiesQueue.addObject(obj, obj.nestLevel); done = false; break; }; }; obj = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(target)); }; if (invalidateSizeQueue.isEmpty()){ invalidateSizeFlag = false; invalidateClientSizeFlag = false; }; if (!skipDisplayList){ obj = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallestChild(target)); while (obj) { obj.validateDisplayList(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; if (invalidateClientPropertiesFlag){ obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target)); if (obj){ invalidatePropertiesQueue.addObject(obj, obj.nestLevel); done = false; break; }; }; if (invalidateClientSizeFlag){ obj = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(target)); if (obj){ invalidateSizeQueue.addObject(obj, obj.nestLevel); done = false; break; }; }; obj = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallestChild(target)); }; if (invalidateDisplayListQueue.isEmpty()){ invalidateDisplayListFlag = false; }; }; }; if (oldTargetLevel == int.MAX_VALUE){ targetLevel = int.MAX_VALUE; if (!skipDisplayList){ obj = ILayoutManagerClient(updateCompleteQueue.removeLargestChild(target)); while (obj) { if (!obj.initialized){ obj.initialized = true; }; obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); obj.updateCompletePendingFlag = false; obj = ILayoutManagerClient(updateCompleteQueue.removeLargestChild(target)); }; }; }; } private function validateProperties():void{ var obj:ILayoutManagerClient = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallest()); while (obj) { obj.validateProperties(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallest()); }; if (invalidatePropertiesQueue.isEmpty()){ invalidatePropertiesFlag = false; }; } public function invalidateProperties(obj:ILayoutManagerClient):void{ if (((!(invalidatePropertiesFlag)) && (ApplicationGlobals.application.systemManager))){ invalidatePropertiesFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; if (targetLevel <= obj.nestLevel){ invalidateClientPropertiesFlag = true; }; invalidatePropertiesQueue.addObject(obj, obj.nestLevel); } public function invalidateDisplayList(obj:ILayoutManagerClient):void{ if (((!(invalidateDisplayListFlag)) && (ApplicationGlobals.application.systemManager))){ invalidateDisplayListFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; invalidateDisplayListQueue.addObject(obj, obj.nestLevel); } private function validateDisplayList():void{ var obj:ILayoutManagerClient = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallest()); while (obj) { obj.validateDisplayList(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; obj = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallest()); }; if (invalidateDisplayListQueue.isEmpty()){ invalidateDisplayListFlag = false; }; } public function validateNow():void{ var infiniteLoopGuard:int; if (!usePhasedInstantiation){ infiniteLoopGuard = 0; while (((callLaterPending) && ((infiniteLoopGuard < 100)))) { doPhasedInstantiation(); }; }; } private function validateSize():void{ var obj:ILayoutManagerClient = ILayoutManagerClient(invalidateSizeQueue.removeLargest()); while (obj) { obj.validateSize(); if (!obj.updateCompletePendingFlag){ updateCompleteQueue.addObject(obj, obj.nestLevel); obj.updateCompletePendingFlag = true; }; obj = ILayoutManagerClient(invalidateSizeQueue.removeLargest()); }; if (invalidateSizeQueue.isEmpty()){ invalidateSizeFlag = false; }; } private function doPhasedInstantiation():void{ var obj:ILayoutManagerClient; if (usePhasedInstantiation){ if (invalidatePropertiesFlag){ validateProperties(); ApplicationGlobals.application.dispatchEvent(new Event("validatePropertiesComplete")); } else { if (invalidateSizeFlag){ validateSize(); ApplicationGlobals.application.dispatchEvent(new Event("validateSizeComplete")); } else { if (invalidateDisplayListFlag){ validateDisplayList(); ApplicationGlobals.application.dispatchEvent(new Event("validateDisplayListComplete")); }; }; }; } else { if (invalidatePropertiesFlag){ validateProperties(); }; if (invalidateSizeFlag){ validateSize(); }; if (invalidateDisplayListFlag){ validateDisplayList(); }; }; if (((((invalidatePropertiesFlag) || (invalidateSizeFlag))) || (invalidateDisplayListFlag))){ callLaterObject.callLater(doPhasedInstantiation); } else { usePhasedInstantiation = false; callLaterPending = false; obj = ILayoutManagerClient(updateCompleteQueue.removeLargest()); while (obj) { if (((!(obj.initialized)) && (obj.processedDescriptors))){ obj.initialized = true; }; obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); obj.updateCompletePendingFlag = false; obj = ILayoutManagerClient(updateCompleteQueue.removeLargest()); }; dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); }; } public function isInvalid():Boolean{ return (((((invalidatePropertiesFlag) || (invalidateSizeFlag))) || (invalidateDisplayListFlag))); } public function get usePhasedInstantiation():Boolean{ return (_usePhasedInstantiation); } public function invalidateSize(obj:ILayoutManagerClient):void{ if (((!(invalidateSizeFlag)) && (ApplicationGlobals.application.systemManager))){ invalidateSizeFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; if (targetLevel <= obj.nestLevel){ invalidateClientSizeFlag = true; }; invalidateSizeQueue.addObject(obj, obj.nestLevel); } public static function getInstance():LayoutManager{ if (!instance){ instance = new (LayoutManager); }; return (instance); } } }//package mx.managers
Section 347
//PopUpManager (mx.managers.PopUpManager) package mx.managers { import flash.display.*; import mx.core.*; public class PopUpManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:PopUpManagerImpl; private static var _impl:IPopUpManager; public function PopUpManager(){ super(); } private static function get impl():IPopUpManager{ if (!_impl){ _impl = IPopUpManager(Singleton.getInstance("mx.managers::IPopUpManager")); }; return (_impl); } public static function removePopUp(popUp:IFlexDisplayObject):void{ impl.removePopUp(popUp); } public static function addPopUp(window:IFlexDisplayObject, parent:DisplayObject, modal:Boolean=false, childList:String=null):void{ impl.addPopUp(window, parent, modal, childList); } public static function centerPopUp(popUp:IFlexDisplayObject):void{ impl.centerPopUp(popUp); } public static function bringToFront(popUp:IFlexDisplayObject):void{ impl.bringToFront(popUp); } public static function createPopUp(parent:DisplayObject, className:Class, modal:Boolean=false, childList:String=null):IFlexDisplayObject{ return (impl.createPopUp(parent, className, modal, childList)); } } }//package mx.managers
Section 348
//PopUpManagerChildList (mx.managers.PopUpManagerChildList) package mx.managers { public final class PopUpManagerChildList { public static const PARENT:String = "parent"; public static const APPLICATION:String = "application"; mx_internal static const VERSION:String = "3.0.0.0"; public static const POPUP:String = "popup"; public function PopUpManagerChildList(){ super(); } } }//package mx.managers
Section 349
//PopUpManagerImpl (mx.managers.PopUpManagerImpl) package mx.managers { import flash.events.*; import flash.display.*; import mx.events.*; import mx.core.*; import flash.geom.*; import mx.styles.*; import mx.effects.*; import mx.automation.*; public class PopUpManagerImpl implements IPopUpManager { private var popupInfo:Array; mx_internal var modalWindowClass:Class; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IPopUpManager; public function PopUpManagerImpl(){ super(); } private function showModalWindow(o:PopUpData):void{ var fade:Fade; var blurAmount:Number; var parentApp:Object; var blur:Blur; var popUpStyleClient:IStyleClient = (o.owner as IStyleClient); var duration:Number = 0; if (popUpStyleClient){ duration = popUpStyleClient.getStyle("modalTransparencyDuration"); }; endEffects(o); if (duration){ fade = new Fade(o.modalWindow); fade.alphaFrom = 0; fade.alphaTo = popUpStyleClient.getStyle("modalTransparency"); fade.duration = duration; fade.addEventListener(EffectEvent.EFFECT_END, fadeInEffectEndHandler); o.modalWindow.alpha = 0; o.modalWindow.visible = true; o.fade = fade; IUIComponent(o.owner).setVisible(false, true); fade.play(); blurAmount = popUpStyleClient.getStyle("modalTransparencyBlur"); if (blurAmount){ parentApp = (("parentApplication" in o.owner)) ? Object(o.owner).parentApplication : null; blur = new Blur((parentApp) ? parentApp : ApplicationGlobals.application); blur.blurXFrom = (blur.blurYFrom = 0); blur.blurXTo = (blur.blurYTo = blurAmount); blur.duration = duration; blur.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); o.blur = blur; blur.play(); }; } else { IUIComponent(o.owner).setVisible(true, true); o.modalWindow.visible = true; }; } private function fadeInEffectEndHandler(event:EffectEvent):void{ var o:PopUpData; effectEndHandler(event); var n:int = popupInfo.length; var i:int; while (i < n) { o = popupInfo[i]; if (o.modalWindow == event.effectInstance.target){ IUIComponent(o.owner).setVisible(true, true); break; }; i++; }; } public function bringToFront(popUp:IFlexDisplayObject):void{ var o:PopUpData; var sm:ISystemManager; if (((popUp) && (popUp.parent))){ o = findPopupInfoByOwner(popUp); if (o){ sm = ISystemManager(popUp.parent); if (o.topMost){ sm.popUpChildren.setChildIndex(DisplayObject(popUp), (sm.popUpChildren.numChildren - 1)); } else { sm.setChildIndex(DisplayObject(popUp), (sm.numChildren - 1)); }; }; }; } private function popupShowHandler(event:FlexEvent):void{ var o:PopUpData = findPopupInfoByOwner(event.target); if (o){ showModalWindow(o); }; } private function fadeOutDestroyEffectEndHandler(event:EffectEvent):void{ var sm:ISystemManager; effectEndHandler(event); var obj:DisplayObject = DisplayObject(event.effectInstance.target); if ((obj.parent is ISystemManager)){ sm = ISystemManager(obj.parent); if (sm.popUpChildren.contains(obj)){ sm.popUpChildren.removeChild(obj); } else { sm.removeChild(obj); }; } else { if (obj.parent){ obj.parent.removeChild(obj); }; }; } private function popupRemovedHandler(event:Event):void{ var o:PopUpData; var popUp:DisplayObject; var popUpParent:DisplayObject; var modalWindow:DisplayObject; var sm:ISystemManager; var n:int = popupInfo.length; var i:int; while (i < n) { o = popupInfo[i]; popUp = o.owner; if (popUp == event.target){ popUpParent = o.parent; modalWindow = o.modalWindow; sm = ((popUpParent is ISystemManager)) ? ISystemManager(popUpParent) : IUIComponent(popUpParent).systemManager; if (!sm.isTopLevel()){ sm = sm.topLevelSystemManager; }; if ((popUp is IUIComponent)){ IUIComponent(popUp).isPopUp = false; }; if ((popUp is IFocusManagerContainer)){ sm.removeFocusManager(IFocusManagerContainer(popUp)); }; popUp.removeEventListener(Event.REMOVED, popupRemovedHandler); if (modalWindow){ modalWindow.removeEventListener(MouseEvent.MOUSE_DOWN, o.mouseDownOutsideHandler); modalWindow.removeEventListener(MouseEvent.MOUSE_WHEEL, o.mouseWheelOutsideHandler, true); sm.removeEventListener(Event.RESIZE, o.resizeHandler); popUp.removeEventListener(FlexEvent.SHOW, popupShowHandler); popUp.removeEventListener(FlexEvent.HIDE, popupHideHandler); hideModalWindow(o, true); sm.numModalWindows--; } else { sm.removeEventListener(MouseEvent.MOUSE_DOWN, o.mouseDownOutsideHandler); sm.removeEventListener(MouseEvent.MOUSE_WHEEL, o.mouseWheelOutsideHandler, true); }; popupInfo.splice(i, 1); break; }; i++; }; } private function hideModalWindow(o:PopUpData, destroy:Boolean=false):void{ var fade:Fade; var blurAmount:Number; var parentApp:Object; var blur:Blur; var popUpStyleClient:IStyleClient = (o.owner as IStyleClient); var duration:Number = 0; if (popUpStyleClient){ duration = popUpStyleClient.getStyle("modalTransparencyDuration"); }; endEffects(o); if (duration){ fade = new Fade(o.modalWindow); fade.alphaFrom = o.modalWindow.alpha; fade.alphaTo = 0; fade.duration = duration; fade.addEventListener(EffectEvent.EFFECT_END, (destroy) ? fadeOutDestroyEffectEndHandler : fadeOutCloseEffectEndHandler); o.modalWindow.visible = true; o.fade = fade; fade.play(); blurAmount = popUpStyleClient.getStyle("modalTransparencyBlur"); if (blurAmount){ parentApp = (("parentApplication" in o.owner)) ? Object(o.owner).parentApplication : null; blur = new Blur((parentApp) ? parentApp : ApplicationGlobals.application); blur.blurXFrom = (blur.blurYFrom = blurAmount); blur.blurXTo = (blur.blurYTo = 0); blur.duration = duration; blur.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); o.blur = blur; blur.play(); }; } else { o.modalWindow.visible = false; }; } private function popupHideHandler(event:FlexEvent):void{ var o:PopUpData = findPopupInfoByOwner(event.target); if (o){ hideModalWindow(o); }; } private function effectEndHandler(event:EffectEvent):void{ var o:PopUpData; var e:IEffect; var n:int = popupInfo.length; var i:int; while (i < n) { o = popupInfo[i]; e = event.effectInstance.effect; if (e == o.fade){ o.fade = null; } else { if (e == o.blur){ o.blur = null; }; }; i++; }; } private function createModalWindow(parentReference:DisplayObject, o:PopUpData, childrenList:IChildList, visibleFlag:Boolean):void{ var popup:IFlexDisplayObject; var modalWindow:Sprite; popup = IFlexDisplayObject(o.owner); var popupStyleClient:IStyleClient = (popup as IStyleClient); var duration:Number = 0; if (modalWindowClass){ modalWindow = new modalWindowClass(); } else { modalWindow = new FlexSprite(); modalWindow.name = "modalWindow"; }; var sm:ISystemManager = IUIComponent(parentReference).systemManager; sm.numModalWindows++; childrenList.addChildAt(modalWindow, childrenList.getChildIndex(DisplayObject(popup))); if ((popup is IAutomationObject)){ IAutomationObject(popup).showInAutomationHierarchy = true; }; if (popupStyleClient){ modalWindow.alpha = popupStyleClient.getStyle("modalTransparency"); } else { modalWindow.alpha = 0; }; modalWindow.tabEnabled = false; var s:Rectangle = sm.screen; var g:Graphics = modalWindow.graphics; var c:Number = 0xFFFFFF; if (popupStyleClient){ c = popupStyleClient.getStyle("modalTransparencyColor"); }; g.clear(); g.beginFill(c, 100); g.drawRect(s.x, s.y, s.width, s.height); g.endFill(); o.modalWindow = modalWindow; o._mouseDownOutsideHandler = dispatchMouseDownOutsideEvent; o._mouseWheelOutsideHandler = dispatchMouseWheelOutsideEvent; modalWindow.addEventListener(MouseEvent.MOUSE_DOWN, o.mouseDownOutsideHandler); modalWindow.addEventListener(MouseEvent.MOUSE_WHEEL, o.mouseWheelOutsideHandler, true); sm.addEventListener(Event.RESIZE, o.resizeHandler); popup.addEventListener(FlexEvent.SHOW, popupShowHandler); popup.addEventListener(FlexEvent.HIDE, popupHideHandler); if (visibleFlag){ showModalWindow(o); } else { popup.visible = visibleFlag; }; } private function findPopupInfoByOwner(owner:Object):PopUpData{ var o:PopUpData; var n:int = popupInfo.length; var i:int; while (i < n) { o = popupInfo[i]; if (o.owner == owner){ return (o); }; i++; }; return (null); } private function fadeOutCloseEffectEndHandler(event:EffectEvent):void{ effectEndHandler(event); DisplayObject(event.effectInstance.target).visible = false; } private function endEffects(o:PopUpData):void{ if (o.fade){ o.fade.end(); o.fade = null; }; if (o.blur){ o.blur.end(); o.blur = null; }; } public function removePopUp(popUp:IFlexDisplayObject):void{ var o:PopUpData; var sm:ISystemManager; var iui:IUIComponent; if (((popUp) && (popUp.parent))){ o = findPopupInfoByOwner(popUp); if (o){ sm = (popUp.parent as ISystemManager); if (!sm){ iui = (popUp as IUIComponent); if (iui){ sm = iui.systemManager; } else { return; }; }; if (o.topMost){ sm.popUpChildren.removeChild(DisplayObject(popUp)); } else { sm.removeChild(DisplayObject(popUp)); }; }; }; } public function addPopUp(window:IFlexDisplayObject, parent:DisplayObject, modal:Boolean=false, childList:String=null):void{ var sm:ISystemManager; var children:IChildList; var topMost:Boolean; var visibleFlag:Boolean = window.visible; var localRoot:DisplayObjectContainer = DisplayObjectContainer(parent.root); if (((((!(localRoot)) || ((localRoot is Stage)))) && ((parent is IUIComponent)))){ localRoot = DisplayObjectContainer(IUIComponent(parent).systemManager); }; if ((localRoot is ISystemManager)){ sm = ISystemManager(localRoot); if (!sm.isTopLevel()){ sm = sm.topLevelSystemManager; }; } else { return; }; if ((window is IUIComponent)){ IUIComponent(window).isPopUp = true; }; if (((!(childList)) || ((childList == PopUpManagerChildList.PARENT)))){ topMost = sm.popUpChildren.contains(parent); } else { topMost = (childList == PopUpManagerChildList.POPUP); }; children = (topMost) ? sm.popUpChildren : sm; children.addChild(DisplayObject(window)); window.visible = false; if (!popupInfo){ popupInfo = []; }; var o:PopUpData = new PopUpData(); o.owner = DisplayObject(window); o.topMost = topMost; popupInfo.push(o); if ((window is IFocusManagerContainer)){ if (IFocusManagerContainer(window).focusManager){ sm.addFocusManager(IFocusManagerContainer(window)); } else { IFocusManagerContainer(window).focusManager = new FocusManager(IFocusManagerContainer(window), true); }; }; if ((window is IAutomationObject)){ IAutomationObject(window).showInAutomationHierarchy = true; }; if ((window is ILayoutManagerClient)){ UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(window), true); }; o.parent = parent; if ((window is IUIComponent)){ IUIComponent(window).setActualSize(IUIComponent(window).getExplicitOrMeasuredWidth(), IUIComponent(window).getExplicitOrMeasuredHeight()); }; if (modal){ this.createModalWindow(parent, o, children, visibleFlag); } else { o._mouseDownOutsideHandler = nonmodalMouseDownOutsideHandler; o._mouseWheelOutsideHandler = nonmodalMouseWheelOutsideHandler; sm.addEventListener(MouseEvent.MOUSE_DOWN, o.mouseDownOutsideHandler); sm.addEventListener(MouseEvent.MOUSE_WHEEL, o.mouseWheelOutsideHandler, true); window.visible = visibleFlag; }; window.addEventListener(Event.REMOVED, popupRemovedHandler); if ((((window is IFocusManagerContainer)) && (visibleFlag))){ sm.activate(IFocusManagerContainer(window)); }; } public function createPopUp(parent:DisplayObject, className:Class, modal:Boolean=false, childList:String=null):IFlexDisplayObject{ var window:IUIComponent = new (className); addPopUp(window, parent, modal, childList); return (window); } public function centerPopUp(popUp:IFlexDisplayObject):void{ var pt:Point; if ((popUp is IInvalidating)){ IInvalidating(popUp).validateNow(); }; var o:PopUpData = findPopupInfoByOwner(popUp); if (((o) && (o.parent))){ pt = new Point(0, 0); pt = o.parent.localToGlobal(pt); pt = popUp.parent.globalToLocal(pt); popUp.move((Math.round(((o.parent.width - popUp.width) / 2)) + pt.x), (Math.round(((o.parent.height - popUp.height) / 2)) + pt.y)); }; } private static function nonmodalMouseWheelOutsideHandler(owner:DisplayObject, evt:MouseEvent):void{ if (owner.hitTestPoint(evt.stageX, evt.stageY, true)){ } else { if ((owner is IUIComponent)){ if (IUIComponent(owner).owns(DisplayObject(evt.target))){ return; }; }; dispatchMouseWheelOutsideEvent(owner, evt); }; } private static function dispatchMouseWheelOutsideEvent(owner:DisplayObject, evt:MouseEvent):void{ var event:MouseEvent = new FlexMouseEvent(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE); var pt:Point = owner.globalToLocal(new Point(evt.stageX, evt.stageY)); event.localX = pt.x; event.localY = pt.y; event.buttonDown = evt.buttonDown; event.shiftKey = evt.shiftKey; event.altKey = evt.altKey; event.ctrlKey = evt.ctrlKey; event.delta = evt.delta; event.relatedObject = InteractiveObject(evt.target); owner.dispatchEvent(event); } private static function dispatchMouseDownOutsideEvent(owner:DisplayObject, evt:MouseEvent):void{ var event:MouseEvent = new FlexMouseEvent(FlexMouseEvent.MOUSE_DOWN_OUTSIDE); var pt:Point = owner.globalToLocal(new Point(evt.stageX, evt.stageY)); event.localX = pt.x; event.localY = pt.y; event.buttonDown = evt.buttonDown; event.shiftKey = evt.shiftKey; event.altKey = evt.altKey; event.ctrlKey = evt.ctrlKey; event.delta = evt.delta; event.relatedObject = InteractiveObject(evt.target); owner.dispatchEvent(event); } public static function getInstance():IPopUpManager{ if (!instance){ instance = new (PopUpManagerImpl); }; return (instance); } private static function nonmodalMouseDownOutsideHandler(owner:DisplayObject, evt:MouseEvent):void{ if (owner.hitTestPoint(evt.stageX, evt.stageY, true)){ } else { if ((owner is IUIComponent)){ if (IUIComponent(owner).owns(DisplayObject(evt.target))){ return; }; }; dispatchMouseDownOutsideEvent(owner, evt); }; } } }//package mx.managers import flash.events.*; import flash.display.*; import flash.geom.*; import mx.effects.*; class PopUpData { public var _mouseWheelOutsideHandler:Function; public var owner:DisplayObject; public var blur:Effect; public var parent:DisplayObject; public var _mouseDownOutsideHandler:Function; public var topMost:Boolean; public var fade:Effect; public var modalWindow:DisplayObject; private function PopUpData(){ super(); } public function mouseWheelOutsideHandler(event:MouseEvent):void{ _mouseWheelOutsideHandler(owner, event); } public function mouseDownOutsideHandler(event:MouseEvent):void{ _mouseDownOutsideHandler(owner, event); } public function resizeHandler(event:Event):void{ var s:Rectangle = ISystemManager(event.target).screen; if (((modalWindow) && ((owner.stage == DisplayObject(event.target).stage)))){ modalWindow.width = s.width; modalWindow.height = s.height; modalWindow.x = s.x; modalWindow.y = s.y; }; } }
Section 350
//SystemChildrenList (mx.managers.SystemChildrenList) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; public class SystemChildrenList implements IChildList { private var lowerBoundReference:QName; private var upperBoundReference:QName; private var owner:SystemManager; mx_internal static const VERSION:String = "3.0.0.0"; public function SystemChildrenList(owner:SystemManager, lowerBoundReference:QName, upperBoundReference:QName){ super(); this.owner = owner; this.lowerBoundReference = lowerBoundReference; this.upperBoundReference = upperBoundReference; } public function getChildAt(index:int):DisplayObject{ var _local3 = owner; var retval:DisplayObject = _local3.mx_internal::rawChildren_getChildAt((owner[lowerBoundReference] + index)); return (retval); } public function getChildByName(name:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(name)); } public function removeChildAt(index:int):DisplayObject{ var _local3 = owner; var child:DisplayObject = _local3.mx_internal::rawChildren_removeChildAt((index + owner[lowerBoundReference])); _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; return (child); } public function getChildIndex(child:DisplayObject):int{ var retval:int = owner.mx_internal::rawChildren_getChildIndex(child); retval = (retval - owner[lowerBoundReference]); return (retval); } public function addChildAt(child:DisplayObject, index:int):DisplayObject{ var _local3 = owner; _local3.mx_internal::rawChildren_addChildAt(child, (owner[lowerBoundReference] + index)); _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; return (child); } public function getObjectsUnderPoint(point:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(point)); } public function setChildIndex(child:DisplayObject, newIndex:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(child, (owner[lowerBoundReference] + newIndex)); } public function get numChildren():int{ return ((owner[upperBoundReference] - owner[lowerBoundReference])); } public function contains(child:DisplayObject):Boolean{ var childIndex:int; if (owner.mx_internal::rawChildren_contains(child)){ while (child.parent != owner) { child = child.parent; }; childIndex = owner.mx_internal::rawChildren_getChildIndex(child); if ((((childIndex >= owner[lowerBoundReference])) && ((childIndex < owner[upperBoundReference])))){ return (true); }; }; return (false); } public function removeChild(child:DisplayObject):DisplayObject{ var index:int = owner.mx_internal::rawChildren_getChildIndex(child); if ((((owner[lowerBoundReference] <= index)) && ((index < owner[upperBoundReference])))){ var _local3 = owner; _local3.mx_internal::rawChildren_removeChild(child); _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; }; return (child); } public function addChild(child:DisplayObject):DisplayObject{ var _local2 = owner; _local2.mx_internal::rawChildren_addChildAt(child, owner[upperBoundReference]); _local2 = owner; var _local3 = upperBoundReference; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; return (child); } } }//package mx.managers
Section 351
//SystemManager (mx.managers.SystemManager) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.resources.*; import flash.system.*; import mx.preloaders.*; import flash.utils.*; import mx.messaging.config.*; public class SystemManager extends MovieClip implements IChildList, IFlexDisplayObject, IFlexModuleFactory, ISystemManager { mx_internal var nestLevel:int;// = 0 private var forms:Array; private var mouseCatcher:Sprite; private var _height:Number; private var preloader:Preloader; private var _document:Object; private var _topLevelSystemManager:ISystemManager; private var _toolTipIndex:int;// = 0 private var _rawChildren:SystemRawChildrenList; private var _explicitHeight:Number; private var _toolTipChildren:SystemChildrenList; private var form:IFocusManagerContainer; private var _width:Number; private var initialized:Boolean;// = false private var _focusPane:Sprite; private var _fontList:Object;// = null private var isStageRoot:Boolean;// = true private var _popUpChildren:SystemChildrenList; private var rslSizes:Array;// = null private var _topMostIndex:int;// = 0 private var nextFrameTimer:Timer;// = null private var topLevel:Boolean;// = true private var _cursorIndex:int;// = 0 mx_internal var _mouseX; mx_internal var _mouseY; private var _numModalWindows:int;// = 0 private var _screen:Rectangle; mx_internal var idleCounter:int;// = 0 private var _cursorChildren:SystemChildrenList; private var initCallbackFunctions:Array; private var _noTopMostIndex:int;// = 0 private var _applicationIndex:int;// = 1 private var idleTimer:Timer; private var doneExecutingInitCallbacks:Boolean;// = false private var _explicitWidth:Number; mx_internal var topLevelWindow:IUIComponent; private static const IDLE_THRESHOLD:Number = 1000; private static const IDLE_INTERVAL:Number = 100; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var lastSystemManager:SystemManager; mx_internal static var allSystemManagers:Dictionary = new Dictionary(true); public function SystemManager(){ initCallbackFunctions = []; forms = []; super(); if (stage){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; }; if ((((SystemManagerGlobals.topLevelSystemManagers.length > 0)) && (!(stage)))){ topLevel = false; }; if (!stage){ isStageRoot = false; }; if (topLevel){ SystemManagerGlobals.topLevelSystemManagers.push(this); }; lastSystemManager = this; var compiledLocales:Array = info()["compiledLocales"]; ResourceBundle.locale = (((!((compiledLocales == null))) && ((compiledLocales.length > 0)))) ? compiledLocales[0] : "en_US"; executeCallbacks(); stop(); if (((topLevel) && (!((currentFrame == 1))))){ throw (new Error((("The SystemManager constructor was called when the currentFrame was at " + currentFrame) + " Please add this SWF to bug 129782."))); }; if (((root) && (root.loaderInfo))){ root.loaderInfo.addEventListener(Event.INIT, initHandler); }; } mx_internal function addingChild(child:DisplayObject):void{ var obj:DisplayObjectContainer; var newNestLevel = 1; if (!topLevel){ obj = parent.parent; while (obj) { if ((obj is ILayoutManagerClient)){ newNestLevel = (ILayoutManagerClient(obj).nestLevel + 1); break; }; obj = obj.parent; }; }; nestLevel = newNestLevel; if ((child is IUIComponent)){ IUIComponent(child).systemManager = this; }; var uiComponentClassName:Class = Class(getDefinitionByName("mx.core.UIComponent")); if ((((child is IUIComponent)) && (!(IUIComponent(child).document)))){ IUIComponent(child).document = document; }; if ((child is ILayoutManagerClient)){ ILayoutManagerClient(child).nestLevel = (nestLevel + 1); }; if ((child is InteractiveObject)){ if (doubleClickEnabled){ InteractiveObject(child).doubleClickEnabled = true; }; }; if ((child is IUIComponent)){ IUIComponent(child).parentChanged(this); }; if ((child is IStyleClient)){ IStyleClient(child).regenerateStyleCache(true); }; if ((child is ISimpleStyleClient)){ ISimpleStyleClient(child).styleChanged(null); }; if ((child is IStyleClient)){ IStyleClient(child).notifyStyleChangeInChildren(null, true); }; if (((uiComponentClassName) && ((child is uiComponentClassName)))){ uiComponentClassName(child).initThemeColor(); }; if (((uiComponentClassName) && ((child is uiComponentClassName)))){ uiComponentClassName(child).stylesInitialized(); }; } private function idleTimer_timerHandler(event:TimerEvent):void{ idleCounter++; if ((idleCounter * IDLE_INTERVAL) > IDLE_THRESHOLD){ dispatchEvent(new FlexEvent(FlexEvent.IDLE)); }; } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } mx_internal function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{ var child:IStyleClient; var foundTopLevelWindow:Boolean; var n:int = rawChildren.numChildren; var i:int; while (i < n) { child = (rawChildren.getChildAt(i) as IStyleClient); if (child){ child.styleChanged(styleProp); child.notifyStyleChangeInChildren(styleProp, recursive); }; if (isTopLevelWindow(DisplayObject(child))){ foundTopLevelWindow = true; }; n = rawChildren.numChildren; i++; }; if (((!(foundTopLevelWindow)) && ((topLevelWindow is IStyleClient)))){ IStyleClient(topLevelWindow).styleChanged(styleProp); IStyleClient(topLevelWindow).notifyStyleChangeInChildren(styleProp, recursive); }; } mx_internal function rawChildren_getObjectsUnderPoint(pt:Point):Array{ return (super.getObjectsUnderPoint(pt)); } private function initHandler(event:Event):void{ allSystemManagers[this] = this.loaderInfo.url; root.loaderInfo.removeEventListener(Event.INIT, initHandler); var docFrame:int = ((totalFrames)==1) ? 0 : 1; addFrameScript(docFrame, docFrameHandler); var f:int = (docFrame + 1); while (f < totalFrames) { addFrameScript(f, extraFrameHandler); f++; }; initialize(); } override public function contains(child:DisplayObject):Boolean{ var childIndex:int; var i:int; var myChild:DisplayObject; if (super.contains(child)){ if (child.parent == this){ childIndex = super.getChildIndex(child); if (childIndex < noTopMostIndex){ return (true); }; } else { i = 0; while (i < noTopMostIndex) { myChild = super.getChildAt(i); if ((myChild is IRawChildrenContainer)){ if (IRawChildrenContainer(myChild).rawChildren.contains(child)){ return (true); }; }; if ((myChild is DisplayObjectContainer)){ if (DisplayObjectContainer(myChild).contains(child)){ return (true); }; }; i++; }; }; }; return (false); } public function getDefinitionByName(name:String):Object{ var definition:Object; var domain:ApplicationDomain = (((!(topLevel)) && ((parent is Loader)))) ? Loader(parent).contentLoaderInfo.applicationDomain : (info()["currentDomain"] as ApplicationDomain); if (domain.hasDefinition(name)){ definition = domain.getDefinition(name); }; return (definition); } public function get embeddedFontList():Object{ var o:Object; var p:String; var fl:Object; if (_fontList == null){ _fontList = {}; o = info()["fonts"]; for (p in o) { _fontList[p] = o[p]; }; if (((!(topLevel)) && (_topLevelSystemManager))){ fl = _topLevelSystemManager.embeddedFontList; for (p in fl) { _fontList[p] = fl[p]; }; }; }; return (_fontList); } mx_internal function set cursorIndex(value:int):void{ var delta:int = (value - _cursorIndex); _cursorIndex = value; } public function set document(value:Object):void{ _document = value; } override public function getChildAt(index:int):DisplayObject{ return (super.getChildAt((applicationIndex + index))); } public function get rawChildren():IChildList{ if (!_rawChildren){ _rawChildren = new SystemRawChildrenList(this); }; return (_rawChildren); } override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void{ if ((((type == FlexEvent.IDLE)) && (!(idleTimer)))){ idleTimer = new Timer(IDLE_INTERVAL); idleTimer.addEventListener(TimerEvent.TIMER, idleTimer_timerHandler); idleTimer.start(); addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true); }; super.addEventListener(type, listener, useCapture, priority, useWeakReference); } public function removeFocusManager(f:IFocusManagerContainer):void{ var n:int = forms.length; var i:int; while (i < n) { if (forms[i] == f){ if (form == f){ deactivate(f); }; forms.splice(i, 1); return; }; i++; }; } private function mouseMoveHandler(event:MouseEvent):void{ idleCounter = 0; } public function get focusPane():Sprite{ return (_focusPane); } override public function get mouseX():Number{ if (_mouseX === undefined){ return (super.mouseX); }; return (_mouseX); } private function mouseDownHandler(event:MouseEvent):void{ var n:int; var p:DisplayObject; var isApplication:Boolean; var i:int; var j:int; var index:int; var newIndex:int; var childList:IChildList; idleCounter = 0; if (numModalWindows == 0){ if (forms.length > 1){ n = forms.length; p = DisplayObject(event.target); isApplication = document.rawChildren.contains(p); while (p) { i = 0; while (i < n) { if (forms[i] == p){ j = 0; if (((!((p == form))) && ((p is IFocusManagerContainer)))){ activate(IFocusManagerContainer(p)); }; if (popUpChildren.contains(p)){ childList = popUpChildren; } else { childList = this; }; index = childList.getChildIndex(p); newIndex = index; n = forms.length; j = 0; while (j < n) { if (childList.contains(forms[j])){ if (childList.getChildIndex(forms[j]) > index){ newIndex = Math.max(childList.getChildIndex(forms[j]), newIndex); }; }; j++; }; if ((((newIndex > index)) && (!(isApplication)))){ childList.setChildIndex(p, newIndex); }; return; }; i++; }; p = p.parent; }; }; }; } public function get screen():Rectangle{ if (!_screen){ Stage_resizeHandler(); }; return (_screen); } mx_internal function set topMostIndex(value:int):void{ var delta:int = (value - _topMostIndex); _topMostIndex = value; toolTipIndex = (toolTipIndex + delta); } mx_internal function docFrameHandler(event:Event=null):void{ var textFieldFactory:TextFieldFactory; var n:int; var i:int; var c:Class; Singleton.registerClass("mx.managers::IBrowserManager", Class(getDefinitionByName("mx.managers::BrowserManagerImpl"))); Singleton.registerClass("mx.managers::ICursorManager", Class(getDefinitionByName("mx.managers::CursorManagerImpl"))); Singleton.registerClass("mx.managers::IHistoryManager", Class(getDefinitionByName("mx.managers::HistoryManagerImpl"))); Singleton.registerClass("mx.managers::ILayoutManager", Class(getDefinitionByName("mx.managers::LayoutManager"))); Singleton.registerClass("mx.managers::IPopUpManager", Class(getDefinitionByName("mx.managers::PopUpManagerImpl"))); Singleton.registerClass("mx.managers::IToolTipManager2", Class(getDefinitionByName("mx.managers::ToolTipManagerImpl"))); if (Capabilities.playerType == "Desktop"){ Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::NativeDragManagerImpl"))); if (Singleton.getClass("mx.managers::IDragManager") == null){ Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::DragManagerImpl"))); }; } else { Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::DragManagerImpl"))); }; Singleton.registerClass("mx.core::ITextFieldFactory", Class(getDefinitionByName("mx.core::TextFieldFactory"))); executeCallbacks(); doneExecutingInitCallbacks = true; var mixinList:Array = info()["mixins"]; if (((mixinList) && ((mixinList.length > 0)))){ n = mixinList.length; i = 0; while (i < n) { c = Class(getDefinitionByName(mixinList[i])); var _local7 = c; _local7["init"](this); i++; }; }; installCompiledResourceBundles(); initializeTopLevelWindow(null); deferredNextFrame(); } private function Stage_resizeHandler(event:Event=null):void{ var w:Number = stage.stageWidth; var h:Number = stage.stageHeight; var m:Number = loaderInfo.width; var n:Number = loaderInfo.height; var x:Number = ((m - w) / 2); var y:Number = ((n - h) / 2); var align:String = stage.align; if (align == StageAlign.TOP){ y = 0; } else { if (align == StageAlign.BOTTOM){ y = (n - h); } else { if (align == StageAlign.LEFT){ x = 0; } else { if (align == StageAlign.RIGHT){ x = (m - w); } else { if ((((align == StageAlign.TOP_LEFT)) || ((align == "LT")))){ y = 0; x = 0; } else { if (align == StageAlign.TOP_RIGHT){ y = 0; x = (m - w); } else { if (align == StageAlign.BOTTOM_LEFT){ y = (n - h); x = 0; } else { if (align == StageAlign.BOTTOM_RIGHT){ y = (n - h); x = (m - w); }; }; }; }; }; }; }; }; if (!_screen){ _screen = new Rectangle(); }; _screen.x = x; _screen.y = y; _screen.width = w; _screen.height = h; if (isStageRoot){ _width = stage.stageWidth; _height = stage.stageHeight; }; if (event){ resizeMouseCatcher(); dispatchEvent(event); }; } public function get explicitHeight():Number{ return (_explicitHeight); } public function get preloaderBackgroundSize():String{ return (info()["backgroundSize"]); } public function isTopLevel():Boolean{ return (topLevel); } override public function get mouseY():Number{ if (_mouseY === undefined){ return (super.mouseY); }; return (_mouseY); } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } public function deactivate(f:IFocusManagerContainer):void{ var newForm:IFocusManagerContainer; var n:int; var i:int; var g:IFocusManagerContainer; if (form){ if ((((form == f)) && ((forms.length > 1)))){ form.focusManager.deactivate(); n = forms.length; i = 0; while (i < n) { g = forms[i]; if (g == f){ i = (i + 1); while (i < n) { g = forms[i]; if ((((Sprite(g).visible == true)) && (IUIComponent(g).enabled))){ newForm = g; }; i++; }; form = newForm; break; } else { if (((Sprite(g).visible) && (IUIComponent(g).enabled))){ newForm = g; }; }; i++; }; if (form){ form.focusManager.activate(); }; }; }; } override public function getChildByName(name:String):DisplayObject{ return (super.getChildByName(name)); } override public function addChildAt(child:DisplayObject, index:int):DisplayObject{ noTopMostIndex++; return (rawChildren_addChildAt(child, (applicationIndex + index))); } public function get measuredWidth():Number{ return ((topLevelWindow) ? topLevelWindow.getExplicitOrMeasuredWidth() : loaderInfo.width); } public function info():Object{ return ({}); } mx_internal function get toolTipIndex():int{ return (_toolTipIndex); } public function setActualSize(newWidth:Number, newHeight:Number):void{ if (isStageRoot){ return; }; _width = newWidth; _height = newHeight; if (mouseCatcher){ mouseCatcher.width = newWidth; mouseCatcher.height = newHeight; }; dispatchEvent(new Event(Event.RESIZE)); } public function set focusPane(value:Sprite):void{ if (value){ addChild(value); value.x = 0; value.y = 0; value.scrollRect = null; _focusPane = value; } else { removeChild(_focusPane); _focusPane = null; }; } mx_internal function set applicationIndex(value:int):void{ _applicationIndex = value; } private function executeCallbacks():void{ var initFunction:Function; if (!parent){ return; }; while (initCallbackFunctions.length > 0) { initFunction = initCallbackFunctions.shift(); initFunction(this); }; } public function get popUpChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.popUpChildren); }; if (!_popUpChildren){ _popUpChildren = new SystemChildrenList(this, new QName(mx_internal, "noTopMostIndex"), new QName(mx_internal, "topMostIndex")); }; return (_popUpChildren); } public function set explicitHeight(value:Number):void{ _explicitHeight = value; } override public function removeChild(child:DisplayObject):DisplayObject{ noTopMostIndex--; return (rawChildren_removeChild(child)); } override public function addChild(child:DisplayObject):DisplayObject{ noTopMostIndex++; return (rawChildren_addChildAt(child, (noTopMostIndex - 1))); } public function create(... _args):Object{ var url:String; var dot:int; var slash:int; var mainClassName:String = info()["mainClassName"]; if (mainClassName == null){ url = loaderInfo.loaderURL; dot = url.lastIndexOf("."); slash = url.lastIndexOf("/"); mainClassName = url.substring((slash + 1), dot); }; var mainClass:Class = Class(getDefinitionByName(mainClassName)); return ((mainClass) ? new (mainClass) : null); } override public function get stage():Stage{ var s:Stage = super.stage; if (s){ return (s); }; if (((!(topLevel)) && (_topLevelSystemManager))){ return (_topLevelSystemManager.stage); }; return (null); } mx_internal function rawChildren_removeChild(child:DisplayObject):DisplayObject{ removingChild(child); super.removeChild(child); childRemoved(child); return (child); } final mx_internal function get $numChildren():int{ return (super.numChildren); } public function get toolTipChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.toolTipChildren); }; if (!_toolTipChildren){ _toolTipChildren = new SystemChildrenList(this, new QName(mx_internal, "topMostIndex"), new QName(mx_internal, "toolTipIndex")); }; return (_toolTipChildren); } override public function getChildIndex(child:DisplayObject):int{ return ((super.getChildIndex(child) - applicationIndex)); } private function mouseUpHandler(event:MouseEvent):void{ idleCounter = 0; } mx_internal function rawChildren_getChildIndex(child:DisplayObject):int{ return (super.getChildIndex(child)); } public function activate(f:IFocusManagerContainer):void{ var z:IFocusManagerContainer; if (form){ if (((!((form == f))) && ((forms.length > 1)))){ z = form; z.focusManager.deactivate(); }; }; form = f; if (f.focusManager){ f.focusManager.activate(); }; } private function deferredNextFrame():void{ if ((currentFrame + 1) > totalFrames){ return; }; if ((currentFrame + 1) <= framesLoaded){ nextFrame(); } else { nextFrameTimer = new Timer(100); nextFrameTimer.addEventListener(TimerEvent.TIMER, nextFrameTimerHandler); nextFrameTimer.start(); }; } mx_internal function get cursorIndex():int{ return (_cursorIndex); } mx_internal function rawChildren_contains(child:DisplayObject):Boolean{ return (super.contains(child)); } override public function setChildIndex(child:DisplayObject, newIndex:int):void{ super.setChildIndex(child, (applicationIndex + newIndex)); } public function get document():Object{ return (_document); } private function resizeMouseCatcher():void{ var g:Graphics; if (mouseCatcher){ g = mouseCatcher.graphics; g.clear(); g.beginFill(0, 0); g.drawRect(0, 0, stage.stageWidth, stage.stageHeight); g.endFill(); }; } override public function get height():Number{ return (_height); } mx_internal function rawChildren_getChildAt(index:int):DisplayObject{ return (super.getChildAt(index)); } mx_internal function set noTopMostIndex(value:int):void{ var delta:int = (value - _noTopMostIndex); _noTopMostIndex = value; topMostIndex = (topMostIndex + delta); } override public function getObjectsUnderPoint(point:Point):Array{ var child:DisplayObject; var temp:Array; var children:Array = []; var n:int = topMostIndex; var i:int; while (i < n) { child = super.getChildAt(i); if ((child is DisplayObjectContainer)){ temp = DisplayObjectContainer(child).getObjectsUnderPoint(point); if (temp){ children = children.concat(temp); }; }; i++; }; return (children); } mx_internal function get topMostIndex():int{ return (_topMostIndex); } mx_internal function regenerateStyleCache(recursive:Boolean):void{ var child:IStyleClient; var foundTopLevelWindow:Boolean; var n:int = rawChildren.numChildren; var i:int; while (i < n) { child = (rawChildren.getChildAt(i) as IStyleClient); if (child){ child.regenerateStyleCache(recursive); }; if (isTopLevelWindow(DisplayObject(child))){ foundTopLevelWindow = true; }; n = rawChildren.numChildren; i++; }; if (((!(foundTopLevelWindow)) && ((topLevelWindow is IStyleClient)))){ IStyleClient(topLevelWindow).regenerateStyleCache(recursive); }; } public function addFocusManager(f:IFocusManagerContainer):void{ forms.push(f); } public function isFontFaceEmbedded(textFormat:TextFormat):Boolean{ var font:Font; var style:String; var fontName:String = textFormat.font; var fl:Array = Font.enumerateFonts(); var f:int; while (f < fl.length) { font = Font(fl[f]); if (font.fontName == fontName){ style = "regular"; if (((textFormat.bold) && (textFormat.italic))){ style = "boldItalic"; } else { if (textFormat.bold){ style = "bold"; } else { if (textFormat.italic){ style = "italic"; }; }; }; if (font.fontStyle == style){ return (true); }; }; f++; }; if (((((!(fontName)) || (!(embeddedFontList)))) || (!(embeddedFontList[fontName])))){ return (false); }; var info:Object = embeddedFontList[fontName]; return (!(((((((textFormat.bold) && (!(info.bold)))) || (((textFormat.italic) && (!(info.italic)))))) || (((((!(textFormat.bold)) && (!(textFormat.italic)))) && (!(info.regular))))))); } mx_internal function rawChildren_setChildIndex(child:DisplayObject, newIndex:int):void{ super.setChildIndex(child, newIndex); } mx_internal function childAdded(child:DisplayObject):void{ child.dispatchEvent(new FlexEvent(FlexEvent.ADD)); if ((child is IUIComponent)){ IUIComponent(child).initialize(); }; } override public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{ if (type == FlexEvent.IDLE){ super.removeEventListener(type, listener, useCapture); if (((!(hasEventListener(FlexEvent.IDLE))) && (idleTimer))){ idleTimer.stop(); idleTimer = null; removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); }; } else { super.removeEventListener(type, listener, useCapture); }; } private function extraFrameHandler(event:Event=null):void{ var c:Class; var frameList:Object = info()["frames"]; if (((frameList) && (frameList[currentLabel]))){ c = Class(getDefinitionByName(frameList[currentLabel])); var _local4 = c; _local4["frame"](this); }; deferredNextFrame(); } public function get application():IUIComponent{ return (IUIComponent(_document)); } override public function removeChildAt(index:int):DisplayObject{ noTopMostIndex--; return (rawChildren_removeChildAt((applicationIndex + index))); } mx_internal function rawChildren_removeChildAt(index:int):DisplayObject{ var child:DisplayObject = super.getChildAt(index); removingChild(child); super.removeChildAt(index); childRemoved(child); return (child); } private function installCompiledResourceBundles():void{ var info:Object = this.info(); var applicationDomain:ApplicationDomain = (((!(topLevel)) && ((parent is Loader)))) ? Loader(parent).contentLoaderInfo.applicationDomain : info["currentDomain"]; var compiledLocales:Array = info["compiledLocales"]; var compiledResourceBundleNames:Array = info["compiledResourceBundleNames"]; var resourceManager:IResourceManager = ResourceManager.getInstance(); resourceManager.installCompiledResourceBundles(applicationDomain, compiledLocales, compiledResourceBundleNames); if (!resourceManager.localeChain){ resourceManager.initializeLocaleChain(compiledLocales); }; } mx_internal function removingChild(child:DisplayObject):void{ child.dispatchEvent(new FlexEvent(FlexEvent.REMOVE)); } mx_internal function get applicationIndex():int{ return (_applicationIndex); } mx_internal function set toolTipIndex(value:int):void{ var delta:int = (value - _toolTipIndex); _toolTipIndex = value; cursorIndex = (cursorIndex + delta); } public function get cursorChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.cursorChildren); }; if (!_cursorChildren){ _cursorChildren = new SystemChildrenList(this, new QName(mx_internal, "toolTipIndex"), new QName(mx_internal, "cursorIndex")); }; return (_cursorChildren); } public function get preloaderBackgroundImage():Object{ return (info()["backgroundImage"]); } public function set numModalWindows(value:int):void{ _numModalWindows = value; } public function get preloaderBackgroundAlpha():Number{ return (info()["backgroundAlpha"]); } mx_internal function rawChildren_getChildByName(name:String):DisplayObject{ return (super.getChildByName(name)); } private function preloader_preloaderDoneHandler(event:Event):void{ var app:IUIComponent = topLevelWindow; preloader.removeEventListener(FlexEvent.PRELOADER_DONE, preloader_preloaderDoneHandler); _popUpChildren.removeChild(preloader); preloader = null; mouseCatcher = new FlexSprite(); mouseCatcher.name = "mouseCatcher"; noTopMostIndex++; super.addChildAt(mouseCatcher, 0); resizeMouseCatcher(); if (!topLevel){ mouseCatcher.visible = false; mask = mouseCatcher; }; noTopMostIndex++; super.addChildAt(DisplayObject(app), 1); app.dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE)); dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE)); } public function get preloaderBackgroundColor():uint{ var value:* = info()["backgroundColor"]; if (value == undefined){ return (StyleManager.NOT_A_COLOR); }; return (StyleManager.getColorName(value)); } public function get topLevelSystemManager():ISystemManager{ if (topLevel){ return (this); }; return (_topLevelSystemManager); } mx_internal function initialize():void{ var n:int; var i:int; var fontRegistry:EmbeddedFontRegistry; var crossDomainRSLItem:Class; var cdNode:Object; var node:RSLItem; if (isStageRoot){ _width = stage.stageWidth; _height = stage.stageHeight; } else { _width = loaderInfo.width; _height = loaderInfo.height; }; preloader = new Preloader(); preloader.addEventListener(FlexEvent.INIT_PROGRESS, preloader_initProgressHandler); preloader.addEventListener(FlexEvent.PRELOADER_DONE, preloader_preloaderDoneHandler); if (!_popUpChildren){ _popUpChildren = new SystemChildrenList(this, new QName(mx_internal, "noTopMostIndex"), new QName(mx_internal, "topMostIndex")); }; _popUpChildren.addChild(preloader); var rsls:Array = info()["rsls"]; var cdRsls:Array = info()["cdRsls"]; var usePreloader:Boolean; if (info()["usePreloader"] != undefined){ usePreloader = info()["usePreloader"]; }; var preloaderDisplayClass:Class = (info()["preloader"] as Class); if (((usePreloader) && (!(preloaderDisplayClass)))){ preloaderDisplayClass = DownloadProgressBar; }; var rslList:Array = []; if (((cdRsls) && ((cdRsls.length > 0)))){ crossDomainRSLItem = Class(getDefinitionByName("mx.core::CrossDomainRSLItem")); n = cdRsls.length; i = 0; while (i < n) { cdNode = new crossDomainRSLItem(cdRsls[i]["rsls"], cdRsls[i]["policyFiles"], cdRsls[i]["digests"], cdRsls[i]["types"], cdRsls[i]["isSigned"]); rslList.push(cdNode); i++; }; }; if (((!((rsls == null))) && ((rsls.length > 0)))){ n = rsls.length; i = 0; while (i < n) { node = new RSLItem(rsls[i].url); rslList.push(node); i++; }; }; Singleton.registerClass("mx.resources::IResourceManager", Class(getDefinitionByName("mx.resources::ResourceManagerImpl"))); var resourceManager:IResourceManager = ResourceManager.getInstance(); Singleton.registerClass("mx.core::IEmbeddedFontRegistry", Class(getDefinitionByName("mx.core::EmbeddedFontRegistry"))); Singleton.registerClass("mx.styles::IStyleManager", Class(getDefinitionByName("mx.styles::StyleManagerImpl"))); Singleton.registerClass("mx.styles::IStyleManager2", Class(getDefinitionByName("mx.styles::StyleManagerImpl"))); var localeChainList:String = loaderInfo.parameters["localeChain"]; if (((!((localeChainList == null))) && (!((localeChainList == ""))))){ resourceManager.localeChain = localeChainList.split(","); }; var resourceModuleURLList:String = loaderInfo.parameters["resourceModuleURLs"]; var resourceModuleURLs:Array = (resourceModuleURLList) ? resourceModuleURLList.split(",") : null; preloader.initialize(usePreloader, preloaderDisplayClass, preloaderBackgroundColor, preloaderBackgroundAlpha, preloaderBackgroundImage, preloaderBackgroundSize, (isStageRoot) ? stage.stageWidth : loaderInfo.width, (isStageRoot) ? stage.stageHeight : loaderInfo.height, null, null, rslList, resourceModuleURLs); } private function appCreationCompleteHandler(event:FlexEvent):void{ var obj:DisplayObjectContainer; if (((!(topLevel)) && (parent))){ obj = parent.parent; while (obj) { if ((obj is IInvalidating)){ IInvalidating(obj).invalidateSize(); IInvalidating(obj).invalidateDisplayList(); return; }; obj = obj.parent; }; }; } public function get measuredHeight():Number{ return ((topLevelWindow) ? topLevelWindow.getExplicitOrMeasuredHeight() : loaderInfo.height); } mx_internal function rawChildren_addChildAt(child:DisplayObject, index:int):DisplayObject{ addingChild(child); super.addChildAt(child, index); childAdded(child); return (child); } private function nextFrameTimerHandler(event:TimerEvent):void{ if ((currentFrame + 1) <= framesLoaded){ nextFrame(); nextFrameTimer.removeEventListener(TimerEvent.TIMER, nextFrameTimerHandler); nextFrameTimer.reset(); }; } mx_internal function childRemoved(child:DisplayObject):void{ if ((child is IUIComponent)){ IUIComponent(child).parentChanged(null); }; } mx_internal function get noTopMostIndex():int{ return (_noTopMostIndex); } override public function get numChildren():int{ return ((noTopMostIndex - applicationIndex)); } private function initializeTopLevelWindow(event:Event):void{ var app:IUIComponent; var obj:DisplayObjectContainer; initialized = true; if (!parent){ return; }; if (!topLevel){ obj = parent.parent; if (!obj){ return; }; while (obj) { if ((obj is IUIComponent)){ _topLevelSystemManager = IUIComponent(obj).systemManager; break; }; obj = obj.parent; }; }; addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, true); if (((topLevel) && (stage))){ stage.addEventListener(Event.RESIZE, Stage_resizeHandler, false, 0, true); }; app = (topLevelWindow = IUIComponent(create())); document = app; if (document){ IEventDispatcher(app).addEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); if (((topLevel) && (stage))){ LoaderConfig._url = loaderInfo.url; LoaderConfig._parameters = loaderInfo.parameters; _width = stage.stageWidth; _height = stage.stageHeight; IFlexDisplayObject(app).setActualSize(stage.stageWidth, stage.stageHeight); } else { IFlexDisplayObject(app).setActualSize(loaderInfo.width, loaderInfo.height); }; if (preloader){ preloader.registerApplication(app); }; addingChild(DisplayObject(app)); childAdded(DisplayObject(app)); } else { document = this; }; } public function get numModalWindows():int{ return (_numModalWindows); } public function isTopLevelWindow(object:DisplayObject):Boolean{ return ((((object is IUIComponent)) && ((IUIComponent(object) == topLevelWindow)))); } override public function get width():Number{ return (_width); } public function move(x:Number, y:Number):void{ } public function set explicitWidth(value:Number):void{ _explicitWidth = value; } private function preloader_initProgressHandler(event:Event):void{ preloader.removeEventListener(FlexEvent.INIT_PROGRESS, preloader_initProgressHandler); deferredNextFrame(); } public function get explicitWidth():Number{ return (_explicitWidth); } mx_internal function rawChildren_addChild(child:DisplayObject):DisplayObject{ addingChild(child); super.addChild(child); childAdded(child); return (child); } public static function getSWFRoot(object:Object):DisplayObject{ var p:*; var sm:ISystemManager; var domain:ApplicationDomain; var cls:Class; var object = object; var className:String = getQualifiedClassName(object); for (p in allSystemManagers) { sm = (p as ISystemManager); domain = sm.loaderInfo.applicationDomain; cls = Class(domain.getDefinition(className)); if ((object is cls)){ return ((sm as DisplayObject)); }; //unresolved jump var _slot1 = e; }; return (null); } mx_internal static function registerInitCallback(initFunction:Function):void{ if (((!(allSystemManagers)) || (!(lastSystemManager)))){ return; }; var sm:SystemManager = lastSystemManager; if (sm.doneExecutingInitCallbacks){ initFunction(sm); } else { sm.initCallbackFunctions.push(initFunction); }; } } }//package mx.managers
Section 352
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var bootstrapLoaderInfoURL:String; public function SystemManagerGlobals(){ super(); } } }//package mx.managers
Section 353
//SystemRawChildrenList (mx.managers.SystemRawChildrenList) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; public class SystemRawChildrenList implements IChildList { private var owner:SystemManager; mx_internal static const VERSION:String = "3.0.0.0"; public function SystemRawChildrenList(owner:SystemManager){ super(); this.owner = owner; } public function getChildAt(index:int):DisplayObject{ return (owner.mx_internal::rawChildren_getChildAt(index)); } public function addChild(child:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_addChild(child)); } public function getChildIndex(child:DisplayObject):int{ return (owner.mx_internal::rawChildren_getChildIndex(child)); } public function setChildIndex(child:DisplayObject, newIndex:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(child, newIndex); } public function getChildByName(name:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(name)); } public function removeChildAt(index:int):DisplayObject{ return (owner.mx_internal::rawChildren_removeChildAt(index)); } public function get numChildren():int{ return (owner.mx_internal::$numChildren); } public function addChildAt(child:DisplayObject, index:int):DisplayObject{ return (owner.mx_internal::rawChildren_addChildAt(child, index)); } public function getObjectsUnderPoint(point:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(point)); } public function contains(child:DisplayObject):Boolean{ return (owner.mx_internal::rawChildren_contains(child)); } public function removeChild(child:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_removeChild(child)); } } }//package mx.managers
Section 354
//ToolTipManager (mx.managers.ToolTipManager) package mx.managers { import flash.display.*; import mx.core.*; import flash.events.*; import mx.effects.*; public class ToolTipManager extends EventDispatcher { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:ToolTipManagerImpl; private static var _impl:IToolTipManager2; public function ToolTipManager(){ super(); } mx_internal static function registerToolTip(target:DisplayObject, oldToolTip:String, newToolTip:String):void{ impl.registerToolTip(target, oldToolTip, newToolTip); } public static function get enabled():Boolean{ return (impl.enabled); } public static function set enabled(value:Boolean):void{ impl.enabled = value; } public static function createToolTip(text:String, x:Number, y:Number, errorTipBorderStyle:String=null, context:IUIComponent=null):IToolTip{ return (impl.createToolTip(text, x, y, errorTipBorderStyle, context)); } public static function set hideDelay(value:Number):void{ impl.hideDelay = value; } public static function set showDelay(value:Number):void{ impl.showDelay = value; } public static function get showDelay():Number{ return (impl.showDelay); } public static function destroyToolTip(toolTip:IToolTip):void{ return (impl.destroyToolTip(toolTip)); } public static function get scrubDelay():Number{ return (impl.scrubDelay); } public static function get toolTipClass():Class{ return (impl.toolTipClass); } mx_internal static function registerErrorString(target:DisplayObject, oldErrorString:String, newErrorString:String):void{ impl.registerErrorString(target, oldErrorString, newErrorString); } mx_internal static function sizeTip(toolTip:IToolTip):void{ impl.sizeTip(toolTip); } public static function set currentTarget(value:DisplayObject):void{ impl.currentTarget = value; } public static function set showEffect(value:IAbstractEffect):void{ impl.showEffect = value; } private static function get impl():IToolTipManager2{ if (!_impl){ _impl = IToolTipManager2(Singleton.getInstance("mx.managers::IToolTipManager2")); }; return (_impl); } public static function get hideDelay():Number{ return (impl.hideDelay); } public static function set hideEffect(value:IAbstractEffect):void{ impl.hideEffect = value; } public static function set scrubDelay(value:Number):void{ impl.scrubDelay = value; } public static function get currentToolTip():IToolTip{ return (impl.currentToolTip); } public static function set currentToolTip(value:IToolTip):void{ impl.currentToolTip = value; } public static function get showEffect():IAbstractEffect{ return (impl.showEffect); } public static function get currentTarget():DisplayObject{ return (impl.currentTarget); } public static function get hideEffect():IAbstractEffect{ return (impl.hideEffect); } public static function set toolTipClass(value:Class):void{ impl.toolTipClass = value; } } }//package mx.managers
Section 355
//ToolTipManagerImpl (mx.managers.ToolTipManagerImpl) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.effects.*; import flash.utils.*; import mx.validators.*; public class ToolTipManagerImpl extends EventDispatcher implements IToolTipManager2 { private var _enabled:Boolean;// = true mx_internal var isError:Boolean; private var _showDelay:Number;// = 500 private var _hideEffect:IAbstractEffect; mx_internal var hideTimer:Timer; private var _scrubDelay:Number;// = 100 private var _toolTipClass:Class; mx_internal var currentText:String; mx_internal var showTimer:Timer; private var _currentToolTip:IToolTip; mx_internal var scrubTimer:Timer; mx_internal var previousTarget:DisplayObject; private var _currentTarget:DisplayObject; private var _showEffect:IAbstractEffect; mx_internal var initialized:Boolean;// = false private var _hideDelay:Number;// = 10000 mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IToolTipManager2; public function ToolTipManagerImpl(){ _toolTipClass = ToolTip; super(); if (instance){ throw (new Error("Instance already exists.")); }; } mx_internal function systemManager_mouseDownHandler(event:MouseEvent):void{ reset(); } public function set showDelay(value:Number):void{ _showDelay = value; } mx_internal function hideEffectEnded():void{ var event:ToolTipEvent; reset(); if (previousTarget){ event = new ToolTipEvent(ToolTipEvent.TOOL_TIP_END); event.toolTip = currentToolTip; previousTarget.dispatchEvent(event); }; } public function set scrubDelay(value:Number):void{ _scrubDelay = value; } public function get currentToolTip():IToolTip{ return (_currentToolTip); } private function mouseIsOver(target:DisplayObject):Boolean{ if (((!(target)) || (!(target.stage)))){ return (false); }; if ((((target.stage.mouseX == 0)) && ((target.stage.mouseY == 0)))){ return (false); }; return (target.hitTestPoint(target.stage.mouseX, target.stage.mouseY, true)); } mx_internal function toolTipMouseOutHandler(event:MouseEvent):void{ checkIfTargetChanged(event.relatedObject); } public function get enabled():Boolean{ return (_enabled); } public function createToolTip(text:String, x:Number, y:Number, errorTipBorderStyle:String=null, context:IUIComponent=null):IToolTip{ var toolTip:ToolTip = new ToolTip(); var sm:ISystemManager = (context) ? context.systemManager : ApplicationGlobals.application.systemManager; sm.toolTipChildren.addChild(toolTip); if (errorTipBorderStyle){ toolTip.setStyle("styleName", "errorTip"); toolTip.setStyle("borderStyle", errorTipBorderStyle); }; toolTip.text = text; sizeTip(toolTip); toolTip.move(x, y); return ((toolTip as IToolTip)); } mx_internal function reset():void{ var sm:ISystemManager; showTimer.reset(); hideTimer.reset(); if (currentToolTip){ if (((showEffect) || (hideEffect))){ currentToolTip.removeEventListener(EffectEvent.EFFECT_END, effectEndHandler); }; EffectManager.endEffectsForTarget(currentToolTip); sm = currentToolTip.systemManager; sm.toolTipChildren.removeChild(DisplayObject(currentToolTip)); currentToolTip = null; scrubTimer.delay = scrubDelay; scrubTimer.reset(); if (scrubDelay > 0){ scrubTimer.delay = scrubDelay; scrubTimer.start(); }; }; } public function get toolTipClass():Class{ return (_toolTipClass); } public function set currentToolTip(value:IToolTip):void{ _currentToolTip = value; } private function hideImmediately(target:DisplayObject):void{ checkIfTargetChanged(null); } mx_internal function showTip():void{ var sm:ISystemManager; var event:ToolTipEvent = new ToolTipEvent(ToolTipEvent.TOOL_TIP_SHOW); event.toolTip = currentToolTip; currentTarget.dispatchEvent(event); if (isError){ currentTarget.addEventListener("change", changeHandler); } else { sm = getSystemManager(currentTarget); sm.addEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler); }; currentToolTip.visible = true; if (!showEffect){ showEffectEnded(); }; } mx_internal function effectEndHandler(event:EffectEvent):void{ if (event.effectInstance.effect == showEffect){ showEffectEnded(); } else { if (event.effectInstance.effect == hideEffect){ hideEffectEnded(); }; }; } public function get hideDelay():Number{ return (_hideDelay); } public function get currentTarget():DisplayObject{ return (_currentTarget); } mx_internal function showEffectEnded():void{ var event:ToolTipEvent; if (hideDelay == 0){ hideTip(); } else { if (hideDelay < Infinity){ hideTimer.delay = hideDelay; hideTimer.start(); }; }; if (currentTarget){ event = new ToolTipEvent(ToolTipEvent.TOOL_TIP_SHOWN); event.toolTip = currentToolTip; currentTarget.dispatchEvent(event); }; } public function get hideEffect():IAbstractEffect{ return (_hideEffect); } mx_internal function changeHandler(event:Event):void{ reset(); } public function set enabled(value:Boolean):void{ _enabled = value; } mx_internal function errorTipMouseOverHandler(event:MouseEvent):void{ checkIfTargetChanged(DisplayObject(event.target)); } public function get showDelay():Number{ return (_showDelay); } public function registerErrorString(target:DisplayObject, oldErrorString:String, newErrorString:String):void{ if (((!(oldErrorString)) && (newErrorString))){ target.addEventListener(MouseEvent.MOUSE_OVER, errorTipMouseOverHandler); target.addEventListener(MouseEvent.MOUSE_OUT, errorTipMouseOutHandler); if (mouseIsOver(target)){ showImmediately(target); }; } else { if (((oldErrorString) && (!(newErrorString)))){ target.removeEventListener(MouseEvent.MOUSE_OVER, errorTipMouseOverHandler); target.removeEventListener(MouseEvent.MOUSE_OUT, errorTipMouseOutHandler); if (mouseIsOver(target)){ hideImmediately(target); }; }; }; } mx_internal function initialize():void{ if (!showTimer){ showTimer = new Timer(0, 1); showTimer.addEventListener(TimerEvent.TIMER, showTimer_timerHandler); }; if (!hideTimer){ hideTimer = new Timer(0, 1); hideTimer.addEventListener(TimerEvent.TIMER, hideTimer_timerHandler); }; if (!scrubTimer){ scrubTimer = new Timer(0, 1); }; initialized = true; } public function destroyToolTip(toolTip:IToolTip):void{ var sm:ISystemManager = toolTip.systemManager; sm.toolTipChildren.removeChild(DisplayObject(toolTip)); } public function get scrubDelay():Number{ return (_scrubDelay); } mx_internal function checkIfTargetChanged(displayObject:DisplayObject):void{ if (!enabled){ return; }; findTarget(displayObject); if (currentTarget != previousTarget){ targetChanged(); previousTarget = currentTarget; }; } public function set toolTipClass(value:Class):void{ _toolTipClass = value; } private function getGlobalBounds(obj:DisplayObject):Rectangle{ var upperLeft:Point = new Point(0, 0); upperLeft = obj.localToGlobal(upperLeft); return (new Rectangle(upperLeft.x, upperLeft.y, obj.width, obj.height)); } mx_internal function positionTip():void{ var x:Number; var y:Number; var targetGlobalBounds:Rectangle; var pos:Point; var ctt:IToolTip; var newWidth:Number; var oldWidth:Number; var toolTipWidth:Number; var toolTipHeight:Number; var screenWidth:Number = currentToolTip.screen.width; var screenHeight:Number = currentToolTip.screen.height; if (isError){ targetGlobalBounds = getGlobalBounds(currentTarget); x = (targetGlobalBounds.right + 4); y = (targetGlobalBounds.top - 1); if ((x + currentToolTip.width) > screenWidth){ newWidth = NaN; oldWidth = NaN; x = (targetGlobalBounds.left - 2); if (((x + currentToolTip.width) + 4) > screenWidth){ newWidth = ((screenWidth - x) - 4); oldWidth = Object(toolTipClass).maxWidth; Object(toolTipClass).maxWidth = newWidth; if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipAbove"); }; currentToolTip["text"] = currentToolTip["text"]; Object(toolTipClass).maxWidth = oldWidth; } else { if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipAbove"); }; currentToolTip["text"] = currentToolTip["text"]; }; if ((currentToolTip.height + 2) < targetGlobalBounds.top){ y = (targetGlobalBounds.top - (currentToolTip.height + 2)); } else { y = (targetGlobalBounds.bottom + 2); if (!isNaN(newWidth)){ Object(toolTipClass).maxWidth = newWidth; }; if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipBelow"); }; currentToolTip["text"] = currentToolTip["text"]; if (!isNaN(oldWidth)){ Object(toolTipClass).maxWidth = oldWidth; }; }; }; sizeTip(currentToolTip); pos = new Point(x, y); ctt = currentToolTip; pos = DisplayObject(ctt).root.globalToLocal(pos); x = pos.x; y = pos.y; } else { x = (ApplicationGlobals.application.mouseX + 11); y = (ApplicationGlobals.application.mouseY + 22); toolTipWidth = currentToolTip.width; if ((x + toolTipWidth) > screenWidth){ x = (screenWidth - toolTipWidth); }; toolTipHeight = currentToolTip.height; if ((y + toolTipHeight) > screenHeight){ y = (screenHeight - toolTipHeight); }; }; currentToolTip.move(x, y); } mx_internal function errorTipMouseOutHandler(event:MouseEvent):void{ checkIfTargetChanged(event.relatedObject); } mx_internal function findTarget(displayObject:DisplayObject):void{ while (displayObject) { if ((displayObject is IValidatorListener)){ currentText = IValidatorListener(displayObject).errorString; if (((!((currentText == null))) && (!((currentText == ""))))){ currentTarget = displayObject; isError = true; return; }; }; if ((displayObject is IToolTipManagerClient)){ currentText = IToolTipManagerClient(displayObject).toolTip; if (currentText != null){ currentTarget = displayObject; isError = false; return; }; }; displayObject = displayObject.parent; }; currentText = null; currentTarget = null; } public function registerToolTip(target:DisplayObject, oldToolTip:String, newToolTip:String):void{ if (((!(oldToolTip)) && (newToolTip))){ target.addEventListener(MouseEvent.MOUSE_OVER, toolTipMouseOverHandler); target.addEventListener(MouseEvent.MOUSE_OUT, toolTipMouseOutHandler); if (mouseIsOver(target)){ showImmediately(target); }; } else { if (((oldToolTip) && (!(newToolTip)))){ target.removeEventListener(MouseEvent.MOUSE_OVER, toolTipMouseOverHandler); target.removeEventListener(MouseEvent.MOUSE_OUT, toolTipMouseOutHandler); if (mouseIsOver(target)){ hideImmediately(target); }; }; }; } private function showImmediately(target:DisplayObject):void{ var oldShowDelay:Number = ToolTipManager.showDelay; ToolTipManager.showDelay = 0; checkIfTargetChanged(target); ToolTipManager.showDelay = oldShowDelay; } public function set hideDelay(value:Number):void{ _hideDelay = value; } private function getSystemManager(target:DisplayObject):ISystemManager{ return (((target is IUIComponent)) ? IUIComponent(target).systemManager : null); } public function set currentTarget(value:DisplayObject):void{ _currentTarget = value; } public function sizeTip(toolTip:IToolTip):void{ if ((toolTip is IInvalidating)){ IInvalidating(toolTip).validateNow(); }; toolTip.setActualSize(toolTip.getExplicitOrMeasuredWidth(), toolTip.getExplicitOrMeasuredHeight()); } mx_internal function showTimer_timerHandler(event:TimerEvent):void{ if (currentTarget){ createTip(); initializeTip(); positionTip(); showTip(); }; } mx_internal function hideTimer_timerHandler(event:TimerEvent):void{ hideTip(); } public function set showEffect(value:IAbstractEffect):void{ _showEffect = (value as IAbstractEffect); } public function set hideEffect(value:IAbstractEffect):void{ _hideEffect = (value as IAbstractEffect); } mx_internal function targetChanged():void{ var event:ToolTipEvent; if (!initialized){ initialize(); }; if (((previousTarget) && (currentToolTip))){ event = new ToolTipEvent(ToolTipEvent.TOOL_TIP_HIDE); event.toolTip = currentToolTip; previousTarget.dispatchEvent(event); }; reset(); if (currentTarget){ if (currentText == ""){ return; }; event = new ToolTipEvent(ToolTipEvent.TOOL_TIP_START); currentTarget.dispatchEvent(event); if ((((showDelay == 0)) || (scrubTimer.running))){ createTip(); initializeTip(); positionTip(); showTip(); } else { showTimer.delay = showDelay; showTimer.start(); }; }; } mx_internal function initializeTip():void{ if ((currentToolTip is ToolTip)){ ToolTip(currentToolTip).text = currentText; }; if (((isError) && ((currentToolTip is IStyleClient)))){ IStyleClient(currentToolTip).setStyle("styleName", "errorTip"); }; sizeTip(currentToolTip); if ((currentToolTip is IStyleClient)){ if (showEffect){ IStyleClient(currentToolTip).setStyle("showEffect", showEffect); }; if (hideEffect){ IStyleClient(currentToolTip).setStyle("hideEffect", hideEffect); }; }; if (((showEffect) || (hideEffect))){ currentToolTip.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); }; } public function get showEffect():IAbstractEffect{ return (_showEffect); } mx_internal function toolTipMouseOverHandler(event:MouseEvent):void{ checkIfTargetChanged(DisplayObject(event.target)); } mx_internal function hideTip():void{ var event:ToolTipEvent; var sm:ISystemManager; if (previousTarget){ event = new ToolTipEvent(ToolTipEvent.TOOL_TIP_HIDE); event.toolTip = currentToolTip; previousTarget.dispatchEvent(event); }; if (currentToolTip){ currentToolTip.visible = false; }; if (isError){ if (currentTarget){ currentTarget.removeEventListener("change", changeHandler); }; } else { if (previousTarget){ sm = getSystemManager(previousTarget); sm.removeEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler); }; }; if (!hideEffect){ hideEffectEnded(); }; } mx_internal function createTip():void{ var event:ToolTipEvent = new ToolTipEvent(ToolTipEvent.TOOL_TIP_CREATE); currentTarget.dispatchEvent(event); if (event.toolTip){ currentToolTip = event.toolTip; } else { currentToolTip = new toolTipClass(); }; currentToolTip.visible = false; var sm:ISystemManager = getSystemManager(currentTarget); sm.toolTipChildren.addChild(DisplayObject(currentToolTip)); } public static function getInstance():IToolTipManager2{ if (!instance){ instance = new (ToolTipManagerImpl); }; return (instance); } } }//package mx.managers
Section 356
//LoaderConfig (mx.messaging.config.LoaderConfig) package mx.messaging.config { import mx.core.*; public class LoaderConfig { mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var _url:String = null; mx_internal static var _parameters:Object; public function LoaderConfig(){ super(); } public static function get url():String{ return (_url); } public static function get parameters():Object{ return (_parameters); } } }//package mx.messaging.config
Section 357
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import mx.core.*; import flash.events.*; import flash.system.*; public interface IModuleInfo extends IEventDispatcher { function get ready():Boolean; function get loaded():Boolean; function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void; function release():void; function get error():Boolean; function get data():Object; function publish(E:\dev\3.1.0\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:IFlexModuleFactory):void; function get factory():IFlexModuleFactory; function set data(E:\dev\3.1.0\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:Object):void; function get url():String; function get setup():Boolean; function unload():void; } }//package mx.modules
Section 358
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.0.0.0"; public function ModuleManager(){ super(); } public static function getModule(url:String):IModuleInfo{ return (getSingleton().getModule(url)); } private static function getSingleton():Object{ if (!ModuleManagerGlobals.managerSingleton){ ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl(); }; return (ModuleManagerGlobals.managerSingleton); } public static function getAssociatedFactory(object:Object):IFlexModuleFactory{ return (getSingleton().getAssociatedFactory(object)); } } }//package mx.modules import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.net.*; import flash.utils.*; class ModuleInfoProxy extends EventDispatcher implements IModuleInfo { private var _data:Object; private var info:ModuleInfo; private var referenced:Boolean;// = false private function ModuleInfoProxy(info:ModuleInfo){ super(); this.info = info; info.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true); info.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true); info.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true); info.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true); info.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true); } public function get loaded():Boolean{ return (info.loaded); } public function release():void{ if (referenced){ info.removeReference(); referenced = false; }; } public function get error():Boolean{ return (info.error); } public function get factory():IFlexModuleFactory{ return (info.factory); } public function publish(factory:IFlexModuleFactory):void{ info.publish(factory); } public function set data(value:Object):void{ _data = value; } public function get ready():Boolean{ return (info.ready); } public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):void{ var moduleEvent:ModuleEvent; info.resurrect(); if (!referenced){ info.addReference(); referenced = true; }; if (info.error){ dispatchEvent(new ModuleEvent(ModuleEvent.ERROR)); } else { if (info.loaded){ if (info.setup){ dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); if (info.ready){ moduleEvent = new ModuleEvent(ModuleEvent.PROGRESS); moduleEvent.bytesLoaded = info.size; moduleEvent.bytesTotal = info.size; dispatchEvent(moduleEvent); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); }; }; } else { info.load(applicationDomain, securityDomain); }; }; } private function moduleEventHandler(event:ModuleEvent):void{ dispatchEvent(event); } public function get url():String{ return (info.url); } public function get data():Object{ return (_data); } public function get setup():Boolean{ return (info.setup); } public function unload():void{ info.unload(); info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler); info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler); info.removeEventListener(ModuleEvent.READY, moduleEventHandler); info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler); info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler); } } class ModuleManagerImpl extends EventDispatcher { private var moduleList:Object; private function ModuleManagerImpl(){ moduleList = {}; super(); } public function getModule(url:String):IModuleInfo{ var info:ModuleInfo = (moduleList[url] as ModuleInfo); if (!info){ info = new ModuleInfo(url); moduleList[url] = info; }; return (new ModuleInfoProxy(info)); } public function getAssociatedFactory(object:Object):IFlexModuleFactory{ var m:Object; var info:ModuleInfo; var domain:ApplicationDomain; var cls:Class; var object = object; var className:String = getQualifiedClassName(object); for each (m in moduleList) { info = (m as ModuleInfo); if (!info.ready){ } else { domain = info.applicationDomain; cls = Class(domain.getDefinition(className)); if ((object is cls)){ return (info.factory); }; //unresolved jump var _slot1 = error; }; }; return (null); } } class ModuleInfo extends EventDispatcher { private var _error:Boolean;// = false private var loader:Loader; private var factoryInfo:FactoryInfo; private var limbo:Dictionary; private var _loaded:Boolean;// = false private var _ready:Boolean;// = false private var numReferences:int;// = 0 private var _url:String; private var _setup:Boolean;// = false private function ModuleInfo(url:String){ super(); _url = url; } private function clearLoader():void{ if (loader){ if (loader.contentLoaderInfo){ loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); }; if (loader.content){ loader.content.removeEventListener("ready", readyHandler); }; //unresolved jump var _slot1 = error; if (_loaded){ loader.close(); //unresolved jump var _slot1 = error; }; loader.unload(); //unresolved jump var _slot1 = error; loader = null; }; } public function get size():int{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0); } public function get loaded():Boolean{ return ((limbo) ? false : _loaded); } public function release():void{ if (((_ready) && (!(limbo)))){ limbo = new Dictionary(true); limbo[factoryInfo] = 1; factoryInfo = null; } else { unload(); }; } public function get error():Boolean{ return ((limbo) ? false : _error); } public function get factory():IFlexModuleFactory{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null); } public function completeHandler(event:Event):void{ var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal; dispatchEvent(moduleEvent); } public function publish(factory:IFlexModuleFactory):void{ if (factoryInfo){ return; }; if (_url.indexOf("published://") != 0){ return; }; factoryInfo = new FactoryInfo(); factoryInfo.factory = factory; _loaded = true; _setup = true; _ready = true; _error = false; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS)); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function initHandler(event:Event):void{ var moduleEvent:ModuleEvent; var event = event; factoryInfo = new FactoryInfo(); factoryInfo.factory = (loader.content as IFlexModuleFactory); //unresolved jump var _slot1 = error; if (!factoryInfo.factory){ moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = 0; moduleEvent.bytesTotal = 0; moduleEvent.errorText = "SWF is not a loadable module"; dispatchEvent(moduleEvent); return; }; loader.content.addEventListener("ready", readyHandler); factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain; //unresolved jump var _slot1 = error; _setup = true; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); } public function resurrect():void{ var f:Object; if (((!(factoryInfo)) && (limbo))){ for (f in limbo) { factoryInfo = (f as FactoryInfo); break; }; limbo = null; }; if (!factoryInfo){ if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; loader = null; _loaded = false; _setup = false; _ready = false; _error = false; }; } public function errorHandler(event:ErrorEvent):void{ _error = true; var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = 0; moduleEvent.bytesTotal = 0; moduleEvent.errorText = event.text; dispatchEvent(moduleEvent); } public function get ready():Boolean{ return ((limbo) ? false : _ready); } public function removeReference():void{ numReferences--; if (numReferences == 0){ release(); }; } public function addReference():void{ numReferences++; } public function progressHandler(event:ProgressEvent):void{ var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = event.bytesLoaded; moduleEvent.bytesTotal = event.bytesTotal; dispatchEvent(moduleEvent); } public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):void{ if (_loaded){ return; }; _loaded = true; limbo = null; if (_url.indexOf("published://") == 0){ return; }; var r:URLRequest = new URLRequest(_url); var c:LoaderContext = new LoaderContext(); c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain); c.securityDomain = securityDomain; if ((((securityDomain == null)) && ((Security.sandboxType == Security.REMOTE)))){ c.securityDomain = SecurityDomain.currentDomain; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.load(r, c); } public function get url():String{ return (_url); } public function get applicationDomain():ApplicationDomain{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null); } public function readyHandler(event:Event):void{ _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function get setup():Boolean{ return ((limbo) ? false : _setup); } public function unload():void{ clearLoader(); if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; limbo = null; factoryInfo = null; _loaded = false; _setup = false; _ready = false; _error = false; } } class FactoryInfo { public var bytesTotal:int;// = 0 public var factory:IFlexModuleFactory; public var applicationDomain:ApplicationDomain; private function FactoryInfo(){ super(); } }
Section 359
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; public function ModuleManagerGlobals(){ super(); } } }//package mx.modules
Section 360
//DownloadProgressBar (mx.preloaders.DownloadProgressBar) package mx.preloaders { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.events.*; import flash.system.*; import mx.graphics.*; import flash.net.*; import flash.utils.*; public class DownloadProgressBar extends Sprite implements IPreloaderDisplay { protected var MINIMUM_DISPLAY_TIME:uint;// = 0 private var _barFrameRect:RoundedRectangle; private var _stageHeight:Number;// = 375 private var _stageWidth:Number;// = 500 private var _percentRect:Rectangle; private var _percentObj:TextField; private var _downloadingLabel:String;// = "Loading" private var _showProgressBar:Boolean;// = true private var _yOffset:Number;// = 20 private var _initProgressCount:uint;// = 0 private var _barSprite:Sprite; private var _visible:Boolean;// = false private var _barRect:RoundedRectangle; private var _showingDisplay:Boolean;// = false private var _backgroundSize:String;// = "" private var _initProgressTotal:uint;// = 12 private var _startedInit:Boolean;// = false private var _showLabel:Boolean;// = true private var _value:Number;// = 0 private var _labelRect:Rectangle; private var _backgroundImage:Object; private var _backgroundAlpha:Number;// = 1 private var _backgroundColor:uint; private var _startedLoading:Boolean;// = false private var _showPercentage:Boolean;// = false private var _barFrameSprite:Sprite; protected var DOWNLOAD_PERCENTAGE:uint;// = 60 private var _displayStartCount:uint;// = 0 private var _labelObj:TextField; private var _borderRect:RoundedRectangle; private var _maximum:Number;// = 0 private var _displayTime:int; private var _label:String;// = "" private var _preloader:Sprite; private var _xOffset:Number;// = 20 private var _startTime:int; mx_internal static const VERSION:String = "3.0.0.0"; private static var _initializingLabel:String = "Initializing"; public function DownloadProgressBar(){ _labelRect = labelRect; _percentRect = percentRect; _borderRect = borderRect; _barFrameRect = barFrameRect; _barRect = barRect; super(); } protected function getPercentLoaded(loaded:Number, total:Number):Number{ var perc:Number; if ((((((((loaded == 0)) || ((total == 0)))) || (isNaN(total)))) || (isNaN(loaded)))){ return (0); }; perc = ((100 * loaded) / total); if (((isNaN(perc)) || ((perc <= 0)))){ return (0); }; if (perc > 99){ return (99); }; return (Math.round(perc)); } protected function get labelFormat():TextFormat{ var tf:TextFormat = new TextFormat(); tf.color = 0x333333; tf.font = "Verdana"; tf.size = 10; return (tf); } private function calcScale():void{ var scale:Number; if ((((stageWidth < 160)) || ((stageHeight < 120)))){ scaleX = 1; scaleY = 1; } else { if ((((stageWidth < 240)) || ((stageHeight < 150)))){ createChildren(); scale = Math.min((stageWidth / 240), (stageHeight / 150)); scaleX = scale; scaleY = scale; } else { createChildren(); }; }; } protected function get percentRect():Rectangle{ return (new Rectangle(108, 4, 34, 16)); } protected function set showLabel(value:Boolean):void{ _showLabel = value; draw(); } private function calcBackgroundSize():Number{ var index:int; var percentage:Number = NaN; if (backgroundSize){ index = backgroundSize.indexOf("%"); if (index != -1){ percentage = Number(backgroundSize.substr(0, index)); }; }; return (percentage); } private function show():void{ _showingDisplay = true; calcScale(); draw(); _displayTime = getTimer(); } private function loadBackgroundImage(classOrString:Object):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var classOrString = classOrString; if (((classOrString) && ((classOrString as Class)))){ cls = Class(classOrString); initBackgroundImage(new (cls)); } else { if (((classOrString) && ((classOrString is String)))){ cls = Class(getDefinitionByName(String(classOrString))); //unresolved jump var _slot1 = e; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(classOrString)), loaderContext); }; }; }; } protected function set showPercentage(value:Boolean):void{ _showPercentage = value; draw(); } protected function get barFrameRect():RoundedRectangle{ return (new RoundedRectangle(14, 40, 154, 4)); } private function loader_ioErrorHandler(event:IOErrorEvent):void{ } protected function rslErrorHandler(event:RSLEvent):void{ _preloader.removeEventListener(ProgressEvent.PROGRESS, progressHandler); _preloader.removeEventListener(Event.COMPLETE, completeHandler); _preloader.removeEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler); _preloader.removeEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler); _preloader.removeEventListener(RSLEvent.RSL_ERROR, rslErrorHandler); _preloader.removeEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler); _preloader.removeEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler); if (!_showingDisplay){ show(); _showingDisplay = true; }; label = ((("RSL Error " + (event.rslIndex + 1)) + " of ") + event.rslTotal); var errorField:ErrorField = new ErrorField(this.parent); errorField.show(event.errorText); } protected function rslCompleteHandler(event:RSLEvent):void{ label = ((("Loaded library " + event.rslIndex) + " of ") + event.rslTotal); } protected function get borderRect():RoundedRectangle{ return (new RoundedRectangle(0, 0, 182, 60, 4)); } protected function showDisplayForDownloading(elapsedTime:int, event:ProgressEvent):Boolean{ return ((((elapsedTime > 700)) && ((event.bytesLoaded < (event.bytesTotal / 2))))); } protected function createChildren():void{ var labelObj:TextField; var percentObj:TextField; var g:Graphics = graphics; if (backgroundColor != 4294967295){ g.beginFill(backgroundColor, backgroundAlpha); g.drawRect(0, 0, stageWidth, stageHeight); }; if (backgroundImage != null){ loadBackgroundImage(backgroundImage); }; _barFrameSprite = new Sprite(); _barSprite = new Sprite(); addChild(_barFrameSprite); addChild(_barSprite); g.beginFill(0xCCCCCC, 0.4); g.drawRoundRect(calcX(_borderRect.x), calcY(_borderRect.y), _borderRect.width, _borderRect.height, (_borderRect.cornerRadius * 2), (_borderRect.cornerRadius * 2)); g.drawRoundRect(calcX((_borderRect.x + 1)), calcY((_borderRect.y + 1)), (_borderRect.width - 2), (_borderRect.height - 2), (_borderRect.cornerRadius - (1 * 2)), (_borderRect.cornerRadius - (1 * 2))); g.endFill(); g.beginFill(0xCCCCCC, 0.4); g.drawRoundRect(calcX((_borderRect.x + 1)), calcY((_borderRect.y + 1)), (_borderRect.width - 2), (_borderRect.height - 2), (_borderRect.cornerRadius - (1 * 2)), (_borderRect.cornerRadius - (1 * 2))); g.endFill(); var frame_g:Graphics = _barFrameSprite.graphics; var matrix:Matrix = new Matrix(); matrix.createGradientBox(_barFrameRect.width, _barFrameRect.height, (Math.PI / 2), calcX(_barFrameRect.x), calcY(_barFrameRect.y)); frame_g.beginGradientFill(GradientType.LINEAR, [6054502, 11909306], [1, 1], [0, 0xFF], matrix); frame_g.drawRoundRect(calcX(_barFrameRect.x), calcY(_barFrameRect.y), _barFrameRect.width, _barFrameRect.height, (_barFrameRect.cornerRadius * 2), (_barFrameRect.cornerRadius * 2)); frame_g.drawRoundRect(calcX((_barFrameRect.x + 1)), calcY((_barFrameRect.y + 1)), (_barFrameRect.width - 2), (_barFrameRect.height - 2), (_barFrameRect.cornerRadius * 2), (_barFrameRect.cornerRadius * 2)); frame_g.endFill(); _labelObj = new TextField(); _labelObj.x = calcX(_labelRect.x); _labelObj.y = calcY(_labelRect.y); _labelObj.width = _labelRect.width; _labelObj.height = _labelRect.height; _labelObj.selectable = false; _labelObj.defaultTextFormat = labelFormat; addChild(_labelObj); _percentObj = new TextField(); _percentObj.x = calcX(_percentRect.x); _percentObj.y = calcY(_percentRect.y); _percentObj.width = _percentRect.width; _percentObj.height = _percentRect.height; _percentObj.selectable = false; _percentObj.defaultTextFormat = percentFormat; addChild(_percentObj); var ds:RectangularDropShadow = new RectangularDropShadow(); ds.color = 0; ds.angle = 90; ds.alpha = 0.6; ds.distance = 2; ds.tlRadius = (ds.trRadius = (ds.blRadius = (ds.brRadius = _borderRect.cornerRadius))); ds.drawShadow(g, calcX(_borderRect.x), calcY(_borderRect.y), _borderRect.width, _borderRect.height); g.lineStyle(1, 0xFFFFFF, 0.3); g.moveTo((calcX(_borderRect.x) + _borderRect.cornerRadius), calcY(_borderRect.y)); g.lineTo(((calcX(_borderRect.x) - _borderRect.cornerRadius) + _borderRect.width), calcY(_borderRect.y)); } private function draw():void{ var percentage:Number; if (_startedLoading){ if (!_startedInit){ percentage = Math.round(((getPercentLoaded(_value, _maximum) * DOWNLOAD_PERCENTAGE) / 100)); } else { percentage = Math.round((((getPercentLoaded(_value, _maximum) * (100 - DOWNLOAD_PERCENTAGE)) / 100) + DOWNLOAD_PERCENTAGE)); }; } else { percentage = getPercentLoaded(_value, _maximum); }; if (_labelObj){ _labelObj.text = _label; }; if (_percentObj){ if (!_showPercentage){ _percentObj.visible = false; _percentObj.text = ""; } else { _percentObj.text = (String(percentage) + "%"); }; }; if (((_barSprite) && (_barFrameSprite))){ if (!_showProgressBar){ _barSprite.visible = false; _barFrameSprite.visible = false; } else { drawProgressBar(percentage); }; }; } private function timerHandler(event:Event=null):void{ dispatchEvent(new Event(Event.COMPLETE)); } private function hide():void{ } public function get backgroundSize():String{ return (_backgroundSize); } protected function center(width:Number, height:Number):void{ _xOffset = Math.floor(((width - _borderRect.width) / 2)); _yOffset = Math.floor(((height - _borderRect.height) / 2)); } protected function progressHandler(event:ProgressEvent):void{ var loaded:uint = event.bytesLoaded; var total:uint = event.bytesTotal; var elapsedTime:int = (getTimer() - _startTime); if (((_showingDisplay) || (showDisplayForDownloading(elapsedTime, event)))){ if (!_startedLoading){ show(); label = downloadingLabel; _startedLoading = true; }; setProgress(event.bytesLoaded, event.bytesTotal); }; } protected function initProgressHandler(event:Event):void{ var loaded:Number; var elapsedTime:int = (getTimer() - _startTime); _initProgressCount++; if (((!(_showingDisplay)) && (showDisplayForInit(elapsedTime, _initProgressCount)))){ _displayStartCount = _initProgressCount; show(); } else { if (_showingDisplay){ if (!_startedInit){ _startedInit = true; label = initializingLabel; }; loaded = ((100 * _initProgressCount) / (_initProgressTotal - _displayStartCount)); setProgress(loaded, 100); }; }; } protected function set downloadingLabel(value:String):void{ _downloadingLabel = value; } public function get stageWidth():Number{ return (_stageWidth); } protected function get showPercentage():Boolean{ return (_showPercentage); } override public function get visible():Boolean{ return (_visible); } public function set stageHeight(value:Number):void{ _stageHeight = value; } public function initialize():void{ _startTime = getTimer(); center(stageWidth, stageHeight); } protected function rslProgressHandler(event:RSLEvent):void{ } protected function get barRect():RoundedRectangle{ return (new RoundedRectangle(14, 39, 154, 6, 0)); } protected function get percentFormat():TextFormat{ var tf:TextFormat = new TextFormat(); tf.align = "right"; tf.color = 0; tf.font = "Verdana"; tf.size = 10; return (tf); } public function set backgroundImage(value:Object):void{ _backgroundImage = value; } private function calcX(base:Number):Number{ return ((base + _xOffset)); } private function calcY(base:Number):Number{ return ((base + _yOffset)); } public function set backgroundAlpha(value:Number):void{ _backgroundAlpha = value; } private function initCompleteHandler(event:Event):void{ var timer:Timer; var elapsedTime:int = (getTimer() - _displayTime); if (((_showingDisplay) && ((elapsedTime < MINIMUM_DISPLAY_TIME)))){ timer = new Timer((MINIMUM_DISPLAY_TIME - elapsedTime), 1); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); } else { timerHandler(); }; } public function set backgroundColor(value:uint):void{ _backgroundColor = value; } private function initBackgroundImage(image:DisplayObject):void{ var sX:Number; var sY:Number; var scale:Number; addChildAt(image, 0); var backgroundImageWidth:Number = image.width; var backgroundImageHeight:Number = image.height; var percentage:Number = calcBackgroundSize(); if (isNaN(percentage)){ sX = 1; sY = 1; } else { scale = (percentage * 0.01); sX = ((scale * stageWidth) / backgroundImageWidth); sY = ((scale * stageHeight) / backgroundImageHeight); }; image.scaleX = sX; image.scaleY = sY; var offsetX:Number = Math.round((0.5 * (stageWidth - (backgroundImageWidth * sX)))); var offsetY:Number = Math.round((0.5 * (stageHeight - (backgroundImageHeight * sY)))); image.x = offsetX; image.y = offsetY; if (!isNaN(backgroundAlpha)){ image.alpha = backgroundAlpha; }; } public function set backgroundSize(value:String):void{ _backgroundSize = value; } protected function showDisplayForInit(elapsedTime:int, count:int):Boolean{ return ((((elapsedTime > 300)) && ((count == 2)))); } protected function get downloadingLabel():String{ return (_downloadingLabel); } private function loader_completeHandler(event:Event):void{ var target:DisplayObject = DisplayObject(LoaderInfo(event.target).loader); initBackgroundImage(target); } protected function setProgress(completed:Number, total:Number):void{ if (((((((!(isNaN(completed))) && (!(isNaN(total))))) && ((completed >= 0)))) && ((total > 0)))){ _value = Number(completed); _maximum = Number(total); draw(); }; } public function get stageHeight():Number{ return (_stageHeight); } public function get backgroundImage():Object{ return (_backgroundImage); } public function get backgroundAlpha():Number{ if (!isNaN(_backgroundAlpha)){ return (_backgroundAlpha); }; return (1); } private function drawProgressBar(percentage:Number):void{ var barY2:Number; var g:Graphics = _barSprite.graphics; g.clear(); var colors:Array = [0xFFFFFF, 0xFFFFFF]; var ratios:Array = [0, 0xFF]; var matrix:Matrix = new Matrix(); var barWidth:Number = ((_barRect.width * percentage) / 100); var barWidthSplit:Number = (barWidth / 2); var barHeight:Number = (_barRect.height - 4); var barX:Number = calcX(_barRect.x); var barY:Number = (calcY(_barRect.y) + 2); matrix.createGradientBox(barWidthSplit, barHeight, 0, barX, barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.39, 0.85], ratios, matrix); g.drawRect(barX, barY, barWidthSplit, barHeight); matrix.createGradientBox(barWidthSplit, barHeight, 0, (barX + barWidthSplit), barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.85, 1], ratios, matrix); g.drawRect((barX + barWidthSplit), barY, barWidthSplit, barHeight); barWidthSplit = (barWidth / 3); barHeight = _barRect.height; barY = calcY(_barRect.y); barY2 = ((barY + barHeight) - 1); matrix.createGradientBox(barWidthSplit, barHeight, 0, barX, barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.05, 0.15], ratios, matrix); g.drawRect(barX, barY, barWidthSplit, 1); g.drawRect(barX, barY2, barWidthSplit, 1); matrix.createGradientBox(barWidthSplit, barHeight, 0, (barX + barWidthSplit), barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.15, 0.25], ratios, matrix); g.drawRect((barX + barWidthSplit), barY, barWidthSplit, 1); g.drawRect((barX + barWidthSplit), barY2, barWidthSplit, 1); matrix.createGradientBox(barWidthSplit, barHeight, 0, (barX + (barWidthSplit * 2)), barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.25, 0.1], ratios, matrix); g.drawRect((barX + (barWidthSplit * 2)), barY, barWidthSplit, 1); g.drawRect((barX + (barWidthSplit * 2)), barY2, barWidthSplit, 1); barWidthSplit = (barWidth / 3); barHeight = _barRect.height; barY = (calcY(_barRect.y) + 1); barY2 = ((calcY(_barRect.y) + barHeight) - 2); matrix.createGradientBox(barWidthSplit, barHeight, 0, barX, barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.15, 0.3], ratios, matrix); g.drawRect(barX, barY, barWidthSplit, 1); g.drawRect(barX, barY2, barWidthSplit, 1); matrix.createGradientBox(barWidthSplit, barHeight, 0, (barX + barWidthSplit), barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.3, 0.4], ratios, matrix); g.drawRect((barX + barWidthSplit), barY, barWidthSplit, 1); g.drawRect((barX + barWidthSplit), barY2, barWidthSplit, 1); matrix.createGradientBox(barWidthSplit, barHeight, 0, (barX + (barWidthSplit * 2)), barY); g.beginGradientFill(GradientType.LINEAR, colors, [0.4, 0.25], ratios, matrix); g.drawRect((barX + (barWidthSplit * 2)), barY, barWidthSplit, 1); g.drawRect((barX + (barWidthSplit * 2)), barY2, barWidthSplit, 1); } public function get backgroundColor():uint{ return (_backgroundColor); } public function set stageWidth(value:Number):void{ _stageWidth = value; } protected function completeHandler(event:Event):void{ } protected function set label(value:String):void{ if (!(value is Function)){ _label = value; }; draw(); } public function set preloader(value:Sprite):void{ _preloader = value; value.addEventListener(ProgressEvent.PROGRESS, progressHandler); value.addEventListener(Event.COMPLETE, completeHandler); value.addEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler); value.addEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler); value.addEventListener(RSLEvent.RSL_ERROR, rslErrorHandler); value.addEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler); value.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler); } protected function get label():String{ return (_label); } protected function get labelRect():Rectangle{ return (new Rectangle(14, 17, 100, 16)); } override public function set visible(value:Boolean):void{ if (((!(_visible)) && (value))){ show(); } else { if (((_visible) && (!(value)))){ hide(); }; }; _visible = value; } protected function get showLabel():Boolean{ return (_showLabel); } public static function get initializingLabel():String{ return (_initializingLabel); } public static function set initializingLabel(value:String):void{ _initializingLabel = value; } } }//package mx.preloaders import flash.display.*; import flash.text.*; import flash.system.*; class ErrorField extends Sprite { private const TEXT_MARGIN_PX:int = 10; private const MAX_WIDTH_INCHES:int = 6; private const MIN_WIDTH_INCHES:int = 2; private var parentContainer:DisplayObjectContainer; private function ErrorField(parent:DisplayObjectContainer){ super(); this.parentContainer = parent; } public function show(errorText:String):void{ if ((((errorText == null)) || ((errorText.length == 0)))){ return; }; var stage:Stage = parentContainer.stage; var textField:TextField = new TextField(); textField.autoSize = TextFieldAutoSize.LEFT; textField.multiline = true; textField.wordWrap = true; textField.background = true; textField.defaultTextFormat = labelFormat; textField.text = errorText; textField.width = Math.max((MIN_WIDTH_INCHES * Capabilities.screenDPI), (stage.stageWidth - (TEXT_MARGIN_PX * 2))); textField.width = Math.min((MAX_WIDTH_INCHES * Capabilities.screenDPI), textField.width); textField.y = Math.max(0, ((stage.stageHeight - TEXT_MARGIN_PX) - textField.height)); textField.x = ((stage.stageWidth - textField.width) / 2); parentContainer.addChild(this); this.addChild(textField); } protected function get labelFormat():TextFormat{ var tf:TextFormat = new TextFormat(); tf.color = 0; tf.font = "Verdana"; tf.size = 10; return (tf); } }
Section 361
//IPreloaderDisplay (mx.preloaders.IPreloaderDisplay) package mx.preloaders { import flash.display.*; import flash.events.*; public interface IPreloaderDisplay extends IEventDispatcher { function set backgroundAlpha(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:Number):void; function get stageHeight():Number; function get stageWidth():Number; function set backgroundColor(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:uint):void; function set preloader(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:Sprite):void; function get backgroundImage():Object; function get backgroundSize():String; function get backgroundAlpha():Number; function set stageHeight(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:Number):void; function get backgroundColor():uint; function set stageWidth(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:Number):void; function set backgroundImage(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:Object):void; function set backgroundSize(E:\dev\3.1.0\frameworks\projects\framework\src;mx\preloaders;IPreloaderDisplay.as:String):void; function initialize():void; } }//package mx.preloaders
Section 362
//Preloader (mx.preloaders.Preloader) package mx.preloaders { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import flash.utils.*; public class Preloader extends Sprite { private var app:IEventDispatcher;// = null private var showDisplay:Boolean; private var timer:Timer; private var rslDone:Boolean;// = false private var displayClass:IPreloaderDisplay;// = null private var rslListLoader:RSLListLoader; mx_internal static const VERSION:String = "3.0.0.0"; public function Preloader(){ super(); } private function getByteValues():Object{ var li:LoaderInfo = root.loaderInfo; var loaded:int = li.bytesLoaded; var total:int = li.bytesTotal; var n:int = (rslListLoader) ? rslListLoader.getItemCount() : 0; var i:int; while (i < n) { loaded = (loaded + rslListLoader.getItem(i).loaded); total = (total + rslListLoader.getItem(i).total); i++; }; return ({loaded:loaded, total:total}); } private function appProgressHandler(event:Event):void{ dispatchEvent(new FlexEvent(FlexEvent.INIT_PROGRESS)); } private function dispatchAppEndEvent(event:Object=null):void{ dispatchEvent(new FlexEvent(FlexEvent.INIT_COMPLETE)); if (!showDisplay){ displayClassCompleteHandler(null); }; } private function ioErrorHandler(event:IOErrorEvent):void{ } private function appCreationCompleteHandler(event:FlexEvent):void{ dispatchAppEndEvent(); } mx_internal function rslErrorHandler(event:ErrorEvent):void{ var index:int = rslListLoader.getIndex(); var item:RSLItem = rslListLoader.getItem(index); var rslEvent:RSLEvent = new RSLEvent(RSLEvent.RSL_ERROR); rslEvent.bytesLoaded = 0; rslEvent.bytesTotal = 0; rslEvent.rslIndex = index; rslEvent.rslTotal = rslListLoader.getItemCount(); rslEvent.url = item.urlRequest; rslEvent.errorText = decodeURI(event.text); dispatchEvent(rslEvent); } public function initialize(showDisplay:Boolean, displayClassName:Class, backgroundColor:uint, backgroundAlpha:Number, backgroundImage:Object, backgroundSize:String, displayWidth:Number, displayHeight:Number, libs:Array=null, sizes:Array=null, rslList:Array=null, resourceModuleURLs:Array=null):void{ var n:int; var i:int; var node:RSLItem; var resourceModuleNode:ResourceModuleRSLItem; if (((((!((libs == null))) || (!((sizes == null))))) && (!((rslList == null))))){ throw (new Error("RSLs may only be specified by using libs and sizes or rslList, not both.")); }; root.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if (((libs) && ((libs.length > 0)))){ if (rslList == null){ rslList = []; }; n = libs.length; i = 0; while (i < n) { node = new RSLItem(libs[i]); rslList.push(node); i++; }; }; if (((resourceModuleURLs) && ((resourceModuleURLs.length > 0)))){ n = resourceModuleURLs.length; i = 0; while (i < n) { resourceModuleNode = new ResourceModuleRSLItem(resourceModuleURLs[i]); rslList.push(resourceModuleNode); i++; }; }; rslListLoader = new RSLListLoader(rslList); this.showDisplay = showDisplay; timer = new Timer(10); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); if (showDisplay){ displayClass = new (displayClassName); displayClass.addEventListener(Event.COMPLETE, displayClassCompleteHandler); addChild(DisplayObject(displayClass)); displayClass.backgroundColor = backgroundColor; displayClass.backgroundAlpha = backgroundAlpha; displayClass.backgroundImage = backgroundImage; displayClass.backgroundSize = backgroundSize; displayClass.stageWidth = displayWidth; displayClass.stageHeight = displayHeight; displayClass.initialize(); displayClass.preloader = this; }; if (rslListLoader.getItemCount() > 0){ rslListLoader.load(mx_internal::rslProgressHandler, mx_internal::rslCompleteHandler, mx_internal::rslErrorHandler, mx_internal::rslErrorHandler, mx_internal::rslErrorHandler); } else { rslDone = true; }; } mx_internal function rslProgressHandler(event:ProgressEvent):void{ var index:int = rslListLoader.getIndex(); var item:RSLItem = rslListLoader.getItem(index); var rslEvent:RSLEvent = new RSLEvent(RSLEvent.RSL_PROGRESS); rslEvent.bytesLoaded = event.bytesLoaded; rslEvent.bytesTotal = event.bytesTotal; rslEvent.rslIndex = index; rslEvent.rslTotal = rslListLoader.getItemCount(); rslEvent.url = item.urlRequest; dispatchEvent(rslEvent); } public function registerApplication(app:IEventDispatcher):void{ app.addEventListener("validatePropertiesComplete", appProgressHandler); app.addEventListener("validateSizeComplete", appProgressHandler); app.addEventListener("validateDisplayListComplete", appProgressHandler); app.addEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); this.app = app; } mx_internal function rslCompleteHandler(event:Event):void{ var index:int = rslListLoader.getIndex(); var item:RSLItem = rslListLoader.getItem(index); var rslEvent:RSLEvent = new RSLEvent(RSLEvent.RSL_COMPLETE); rslEvent.bytesLoaded = item.total; rslEvent.bytesTotal = item.total; rslEvent.rslIndex = index; rslEvent.rslTotal = rslListLoader.getItemCount(); rslEvent.url = item.urlRequest; dispatchEvent(rslEvent); rslDone = ((index + 1) == rslEvent.rslTotal); } private function timerHandler(event:TimerEvent):void{ if (!root){ return; }; var bytes:Object = getByteValues(); var loaded:int = bytes.loaded; var total:int = bytes.total; dispatchEvent(new ProgressEvent(ProgressEvent.PROGRESS, false, false, loaded, total)); if (((rslDone) && ((((((((loaded >= total)) && ((total > 0)))) || ((((total == 0)) && ((loaded > 0)))))) || ((((((root is MovieClip)) && ((MovieClip(root).totalFrames > 2)))) && ((MovieClip(root).framesLoaded >= 2)))))))){ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.reset(); dispatchEvent(new Event(Event.COMPLETE)); dispatchEvent(new FlexEvent(FlexEvent.INIT_PROGRESS)); }; } private function displayClassCompleteHandler(event:Event):void{ if (displayClass){ displayClass.removeEventListener(Event.COMPLETE, displayClassCompleteHandler); }; if (root){ root.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); }; if (app){ app.removeEventListener("validatePropertiesComplete", appProgressHandler); app.removeEventListener("validateSizeComplete", appProgressHandler); app.removeEventListener("validateDisplayListComplete", appProgressHandler); app.removeEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); app = null; }; dispatchEvent(new FlexEvent(FlexEvent.PRELOADER_DONE)); } } }//package mx.preloaders
Section 363
//IResourceBundle (mx.resources.IResourceBundle) package mx.resources { public interface IResourceBundle { function get content():Object; function get locale():String; function get bundleName():String; } }//package mx.resources
Section 364
//IResourceManager (mx.resources.IResourceManager) package mx.resources { import flash.events.*; import flash.system.*; public interface IResourceManager extends IEventDispatcher { function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean; function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class; function getLocales():Array; function removeResourceBundlesForLocale(E:\dev\3.1.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:String):void; function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle; function get localeChain():Array; function getInt(_arg1:String, _arg2:String, _arg3:String=null):int; function update():void; function set localeChain(E:\dev\3.1.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void; function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint; function addResourceBundle(E:\dev\3.1.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:IResourceBundle):void; function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array; function getBundleNamesForLocale(:String):Array; function removeResourceBundle(_arg1:String, _arg2:String):void; function getObject(_arg1:String, _arg2:String, _arg3:String=null); function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String; function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void; function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void; function getPreferredLocaleChain():Array; function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle; function initializeLocaleChain(E:\dev\3.1.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void; function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number; } }//package mx.resources
Section 365
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 366
//LocaleSorter (mx.resources.LocaleSorter) package mx.resources { import mx.core.*; public class LocaleSorter { mx_internal static const VERSION:String = "3.0.0.0"; public function LocaleSorter(){ super(); } private static function normalizeLocale(locale:String):String{ return (locale.toLowerCase().replace(/-/g, "_")); } public static function sortLocalesByPreference(appLocales:Array, systemPreferences:Array, ultimateFallbackLocale:String=null, addAll:Boolean=false):Array{ var result:Array; var hasLocale:Object; var i:int; var j:int; var k:int; var l:int; var locale:String; var plocale:LocaleID; var appLocales = appLocales; var systemPreferences = systemPreferences; var ultimateFallbackLocale = ultimateFallbackLocale; var addAll = addAll; var promote:Function = function (locale:String):void{ if (typeof(hasLocale[locale]) != "undefined"){ result.push(appLocales[hasLocale[locale]]); delete hasLocale[locale]; }; }; result = []; hasLocale = {}; var locales:Array = trimAndNormalize(appLocales); var preferenceLocales:Array = trimAndNormalize(systemPreferences); addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale); j = 0; while (j < locales.length) { hasLocale[locales[j]] = j; j = (j + 1); }; i = 0; l = preferenceLocales.length; while (i < l) { plocale = LocaleID.fromString(preferenceLocales[i]); promote(preferenceLocales[i]); promote(plocale.toString()); while (plocale.transformToParent()) { promote(plocale.toString()); }; plocale = LocaleID.fromString(preferenceLocales[i]); j = 0; while (j < l) { locale = preferenceLocales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; j = 0; k = locales.length; while (j < k) { locale = locales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; i = (i + 1); }; if (addAll){ j = 0; k = locales.length; while (j < k) { promote(locales[j]); j = (j + 1); }; }; return (result); } private static function addUltimateFallbackLocale(preferenceLocales:Array, ultimateFallbackLocale:String):void{ var locale:String; if (((!((ultimateFallbackLocale == null))) && (!((ultimateFallbackLocale == ""))))){ locale = normalizeLocale(ultimateFallbackLocale); if (preferenceLocales.indexOf(locale) == -1){ preferenceLocales.push(locale); }; }; } private static function trimAndNormalize(list:Array):Array{ var resultList:Array = []; var i:int; while (i < list.length) { resultList.push(normalizeLocale(list[i])); i++; }; return (resultList); } } }//package mx.resources class LocaleID { private var privateLangs:Boolean;// = false private var script:String;// = "" private var variants:Array; private var privates:Array; private var extensions:Object; private var lang:String;// = "" private var region:String;// = "" private var extended_langs:Array; public static const STATE_PRIMARY_LANGUAGE:int = 0; public static const STATE_REGION:int = 3; public static const STATE_EXTENDED_LANGUAGES:int = 1; public static const STATE_EXTENSIONS:int = 5; public static const STATE_SCRIPT:int = 2; public static const STATE_VARIANTS:int = 4; public static const STATE_PRIVATES:int = 6; private function LocaleID(){ extended_langs = []; variants = []; extensions = {}; privates = []; super(); } public function equals(locale:LocaleID):Boolean{ return ((toString() == locale.toString())); } public function canonicalize():void{ var i:String; for (i in extensions) { if (extensions.hasOwnProperty(i)){ if (extensions[i].length == 0){ delete extensions[i]; } else { extensions[i] = extensions[i].sort(); }; }; }; extended_langs = extended_langs.sort(); variants = variants.sort(); privates = privates.sort(); if (script == ""){ script = LocaleRegistry.getScriptByLang(lang); }; if ((((script == "")) && (!((region == ""))))){ script = LocaleRegistry.getScriptByLangAndRegion(lang, region); }; if ((((region == "")) && (!((script == ""))))){ region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); }; } public function toString():String{ var i:String; var stack:Array = [lang]; Array.prototype.push.apply(stack, extended_langs); if (script != ""){ stack.push(script); }; if (region != ""){ stack.push(region); }; Array.prototype.push.apply(stack, variants); for (i in extensions) { if (extensions.hasOwnProperty(i)){ stack.push(i); Array.prototype.push.apply(stack, extensions[i]); }; }; if (privates.length > 0){ stack.push("x"); Array.prototype.push.apply(stack, privates); }; return (stack.join("_")); } public function isSiblingOf(other:LocaleID):Boolean{ return ((((lang == other.lang)) && ((script == other.script)))); } public function transformToParent():Boolean{ var i:String; var lastExtension:Array; var defaultRegion:String; if (privates.length > 0){ privates.splice((privates.length - 1), 1); return (true); }; var lastExtensionName:String; for (i in extensions) { if (extensions.hasOwnProperty(i)){ lastExtensionName = i; }; }; if (lastExtensionName){ lastExtension = extensions[lastExtensionName]; if (lastExtension.length == 1){ delete extensions[lastExtensionName]; return (true); }; lastExtension.splice((lastExtension.length - 1), 1); return (true); }; if (variants.length > 0){ variants.splice((variants.length - 1), 1); return (true); }; if (script != ""){ if (LocaleRegistry.getScriptByLang(lang) != ""){ script = ""; return (true); }; if (region == ""){ defaultRegion = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); if (defaultRegion != ""){ region = defaultRegion; script = ""; return (true); }; }; }; if (region != ""){ if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){ region = ""; return (true); }; }; if (extended_langs.length > 0){ extended_langs.splice((extended_langs.length - 1), 1); return (true); }; return (false); } public static function fromString(str:String):LocaleID{ var last_extension:Array; var subtag:String; var subtag_length:int; var firstChar:String; var localeID:LocaleID = new (LocaleID); var state:int = STATE_PRIMARY_LANGUAGE; var subtags:Array = str.replace(/-/g, "_").split("_"); var i:int; var l:int = subtags.length; while (i < l) { subtag = subtags[i].toLowerCase(); if (state == STATE_PRIMARY_LANGUAGE){ if (subtag == "x"){ localeID.privateLangs = true; } else { if (subtag == "i"){ localeID.lang = (localeID.lang + "i-"); } else { localeID.lang = (localeID.lang + subtag); state = STATE_EXTENDED_LANGUAGES; }; }; } else { subtag_length = subtag.length; if (subtag_length == 0){ } else { firstChar = subtag.charAt(0).toLowerCase(); if ((((state <= STATE_EXTENDED_LANGUAGES)) && ((subtag_length == 3)))){ localeID.extended_langs.push(subtag); if (localeID.extended_langs.length == 3){ state = STATE_SCRIPT; }; } else { if ((((state <= STATE_SCRIPT)) && ((subtag_length == 4)))){ localeID.script = subtag; state = STATE_REGION; } else { if ((((state <= STATE_REGION)) && ((((subtag_length == 2)) || ((subtag_length == 3)))))){ localeID.region = subtag; state = STATE_VARIANTS; } else { if ((((state <= STATE_VARIANTS)) && ((((((((firstChar >= "a")) && ((firstChar <= "z")))) && ((subtag_length >= 5)))) || ((((((firstChar >= "0")) && ((firstChar <= "9")))) && ((subtag_length >= 4)))))))){ localeID.variants.push(subtag); state = STATE_VARIANTS; } else { if ((((state < STATE_PRIVATES)) && ((subtag_length == 1)))){ if (subtag == "x"){ state = STATE_PRIVATES; last_extension = localeID.privates; } else { state = STATE_EXTENSIONS; last_extension = ((localeID.extensions[subtag]) || ([])); localeID.extensions[subtag] = last_extension; }; } else { if (state >= STATE_EXTENSIONS){ last_extension.push(subtag); }; }; }; }; }; }; }; }; i++; }; localeID.canonicalize(); return (localeID); } } class LocaleRegistry { private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28}; private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"]; private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}}; private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32}; private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}}; private function LocaleRegistry(){ super(); } public static function getScriptByLangAndRegion(lang:String, region:String):String{ var langRegions:Object = SCRIPT_ID_BY_LANG_AND_REGION[lang]; if (langRegions == null){ return (""); }; var scriptID:Object = langRegions[region]; if (scriptID == null){ return (""); }; return (SCRIPTS[int(scriptID)].toLowerCase()); } public static function getScriptByLang(lang:String):String{ var scriptID:Object = SCRIPT_ID_BY_LANG[lang]; if (scriptID == null){ return (""); }; return (SCRIPTS[int(scriptID)].toLowerCase()); } public static function getDefaultRegionForLangAndScript(lang:String, script:String):String{ var langObj:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[lang]; var scriptID:Object = SCRIPT_BY_ID[script]; if ((((langObj == null)) || ((scriptID == null)))){ return (""); }; return (((langObj[int(scriptID)]) || (""))); } }
Section 367
//ResourceBundle (mx.resources.ResourceBundle) package mx.resources { import mx.core.*; import flash.system.*; import mx.utils.*; public class ResourceBundle implements IResourceBundle { mx_internal var _locale:String; private var _content:Object; mx_internal var _bundleName:String; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var backupApplicationDomain:ApplicationDomain; mx_internal static var locale:String; public function ResourceBundle(locale:String=null, bundleName:String=null){ _content = {}; super(); mx_internal::_locale = locale; mx_internal::_bundleName = bundleName; _content = getContent(); } protected function getContent():Object{ return ({}); } public function getString(key:String):String{ return (String(_getObject(key))); } public function get content():Object{ return (_content); } public function getBoolean(key:String, defaultValue:Boolean=true):Boolean{ var temp:String = _getObject(key).toLowerCase(); if (temp == "false"){ return (false); }; if (temp == "true"){ return (true); }; return (defaultValue); } public function getStringArray(key:String):Array{ var array:Array = _getObject(key).split(","); var n:int = array.length; var i:int; while (i < n) { array[i] = StringUtil.trim(array[i]); i++; }; return (array); } public function getObject(key:String):Object{ return (_getObject(key)); } private function _getObject(key:String):Object{ var value:Object = content[key]; if (!value){ throw (new Error(((("Key " + key) + " was not found in resource bundle ") + bundleName))); }; return (value); } public function get locale():String{ return (mx_internal::_locale); } public function get bundleName():String{ return (mx_internal::_bundleName); } public function getNumber(key:String):Number{ return (Number(_getObject(key))); } private static function getClassByName(name:String, domain:ApplicationDomain):Class{ var c:Class; if (domain.hasDefinition(name)){ c = (domain.getDefinition(name) as Class); }; return (c); } public static function getResourceBundle(baseName:String, currentDomain:ApplicationDomain=null):ResourceBundle{ var className:String; var bundleClass:Class; var bundleObj:Object; var bundle:ResourceBundle; if (!currentDomain){ currentDomain = ApplicationDomain.currentDomain; }; className = (((mx_internal::locale + "$") + baseName) + "_properties"); bundleClass = getClassByName(className, currentDomain); if (!bundleClass){ className = (baseName + "_properties"); bundleClass = getClassByName(className, currentDomain); }; if (!bundleClass){ className = baseName; bundleClass = getClassByName(className, currentDomain); }; if (((!(bundleClass)) && (mx_internal::backupApplicationDomain))){ className = (baseName + "_properties"); bundleClass = getClassByName(className, mx_internal::backupApplicationDomain); if (!bundleClass){ className = baseName; bundleClass = getClassByName(className, mx_internal::backupApplicationDomain); }; }; if (bundleClass){ bundleObj = new (bundleClass); if ((bundleObj is ResourceBundle)){ bundle = ResourceBundle(bundleObj); return (bundle); }; }; throw (new Error(("Could not find resource bundle " + baseName))); } } }//package mx.resources
Section 368
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:ResourceManagerImpl; private static var instance:IResourceManager; public function ResourceManager(){ super(); } public static function getInstance():IResourceManager{ if (!instance){ instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager")); //unresolved jump var _slot1 = e; instance = new ResourceManagerImpl(); }; return (instance); } } }//package mx.resources
Section 369
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import mx.core.*; import flash.events.*; import mx.events.*; import flash.system.*; import mx.modules.*; import flash.utils.*; import mx.utils.*; public class ResourceManagerImpl extends EventDispatcher implements IResourceManager { private var resourceModules:Object; private var initializedForNonFrameworkApp:Boolean;// = false private var localeMap:Object; private var _localeChain:Array; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IResourceManager; public function ResourceManagerImpl(){ localeMap = {}; resourceModules = {}; super(); } public function get localeChain():Array{ return (_localeChain); } public function set localeChain(value:Array):void{ _localeChain = value; update(); } public function getStringArray(bundleName:String, resourceName:String, locale:String=null):Array{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (null); }; var value:* = resourceBundle.content[resourceName]; var array:Array = String(value).split(","); var n:int = array.length; var i:int; while (i < n) { array[i] = StringUtil.trim(array[i]); i++; }; return (array); } mx_internal function installCompiledResourceBundle(applicationDomain:ApplicationDomain, locale:String, bundleName:String):void{ var packageName:String; var localName:String = bundleName; var colonIndex:int = bundleName.indexOf(":"); if (colonIndex != -1){ packageName = bundleName.substring(0, colonIndex); localName = bundleName.substring((colonIndex + 1)); }; if (getResourceBundle(locale, bundleName)){ return; }; var resourceBundleClassName = (((locale + "$") + localName) + "_properties"); if (packageName != null){ resourceBundleClassName = ((packageName + ".") + resourceBundleClassName); }; var bundleClass:Class; if (applicationDomain.hasDefinition(resourceBundleClassName)){ bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName)); }; if (!bundleClass){ resourceBundleClassName = bundleName; if (applicationDomain.hasDefinition(resourceBundleClassName)){ bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName)); }; }; if (!bundleClass){ resourceBundleClassName = (bundleName + "_properties"); if (applicationDomain.hasDefinition(resourceBundleClassName)){ bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName)); }; }; if (!bundleClass){ throw (new Error((((("Could not find compiled resource bundle '" + bundleName) + "' for locale '") + locale) + "'."))); }; var resourceBundle:ResourceBundle = ResourceBundle(new (bundleClass)); resourceBundle.mx_internal::_locale = locale; resourceBundle.mx_internal::_bundleName = bundleName; addResourceBundle(resourceBundle); } public function getString(bundleName:String, resourceName:String, parameters:Array=null, locale:String=null):String{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (null); }; var value:String = String(resourceBundle.content[resourceName]); if (parameters){ value = StringUtil.substitute(value, parameters); }; return (value); } public function loadResourceModule(url:String, updateFlag:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{ var moduleInfo:IModuleInfo; var resourceEventDispatcher:ResourceEventDispatcher; var timer:Timer; var timerHandler:Function; var url = url; var updateFlag = updateFlag; var applicationDomain = applicationDomain; var securityDomain = securityDomain; moduleInfo = ModuleManager.getModule(url); resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo); var readyHandler:Function = function (event:ModuleEvent):void{ var resourceModule:* = event.module.factory.create(); resourceModules[event.module.url].resourceModule = resourceModule; if (updateFlag){ update(); }; }; moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); var errorHandler:Function = function (event:ModuleEvent):void{ var resourceEvent:ResourceEvent; var message:String = ("Unable to load resource module from " + url); if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){ resourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable); resourceEvent.bytesLoaded = 0; resourceEvent.bytesTotal = 0; resourceEvent.errorText = message; resourceEventDispatcher.dispatchEvent(resourceEvent); } else { throw (new Error(message)); }; }; moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (event:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); moduleInfo.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (resourceEventDispatcher); } public function getLocales():Array{ var p:String; var locales:Array = []; for (p in localeMap) { locales.push(p); }; return (locales); } public function removeResourceBundlesForLocale(locale:String):void{ delete localeMap[locale]; } public function getResourceBundle(locale:String, bundleName:String):IResourceBundle{ var bundleMap:Object = localeMap[locale]; if (!bundleMap){ return (null); }; return (bundleMap[bundleName]); } private function dumpResourceModule(resourceModule):void{ var bundle:ResourceBundle; var p:String; for each (bundle in resourceModule.resourceBundles) { trace(bundle.locale, bundle.bundleName); for (p in bundle.content) { }; }; } public function addResourceBundle(resourceBundle:IResourceBundle):void{ var locale:String = resourceBundle.locale; var bundleName:String = resourceBundle.bundleName; if (!localeMap[locale]){ localeMap[locale] = {}; }; localeMap[locale][bundleName] = resourceBundle; } public function getObject(bundleName:String, resourceName:String, locale:String=null){ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (undefined); }; return (resourceBundle.content[resourceName]); } public function getInt(bundleName:String, resourceName:String, locale:String=null):int{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (0); }; var value:* = resourceBundle.content[resourceName]; return (int(value)); } private function findBundle(bundleName:String, resourceName:String, locale:String):IResourceBundle{ supportNonFrameworkApps(); return (((locale)!=null) ? getResourceBundle(locale, bundleName) : findResourceBundleWithResource(bundleName, resourceName)); } private function supportNonFrameworkApps():void{ if (initializedForNonFrameworkApp){ return; }; initializedForNonFrameworkApp = true; if (getLocales().length > 0){ return; }; var applicationDomain:ApplicationDomain = ApplicationDomain.currentDomain; if (!applicationDomain.hasDefinition("_CompiledResourceBundleInfo")){ return; }; var c:Class = Class(applicationDomain.getDefinition("_CompiledResourceBundleInfo")); var locales:Array = c.compiledLocales; var bundleNames:Array = c.compiledResourceBundleNames; installCompiledResourceBundles(applicationDomain, locales, bundleNames); localeChain = locales; } public function getBundleNamesForLocale(locale:String):Array{ var p:String; var bundleNames:Array = []; for (p in localeMap[locale]) { bundleNames.push(p); }; return (bundleNames); } public function getPreferredLocaleChain():Array{ return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true)); } public function getNumber(bundleName:String, resourceName:String, locale:String=null):Number{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (NaN); }; var value:* = resourceBundle.content[resourceName]; return (Number(value)); } public function update():void{ dispatchEvent(new Event(Event.CHANGE)); } public function getClass(bundleName:String, resourceName:String, locale:String=null):Class{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (null); }; var value:* = resourceBundle.content[resourceName]; return ((value as Class)); } public function removeResourceBundle(locale:String, bundleName:String):void{ delete localeMap[locale][bundleName]; if (getBundleNamesForLocale(locale).length == 0){ delete localeMap[locale]; }; } public function initializeLocaleChain(compiledLocales:Array):void{ localeChain = LocaleSorter.sortLocalesByPreference(compiledLocales, getSystemPreferredLocales(), null, true); } public function findResourceBundleWithResource(bundleName:String, resourceName:String):IResourceBundle{ var locale:String; var bundleMap:Object; var bundle:ResourceBundle; if (!_localeChain){ return (null); }; var n:int = _localeChain.length; var i:int; while (i < n) { locale = localeChain[i]; bundleMap = localeMap[locale]; if (!bundleMap){ } else { bundle = bundleMap[bundleName]; if (!bundle){ } else { if ((resourceName in bundle.content)){ return (bundle); }; }; }; i++; }; return (null); } public function getUint(bundleName:String, resourceName:String, locale:String=null):uint{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (0); }; var value:* = resourceBundle.content[resourceName]; return (uint(value)); } private function getSystemPreferredLocales():Array{ var systemPreferences:Array; if (Capabilities["languages"]){ systemPreferences = Capabilities["languages"]; } else { systemPreferences = [Capabilities.language]; }; return (systemPreferences); } public function installCompiledResourceBundles(applicationDomain:ApplicationDomain, locales:Array, bundleNames:Array):void{ var locale:String; var j:int; var bundleName:String; var n:int = (locales) ? locales.length : 0; var m:int = (bundleNames) ? bundleNames.length : 0; var i:int; while (i < n) { locale = locales[i]; j = 0; while (j < m) { bundleName = bundleNames[j]; mx_internal::installCompiledResourceBundle(applicationDomain, locale, bundleName); j++; }; i++; }; } public function getBoolean(bundleName:String, resourceName:String, locale:String=null):Boolean{ var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale); if (!resourceBundle){ return (false); }; var value:* = resourceBundle.content[resourceName]; return ((String(value).toLowerCase() == "true")); } public function unloadResourceModule(url:String, update:Boolean=true):void{ throw (new Error("unloadResourceModule() is not yet implemented.")); } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.events.*; import mx.modules.*; class ResourceModuleInfo { public var resourceModule:IResourceModule; public var errorHandler:Function; public var readyHandler:Function; public var moduleInfo:IModuleInfo; private function ResourceModuleInfo(moduleInfo:IModuleInfo, readyHandler:Function, errorHandler:Function){ super(); this.moduleInfo = moduleInfo; this.readyHandler = readyHandler; this.errorHandler = errorHandler; } } class ResourceEventDispatcher extends EventDispatcher { private function ResourceEventDispatcher(moduleInfo:IModuleInfo){ super(); moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(event:ModuleEvent):void{ var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, event.bubbles, event.cancelable); resourceEvent.bytesLoaded = event.bytesLoaded; resourceEvent.bytesTotal = event.bytesTotal; dispatchEvent(resourceEvent); } private function moduleInfo_readyHandler(event:ModuleEvent):void{ var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE); dispatchEvent(resourceEvent); } private function moduleInfo_errorHandler(event:ModuleEvent):void{ var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable); resourceEvent.bytesLoaded = event.bytesLoaded; resourceEvent.bytesTotal = event.bytesTotal; resourceEvent.errorText = event.errorText; dispatchEvent(resourceEvent); } }
Section 370
//IResponder (mx.rpc.IResponder) package mx.rpc { public interface IResponder { function fault(:Object):void; function result(:Object):void; } }//package mx.rpc
Section 371
//ApplicationBackground (mx.skins.halo.ApplicationBackground) package mx.skins.halo { import flash.display.*; import mx.skins.*; import mx.utils.*; public class ApplicationBackground extends ProgrammaticSkin { mx_internal static const VERSION:String = "3.0.0.0"; public function ApplicationBackground(){ super(); } override public function get measuredWidth():Number{ return (8); } override public function get measuredHeight():Number{ return (8); } override protected function updateDisplayList(w:Number, h:Number):void{ var bgColor:uint; super.updateDisplayList(w, h); var g:Graphics = graphics; var fillColors:Array = getStyle("backgroundGradientColors"); var fillAlphas:Array = getStyle("backgroundGradientAlphas"); if (!fillColors){ bgColor = getStyle("backgroundColor"); if (isNaN(bgColor)){ bgColor = 0xFFFFFF; }; fillColors = []; fillColors[0] = ColorUtil.adjustBrightness(bgColor, 15); fillColors[1] = ColorUtil.adjustBrightness(bgColor, -25); }; if (!fillAlphas){ fillAlphas = [1, 1]; }; g.clear(); drawRoundRect(0, 0, w, h, 0, fillColors, fillAlphas, verticalGradientMatrix(0, 0, w, h)); } } }//package mx.skins.halo
Section 372
//BusyCursor (mx.skins.halo.BusyCursor) package mx.skins.halo { import flash.events.*; import flash.display.*; import mx.core.*; import mx.styles.*; public class BusyCursor extends FlexSprite { private var hourHand:Shape; private var minuteHand:Shape; mx_internal static const VERSION:String = "3.0.0.0"; public function BusyCursor(){ var g:Graphics; super(); var cursorManagerStyleDeclaration:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); var cursorClass:Class = cursorManagerStyleDeclaration.getStyle("busyCursorBackground"); var cursorHolder:DisplayObject = new (cursorClass); if ((cursorHolder is InteractiveObject)){ InteractiveObject(cursorHolder).mouseEnabled = false; }; addChild(cursorHolder); var xOff:Number = -0.5; var yOff:Number = -0.5; minuteHand = new FlexShape(); minuteHand.name = "minuteHand"; g = minuteHand.graphics; g.beginFill(0); g.moveTo(xOff, yOff); g.lineTo((1 + xOff), (0 + yOff)); g.lineTo((1 + xOff), (5 + yOff)); g.lineTo((0 + xOff), (5 + yOff)); g.lineTo((0 + xOff), (0 + yOff)); g.endFill(); addChild(minuteHand); hourHand = new FlexShape(); hourHand.name = "hourHand"; g = hourHand.graphics; g.beginFill(0); g.moveTo(xOff, yOff); g.lineTo((4 + xOff), (0 + yOff)); g.lineTo((4 + xOff), (1 + yOff)); g.lineTo((0 + xOff), (1 + yOff)); g.lineTo((0 + xOff), (0 + yOff)); g.endFill(); addChild(hourHand); addEventListener(Event.ADDED, handleAdded); addEventListener(Event.REMOVED, handleRemoved); } private function enterFrameHandler(event:Event):void{ minuteHand.rotation = (minuteHand.rotation + 12); hourHand.rotation = (hourHand.rotation + 1); } private function handleAdded(event:Event):void{ addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function handleRemoved(event:Event):void{ removeEventListener(Event.ENTER_FRAME, enterFrameHandler); } } }//package mx.skins.halo
Section 373
//ButtonSkin (mx.skins.halo.ButtonSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class ButtonSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; public function ButtonSkin(){ super(); } override public function get measuredWidth():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_WIDTH); } override public function get measuredHeight():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_HEIGHT); } override protected function updateDisplayList(w:Number, h:Number):void{ var tmp:Number; var upFillColors:Array; var upFillAlphas:Array; var overFillColors:Array; var overFillAlphas:Array; var disFillColors:Array; var disFillAlphas:Array; super.updateDisplayList(w, h); var borderColor:uint = getStyle("borderColor"); var cornerRadius:Number = getStyle("cornerRadius"); var fillAlphas:Array = getStyle("fillAlphas"); var fillColors:Array = getStyle("fillColors"); StyleManager.getColorNames(fillColors); var highlightAlphas:Array = getStyle("highlightAlphas"); var themeColor:uint = getStyle("themeColor"); var derStyles:Object = calcDerivedStyles(themeColor, fillColors[0], fillColors[1]); var borderColorDrk1:Number = ColorUtil.adjustBrightness2(borderColor, -50); var themeColorDrk1:Number = ColorUtil.adjustBrightness2(themeColor, -25); var emph:Boolean; if ((parent is IButton)){ emph = IButton(parent).emphasized; }; var cr:Number = Math.max(0, cornerRadius); var cr1:Number = Math.max(0, (cornerRadius - 1)); var cr2:Number = Math.max(0, (cornerRadius - 2)); graphics.clear(); switch (name){ case "selectedUpSkin": case "selectedOverSkin": drawRoundRect(0, 0, w, h, cr, [themeColor, themeColorDrk1], 1, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(1, 1, (w - 2), (h - 2), cr1, [fillColors[1], fillColors[1]], 1, verticalGradientMatrix(0, 0, (w - 2), (h - 2))); break; case "upSkin": upFillColors = [fillColors[0], fillColors[1]]; upFillAlphas = [fillAlphas[0], fillAlphas[1]]; if (emph){ drawRoundRect(0, 0, w, h, cr, [themeColor, themeColorDrk1], 1, verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:2, y:2, w:(w - 4), h:(h - 4), r:(cornerRadius - 2)}); drawRoundRect(2, 2, (w - 4), (h - 4), cr2, upFillColors, upFillAlphas, verticalGradientMatrix(2, 2, (w - 2), (h - 2))); drawRoundRect(2, 2, (w - 4), ((h - 4) / 2), {tl:cr2, tr:cr2, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(1, 1, (w - 2), ((h - 2) / 2))); } else { drawRoundRect(0, 0, w, h, cr, [borderColor, borderColorDrk1], 1, verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:(cornerRadius - 1)}); drawRoundRect(1, 1, (w - 2), (h - 2), cr1, upFillColors, upFillAlphas, verticalGradientMatrix(1, 1, (w - 2), (h - 2))); drawRoundRect(1, 1, (w - 2), ((h - 2) / 2), {tl:cr1, tr:cr1, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(1, 1, (w - 2), ((h - 2) / 2))); }; break; case "overSkin": if (fillColors.length > 2){ overFillColors = [fillColors[2], fillColors[3]]; } else { overFillColors = [fillColors[0], fillColors[1]]; }; if (fillAlphas.length > 2){ overFillAlphas = [fillAlphas[2], fillAlphas[3]]; } else { overFillAlphas = [fillAlphas[0], fillAlphas[1]]; }; drawRoundRect(0, 0, w, h, cr, [themeColor, themeColorDrk1], 1, verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:(cornerRadius - 1)}); drawRoundRect(1, 1, (w - 2), (h - 2), cr1, overFillColors, overFillAlphas, verticalGradientMatrix(1, 1, (w - 2), (h - 2))); drawRoundRect(1, 1, (w - 2), ((h - 2) / 2), {tl:cr1, tr:cr1, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(1, 1, (w - 2), ((h - 2) / 2))); break; case "downSkin": case "selectedDownSkin": drawRoundRect(0, 0, w, h, cr, [themeColor, themeColorDrk1], 1, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(1, 1, (w - 2), (h - 2), cr1, [derStyles.fillColorPress1, derStyles.fillColorPress2], 1, verticalGradientMatrix(1, 1, (w - 2), (h - 2))); drawRoundRect(2, 2, (w - 4), ((h - 4) / 2), {tl:cr2, tr:cr2, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(1, 1, (w - 2), ((h - 2) / 2))); break; case "disabledSkin": case "selectedDisabledSkin": disFillColors = [fillColors[0], fillColors[1]]; disFillAlphas = [Math.max(0, (fillAlphas[0] - 0.15)), Math.max(0, (fillAlphas[1] - 0.15))]; drawRoundRect(0, 0, w, h, cr, [borderColor, borderColorDrk1], 0.5, verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:(cornerRadius - 1)}); drawRoundRect(1, 1, (w - 2), (h - 2), cr1, disFillColors, disFillAlphas, verticalGradientMatrix(1, 1, (w - 2), (h - 2))); break; }; } private static function calcDerivedStyles(themeColor:uint, fillColor0:uint, fillColor1:uint):Object{ var o:Object; var key:String = HaloColors.getCacheKey(themeColor, fillColor0, fillColor1); if (!cache[key]){ o = (cache[key] = {}); HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1); }; return (cache[key]); } } }//package mx.skins.halo
Section 374
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.skins.*; import mx.graphics.*; import mx.utils.*; public class HaloBorder extends RectangularBorder { mx_internal var radiusObj:Object; mx_internal var backgroundHole:Object; mx_internal var radius:Number; mx_internal var bRoundedCorners:Boolean; mx_internal var backgroundColor:Object; private var dropShadow:RectangularDropShadow; protected var _borderMetrics:EdgeMetrics; mx_internal var backgroundAlphaName:String; mx_internal static const VERSION:String = "3.0.0.0"; private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2}; public function HaloBorder(){ super(); BORDER_WIDTHS["default"] = 3; } override public function styleChanged(styleProp:String):void{ if ((((((((((styleProp == null)) || ((styleProp == "styleName")))) || ((styleProp == "borderStyle")))) || ((styleProp == "borderThickness")))) || ((styleProp == "borderSides")))){ _borderMetrics = null; }; invalidateDisplayList(); } override protected function updateDisplayList(w:Number, h:Number):void{ if (((isNaN(w)) || (isNaN(h)))){ return; }; super.updateDisplayList(w, h); backgroundColor = getBackgroundColor(); bRoundedCorners = false; backgroundAlphaName = "backgroundAlpha"; backgroundHole = null; radius = 0; radiusObj = null; drawBorder(w, h); drawBackground(w, h); } mx_internal function drawBorder(w:Number, h:Number):void{ var backgroundAlpha:Number; var borderCapColor:uint; var borderColor:uint; var borderSides:String; var borderThickness:Number; var buttonColor:uint; var docked:Boolean; var dropdownBorderColor:uint; var fillColors:Array; var footerColors:Array; var highlightColor:uint; var shadowCapColor:uint; var shadowColor:uint; var themeColor:uint; var translucent:Boolean; var hole:Object; var borderColorDrk1:Number; var borderColorDrk2:Number; var borderColorLt1:Number; var borderInnerColor:Object; var contentAlpha:Number; var br:Number; var parentContainer:IContainer; var vm:EdgeMetrics; var showChrome:Boolean; var borderAlpha:Number; var fillAlphas:Array; var backgroundColorNum:uint; var bHasAllSides:Boolean; var holeRadius:Number; var borderStyle:String = getStyle("borderStyle"); var highlightAlphas:Array = getStyle("highlightAlphas"); var drawTopHighlight:Boolean; var g:Graphics = graphics; g.clear(); if (borderStyle){ switch (borderStyle){ case "none": break; case "inset": borderColor = getStyle("borderColor"); borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40); borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, 25); borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40); borderInnerColor = backgroundColor; if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){ borderInnerColor = borderColor; }; draw3dBorder(borderColorDrk2, borderColorDrk1, borderColorLt1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor)); break; case "outset": borderColor = getStyle("borderColor"); borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40); borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, -25); borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40); borderInnerColor = backgroundColor; if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){ borderInnerColor = borderColor; }; draw3dBorder(borderColorDrk2, borderColorLt1, borderColorDrk1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor)); break; case "alert": case "default": if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ contentAlpha = getStyle("backgroundAlpha"); backgroundAlpha = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); br = (bRoundedCorners) ? radius : 0; drawDropShadow(0, 0, w, h, radius, radius, br, br); if (!bRoundedCorners){ radiusObj = {}; }; parentContainer = (parent as IContainer); if (parentContainer){ vm = parentContainer.viewMetrics; backgroundHole = {x:vm.left, y:vm.top, w:Math.max(0, ((w - vm.left) - vm.right)), h:Math.max(0, ((h - vm.top) - vm.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (contentAlpha != backgroundAlpha){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; g.beginFill(Number(backgroundColor), contentAlpha); g.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); g.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; break; case "dropdown": dropdownBorderColor = getStyle("dropdownBorderColor"); drawDropShadow(0, 0, w, h, 4, 0, 0, 4); drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, 5068126, 1); drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, w, h)); drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3))); if (!isNaN(dropdownBorderColor)){ drawRoundRect(0, 0, (w + 1), h, {tl:4, tr:0, br:0, bl:4}, dropdownBorderColor, 0.5); drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3))); }; backgroundColor = null; break; case "menuBorder": borderColor = getStyle("borderColor"); drawRoundRect(0, 0, w, h, 0, borderColor, 1); drawDropShadow(1, 1, (w - 2), (h - 2), 0, 0, 0, 0); break; case "comboNonEdit": break; case "controlBar": if ((((w == 0)) || ((h == 0)))){ backgroundColor = null; break; }; footerColors = getStyle("footerColors"); showChrome = !((footerColors == null)); borderAlpha = getStyle("borderAlpha"); if (showChrome){ g.lineStyle(0, ((footerColors.length > 0)) ? footerColors[1] : footerColors[0], borderAlpha); g.moveTo(0, 0); g.lineTo(w, 0); g.lineStyle(0, 0, 0); if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){ radius = IStyleClient(parent.parent).getStyle("cornerRadius"); borderAlpha = IStyleClient(parent.parent).getStyle("borderAlpha"); }; if (isNaN(radius)){ radius = 0; }; if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){ radius = 0; }; drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h)); if ((((footerColors.length > 1)) && (!((footerColors[0] == footerColors[1]))))){ drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(1, 2, (w - 2), (h - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h)); }; }; backgroundColor = null; break; case "applicationControlBar": fillColors = getStyle("fillColors"); backgroundAlpha = getStyle("backgroundAlpha"); highlightAlphas = getStyle("highlightAlphas"); fillAlphas = getStyle("fillAlphas"); docked = getStyle("docked"); backgroundColorNum = uint(backgroundColor); radius = getStyle("cornerRadius"); if (!radius){ radius = 0; }; drawDropShadow(0, 1, w, (h - 1), radius, radius, radius, radius); if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){ drawRoundRect(0, 1, w, (h - 1), radius, backgroundColorNum, backgroundAlpha, verticalGradientMatrix(0, 0, w, h)); }; drawRoundRect(0, 1, w, (h - 1), radius, fillColors, fillAlphas, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(0, 1, w, ((h / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, ((h / 2) - 1))); drawRoundRect(0, 1, w, (h - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:w, h:(h - 2), r:{tl:radius, tr:radius, bl:0, br:0}}); backgroundColor = null; break; default: borderColor = getStyle("borderColor"); borderThickness = getStyle("borderThickness"); borderSides = getStyle("borderSides"); bHasAllSides = true; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); holeRadius = Math.max((radius - borderThickness), 0); hole = {x:borderThickness, y:borderThickness, w:(w - (borderThickness * 2)), h:(h - (borderThickness * 2)), r:holeRadius}; if (!bRoundedCorners){ radiusObj = {tl:radius, tr:radius, bl:0, br:0}; hole.r = {tl:holeRadius, tr:holeRadius, bl:0, br:0}; }; if (borderSides != "left top right bottom"){ hole.r = {tl:holeRadius, tr:holeRadius, bl:(bRoundedCorners) ? holeRadius : 0, br:(bRoundedCorners) ? holeRadius : 0}; radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0}; borderSides = borderSides.toLowerCase(); if (borderSides.indexOf("left") == -1){ hole.x = 0; hole.w = (hole.w + borderThickness); hole.r.tl = 0; hole.r.bl = 0; radiusObj.tl = 0; radiusObj.bl = 0; bHasAllSides = false; }; if (borderSides.indexOf("top") == -1){ hole.y = 0; hole.h = (hole.h + borderThickness); hole.r.tl = 0; hole.r.tr = 0; radiusObj.tl = 0; radiusObj.tr = 0; bHasAllSides = false; }; if (borderSides.indexOf("right") == -1){ hole.w = (hole.w + borderThickness); hole.r.tr = 0; hole.r.br = 0; radiusObj.tr = 0; radiusObj.br = 0; bHasAllSides = false; }; if (borderSides.indexOf("bottom") == -1){ hole.h = (hole.h + borderThickness); hole.r.bl = 0; hole.r.br = 0; radiusObj.bl = 0; radiusObj.br = 0; bHasAllSides = false; }; }; if ((((radius == 0)) && (bHasAllSides))){ drawDropShadow(0, 0, w, h, 0, 0, 0, 0); g.beginFill(borderColor); g.drawRect(0, 0, w, h); g.drawRect(borderThickness, borderThickness, (w - (2 * borderThickness)), (h - (2 * borderThickness))); g.endFill(); } else { if (radiusObj){ drawDropShadow(0, 0, w, h, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl); drawRoundRect(0, 0, w, h, radiusObj, borderColor, 1, null, null, null, hole); radiusObj.tl = Math.max((radius - borderThickness), 0); radiusObj.tr = Math.max((radius - borderThickness), 0); radiusObj.bl = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0; radiusObj.br = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0; } else { drawDropShadow(0, 0, w, h, radius, radius, radius, radius); drawRoundRect(0, 0, w, h, radius, borderColor, 1, null, null, null, hole); radius = Math.max((getStyle("cornerRadius") - borderThickness), 0); }; }; }; }; } mx_internal function drawBackground(w:Number, h:Number):void{ var nd:Number; var alpha:Number; var bm:EdgeMetrics; var g:Graphics; var bottom:Number; var bottomRadius:Number; var highlightAlphas:Array; var highlightAlpha:Number; if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){ nd = Number(backgroundColor); alpha = 1; bm = getBackgroundColorMetrics(); g = graphics; if (((((isNaN(nd)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){ alpha = 0; nd = 0xFFFFFF; } else { alpha = getStyle(backgroundAlphaName); }; if (((!((radius == 0))) || (backgroundHole))){ bottom = bm.bottom; if (radiusObj){ bottomRadius = (bRoundedCorners) ? radius : 0; radiusObj = {tl:radius, tr:radius, bl:bottomRadius, br:bottomRadius}; drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radiusObj, nd, alpha, null, GradientType.LINEAR, null, backgroundHole); } else { drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radius, nd, alpha, null, GradientType.LINEAR, null, backgroundHole); }; } else { g.beginFill(nd, alpha); g.drawRect(bm.left, bm.top, ((w - bm.right) - bm.left), ((h - bm.bottom) - bm.top)); g.endFill(); }; }; var borderStyle:String = getStyle("borderStyle"); if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((borderStyle == "alert")) || ((borderStyle == "default")))))) && ((getStyle("headerColors") == null)))){ highlightAlphas = getStyle("highlightAlphas"); highlightAlpha = (highlightAlphas) ? highlightAlphas[0] : 0.3; drawRoundRect(0, 0, w, h, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, highlightAlpha, null, GradientType.LINEAR, null, {x:0, y:1, w:w, h:(h - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } mx_internal function drawDropShadow(x:Number, y:Number, width:Number, height:Number, tlRadius:Number, trRadius:Number, brRadius:Number, blRadius:Number):void{ var angle:Number; var docked:Boolean; if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((width == 0)))) || ((height == 0)))){ return; }; var distance:Number = getStyle("shadowDistance"); var direction:String = getStyle("shadowDirection"); if (getStyle("borderStyle") == "applicationControlBar"){ docked = getStyle("docked"); angle = (docked) ? 90 : getDropShadowAngle(distance, direction); distance = Math.abs(distance); } else { angle = getDropShadowAngle(distance, direction); distance = (Math.abs(distance) + 2); }; if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = distance; dropShadow.angle = angle; dropShadow.color = getStyle("dropShadowColor"); dropShadow.alpha = 0.4; dropShadow.tlRadius = tlRadius; dropShadow.trRadius = trRadius; dropShadow.blRadius = blRadius; dropShadow.brRadius = brRadius; dropShadow.drawShadow(graphics, x, y, width, height); } mx_internal function getBackgroundColor():Object{ var color:Object; var p:IUIComponent = (parent as IUIComponent); if (((p) && (!(p.enabled)))){ color = getStyle("backgroundDisabledColor"); if (((!((color === null))) && (StyleManager.isValidStyleValue(color)))){ return (color); }; }; return (getStyle("backgroundColor")); } mx_internal function draw3dBorder(c1:Number, c2:Number, c3:Number, c4:Number, c5:Number, c6:Number):void{ var w:Number = width; var h:Number = height; drawDropShadow(0, 0, width, height, 0, 0, 0, 0); var g:Graphics = graphics; g.beginFill(c1); g.drawRect(0, 0, w, h); g.drawRect(1, 0, (w - 2), h); g.endFill(); g.beginFill(c2); g.drawRect(1, 0, (w - 2), 1); g.endFill(); g.beginFill(c3); g.drawRect(1, (h - 1), (w - 2), 1); g.endFill(); g.beginFill(c4); g.drawRect(1, 1, (w - 2), 1); g.endFill(); g.beginFill(c5); g.drawRect(1, (h - 2), (w - 2), 1); g.endFill(); g.beginFill(c6); g.drawRect(1, 2, (w - 2), (h - 4)); g.drawRect(2, 2, (w - 4), (h - 4)); g.endFill(); } mx_internal function getBackgroundColorMetrics():EdgeMetrics{ return (borderMetrics); } mx_internal function getDropShadowAngle(distance:Number, direction:String):Number{ if (direction == "left"){ return (((distance >= 0)) ? 135 : 225); } else { if (direction == "right"){ return (((distance >= 0)) ? 45 : 315); //unresolved jump }; }; return (!NULL!); } override public function get borderMetrics():EdgeMetrics{ var borderThickness:Number; var borderSides:String; if (_borderMetrics){ return (_borderMetrics); }; var borderStyle:String = getStyle("borderStyle"); if ((((borderStyle == "default")) || ((borderStyle == "alert")))){ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _borderMetrics = new EdgeMetrics(0, 0, 0, 0); } else { return (EdgeMetrics.EMPTY); }; } else { if ((((borderStyle == "controlBar")) || ((borderStyle == "applicationControlBar")))){ _borderMetrics = new EdgeMetrics(1, 1, 1, 1); } else { if (borderStyle == "solid"){ borderThickness = getStyle("borderThickness"); if (isNaN(borderThickness)){ borderThickness = 0; }; _borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness); borderSides = getStyle("borderSides"); if (borderSides != "left top right bottom"){ if (borderSides.indexOf("left") == -1){ _borderMetrics.left = 0; }; if (borderSides.indexOf("top") == -1){ _borderMetrics.top = 0; }; if (borderSides.indexOf("right") == -1){ _borderMetrics.right = 0; }; if (borderSides.indexOf("bottom") == -1){ _borderMetrics.bottom = 0; }; }; } else { borderThickness = BORDER_WIDTHS[borderStyle]; if (isNaN(borderThickness)){ borderThickness = 0; }; _borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness); }; }; }; return (_borderMetrics); } } }//package mx.skins.halo
Section 375
//HaloColors (mx.skins.halo.HaloColors) package mx.skins.halo { import mx.utils.*; public class HaloColors { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; public function HaloColors(){ super(); } public static function getCacheKey(... _args):String{ return (_args.join(",")); } public static function addHaloColors(colors:Object, themeColor:uint, fillColor0:uint, fillColor1:uint):void{ var key:String = getCacheKey(themeColor, fillColor0, fillColor1); var o:Object = cache[key]; if (!o){ o = (cache[key] = {}); o.themeColLgt = ColorUtil.adjustBrightness(themeColor, 100); o.themeColDrk1 = ColorUtil.adjustBrightness(themeColor, -75); o.themeColDrk2 = ColorUtil.adjustBrightness(themeColor, -25); o.fillColorBright1 = ColorUtil.adjustBrightness2(fillColor0, 15); o.fillColorBright2 = ColorUtil.adjustBrightness2(fillColor1, 15); o.fillColorPress1 = ColorUtil.adjustBrightness2(themeColor, 85); o.fillColorPress2 = ColorUtil.adjustBrightness2(themeColor, 60); o.bevelHighlight1 = ColorUtil.adjustBrightness2(fillColor0, 40); o.bevelHighlight2 = ColorUtil.adjustBrightness2(fillColor1, 40); }; colors.themeColLgt = o.themeColLgt; colors.themeColDrk1 = o.themeColDrk1; colors.themeColDrk2 = o.themeColDrk2; colors.fillColorBright1 = o.fillColorBright1; colors.fillColorBright2 = o.fillColorBright2; colors.fillColorPress1 = o.fillColorPress1; colors.fillColorPress2 = o.fillColorPress2; colors.bevelHighlight1 = o.bevelHighlight1; colors.bevelHighlight2 = o.bevelHighlight2; } } }//package mx.skins.halo
Section 376
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function HaloFocusRect(){ super(); } public function get inheritingStyles():Object{ return (styleName.inheritingStyles); } public function set inheritingStyles(value:Object):void{ } public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{ } public function registerEffects(effects:Array):void{ } public function regenerateStyleCache(recursive:Boolean):void{ } public function get styleDeclaration():CSSStyleDeclaration{ return (CSSStyleDeclaration(styleName)); } public function getClassStyleDeclarations():Array{ return ([]); } public function get className():String{ return ("HaloFocusRect"); } public function clearStyle(styleProp:String):void{ if (styleProp == "focusColor"){ _focusColor = NaN; }; } public function setStyle(styleProp:String, newValue):void{ if (styleProp == "focusColor"){ _focusColor = newValue; }; } public function set nonInheritingStyles(value:Object):void{ } public function get nonInheritingStyles():Object{ return (styleName.nonInheritingStyles); } override protected function updateDisplayList(w:Number, h:Number):void{ var tl:Number; var bl:Number; var tr:Number; var br:Number; var nr:Number; var ellipseSize:Number; super.updateDisplayList(w, h); var focusBlendMode:String = getStyle("focusBlendMode"); var focusAlpha:Number = getStyle("focusAlpha"); var focusColor:Number = getStyle("focusColor"); var cornerRadius:Number = getStyle("cornerRadius"); var focusThickness:Number = getStyle("focusThickness"); var focusRoundedCorners:String = getStyle("focusRoundedCorners"); var themeColor:Number = getStyle("themeColor"); var rectColor:Number = focusColor; if (isNaN(rectColor)){ rectColor = themeColor; }; var g:Graphics = graphics; g.clear(); blendMode = focusBlendMode; if (((!((focusRoundedCorners == "tl tr bl br"))) && ((cornerRadius > 0)))){ tl = 0; bl = 0; tr = 0; br = 0; nr = (cornerRadius + focusThickness); if (focusRoundedCorners.indexOf("tl") >= 0){ tl = nr; }; if (focusRoundedCorners.indexOf("tr") >= 0){ tr = nr; }; if (focusRoundedCorners.indexOf("bl") >= 0){ bl = nr; }; if (focusRoundedCorners.indexOf("br") >= 0){ br = nr; }; g.beginFill(rectColor, focusAlpha); GraphicsUtil.drawRoundRectComplex(g, 0, 0, w, h, tl, tr, bl, br); tl = (tl) ? cornerRadius : 0; tr = (tr) ? cornerRadius : 0; bl = (bl) ? cornerRadius : 0; br = (br) ? cornerRadius : 0; GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br); g.endFill(); nr = (cornerRadius + (focusThickness / 2)); tl = (tl) ? nr : 0; tr = (tr) ? nr : 0; bl = (bl) ? nr : 0; br = (br) ? nr : 0; g.beginFill(rectColor, focusAlpha); GraphicsUtil.drawRoundRectComplex(g, (focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), tl, tr, bl, br); tl = (tl) ? cornerRadius : 0; tr = (tr) ? cornerRadius : 0; bl = (bl) ? cornerRadius : 0; br = (br) ? cornerRadius : 0; GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br); g.endFill(); } else { g.beginFill(rectColor, focusAlpha); ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + focusThickness) : 0 * 2); g.drawRoundRect(0, 0, w, h, ellipseSize, ellipseSize); ellipseSize = (cornerRadius * 2); g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize); g.endFill(); g.beginFill(rectColor, focusAlpha); ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + (focusThickness / 2)) : 0 * 2); g.drawRoundRect((focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), ellipseSize, ellipseSize); ellipseSize = (cornerRadius * 2); g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize); g.endFill(); }; } override public function getStyle(styleProp:String){ return (((styleProp == "focusColor")) ? _focusColor : super.getStyle(styleProp)); } public function set styleDeclaration(value:CSSStyleDeclaration):void{ } } }//package mx.skins.halo
Section 377
//PanelSkin (mx.skins.halo.PanelSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import flash.utils.*; public class PanelSkin extends HaloBorder { private var oldControlBarHeight:Number; protected var _panelBorderMetrics:EdgeMetrics; private var oldHeaderHeight:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var panels:Object = {}; public function PanelSkin(){ super(); } override public function styleChanged(styleProp:String):void{ super.styleChanged(styleProp); if ((((((((((((((((((styleProp == null)) || ((styleProp == "styleName")))) || ((styleProp == "borderStyle")))) || ((styleProp == "borderThickness")))) || ((styleProp == "borderThicknessTop")))) || ((styleProp == "borderThicknessBottom")))) || ((styleProp == "borderThicknessLeft")))) || ((styleProp == "borderThicknessRight")))) || ((styleProp == "borderSides")))){ _panelBorderMetrics = null; }; invalidateDisplayList(); } override mx_internal function drawBorder(w:Number, h:Number):void{ var contentAlpha:Number; var backgroundAlpha:Number; var br:Number; var g:Graphics; var parentContainer:IContainer; var vm:EdgeMetrics; super.drawBorder(w, h); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return; }; var borderStyle:String = getStyle("borderStyle"); if (borderStyle == "default"){ contentAlpha = getStyle("backgroundAlpha"); backgroundAlpha = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radiusObj = null; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); br = (bRoundedCorners) ? radius : 0; g = graphics; drawDropShadow(0, 0, w, h, radius, radius, br, br); if (!bRoundedCorners){ radiusObj = {}; }; parentContainer = (parent as IContainer); if (parentContainer){ vm = parentContainer.viewMetrics; backgroundHole = {x:vm.left, y:vm.top, w:Math.max(0, ((w - vm.left) - vm.right)), h:Math.max(0, ((h - vm.top) - vm.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (contentAlpha != backgroundAlpha){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; g.beginFill(Number(backgroundColor), contentAlpha); g.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); g.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; } override public function get borderMetrics():EdgeMetrics{ var newControlBarHeight:Number; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.borderMetrics); }; var hasPanelParent:Boolean = isPanel(parent); var controlBar:IUIComponent = (hasPanelParent) ? Object(parent)._controlBar : null; var hHeight:Number = (hasPanelParent) ? Object(parent).getHeaderHeightProxy() : NaN; if (((controlBar) && (controlBar.includeInLayout))){ newControlBarHeight = controlBar.getExplicitOrMeasuredHeight(); }; if (((!((newControlBarHeight == oldControlBarHeight))) && (!(((isNaN(oldControlBarHeight)) && (isNaN(newControlBarHeight))))))){ _panelBorderMetrics = null; }; if (((!((hHeight == oldHeaderHeight))) && (!(((isNaN(hHeight)) && (isNaN(oldHeaderHeight))))))){ _panelBorderMetrics = null; }; if (_panelBorderMetrics){ return (_panelBorderMetrics); }; var o:EdgeMetrics = super.borderMetrics; var vm:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); var bt:Number = getStyle("borderThickness"); var btl:Number = getStyle("borderThicknessLeft"); var btt:Number = getStyle("borderThicknessTop"); var btr:Number = getStyle("borderThicknessRight"); var btb:Number = getStyle("borderThicknessBottom"); vm.left = (o.left + (isNaN(btl)) ? bt : btl); vm.top = (o.top + (isNaN(btt)) ? bt : btt); vm.right = (o.bottom + (isNaN(btr)) ? bt : btr); vm.bottom = (o.bottom + (isNaN(btb)) ? (((controlBar) && (!(isNaN(btt))))) ? btt : (isNaN(btl)) ? bt : btl : btb); oldHeaderHeight = hHeight; if (!isNaN(hHeight)){ vm.top = (vm.top + hHeight); }; oldControlBarHeight = newControlBarHeight; if (!isNaN(newControlBarHeight)){ vm.bottom = (vm.bottom + newControlBarHeight); }; _panelBorderMetrics = vm; return (_panelBorderMetrics); } override mx_internal function drawBackground(w:Number, h:Number):void{ var highlightAlphas:Array; var highlightAlpha:Number; super.drawBackground(w, h); if ((((getStyle("headerColors") == null)) && ((getStyle("borderStyle") == "default")))){ highlightAlphas = getStyle("highlightAlphas"); highlightAlpha = (highlightAlphas) ? highlightAlphas[0] : 0.3; drawRoundRect(0, 0, w, h, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, highlightAlpha, null, GradientType.LINEAR, null, {x:0, y:1, w:w, h:(h - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } override mx_internal function getBackgroundColorMetrics():EdgeMetrics{ if (getStyle("borderStyle") == "default"){ return (EdgeMetrics.EMPTY); }; return (super.borderMetrics); } private static function isPanel(parent:Object):Boolean{ var s:String; var x:XML; var parent = parent; s = getQualifiedClassName(parent); if (panels[s] == 1){ return (true); }; if (panels[s] == 0){ return (false); }; if (s == "mx.containers::Panel"){ (panels[s] == 1); return (true); }; x = describeType(parent); var xmllist:XMLList = x.extendsClass.(@type == "mx.containers::Panel"); if (xmllist.length() == 0){ panels[s] = 0; return (false); }; panels[s] = 1; return (true); } } }//package mx.skins.halo
Section 378
//ScrollArrowSkin (mx.skins.halo.ScrollArrowSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; import mx.controls.scrollClasses.*; public class ScrollArrowSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; public function ScrollArrowSkin(){ super(); } override public function get measuredWidth():Number{ return (ScrollBar.THICKNESS); } override public function get measuredHeight():Number{ return (ScrollBar.THICKNESS); } override protected function updateDisplayList(w:Number, h:Number):void{ var borderColors:Array; var upFillColors:Array; var upFillAlphas:Array; var overFillColors:Array; var overFillAlphas:Array; var disFillColors:Array; var disFillAlphas:Array; super.updateDisplayList(w, h); var backgroundColor:Number = getStyle("backgroundColor"); var borderColor:uint = getStyle("borderColor"); var fillAlphas:Array = getStyle("fillAlphas"); var fillColors:Array = getStyle("fillColors"); StyleManager.getColorNames(fillColors); var highlightAlphas:Array = getStyle("highlightAlphas"); var themeColor:uint = getStyle("themeColor"); var upArrow = (name.charAt(0) == "u"); var arrowColor:uint = getStyle("iconColor"); var derStyles:Object = calcDerivedStyles(themeColor, borderColor, fillColors[0], fillColors[1]); var horizontal:Boolean = ((((parent) && (parent.parent))) && (!((parent.parent.rotation == 0)))); if (((upArrow) && (!(horizontal)))){ borderColors = [borderColor, derStyles.borderColorDrk1]; } else { borderColors = [derStyles.borderColorDrk1, derStyles.borderColorDrk2]; }; var g:Graphics = graphics; g.clear(); if (isNaN(backgroundColor)){ backgroundColor = 0xFFFFFF; }; if ((((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)) || ((name.indexOf("Disabled") == -1)))){ drawRoundRect(0, 0, w, h, 0, backgroundColor, 1); }; switch (name){ case "upArrowUpSkin": if (!horizontal){ drawRoundRect(1, (h - 4), (w - 2), 8, 0, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], verticalGradientMatrix(1, (h - 4), (w - 2), 8), GradientType.LINEAR, null, {x:1, y:(h - 4), w:(w - 2), h:4, r:0}); }; case "downArrowUpSkin": upFillColors = [fillColors[0], fillColors[1]]; upFillAlphas = [fillAlphas[0], fillAlphas[1]]; drawRoundRect(0, 0, w, h, 0, borderColors, 1, (horizontal) ? horizontalGradientMatrix(0, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:0}); drawRoundRect(1, 1, (w - 2), (h - 2), 0, upFillColors, upFillAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - (2 / 2)))); drawRoundRect(1, 1, (w - 2), (h - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], highlightAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - (2 / 2)))); break; case "upArrowOverSkin": if (!horizontal){ drawRoundRect(1, (h - 4), (w - 2), 8, 0, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], verticalGradientMatrix(1, (h - 4), (w - 2), 8), GradientType.LINEAR, null, {x:1, y:(h - 4), w:(w - 2), h:4, r:0}); }; case "downArrowOverSkin": if (fillColors.length > 2){ overFillColors = [fillColors[2], fillColors[3]]; } else { overFillColors = [fillColors[0], fillColors[1]]; }; if (fillAlphas.length > 2){ overFillAlphas = [fillAlphas[2], fillAlphas[3]]; } else { overFillAlphas = [fillAlphas[0], fillAlphas[1]]; }; drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 1); drawRoundRect(0, 0, w, h, 0, [themeColor, derStyles.themeColDrk1], 1, (horizontal) ? horizontalGradientMatrix(0, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:0}); drawRoundRect(1, 1, (w - 2), (h - 2), 0, overFillColors, overFillAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - 2))); drawRoundRect(1, 1, (w - 2), (h - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], highlightAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - (2 / 2)))); break; case "upArrowDownSkin": if (!horizontal){ drawRoundRect(1, (h - 4), (w - 2), 8, 0, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], (horizontal) ? horizontalGradientMatrix(1, (h - 4), (w - 2), 8) : verticalGradientMatrix(1, (h - 4), (w - 2), 8), GradientType.LINEAR, null, {x:1, y:(h - 4), w:(w - 2), h:4, r:0}); }; case "downArrowDownSkin": drawRoundRect(0, 0, w, h, 0, [themeColor, derStyles.themeColDrk1], 1, (horizontal) ? horizontalGradientMatrix(0, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:0}); drawRoundRect(1, 1, (w - 2), (h - 2), 0, [derStyles.fillColorPress1, derStyles.fillColorPress2], 1, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - 2))); drawRoundRect(1, 1, (w - 2), (h - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], highlightAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - (2 / 2)))); break; case "upArrowDisabledSkin": if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ if (!horizontal){ drawRoundRect(1, (h - 4), (w - 2), 8, 0, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [0.5, 0], verticalGradientMatrix(1, (h - 4), (w - 2), 8), GradientType.LINEAR, null, {x:1, y:(h - 4), w:(w - 2), h:4, r:0}); }; }; case "downArrowDisabledSkin": if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ disFillColors = [fillColors[0], fillColors[1]]; disFillAlphas = [(fillAlphas[0] - 0.15), (fillAlphas[1] - 0.15)]; drawRoundRect(0, 0, w, h, 0, borderColors, 0.5, (horizontal) ? horizontalGradientMatrix(0, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:0}); drawRoundRect(1, 1, (w - 2), (h - 2), 0, disFillColors, disFillAlphas, (horizontal) ? horizontalGradientMatrix(0, 0, (w - 2), (h - 2)) : verticalGradientMatrix(0, 0, (w - 2), (h - (2 / 2)))); arrowColor = getStyle("disabledIconColor"); } else { drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 0); return; }; break; default: drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 0); return; }; g.beginFill(arrowColor); if (upArrow){ g.moveTo((w / 2), 6); g.lineTo((w - 5), (h - 6)); g.lineTo(5, (h - 6)); g.lineTo((w / 2), 6); } else { g.moveTo((w / 2), (h - 6)); g.lineTo((w - 5), 6); g.lineTo(5, 6); g.lineTo((w / 2), (h - 6)); }; g.endFill(); } private static function calcDerivedStyles(themeColor:uint, borderColor:uint, fillColor0:uint, fillColor1:uint):Object{ var o:Object; var key:String = HaloColors.getCacheKey(themeColor, borderColor, fillColor0, fillColor1); if (!cache[key]){ o = (cache[key] = {}); HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1); o.borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -25); o.borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, -50); }; return (cache[key]); } } }//package mx.skins.halo
Section 379
//ScrollThumbSkin (mx.skins.halo.ScrollThumbSkin) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class ScrollThumbSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; public function ScrollThumbSkin(){ super(); } override public function get measuredWidth():Number{ return (16); } override public function get measuredHeight():Number{ return (10); } override protected function updateDisplayList(w:Number, h:Number):void{ var upFillColors:Array; var upFillAlphas:Array; var overFillColors:Array; var overFillAlphas:Array; super.updateDisplayList(w, h); var backgroundColor:Number = getStyle("backgroundColor"); var borderColor:uint = getStyle("borderColor"); var cornerRadius:Number = getStyle("cornerRadius"); var fillAlphas:Array = getStyle("fillAlphas"); var fillColors:Array = getStyle("fillColors"); StyleManager.getColorNames(fillColors); var highlightAlphas:Array = getStyle("highlightAlphas"); var themeColor:uint = getStyle("themeColor"); var gripColor:uint = 7305079; var derStyles:Object = calcDerivedStyles(themeColor, borderColor, fillColors[0], fillColors[1]); var radius:Number = Math.max((cornerRadius - 1), 0); var cr:Object = {tl:0, tr:radius, bl:0, br:radius}; radius = Math.max((radius - 1), 0); var cr1:Object = {tl:0, tr:radius, bl:0, br:radius}; var horizontal:Boolean = ((((parent) && (parent.parent))) && (!((parent.parent.rotation == 0)))); if (isNaN(backgroundColor)){ backgroundColor = 0xFFFFFF; }; graphics.clear(); drawRoundRect(1, 0, (w - 3), h, cr, backgroundColor, 1); switch (name){ case "thumbUpSkin": default: upFillColors = [fillColors[0], fillColors[1]]; upFillAlphas = [fillAlphas[0], fillAlphas[1]]; drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 0); if (horizontal){ drawRoundRect(1, 0, (w - 2), h, cornerRadius, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); } else { drawRoundRect(1, (h - radius), (w - 3), (radius + 4), {tl:0, tr:0, bl:0, br:radius}, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], (horizontal) ? horizontalGradientMatrix(0, (h - 4), (w - 3), 8) : verticalGradientMatrix(0, (h - 4), (w - 3), 8), GradientType.LINEAR, null, {x:1, y:(h - radius), w:(w - 4), h:radius, r:{tl:0, tr:0, bl:0, br:(radius - 1)}}); }; drawRoundRect(1, 0, (w - 3), h, cr, [borderColor, derStyles.borderColorDrk1], 1, (horizontal) ? horizontalGradientMatrix(0, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); drawRoundRect(1, 1, (w - 4), (h - 2), cr1, upFillColors, upFillAlphas, (horizontal) ? horizontalGradientMatrix(1, 0, (w - 2), (h - 2)) : verticalGradientMatrix(1, 0, (w - 2), (h - 2))); if (horizontal){ drawRoundRect(1, 0, ((w - 4) / 2), (h - 2), 0, [0xFFFFFF, 0xFFFFFF], highlightAlphas, horizontalGradientMatrix(1, 1, (w - 4), ((h - 2) / 2))); } else { drawRoundRect(1, 1, (w - 4), ((h - 2) / 2), cr1, [0xFFFFFF, 0xFFFFFF], highlightAlphas, (horizontal) ? horizontalGradientMatrix(1, 0, ((w - 4) / 2), (h - 2)) : verticalGradientMatrix(1, 1, (w - 4), ((h - 2) / 2))); }; break; case "thumbOverSkin": if (fillColors.length > 2){ overFillColors = [fillColors[2], fillColors[3]]; } else { overFillColors = [fillColors[0], fillColors[1]]; }; if (fillAlphas.length > 2){ overFillAlphas = [fillAlphas[2], fillAlphas[3]]; } else { overFillAlphas = [fillAlphas[0], fillAlphas[1]]; }; drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 0); if (horizontal){ drawRoundRect(1, 0, (w - 2), h, cornerRadius, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); } else { drawRoundRect(1, (h - radius), (w - 3), (radius + 4), {tl:0, tr:0, bl:0, br:radius}, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], (horizontal) ? horizontalGradientMatrix(0, (h - 4), (w - 3), 8) : verticalGradientMatrix(0, (h - 4), (w - 3), 8), GradientType.LINEAR, null, {x:1, y:(h - radius), w:(w - 4), h:radius, r:{tl:0, tr:0, bl:0, br:(radius - 1)}}); }; drawRoundRect(1, 0, (w - 3), h, cr, [themeColor, derStyles.themeColDrk1], 1, (horizontal) ? horizontalGradientMatrix(1, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); drawRoundRect(1, 1, (w - 4), (h - 2), cr1, overFillColors, overFillAlphas, (horizontal) ? horizontalGradientMatrix(1, 0, w, h) : verticalGradientMatrix(1, 0, w, h)); break; case "thumbDownSkin": if (horizontal){ drawRoundRect(1, 0, (w - 2), h, cr, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); } else { drawRoundRect(1, (h - radius), (w - 3), (radius + 4), {tl:0, tr:0, bl:0, br:radius}, [derStyles.borderColorDrk1, derStyles.borderColorDrk1], [1, 0], (horizontal) ? horizontalGradientMatrix(0, (h - 4), (w - 3), 8) : verticalGradientMatrix(0, (h - 4), (w - 3), 8), GradientType.LINEAR, null, {x:1, y:(h - radius), w:(w - 4), h:radius, r:{tl:0, tr:0, bl:0, br:(radius - 1)}}); }; drawRoundRect(1, 0, (w - 3), h, cr, [themeColor, derStyles.themeColDrk2], 1, (horizontal) ? horizontalGradientMatrix(1, 0, w, h) : verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 4), h:(h - 2), r:cr1}); drawRoundRect(1, 1, (w - 4), (h - 2), cr1, [derStyles.fillColorPress1, derStyles.fillColorPress2], 1, (horizontal) ? horizontalGradientMatrix(1, 0, w, h) : verticalGradientMatrix(1, 0, w, h)); break; case "thumbDisabledSkin": drawRoundRect(0, 0, w, h, 0, 0xFFFFFF, 0); drawRoundRect(1, 0, (w - 3), h, cr, 0x999999, 0.5); drawRoundRect(1, 1, (w - 4), (h - 2), cr1, 0xFFFFFF, 0.5); break; }; var gripW:Number = Math.floor(((w / 2) - 4)); drawRoundRect(gripW, Math.floor(((h / 2) - 4)), 5, 1, 0, 0, 0.4); drawRoundRect(gripW, Math.floor(((h / 2) - 2)), 5, 1, 0, 0, 0.4); drawRoundRect(gripW, Math.floor((h / 2)), 5, 1, 0, 0, 0.4); drawRoundRect(gripW, Math.floor(((h / 2) + 2)), 5, 1, 0, 0, 0.4); drawRoundRect(gripW, Math.floor(((h / 2) + 4)), 5, 1, 0, 0, 0.4); } private static function calcDerivedStyles(themeColor:uint, borderColor:uint, fillColor0:uint, fillColor1:uint):Object{ var o:Object; var key:String = HaloColors.getCacheKey(themeColor, borderColor, fillColor0, fillColor1); if (!cache[key]){ o = (cache[key] = {}); HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1); o.borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -50); }; return (cache[key]); } } }//package mx.skins.halo
Section 380
//ScrollTrackSkin (mx.skins.halo.ScrollTrackSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class ScrollTrackSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollTrackSkin(){ super(); } override public function get measuredWidth():Number{ return (16); } override public function get measuredHeight():Number{ return (1); } override protected function updateDisplayList(w:Number, h:Number):void{ super.updateDisplayList(w, h); var fillColors:Array = getStyle("trackColors"); StyleManager.getColorNames(fillColors); var borderColor:uint = ColorUtil.adjustBrightness2(getStyle("borderColor"), -20); var borderColorDrk1:uint = ColorUtil.adjustBrightness2(borderColor, -30); graphics.clear(); var fillAlpha:Number = 1; if ((((name == "trackDisabledSkin")) && ((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)))){ fillAlpha = 0.2; }; drawRoundRect(0, 0, w, h, 0, [borderColor, borderColorDrk1], fillAlpha, verticalGradientMatrix(0, 0, w, h), GradientType.LINEAR, null, {x:1, y:1, w:(w - 2), h:(h - 2), r:0}); drawRoundRect(1, 1, (w - 2), (h - 2), 0, fillColors, fillAlpha, horizontalGradientMatrix(1, 1, ((w / 3) * 2), (h - 2))); } } }//package mx.skins.halo
Section 381
//TitleBackground (mx.skins.halo.TitleBackground) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class TitleBackground extends ProgrammaticSkin { mx_internal static const VERSION:String = "3.0.0.0"; public function TitleBackground(){ super(); } override protected function updateDisplayList(w:Number, h:Number):void{ super.updateDisplayList(w, h); var borderAlpha:Number = getStyle("borderAlpha"); var cornerRadius:Number = getStyle("cornerRadius"); var highlightAlphas:Array = getStyle("highlightAlphas"); var headerColors:Array = getStyle("headerColors"); var showChrome = !((headerColors == null)); StyleManager.getColorNames(headerColors); var colorDark:Number = ColorUtil.adjustBrightness2((headerColors) ? headerColors[1] : 0xFFFFFF, -20); var g:Graphics = graphics; g.clear(); if (h < 3){ return; }; if (showChrome){ g.lineStyle(0, colorDark, borderAlpha); g.moveTo(0, h); g.lineTo(w, h); g.lineStyle(0, 0, 0); drawRoundRect(0, 0, w, h, {tl:cornerRadius, tr:cornerRadius, bl:0, br:0}, headerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(0, 0, w, (h / 2), {tl:cornerRadius, tr:cornerRadius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, (h / 2))); drawRoundRect(0, 0, w, h, {tl:cornerRadius, tr:cornerRadius, bl:0, br:0}, 0xFFFFFF, highlightAlphas[0], null, GradientType.LINEAR, null, {x:0, y:1, w:w, h:(h - 1), r:{tl:cornerRadius, tr:cornerRadius, bl:0, br:0}}); }; } } }//package mx.skins.halo
Section 382
//ToolTipBorder (mx.skins.halo.ToolTipBorder) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.skins.*; import mx.graphics.*; import flash.filters.*; public class ToolTipBorder extends RectangularBorder { private var _borderMetrics:EdgeMetrics; private var dropShadow:RectangularDropShadow; mx_internal static const VERSION:String = "3.0.0.0"; public function ToolTipBorder(){ super(); } override public function get borderMetrics():EdgeMetrics{ if (_borderMetrics){ return (_borderMetrics); }; var borderStyle:String = getStyle("borderStyle"); switch (borderStyle){ case "errorTipRight": _borderMetrics = new EdgeMetrics(15, 1, 3, 3); break; case "errorTipAbove": _borderMetrics = new EdgeMetrics(3, 1, 3, 15); break; case "errorTipBelow": _borderMetrics = new EdgeMetrics(3, 13, 3, 3); break; default: _borderMetrics = new EdgeMetrics(3, 1, 3, 3); break; }; return (_borderMetrics); } override protected function updateDisplayList(w:Number, h:Number):void{ super.updateDisplayList(w, h); var borderStyle:String = getStyle("borderStyle"); var backgroundColor:uint = getStyle("backgroundColor"); var backgroundAlpha:Number = getStyle("backgroundAlpha"); var borderColor:uint = getStyle("borderColor"); var cornerRadius:Number = getStyle("cornerRadius"); var shadowColor:uint = getStyle("shadowColor"); var shadowAlpha:Number = 0.1; var g:Graphics = graphics; g.clear(); filters = []; switch (borderStyle){ case "toolTip": drawRoundRect(3, 1, (w - 6), (h - 4), cornerRadius, backgroundColor, backgroundAlpha); if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = 3; dropShadow.angle = 90; dropShadow.color = 0; dropShadow.alpha = 0.4; dropShadow.tlRadius = (cornerRadius + 2); dropShadow.trRadius = (cornerRadius + 2); dropShadow.blRadius = (cornerRadius + 2); dropShadow.brRadius = (cornerRadius + 2); dropShadow.drawShadow(graphics, 3, 0, (w - 6), (h - 4)); break; case "errorTipRight": drawRoundRect(11, 0, (w - 11), (h - 2), 3, borderColor, backgroundAlpha); g.beginFill(borderColor, backgroundAlpha); g.moveTo(11, 7); g.lineTo(0, 13); g.lineTo(11, 19); g.moveTo(11, 7); g.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; case "errorTipAbove": drawRoundRect(0, 0, w, (h - 13), 3, borderColor, backgroundAlpha); g.beginFill(borderColor, backgroundAlpha); g.moveTo(9, (h - 13)); g.lineTo(15, (h - 2)); g.lineTo(21, (h - 13)); g.moveTo(9, (h - 13)); g.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; case "errorTipBelow": drawRoundRect(0, 11, w, (h - 13), 3, borderColor, backgroundAlpha); g.beginFill(borderColor, backgroundAlpha); g.moveTo(9, 11); g.lineTo(15, 0); g.lineTo(21, 11); g.moveTo(10, 11); g.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; }; } override public function styleChanged(styleProp:String):void{ if ((((((styleProp == "borderStyle")) || ((styleProp == "styleName")))) || ((styleProp == null)))){ _borderMetrics = null; }; invalidateDisplayList(); } } }//package mx.skins.halo
Section 383
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.0.0.0"; public function Border(){ super(); } public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 384
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import flash.display.*; import mx.core.*; import flash.geom.*; import mx.styles.*; import mx.managers.*; import mx.utils.*; public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin { private var _initialized:Boolean;// = false private var _height:Number; private var invalidateDisplayListFlag:Boolean;// = false private var _styleName:IStyleClient; private var _nestLevel:int;// = 0 private var _processedDescriptors:Boolean;// = false private var _updateCompletePendingFlag:Boolean;// = true private var _width:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var tempMatrix:Matrix = new Matrix(); public function ProgrammaticSkin(){ super(); _width = measuredWidth; _height = measuredHeight; } public function getStyle(styleProp:String){ return ((_styleName) ? _styleName.getStyle(styleProp) : null); } protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ } public function get nestLevel():int{ return (_nestLevel); } public function set nestLevel(value:int):void{ _nestLevel = value; invalidateDisplayList(); } override public function get height():Number{ return (_height); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{ return (rotatedGradientMatrix(x, y, width, height, 90)); } public function validateSize(recursive:Boolean=false):void{ } public function invalidateDisplayList():void{ if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){ invalidateDisplayListFlag = true; UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; } public function set updateCompletePendingFlag(value:Boolean):void{ _updateCompletePendingFlag = value; } protected function horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{ return (rotatedGradientMatrix(x, y, width, height, 0)); } override public function set height(value:Number):void{ _height = value; invalidateDisplayList(); } public function set processedDescriptors(value:Boolean):void{ _processedDescriptors = value; } public function validateDisplayList():void{ invalidateDisplayListFlag = false; updateDisplayList(width, height); } public function get measuredWidth():Number{ return (0); } override public function set width(value:Number):void{ _width = value; invalidateDisplayList(); } public function get measuredHeight():Number{ return (0); } public function set initialized(value:Boolean):void{ _initialized = value; } protected function drawRoundRect(x:Number, y:Number, width:Number, height:Number, cornerRadius:Object=null, color:Object=null, alpha:Object=null, gradientMatrix:Matrix=null, gradientType:String="linear", gradientRatios:Array=null, hole:Object=null):void{ var ellipseSize:Number; var alphas:Array; var holeR:Object; var g:Graphics = graphics; if ((((width == 0)) || ((height == 0)))){ return; }; if (color !== null){ if ((color is uint)){ g.beginFill(uint(color), Number(alpha)); } else { if ((color is Array)){ alphas = ((alpha is Array)) ? (alpha as Array) : [alpha, alpha]; if (!gradientRatios){ gradientRatios = [0, 0xFF]; }; g.beginGradientFill(gradientType, (color as Array), alphas, gradientRatios, gradientMatrix); }; }; }; if (!cornerRadius){ g.drawRect(x, y, width, height); } else { if ((cornerRadius is Number)){ ellipseSize = (Number(cornerRadius) * 2); g.drawRoundRect(x, y, width, height, ellipseSize, ellipseSize); } else { GraphicsUtil.drawRoundRectComplex(g, x, y, width, height, cornerRadius.tl, cornerRadius.tr, cornerRadius.bl, cornerRadius.br); }; }; if (hole){ holeR = hole.r; if ((holeR is Number)){ ellipseSize = (Number(holeR) * 2); g.drawRoundRect(hole.x, hole.y, hole.w, hole.h, ellipseSize, ellipseSize); } else { GraphicsUtil.drawRoundRectComplex(g, hole.x, hole.y, hole.w, hole.h, holeR.tl, holeR.tr, holeR.bl, holeR.br); }; }; if (color !== null){ g.endFill(); }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function set styleName(value:Object):void{ if (_styleName != value){ _styleName = (value as IStyleClient); invalidateDisplayList(); }; } public function setActualSize(newWidth:Number, newHeight:Number):void{ var changed:Boolean; if (_width != newWidth){ _width = newWidth; changed = true; }; if (_height != newHeight){ _height = newHeight; changed = true; }; if (changed){ invalidateDisplayList(); }; } public function styleChanged(styleProp:String):void{ invalidateDisplayList(); } override public function get width():Number{ return (_width); } public function invalidateProperties():void{ } public function get initialized():Boolean{ return (_initialized); } protected function rotatedGradientMatrix(x:Number, y:Number, width:Number, height:Number, rotation:Number):Matrix{ tempMatrix.createGradientBox(width, height, ((rotation * Math.PI) / 180), x, y); return (tempMatrix); } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get styleName():Object{ return (_styleName); } public function validateNow():void{ if (invalidateDisplayListFlag){ validateDisplayList(); }; } public function invalidateSize():void{ } public function validateProperties():void{ } } }//package mx.skins
Section 385
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import flash.events.*; import flash.display.*; import mx.core.*; import flash.geom.*; import mx.resources.*; import mx.styles.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class RectangularBorder extends Border implements IRectangularBorder { private var backgroundImage:DisplayObject; private var backgroundImageHeight:Number; private var _backgroundImageBounds:Rectangle; private var backgroundImageStyle:Object; private var backgroundImageWidth:Number; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function RectangularBorder(){ resourceManager = ResourceManager.getInstance(); super(); addEventListener(Event.REMOVED, removedHandler); } public function layoutBackgroundImage():void{ var sW:Number; var sH:Number; var sX:Number; var sY:Number; var scale:Number; var g:Graphics; var p:DisplayObject = parent; var bm:EdgeMetrics = ((p is IContainer)) ? IContainer(p).viewMetrics : borderMetrics; var scrollableBk = !((getStyle("backgroundAttachment") == "fixed")); if (_backgroundImageBounds){ sW = _backgroundImageBounds.width; sH = _backgroundImageBounds.height; } else { sW = ((width - bm.left) - bm.right); sH = ((height - bm.top) - bm.bottom); }; var percentage:Number = getBackgroundSize(); if (isNaN(percentage)){ sX = 1; sY = 1; } else { scale = (percentage * 0.01); sX = ((scale * sW) / backgroundImageWidth); sY = ((scale * sH) / backgroundImageHeight); }; backgroundImage.scaleX = sX; backgroundImage.scaleY = sY; var offsetX:Number = Math.round((0.5 * (sW - (backgroundImageWidth * sX)))); var offsetY:Number = Math.round((0.5 * (sH - (backgroundImageHeight * sY)))); backgroundImage.x = bm.left; backgroundImage.y = bm.top; var backgroundMask:Shape = Shape(backgroundImage.mask); backgroundMask.x = bm.left; backgroundMask.y = bm.top; if (((scrollableBk) && ((p is IContainer)))){ offsetX = (offsetX - IContainer(p).horizontalScrollPosition); offsetY = (offsetY - IContainer(p).verticalScrollPosition); }; backgroundImage.alpha = getStyle("backgroundAlpha"); backgroundImage.x = (backgroundImage.x + offsetX); backgroundImage.y = (backgroundImage.y + offsetY); var maskWidth:Number = ((width - bm.left) - bm.right); var maskHeight:Number = ((height - bm.top) - bm.bottom); if (((!((backgroundMask.width == maskWidth))) || (!((backgroundMask.height == maskHeight))))){ g = backgroundMask.graphics; g.clear(); g.beginFill(0xFFFFFF); g.drawRect(0, 0, maskWidth, maskHeight); g.endFill(); }; } public function set backgroundImageBounds(value:Rectangle):void{ _backgroundImageBounds = value; invalidateDisplayList(); } private function getBackgroundSize():Number{ var index:int; var percentage:Number = NaN; var backgroundSize:Object = getStyle("backgroundSize"); if (((backgroundSize) && ((backgroundSize is String)))){ index = backgroundSize.indexOf("%"); if (index != -1){ percentage = Number(backgroundSize.substr(0, index)); }; }; return (percentage); } private function removedHandler(event:Event):void{ var childrenList:IChildList; if (backgroundImage){ childrenList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); childrenList.removeChild(backgroundImage.mask); childrenList.removeChild(backgroundImage); backgroundImage = null; }; } private function initBackgroundImage(image:DisplayObject):void{ backgroundImage = image; if ((image is Loader)){ backgroundImageWidth = Loader(image).contentLoaderInfo.width; backgroundImageHeight = Loader(image).contentLoaderInfo.height; } else { backgroundImageWidth = backgroundImage.width; backgroundImageHeight = backgroundImage.height; if ((image is ISimpleStyleClient)){ ISimpleStyleClient(image).styleName = styleName; }; }; var childrenList:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); var backgroundMask:Shape = new FlexShape(); backgroundMask.name = "backgroundMask"; backgroundMask.x = 0; backgroundMask.y = 0; childrenList.addChild(backgroundMask); var myIndex:int = childrenList.getChildIndex(this); childrenList.addChildAt(backgroundImage, (myIndex + 1)); backgroundImage.mask = backgroundMask; } public function get backgroundImageBounds():Rectangle{ return (_backgroundImageBounds); } public function get hasBackgroundImage():Boolean{ return (!((backgroundImage == null))); } private function completeEventHandler(event:Event):void{ if (!parent){ return; }; var target:DisplayObject = DisplayObject(LoaderInfo(event.target).loader); initBackgroundImage(target); layoutBackgroundImage(); dispatchEvent(event.clone()); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var message:String; var unscaledWidth = unscaledWidth; var unscaledHeight = unscaledHeight; if (!parent){ return; }; var newStyle:Object = getStyle("backgroundImage"); if (newStyle != backgroundImageStyle){ removedHandler(null); backgroundImageStyle = newStyle; if (((newStyle) && ((newStyle as Class)))){ cls = Class(newStyle); initBackgroundImage(new (cls)); } else { if (((newStyle) && ((newStyle is String)))){ cls = Class(getDefinitionByName(String(newStyle))); //unresolved jump var _slot1 = e; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new FlexLoader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler); loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(newStyle)), loaderContext); }; } else { if (newStyle){ message = resourceManager.getString("skins", "notLoaded", [newStyle]); throw (new Error(message)); }; }; }; }; if (backgroundImage){ layoutBackgroundImage(); }; } private function errorEventHandler(event:Event):void{ } } }//package mx.skins
Section 386
//IOverride (mx.states.IOverride) package mx.states { import mx.core.*; public interface IOverride { function initialize():void; function remove(:UIComponent):void; function apply(:UIComponent):void; } }//package mx.states
Section 387
//State (mx.states.State) package mx.states { import mx.core.*; import flash.events.*; import mx.events.*; public class State extends EventDispatcher { public var basedOn:String; private var initialized:Boolean;// = false public var overrides:Array; public var name:String; mx_internal static const VERSION:String = "3.0.0.0"; public function State(){ overrides = []; super(); } mx_internal function initialize():void{ var i:int; if (!initialized){ initialized = true; i = 0; while (i < overrides.length) { IOverride(overrides[i]).initialize(); i++; }; }; } mx_internal function dispatchExitState():void{ dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE)); } mx_internal function dispatchEnterState():void{ dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE)); } } }//package mx.states
Section 388
//Transition (mx.states.Transition) package mx.states { import mx.core.*; import mx.effects.*; public class Transition { public var effect:IEffect; public var toState:String;// = "*" public var fromState:String;// = "*" mx_internal static const VERSION:String = "3.0.0.0"; public function Transition(){ super(); } } }//package mx.states
Section 389
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import flash.display.*; import mx.core.*; import mx.managers.*; import flash.events.*; import flash.utils.*; public class CSSStyleDeclaration extends EventDispatcher { mx_internal var effects:Array; protected var overrides:Object; public var defaultFactory:Function; public var factory:Function; mx_internal var selectorRefCount:int;// = 0 private var styleManager:IStyleManager2; private var clones:Dictionary; mx_internal static const VERSION:String = "3.0.0.0"; private static const NOT_A_COLOR:uint = 4294967295; private static const FILTERMAP_PROP:String = "__reserved__filterMap"; public function CSSStyleDeclaration(selector:String=null){ clones = new Dictionary(true); super(); if (selector){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); styleManager.setStyleDeclaration(selector, this, false); }; } mx_internal function addStyleToProtoChain(chain:Object, target:DisplayObject, filterMap:Object=null):Object{ var p:String; var emptyObjectFactory:Function; var filteredChain:Object; var filterObjectFactory:Function; var i:String; var chain = chain; var target = target; var filterMap = filterMap; var nodeAddedToChain:Boolean; var originalChain:Object = chain; if (filterMap){ chain = {}; }; if (defaultFactory != null){ defaultFactory.prototype = chain; chain = new defaultFactory(); nodeAddedToChain = true; }; if (factory != null){ factory.prototype = chain; chain = new factory(); nodeAddedToChain = true; }; if (overrides){ if ((((defaultFactory == null)) && ((factory == null)))){ emptyObjectFactory = function ():void{ }; emptyObjectFactory.prototype = chain; chain = new (emptyObjectFactory); nodeAddedToChain = true; }; for (p in overrides) { if (overrides[p] === undefined){ delete chain[p]; } else { chain[p] = overrides[p]; }; }; }; if (filterMap){ if (nodeAddedToChain){ filteredChain = {}; filterObjectFactory = function ():void{ }; filterObjectFactory.prototype = originalChain; filteredChain = new (filterObjectFactory); for (i in chain) { if (filterMap[i] != null){ filteredChain[filterMap[i]] = chain[i]; }; }; chain = filteredChain; chain[FILTERMAP_PROP] = filterMap; } else { chain = originalChain; }; }; if (nodeAddedToChain){ clones[chain] = 1; }; return (chain); } public function getStyle(styleProp:String){ var o:*; var v:*; if (overrides){ if ((((styleProp in overrides)) && ((overrides[styleProp] === undefined)))){ return (undefined); }; v = overrides[styleProp]; if (v !== undefined){ return (v); }; }; if (factory != null){ factory.prototype = {}; o = new factory(); v = o[styleProp]; if (v !== undefined){ return (v); }; }; if (defaultFactory != null){ defaultFactory.prototype = {}; o = new defaultFactory(); v = o[styleProp]; if (v !== undefined){ return (v); }; }; return (undefined); } public function clearStyle(styleProp:String):void{ setStyle(styleProp, undefined); } public function setStyle(styleProp:String, newValue):void{ var i:int; var sm:Object; var oldValue:Object = getStyle(styleProp); var regenerate:Boolean; if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((oldValue === newValue))))){ regenerate = true; }; if (newValue !== undefined){ setStyle(styleProp, newValue); } else { if (newValue == oldValue){ return; }; setStyle(styleProp, newValue); }; var sms:Array = SystemManagerGlobals.topLevelSystemManagers; var n:int = sms.length; if (regenerate){ i = 0; while (i < n) { sm = sms[i]; sm.regenerateStyleCache(true); i++; }; }; i = 0; while (i < n) { sm = sms[i]; sm.notifyStyleChangeInChildren(styleProp, true); i++; }; } private function clearStyleAttr(styleProp:String):void{ var clone:*; if (!overrides){ overrides = {}; }; overrides[styleProp] = undefined; for (clone in clones) { delete clone[styleProp]; }; } mx_internal function createProtoChainRoot():Object{ var root:Object = {}; if (defaultFactory != null){ defaultFactory.prototype = root; root = new defaultFactory(); }; if (factory != null){ factory.prototype = root; root = new factory(); }; clones[root] = 1; return (root); } mx_internal function clearOverride(styleProp:String):void{ if (((overrides) && (overrides[styleProp]))){ delete overrides[styleProp]; }; } mx_internal function setStyle(styleProp:String, value):void{ var o:Object; var clone:*; var colorNumber:Number; var cloneFilter:Object; if (value === undefined){ clearStyleAttr(styleProp); return; }; if ((value is String)){ if (!styleManager){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); }; colorNumber = styleManager.getColorName(value); if (colorNumber != NOT_A_COLOR){ value = colorNumber; }; }; if (defaultFactory != null){ o = new defaultFactory(); if (o[styleProp] !== value){ if (!overrides){ overrides = {}; }; overrides[styleProp] = value; } else { if (overrides){ delete overrides[styleProp]; }; }; }; if (factory != null){ o = new factory(); if (o[styleProp] !== value){ if (!overrides){ overrides = {}; }; overrides[styleProp] = value; } else { if (overrides){ delete overrides[styleProp]; }; }; }; if ((((defaultFactory == null)) && ((factory == null)))){ if (!overrides){ overrides = {}; }; overrides[styleProp] = value; }; for (clone in clones) { cloneFilter = clone[FILTERMAP_PROP]; if (cloneFilter){ if (cloneFilter[styleProp] != null){ clone[cloneFilter[styleProp]] = value; }; } else { clone[styleProp] = value; }; }; } } }//package mx.styles
Section 390
//ISimpleStyleClient (mx.styles.ISimpleStyleClient) package mx.styles { public interface ISimpleStyleClient { function set styleName(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:Object):void; function styleChanged(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:String):void; function get styleName():Object; } }//package mx.styles
Section 391
//IStyleClient (mx.styles.IStyleClient) package mx.styles { public interface IStyleClient extends ISimpleStyleClient { function regenerateStyleCache(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Boolean):void; function get className():String; function clearStyle(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:String):void; function getClassStyleDeclarations():Array; function get inheritingStyles():Object; function set nonInheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void; function setStyle(_arg1:String, _arg2):void; function get styleDeclaration():CSSStyleDeclaration; function set styleDeclaration(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:CSSStyleDeclaration):void; function get nonInheritingStyles():Object; function set inheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void; function getStyle(*:String); function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void; function registerEffects(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Array):void; } }//package mx.styles
Section 392
//IStyleManager (mx.styles.IStyleManager) package mx.styles { import flash.events.*; public interface IStyleManager { function isColorName(value:String):Boolean; function registerParentDisplayListInvalidatingStyle(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function registerInheritingStyle(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function set stylesRoot(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void; function get typeSelectorCache():Object; function styleDeclarationsChanged():void; function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void; function isParentDisplayListInvalidatingStyle(value:String):Boolean; function isSizeInvalidatingStyle(value:String):Boolean; function get inheritingStyles():Object; function isValidStyleValue(value):Boolean; function isParentSizeInvalidatingStyle(value:String):Boolean; function getColorName(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/set:Object):uint; function set typeSelectorCache(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void; function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void; function getColorNames(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Array):void; function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher; function isInheritingStyle(value:String):Boolean; function set inheritingStyles(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void; function get stylesRoot():Object; function initProtoChainRoots():void; function registerColorName(_arg1:String, _arg2:uint):void; function registerParentSizeInvalidatingStyle(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function registerSizeInvalidatingStyle(E:\dev\3.1.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void; function isInheritingTextFormatStyle(value:String):Boolean; function getStyleDeclaration(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/get:String):CSSStyleDeclaration; } }//package mx.styles
Section 393
//IStyleManager2 (mx.styles.IStyleManager2) package mx.styles { import flash.events.*; import flash.system.*; public interface IStyleManager2 extends IStyleManager { function get selectors():Array; function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; } }//package mx.styles
Section 394
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 395
//StyleManager (mx.styles.StyleManager) package mx.styles { import mx.core.*; import flash.events.*; import flash.system.*; public class StyleManager { mx_internal static const VERSION:String = "3.0.0.0"; public static const NOT_A_COLOR:uint = 4294967295; private static var _impl:IStyleManager2; private static var implClassDependency:StyleManagerImpl; public function StyleManager(){ super(); } public static function isParentSizeInvalidatingStyle(styleName:String):Boolean{ return (impl.isParentSizeInvalidatingStyle(styleName)); } public static function registerInheritingStyle(styleName:String):void{ impl.registerInheritingStyle(styleName); } mx_internal static function set stylesRoot(value:Object):void{ impl.stylesRoot = value; } mx_internal static function get inheritingStyles():Object{ return (impl.inheritingStyles); } mx_internal static function styleDeclarationsChanged():void{ impl.styleDeclarationsChanged(); } public static function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{ impl.setStyleDeclaration(selector, styleDeclaration, update); } public static function registerParentDisplayListInvalidatingStyle(styleName:String):void{ impl.registerParentDisplayListInvalidatingStyle(styleName); } mx_internal static function get typeSelectorCache():Object{ return (impl.typeSelectorCache); } mx_internal static function set inheritingStyles(value:Object):void{ impl.inheritingStyles = value; } public static function isColorName(colorName:String):Boolean{ return (impl.isColorName(colorName)); } public static function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{ return (impl.isParentDisplayListInvalidatingStyle(styleName)); } public static function isSizeInvalidatingStyle(styleName:String):Boolean{ return (impl.isSizeInvalidatingStyle(styleName)); } public static function getColorName(colorName:Object):uint{ return (impl.getColorName(colorName)); } mx_internal static function set typeSelectorCache(value:Object):void{ impl.typeSelectorCache = value; } public static function unloadStyleDeclarations(url:String, update:Boolean=true):void{ impl.unloadStyleDeclarations(url, update); } public static function getColorNames(colors:Array):void{ impl.getColorNames(colors); } public static function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{ return (impl.loadStyleDeclarations2(url, update, applicationDomain, securityDomain)); } private static function get impl():IStyleManager2{ if (!_impl){ _impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2")); }; return (_impl); } public static function isValidStyleValue(value):Boolean{ return (impl.isValidStyleValue(value)); } mx_internal static function get stylesRoot():Object{ return (impl.stylesRoot); } public static function isInheritingStyle(styleName:String):Boolean{ return (impl.isInheritingStyle(styleName)); } mx_internal static function initProtoChainRoots():void{ impl.initProtoChainRoots(); } public static function registerParentSizeInvalidatingStyle(styleName:String):void{ impl.registerParentSizeInvalidatingStyle(styleName); } public static function get selectors():Array{ return (impl.selectors); } public static function registerSizeInvalidatingStyle(styleName:String):void{ impl.registerSizeInvalidatingStyle(styleName); } public static function clearStyleDeclaration(selector:String, update:Boolean):void{ impl.clearStyleDeclaration(selector, update); } public static function registerColorName(colorName:String, colorValue:uint):void{ impl.registerColorName(colorName, colorValue); } public static function isInheritingTextFormatStyle(styleName:String):Boolean{ return (impl.isInheritingTextFormatStyle(styleName)); } public static function getStyleDeclaration(selector:String):CSSStyleDeclaration{ return (impl.getStyleDeclaration(selector)); } } }//package mx.styles
Section 396
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.system.*; import mx.modules.*; import flash.utils.*; public class StyleManagerImpl implements IStyleManager2 { private var _stylesRoot:Object; private var _selectors:Object; private var styleModules:Object; private var _inheritingStyles:Object; private var resourceManager:IResourceManager; private var _typeSelectorCache:Object; mx_internal static const VERSION:String = "3.0.0.0"; private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193}; private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true}; private static var instance:IStyleManager2; private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true}; public function StyleManagerImpl(){ _selectors = {}; styleModules = {}; resourceManager = ResourceManager.getInstance(); _inheritingStyles = {}; _typeSelectorCache = {}; super(); } public function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{ styleDeclaration.selectorRefCount++; _selectors[selector] = styleDeclaration; typeSelectorCache = {}; if (update){ styleDeclarationsChanged(); }; } public function registerParentDisplayListInvalidatingStyle(styleName:String):void{ parentDisplayListInvalidatingStyles[styleName] = true; } public function getStyleDeclaration(selector:String):CSSStyleDeclaration{ var index:int; if (selector.charAt(0) != "."){ index = selector.lastIndexOf("."); if (index != -1){ selector = selector.substr((index + 1)); }; }; return (_selectors[selector]); } public function set typeSelectorCache(value:Object):void{ _typeSelectorCache = value; } public function isColorName(colorName:String):Boolean{ return (!((colorNames[colorName.toLowerCase()] === undefined))); } public function set inheritingStyles(value:Object):void{ _inheritingStyles = value; } public function getColorNames(colors:Array):void{ var colorNumber:uint; if (!colors){ return; }; var n:int = colors.length; var i:int; while (i < n) { if (((!((colors[i] == null))) && (isNaN(colors[i])))){ colorNumber = getColorName(colors[i]); if (colorNumber != StyleManager.NOT_A_COLOR){ colors[i] = colorNumber; }; }; i++; }; } public function isInheritingTextFormatStyle(styleName:String):Boolean{ return ((inheritingTextFormatStyles[styleName] == true)); } public function registerParentSizeInvalidatingStyle(styleName:String):void{ parentSizeInvalidatingStyles[styleName] = true; } public function registerColorName(colorName:String, colorValue:uint):void{ colorNames[colorName.toLowerCase()] = colorValue; } public function isParentSizeInvalidatingStyle(styleName:String):Boolean{ return ((parentSizeInvalidatingStyles[styleName] == true)); } public function registerInheritingStyle(styleName:String):void{ inheritingStyles[styleName] = true; } public function set stylesRoot(value:Object):void{ _stylesRoot = value; } public function get typeSelectorCache():Object{ return (_typeSelectorCache); } public function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{ return ((parentDisplayListInvalidatingStyles[styleName] == true)); } public function isSizeInvalidatingStyle(styleName:String):Boolean{ return ((sizeInvalidatingStyles[styleName] == true)); } public function styleDeclarationsChanged():void{ var sm:Object; var sms:Array = SystemManagerGlobals.topLevelSystemManagers; var n:int = sms.length; var i:int; while (i < n) { sm = sms[i]; sm.regenerateStyleCache(true); sm.notifyStyleChangeInChildren(null, true); i++; }; } public function isValidStyleValue(value):Boolean{ return (!((value === undefined))); } public function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false):IEventDispatcher{ return (loadStyleDeclarations2(url, update)); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function unloadStyleDeclarations(url:String, update:Boolean=true):void{ var module:IModuleInfo; var styleModuleInfo:StyleModuleInfo = styleModules[url]; if (styleModuleInfo){ styleModuleInfo.styleModule.unload(); module = styleModuleInfo.module; module.unload(); module.removeEventListener(ModuleEvent.READY, styleModuleInfo.readyHandler); module.removeEventListener(ModuleEvent.ERROR, styleModuleInfo.errorHandler); styleModules[url] = null; }; if (update){ styleDeclarationsChanged(); }; } public function getColorName(colorName:Object):uint{ var n:Number; var c:*; if ((colorName is String)){ if (colorName.charAt(0) == "#"){ n = Number(("0x" + colorName.slice(1))); return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n)); }; if ((((colorName.charAt(1) == "x")) && ((colorName.charAt(0) == "0")))){ n = Number(colorName); return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n)); }; c = colorNames[colorName.toLowerCase()]; if (c === undefined){ return (StyleManager.NOT_A_COLOR); }; return (uint(c)); }; return (uint(colorName)); } public function isInheritingStyle(styleName:String):Boolean{ return ((inheritingStyles[styleName] == true)); } public function get stylesRoot():Object{ return (_stylesRoot); } public function initProtoChainRoots():void{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ delete _inheritingStyles["textDecoration"]; delete _inheritingStyles["leading"]; }; if (!stylesRoot){ stylesRoot = _selectors["global"].addStyleToProtoChain({}, null); }; } public function loadStyleDeclarations2(url:String, update:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{ var module:IModuleInfo; var styleEventDispatcher:StyleEventDispatcher; var timer:Timer; var timerHandler:Function; var url = url; var update = update; var applicationDomain = applicationDomain; var securityDomain = securityDomain; module = ModuleManager.getModule(url); var readyHandler:Function = function (moduleEvent:ModuleEvent):void{ var styleModule:IStyleModule = IStyleModule(moduleEvent.module.factory.create()); styleModules[moduleEvent.module.url].styleModule = styleModule; if (update){ styleDeclarationsChanged(); }; }; module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); styleEventDispatcher = new StyleEventDispatcher(module); var errorHandler:Function = function (moduleEvent:ModuleEvent):void{ var styleEvent:StyleEvent; var errorText:String = resourceManager.getString("styles", "unableToLoad", [moduleEvent.errorText, url]); if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){ styleEvent = new StyleEvent(StyleEvent.ERROR, moduleEvent.bubbles, moduleEvent.cancelable); styleEvent.bytesLoaded = 0; styleEvent.bytesTotal = 0; styleEvent.errorText = errorText; styleEventDispatcher.dispatchEvent(styleEvent); } else { throw (new Error(errorText)); }; }; module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (event:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); module.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (styleEventDispatcher); } public function registerSizeInvalidatingStyle(styleName:String):void{ sizeInvalidatingStyles[styleName] = true; } public function clearStyleDeclaration(selector:String, update:Boolean):void{ var styleDeclaration:CSSStyleDeclaration = getStyleDeclaration(selector); if (((styleDeclaration) && ((styleDeclaration.selectorRefCount > 0)))){ styleDeclaration.selectorRefCount--; }; delete _selectors[selector]; if (update){ styleDeclarationsChanged(); }; } public function get selectors():Array{ var i:String; var theSelectors:Array = []; for (i in _selectors) { theSelectors.push(i); }; return (theSelectors); } public static function getInstance():IStyleManager2{ if (!instance){ instance = new (StyleManagerImpl); }; return (instance); } } }//package mx.styles import flash.events.*; import mx.events.*; import mx.modules.*; class StyleEventDispatcher extends EventDispatcher { private function StyleEventDispatcher(moduleInfo:IModuleInfo){ super(); moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(event:ModuleEvent):void{ var styleEvent:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, event.bubbles, event.cancelable); styleEvent.bytesLoaded = event.bytesLoaded; styleEvent.bytesTotal = event.bytesTotal; dispatchEvent(styleEvent); } private function moduleInfo_readyHandler(event:ModuleEvent):void{ var styleEvent:StyleEvent = new StyleEvent(StyleEvent.COMPLETE); dispatchEvent(styleEvent); } private function moduleInfo_errorHandler(event:ModuleEvent):void{ var styleEvent:StyleEvent = new StyleEvent(StyleEvent.ERROR, event.bubbles, event.cancelable); styleEvent.bytesLoaded = event.bytesLoaded; styleEvent.bytesTotal = event.bytesTotal; styleEvent.errorText = event.errorText; dispatchEvent(styleEvent); } } class StyleModuleInfo { public var errorHandler:Function; public var readyHandler:Function; public var module:IModuleInfo; public var styleModule:IStyleModule; private function StyleModuleInfo(module:IModuleInfo, readyHandler:Function, errorHandler:Function){ super(); this.module = module; this.readyHandler = readyHandler; this.errorHandler = errorHandler; } }
Section 397
//StyleProtoChain (mx.styles.StyleProtoChain) package mx.styles { import flash.display.*; import mx.core.*; public class StyleProtoChain { mx_internal static const VERSION:String = "3.0.0.0"; public function StyleProtoChain(){ super(); } public static function initProtoChainForUIComponentStyleName(obj:IStyleClient):void{ var typeSelector:CSSStyleDeclaration; var styleName:IStyleClient = IStyleClient(obj.styleName); var target:DisplayObject = (obj as DisplayObject); var nonInheritChain:Object = styleName.nonInheritingStyles; if (((!(nonInheritChain)) || ((nonInheritChain == UIComponent.STYLE_UNINITIALIZED)))){ nonInheritChain = StyleManager.stylesRoot; if (nonInheritChain.effects){ obj.registerEffects(nonInheritChain.effects); }; }; var inheritChain:Object = styleName.inheritingStyles; if (((!(inheritChain)) || ((inheritChain == UIComponent.STYLE_UNINITIALIZED)))){ inheritChain = StyleManager.stylesRoot; }; var typeSelectors:Array = obj.getClassStyleDeclarations(); var n:int = typeSelectors.length; if ((styleName is StyleProxy)){ if (n == 0){ nonInheritChain = addProperties(nonInheritChain, styleName, false); }; target = (StyleProxy(styleName).source as DisplayObject); }; var i:int; while (i < n) { typeSelector = typeSelectors[i]; inheritChain = typeSelector.addStyleToProtoChain(inheritChain, target); inheritChain = addProperties(inheritChain, styleName, true); nonInheritChain = typeSelector.addStyleToProtoChain(nonInheritChain, target); nonInheritChain = addProperties(nonInheritChain, styleName, false); if (typeSelector.effects){ obj.registerEffects(typeSelector.effects); }; i++; }; obj.inheritingStyles = (obj.styleDeclaration) ? obj.styleDeclaration.addStyleToProtoChain(inheritChain, target) : inheritChain; obj.nonInheritingStyles = (obj.styleDeclaration) ? obj.styleDeclaration.addStyleToProtoChain(nonInheritChain, target) : nonInheritChain; } private static function addProperties(chain:Object, obj:IStyleClient, bInheriting:Boolean):Object{ var typeSelector:CSSStyleDeclaration; var classSelector:CSSStyleDeclaration; var filterMap:Object = ((((obj is StyleProxy)) && (!(bInheriting)))) ? StyleProxy(obj).filterMap : null; var curObj:IStyleClient = obj; while ((curObj is StyleProxy)) { curObj = StyleProxy(curObj).source; }; var target:DisplayObject = (curObj as DisplayObject); var typeSelectors:Array = obj.getClassStyleDeclarations(); var n:int = typeSelectors.length; var i:int; while (i < n) { typeSelector = typeSelectors[i]; chain = typeSelector.addStyleToProtoChain(chain, target, filterMap); if (typeSelector.effects){ obj.registerEffects(typeSelector.effects); }; i++; }; var styleName:Object = obj.styleName; if (styleName){ if (typeof(styleName) == "object"){ if ((styleName is CSSStyleDeclaration)){ classSelector = CSSStyleDeclaration(styleName); } else { chain = addProperties(chain, IStyleClient(styleName), bInheriting); }; } else { classSelector = StyleManager.getStyleDeclaration(("." + styleName)); }; if (classSelector){ chain = classSelector.addStyleToProtoChain(chain, target, filterMap); if (classSelector.effects){ obj.registerEffects(classSelector.effects); }; }; }; if (obj.styleDeclaration){ chain = obj.styleDeclaration.addStyleToProtoChain(chain, target, filterMap); }; return (chain); } public static function initTextField(obj:IUITextField):void{ var classSelector:CSSStyleDeclaration; var styleName:Object = obj.styleName; if (styleName){ if (typeof(styleName) == "object"){ if ((styleName is CSSStyleDeclaration)){ classSelector = CSSStyleDeclaration(styleName); } else { if ((styleName is StyleProxy)){ obj.inheritingStyles = IStyleClient(styleName).inheritingStyles; obj.nonInheritingStyles = addProperties(StyleManager.stylesRoot, IStyleClient(styleName), false); return; }; obj.inheritingStyles = IStyleClient(styleName).inheritingStyles; obj.nonInheritingStyles = IStyleClient(styleName).nonInheritingStyles; return; }; } else { classSelector = StyleManager.getStyleDeclaration(("." + styleName)); }; }; var inheritChain:Object = IStyleClient(obj.parent).inheritingStyles; var nonInheritChain:Object = StyleManager.stylesRoot; if (!inheritChain){ inheritChain = StyleManager.stylesRoot; }; if (classSelector){ inheritChain = classSelector.addStyleToProtoChain(inheritChain, DisplayObject(obj)); nonInheritChain = classSelector.addStyleToProtoChain(nonInheritChain, DisplayObject(obj)); }; obj.inheritingStyles = inheritChain; obj.nonInheritingStyles = nonInheritChain; } } }//package mx.styles
Section 398
//StyleProxy (mx.styles.StyleProxy) package mx.styles { import mx.core.*; public class StyleProxy implements IStyleClient { private var _source:IStyleClient; private var _filterMap:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function StyleProxy(source:IStyleClient, filterMap:Object){ super(); this.filterMap = filterMap; this.source = source; } public function styleChanged(styleProp:String):void{ return (_source.styleChanged(styleProp)); } public function get filterMap():Object{ return (((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? null : _filterMap); } public function set filterMap(value:Object):void{ _filterMap = value; } public function get styleDeclaration():CSSStyleDeclaration{ return (_source.styleDeclaration); } public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{ return (_source.notifyStyleChangeInChildren(styleProp, recursive)); } public function set inheritingStyles(value:Object):void{ } public function get source():IStyleClient{ return (_source); } public function get styleName():Object{ if ((_source.styleName is IStyleClient)){ return (new StyleProxy(IStyleClient(_source.styleName), filterMap)); }; return (_source.styleName); } public function registerEffects(effects:Array):void{ return (_source.registerEffects(effects)); } public function regenerateStyleCache(recursive:Boolean):void{ _source.regenerateStyleCache(recursive); } public function get inheritingStyles():Object{ return (_source.inheritingStyles); } public function get className():String{ return (_source.className); } public function clearStyle(styleProp:String):void{ _source.clearStyle(styleProp); } public function getClassStyleDeclarations():Array{ return (_source.getClassStyleDeclarations()); } public function set nonInheritingStyles(value:Object):void{ } public function setStyle(styleProp:String, newValue):void{ _source.setStyle(styleProp, newValue); } public function get nonInheritingStyles():Object{ return (((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? _source.nonInheritingStyles : null); } public function set styleName(value:Object):void{ _source.styleName = value; } public function getStyle(styleProp:String){ return (_source.getStyle(styleProp)); } public function set source(value:IStyleClient):void{ _source = value; } public function set styleDeclaration(value:CSSStyleDeclaration):void{ _source.styleDeclaration = styleDeclaration; } } }//package mx.styles
Section 399
//ColorUtil (mx.utils.ColorUtil) package mx.utils { import mx.core.*; public class ColorUtil { mx_internal static const VERSION:String = "3.0.0.0"; public function ColorUtil(){ super(); } public static function adjustBrightness2(rgb:uint, brite:Number):uint{ var r:Number; var g:Number; var b:Number; if (brite == 0){ return (rgb); }; if (brite < 0){ brite = ((100 + brite) / 100); r = (((rgb >> 16) & 0xFF) * brite); g = (((rgb >> 8) & 0xFF) * brite); b = ((rgb & 0xFF) * brite); } else { brite = (brite / 100); r = ((rgb >> 16) & 0xFF); g = ((rgb >> 8) & 0xFF); b = (rgb & 0xFF); r = (r + ((0xFF - r) * brite)); g = (g + ((0xFF - g) * brite)); b = (b + ((0xFF - b) * brite)); r = Math.min(r, 0xFF); g = Math.min(g, 0xFF); b = Math.min(b, 0xFF); }; return ((((r << 16) | (g << 8)) | b)); } public static function rgbMultiply(rgb1:uint, rgb2:uint):uint{ var r1:Number = ((rgb1 >> 16) & 0xFF); var g1:Number = ((rgb1 >> 8) & 0xFF); var b1:Number = (rgb1 & 0xFF); var r2:Number = ((rgb2 >> 16) & 0xFF); var g2:Number = ((rgb2 >> 8) & 0xFF); var b2:Number = (rgb2 & 0xFF); return ((((((r1 * r2) / 0xFF) << 16) | (((g1 * g2) / 0xFF) << 8)) | ((b1 * b2) / 0xFF))); } public static function adjustBrightness(rgb:uint, brite:Number):uint{ var r:Number = Math.max(Math.min((((rgb >> 16) & 0xFF) + brite), 0xFF), 0); var g:Number = Math.max(Math.min((((rgb >> 8) & 0xFF) + brite), 0xFF), 0); var b:Number = Math.max(Math.min(((rgb & 0xFF) + brite), 0xFF), 0); return ((((r << 16) | (g << 8)) | b)); } } }//package mx.utils
Section 400
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import flash.display.*; import mx.core.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.0.0.0"; public function GraphicsUtil(){ super(); } public static function drawRoundRectComplex(graphics:Graphics, x:Number, y:Number, width:Number, height:Number, topLeftRadius:Number, topRightRadius:Number, bottomLeftRadius:Number, bottomRightRadius:Number):void{ var xw:Number = (x + width); var yh:Number = (y + height); var minSize:Number = ((width < height)) ? (width * 2) : (height * 2); topLeftRadius = ((topLeftRadius < minSize)) ? topLeftRadius : minSize; topRightRadius = ((topRightRadius < minSize)) ? topRightRadius : minSize; bottomLeftRadius = ((bottomLeftRadius < minSize)) ? bottomLeftRadius : minSize; bottomRightRadius = ((bottomRightRadius < minSize)) ? bottomRightRadius : minSize; var a:Number = (bottomRightRadius * 0.292893218813453); var s:Number = (bottomRightRadius * 0.585786437626905); graphics.moveTo(xw, (yh - bottomRightRadius)); graphics.curveTo(xw, (yh - s), (xw - a), (yh - a)); graphics.curveTo((xw - s), yh, (xw - bottomRightRadius), yh); a = (bottomLeftRadius * 0.292893218813453); s = (bottomLeftRadius * 0.585786437626905); graphics.lineTo((x + bottomLeftRadius), yh); graphics.curveTo((x + s), yh, (x + a), (yh - a)); graphics.curveTo(x, (yh - s), x, (yh - bottomLeftRadius)); a = (topLeftRadius * 0.292893218813453); s = (topLeftRadius * 0.585786437626905); graphics.lineTo(x, (y + topLeftRadius)); graphics.curveTo(x, (y + s), (x + a), (y + a)); graphics.curveTo((x + s), y, (x + topLeftRadius), y); a = (topRightRadius * 0.292893218813453); s = (topRightRadius * 0.585786437626905); graphics.lineTo((xw - topRightRadius), y); graphics.curveTo((xw - s), y, (xw - a), (y + a)); graphics.curveTo(xw, (y + s), xw, (y + topRightRadius)); graphics.lineTo(xw, (yh - bottomRightRadius)); } } }//package mx.utils
Section 401
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public function NameUtil(){ super(); } public static function displayObjectToString(displayObject:DisplayObject):String{ var result:String; var s:String; var indices:Array; var o:DisplayObject = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; return (result); } public static function createUniqueName(object:Object):String{ if (!object){ return (null); }; var name:String = getQualifiedClassName(object); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; var charCode:int = name.charCodeAt((name.length - 1)); if ((((charCode >= 48)) && ((charCode <= 57)))){ name = (name + "_"); }; return ((name + counter++)); } } }//package mx.utils
Section 402
//StringUtil (mx.utils.StringUtil) package mx.utils { import mx.core.*; public class StringUtil { mx_internal static const VERSION:String = "3.0.0.0"; public function StringUtil(){ super(); } public static function trim(str:String):String{ if (str == null){ return (""); }; var startIndex:int; while (isWhitespace(str.charAt(startIndex))) { startIndex++; }; var endIndex:int = (str.length - 1); while (isWhitespace(str.charAt(endIndex))) { endIndex--; }; if (endIndex >= startIndex){ return (str.slice(startIndex, (endIndex + 1))); }; return (""); } public static function isWhitespace(character:String):Boolean{ switch (character){ case " ": case "\t": case "\r": case "\n": case "\f": return (true); default: return (false); }; } public static function substitute(str:String, ... _args):String{ var args:Array; if (str == null){ return (""); }; var len:uint = _args.length; if ((((len == 1)) && ((_args[0] is Array)))){ args = (_args[0] as Array); len = args.length; } else { args = _args; }; var i:int; while (i < len) { str = str.replace(new RegExp((("\\{" + i) + "\\}"), "g"), args[i]); i++; }; return (str); } public static function trimArrayElements(value:String, delimiter:String):String{ var items:Array; var len:int; var i:int; if (((!((value == ""))) && (!((value == null))))){ items = value.split(delimiter); len = items.length; i = 0; while (i < len) { items[i] = StringUtil.trim(items[i]); i++; }; if (len > 0){ value = items.join(delimiter); }; }; return (value); } } }//package mx.utils
Section 403
//IValidatorListener (mx.validators.IValidatorListener) package mx.validators { import mx.events.*; public interface IValidatorListener { function set errorString(E:\dev\3.1.0\frameworks\projects\framework\src;mx\validators;IValidatorListener.as:String):void; function get validationSubField():String; function validationResultHandler(E:\dev\3.1.0\frameworks\projects\framework\src;mx\validators;IValidatorListener.as:ValidationResultEvent):void; function set validationSubField(E:\dev\3.1.0\frameworks\projects\framework\src;mx\validators;IValidatorListener.as:String):void; function get errorString():String; } }//package mx.validators
Section 404
//ValidationResult (mx.validators.ValidationResult) package mx.validators { import mx.core.*; public class ValidationResult { public var subField:String; public var errorCode:String; public var isError:Boolean; public var errorMessage:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ValidationResult(isError:Boolean, subField:String="", errorCode:String="", errorMessage:String=""){ super(); this.isError = isError; this.subField = subField; this.errorMessage = errorMessage; this.errorCode = errorCode; } } }//package mx.validators
Section 405
//Arco (Som.Arco) package Som { import flash.media.*; public dynamic class Arco extends Sound { } }//package Som
Section 406
//Axe (Som.Axe) package Som { import flash.media.*; public dynamic class Axe extends Sound { } }//package Som
Section 407
//Bless (Som.Bless) package Som { import flash.media.*; public dynamic class Bless extends Sound { } }//package Som
Section 408
//Blunt (Som.Blunt) package Som { import flash.media.*; public dynamic class Blunt extends Sound { } }//package Som
Section 409
//BurnSound (Som.BurnSound) package Som { import flash.media.*; public dynamic class BurnSound extends Sound { } }//package Som
Section 410
//CapaMusic (Som.CapaMusic) package Som { import flash.media.*; public dynamic class CapaMusic extends Sound { } }//package Som
Section 411
//ClickMenu (Som.ClickMenu) package Som { import flash.media.*; public dynamic class ClickMenu extends Sound { } }//package Som
Section 412
//Cure (Som.Cure) package Som { import flash.media.*; public dynamic class Cure extends Sound { } }//package Som
Section 413
//Down (Som.Down) package Som { import flash.media.*; public dynamic class Down extends Sound { } }//package Som
Section 414
//DrainLife (Som.DrainLife) package Som { import flash.media.*; public dynamic class DrainLife extends Sound { } }//package Som
Section 415
//Espada (Som.Espada) package Som { import flash.media.*; public dynamic class Espada extends Sound { } }//package Som
Section 416
//Explode (Som.Explode) package Som { import flash.media.*; public dynamic class Explode extends Sound { } }//package Som
Section 417
//Foice (Som.Foice) package Som { import flash.media.*; public dynamic class Foice extends Sound { } }//package Som
Section 418
//Lanca (Som.Lanca) package Som { import flash.media.*; public dynamic class Lanca extends Sound { } }//package Som
Section 419
//MenuOff (Som.MenuOff) package Som { import flash.media.*; public dynamic class MenuOff extends Sound { } }//package Som
Section 420
//MusicBattle1 (Som.MusicBattle1) package Som { import flash.media.*; public dynamic class MusicBattle1 extends Sound { } }//package Som
Section 421
//MusicBattle2 (Som.MusicBattle2) package Som { import flash.media.*; public dynamic class MusicBattle2 extends Sound { } }//package Som
Section 422
//MusicBattle3 (Som.MusicBattle3) package Som { import flash.media.*; public dynamic class MusicBattle3 extends Sound { } }//package Som
Section 423
//OverMenu (Som.OverMenu) package Som { import flash.media.*; public dynamic class OverMenu extends Sound { } }//package Som
Section 424
//PassCard (Som.PassCard) package Som { import flash.media.*; public dynamic class PassCard extends Sound { } }//package Som
Section 425
//PoisonSound (Som.PoisonSound) package Som { import flash.media.*; public dynamic class PoisonSound extends Sound { } }//package Som
Section 426
//ScoreSound (Som.ScoreSound) package Som { import flash.media.*; public dynamic class ScoreSound extends Sound { } }//package Som
Section 427
//Thunder (Som.Thunder) package Som { import flash.media.*; public dynamic class Thunder extends Sound { } }//package Som
Section 428
//TrashCard (Som.TrashCard) package Som { import flash.media.*; public dynamic class TrashCard extends Sound { } }//package Som
Section 429
//UpSound (Som.UpSound) package Som { import flash.media.*; public dynamic class UpSound extends Sound { } }//package Som
Section 430
//WorldMapMusic (Som.WorldMapMusic) package Som { import flash.media.*; public dynamic class WorldMapMusic extends Sound { } }//package Som
Section 431
//BattleScore (Telas.BattleScore) package Telas { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Utilidades.*; import mochi.as3.*; import flash.ui.*; public class BattleScore { public var PLAYER_LOST_CARDS:int;// = 0 private var LOOP_ENEMY_DESTROYED:int; public var PLAYER_LIFE_LEFT:int;// = 0 private var LOOP_LIFE_LEFT:int; private var SoundDelay:int; private var START_SCORE_DELAY:int;// = 40 public var GRF_ZERACAO:Zeracao; public var ENEMY_LOST_CARDS:int;// = 0 public var PLAYER_DISCARD:int;// = 0 private var GRF_GRAFICO:ScoreMc; public var PLAYER_CARDS:int;// = 0 public var CallZeracao:Boolean; public var MAX_SCORE:int;// = 0 private var LOOP_CARDS_LEFT:int; public static var TELA_SCORE:int = 11; public static var TELA_ZERACAO:int = 99; public function BattleScore(){ GRF_ZERACAO = new Zeracao(); super(); this.GRF_GRAFICO = new ScoreMc(); this.GRF_GRAFICO.SCORE_INTERNO.C1.gotoAndStop("null"); this.GRF_GRAFICO.SCORE_INTERNO.C2.gotoAndStop("null"); this.GRF_GRAFICO.SCORE_INTERNO.C3.gotoAndStop("null"); this.GRF_GRAFICO.SCORE_INTERNO.C4.gotoAndStop("null"); this.GRF_GRAFICO.SCORE_INTERNO.SMILE.gotoAndStop(1); this.GRF_GRAFICO.SCORE_INTERNO.RATE.alpha = 0; } public function CallTela(pWin:Boolean, pCallZeracao:Boolean):void{ this.CallZeracao = pCallZeracao; Mouse.show(); Application.application.TelaAtual = TELA_SCORE; Application.application.FlashHolder.addChild(this.GRF_GRAFICO); Application.application.ShowMochiAdsOnMC(GRF_GRAFICO.SCORE_INTERNO.MOCHI); this.GRF_GRAFICO.addEventListener(Event.ENTER_FRAME, ScoreLoop, false, 0, false); this.PLAYER_LIFE_LEFT = int(Application.application.CombateAtual.GRF_GRAFICO.PLAYER_LIFE.text); if (this.PLAYER_LIFE_LEFT <= 0){ this.PLAYER_LIFE_LEFT = 0; }; if (pWin){ this.GRF_GRAFICO.SCORE_INTERNO.WinLose.gotoAndStop(1); } else { this.GRF_GRAFICO.SCORE_INTERNO.WinLose.gotoAndStop(2); }; this.GRF_GRAFICO.gotoAndPlay(1); } private function GetCards(pRate:int):void{ var Chance:Number; var Card:CardMC; var CardsGet:Array = new Array(); Chance = (0.1 + (pRate * 0.06)); Card = GetRadonCard(Chance, 4, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Chance = (0.2 + (pRate * 0.1)); Card = GetRadonCard(Chance, 3, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Card = GetRadonCard((Chance / 2), 3, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Chance = (0.3 + (pRate * 0.15)); Card = GetRadonCard(Chance, 2, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Card = GetRadonCard((Chance / 2), 2, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Chance = (0.4 + (pRate * 0.2)); Card = GetRadonCard(Chance, 1, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; Card = GetRadonCard((Chance / 2), 1, CardsGet); if (Card != null){ CardsGet[CardsGet.length] = Card; }; var i:int; while ((((i < 4)) && ((i < CardsGet.length)))) { PlayerDB.CARDS[PlayerDB.CARDS.length] = CardsGet[i].CardId; (this.GRF_GRAFICO.SCORE_INTERNO.getChildByName(("C" + (i + 1))) as MovieClip).addChild(CardsGet[i]); i++; }; } private function GetRadonCard(pChance:Number, pLevel:int, pCardsAlreadyGotten:Array):CardMC{ var CardId:int; var CanTakeCard:Boolean; var pPlayerRace:int; var i:int; var j:int; var CardMc:CardMC; if (PlayerDB.HUMAN){ pPlayerRace = CardDB.RACA_HUMANO; } else { pPlayerRace = CardDB.RACA_DEMONIO; }; if (Math.random() <= pChance){ CardId = (Math.random() * CardDB.Cards.length); i = 0; while (i < 6) { CanTakeCard = true; if (CardDB.GetCardInfo(CardId).RACA == pPlayerRace){ if (CardDB.GetCardInfo(CardId).LEVEL == pLevel){ if (PlayerDB.CARDS.indexOf(CardId) == -1){ j = 0; while (j < pCardsAlreadyGotten.length) { if (pCardsAlreadyGotten[j].CardId == CardId){ CanTakeCard = false; }; j++; }; } else { CanTakeCard = false; }; } else { CanTakeCard = false; }; } else { CanTakeCard = false; }; if (CanTakeCard){ CardMc = new CardMC(); CardDB.SetCardInfoToMc(CardMc, CardId); CardMc.CardId = CardId; break; } else { CardId = (CardId + 2); if (CardId >= CardDB.Cards.length){ CardId = 0; }; }; i++; }; }; return (CardMc); } private function ZERACAO():void{ Application.application.TelaAtual = TELA_ZERACAO; this.GRF_ZERACAO.LOGO.addEventListener(MouseEvent.CLICK, Application.application.GoSite, false, 0, true); this.GRF_ZERACAO.LOGO.useHandCursor = true; this.GRF_ZERACAO.LOGO.buttonMode = true; this.GRF_ZERACAO.PANEL.SCORE.text = PlayerDB.SCORE.toString(); Application.application.FlashHolder.addChild(this.GRF_ZERACAO); if (((Application.application.MochiCoins_) && (!(Options.BOTH_WORLD)))){ MochiCoins.showItem({x:20, y:200, item:Application.application.MochiLastWorldId}); }; } public function Quit(e:MouseEvent):void{ if (this.CallZeracao){ this.ZERACAO(); } else { PlayerDB.SaveData(); Application.application.FlashHolder.removeChild(this.GRF_GRAFICO); Application.application.CombateAtual.Quit(); Application.application.World.CallTela(); }; } private function ScoreLoop(E:Event):void{ var SUM_SCORE:int; if (this.START_SCORE_DELAY > 0){ this.START_SCORE_DELAY--; if (this.START_SCORE_DELAY <= 0){ this.LOOP_CARDS_LEFT = ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD); if (this.LOOP_CARDS_LEFT <= 0){ this.LOOP_ENEMY_DESTROYED = this.ENEMY_LOST_CARDS; if (this.LOOP_ENEMY_DESTROYED <= 0){ this.LOOP_LIFE_LEFT = this.PLAYER_LIFE_LEFT; }; }; SoundDelay = 2; }; } else { SUM_SCORE = 0; if (this.LOOP_CARDS_LEFT > 0){ this.LOOP_CARDS_LEFT--; if (this.LOOP_CARDS_LEFT <= 0){ this.LOOP_CARDS_LEFT = 0; this.LOOP_ENEMY_DESTROYED = this.ENEMY_LOST_CARDS; if (this.LOOP_ENEMY_DESTROYED == 0){ this.LOOP_LIFE_LEFT = this.PLAYER_LIFE_LEFT; }; }; SUM_SCORE = (((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD) - this.LOOP_CARDS_LEFT); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = ("+ " + (((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD) - this.LOOP_CARDS_LEFT).toString()); } else { if (this.LOOP_ENEMY_DESTROYED > 0){ SUM_SCORE = ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = ("+ " + ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD).toString()); this.LOOP_ENEMY_DESTROYED--; if (this.LOOP_ENEMY_DESTROYED <= 0){ this.LOOP_ENEMY_DESTROYED = 0; this.LOOP_LIFE_LEFT = this.PLAYER_LIFE_LEFT; }; SUM_SCORE = (SUM_SCORE + (this.ENEMY_LOST_CARDS - this.LOOP_ENEMY_DESTROYED)); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = (this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text + ("\n+ " + (this.ENEMY_LOST_CARDS - this.LOOP_ENEMY_DESTROYED).toString())); } else { if (this.LOOP_LIFE_LEFT > 0){ SUM_SCORE = ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD); SUM_SCORE = (SUM_SCORE + this.ENEMY_LOST_CARDS); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = ("+ " + ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD).toString()); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = (this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text + ("\n+ " + this.ENEMY_LOST_CARDS.toString())); this.LOOP_LIFE_LEFT--; if (this.LOOP_LIFE_LEFT <= 0){ this.LOOP_LIFE_LEFT = 0; }; SUM_SCORE = (SUM_SCORE + (this.PLAYER_LIFE_LEFT - this.LOOP_LIFE_LEFT)); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = (this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text + ("\n+ " + (this.PLAYER_LIFE_LEFT - this.LOOP_LIFE_LEFT).toString())); } else { this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = ("+ " + ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD).toString()); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = (this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text + ("\n+ " + this.ENEMY_LOST_CARDS.toString())); this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text = (this.GRF_GRAFICO.SCORE_INTERNO.SCORES.text + ("\n+ " + this.PLAYER_LIFE_LEFT.toString())); SUM_SCORE = ((this.PLAYER_CARDS - this.PLAYER_LOST_CARDS) - this.PLAYER_DISCARD); SUM_SCORE = (SUM_SCORE + this.ENEMY_LOST_CARDS); SUM_SCORE = (SUM_SCORE + this.PLAYER_LIFE_LEFT); PlayerDB.AddScore(SUM_SCORE); this.GRF_GRAFICO.SCORE_INTERNO.SMILE.gotoAndStop(int(((SUM_SCORE / this.MAX_SCORE) * 100))); if (int(((SUM_SCORE / this.MAX_SCORE) * 100)) >= 65){ this.GRF_GRAFICO.SCORE_INTERNO.RATE.gotoAndStop(3); this.GetCards(3); } else { if (int(((SUM_SCORE / this.MAX_SCORE) * 100)) >= 30){ this.GRF_GRAFICO.SCORE_INTERNO.RATE.gotoAndStop(2); this.GetCards(2); } else { this.GRF_GRAFICO.SCORE_INTERNO.RATE.gotoAndStop(1); this.GetCards(1); }; }; this.GRF_GRAFICO.SCORE_INTERNO.RATE.alpha = 1; this.GRF_GRAFICO.SCORE_INTERNO.CONTINUE.addEventListener(MouseEvent.CLICK, Quit, false, 0, false); this.GRF_GRAFICO.removeEventListener(Event.ENTER_FRAME, ScoreLoop, false); }; }; }; this.GRF_GRAFICO.SCORE_INTERNO.TOTAL.text = ((SUM_SCORE.toString() + " / ") + this.MAX_SCORE.toString()); this.GRF_GRAFICO.SCORE_INTERNO.SMILE.gotoAndStop(int(((SUM_SCORE / this.MAX_SCORE) * 100))); if (Options.SFX){ SoundDelay--; if (SoundDelay <= 0){ Sons.SFX_SCORE.play(); SoundDelay = 2; }; }; }; } } }//package Telas
Section 432
//Capa (Telas.Capa) package Telas { import flash.events.*; import flash.display.*; import mx.core.*; import mx.controls.*; import Arte.*; import DB.*; import Utilidades.*; import BookPack.*; import mochi.as3.*; import flash.net.*; public final class Capa { private static var START_HERO_ID:int = -1; public static var TELA_CAPA:int = 0; private static var START_D_CARDS:Array; private static var START_H_CARDS:Array; private static var GRF_START_GAME:StartGame; public static var TELA_START_GAME:int = 1; public static var GRF_GRAFICO:CapaMc; private static var GRF_TUTORIAL:StartTuto; private static var START_CARDS_SHOWED:Boolean = false; private static var START_RACE_HUMAN:int = -1; public function Capa(){ var AuxCard:CardMC; super(); GRF_TUTORIAL = new StartTuto(); GRF_TUTORIAL.x = 350; GRF_TUTORIAL.LINK.addEventListener(MouseEvent.CLICK, Tutorial.ClickTuto, false, 0, true); GRF_TUTORIAL.LINK.addEventListener(MouseEvent.ROLL_OVER, Tutorial.OverLink, false, 0, true); GRF_GRAFICO = new CapaMc(); GRF_GRAFICO.LOGO.addEventListener(MouseEvent.CLICK, Application.application.GoSite, false, 0, true); GRF_GRAFICO.LOGO.useHandCursor = true; GRF_GRAFICO.LOGO.buttonMode = true; GRF_GRAFICO.MENU.BT1.TEXTO.text = "Start a new Campaign"; GRF_GRAFICO.MENU.BT1.gotoAndStop("on"); GRF_GRAFICO.MENU.BT2.TEXTO.text = "Continue Last Human Campaign"; GRF_GRAFICO.MENU.BT3.TEXTO.text = "Continue Last Demon Campaign"; GRF_GRAFICO.MENU.BT4.TEXTO.text = "Play More Games"; GRF_GRAFICO.MENU.BT4.gotoAndStop("on"); var i = 1; while (i < 5) { GRF_GRAFICO.MENU.getChildByName(("BT" + i)).addEventListener(MouseEvent.CLICK, ClickMenu, false, 0, true); GRF_GRAFICO.MENU.getChildByName(("BT" + i)).addEventListener(MouseEvent.ROLL_OVER, OverMenu, false, 0, true); GRF_GRAFICO.MENU.getChildByName(("BT" + i)).addEventListener(MouseEvent.ROLL_OUT, OutMenu, false, 0, true); (GRF_GRAFICO.MENU.getChildByName(("BT" + i)) as MovieClip).useHandCursor = true; (GRF_GRAFICO.MENU.getChildByName(("BT" + i)) as MovieClip).buttonMode = true; (GRF_GRAFICO.MENU.getChildByName(("BT" + i)) as MovieClip).COD = i; i++; }; START_H_CARDS = new Array(); AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_RECRUIT); START_H_CARDS[1] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_WARRIOR); START_H_CARDS[2] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_SPY_CAVALARY); START_H_CARDS[3] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_NOMAD); START_H_CARDS[4] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_DWARF_CROSSBOWMAN); START_H_CARDS[5] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_LIGHT_CROSSBOWMAN); START_H_CARDS[6] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_HERMIT); START_H_CARDS[7] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_NATURE_MAGE); START_H_CARDS[8] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_ELRION); START_H_CARDS[9] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_LEONEL); START_H_CARDS[10] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_LOTHAR); START_H_CARDS[11] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_H_MERLIN); START_H_CARDS[12] = AuxCard; START_D_CARDS = new Array(); AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_LIZARD_RECRUIT); START_D_CARDS[1] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_LIZARD_WARRIOR); START_D_CARDS[2] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_RECRUIT_TROOL); START_D_CARDS[3] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_GIANT_TROOL); START_D_CARDS[4] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_SCOUT_ARCHER); START_D_CARDS[5] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_LIGHT_DEMON); START_D_CARDS[6] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_DEATH_RISER); START_D_CARDS[7] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_LAVA_MAGE); START_D_CARDS[8] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_ABADA); START_D_CARDS[9] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_KALODAN); START_D_CARDS[10] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_BELZERU); START_D_CARDS[11] = AuxCard; AuxCard = new CardMC(); CardDB.SetCardInfoToMc(AuxCard, CardDB.CARD_D_BALROG); START_D_CARDS[12] = AuxCard; i = 9; while (i < 13) { START_H_CARDS[i].CardId = i; START_H_CARDS[i].RACE = 0; START_H_CARDS[i].addEventListener(MouseEvent.CLICK, ClickHero, false, 0, true); START_H_CARDS[i].addEventListener(MouseEvent.ROLL_OVER, OverHero, false, 0, true); START_H_CARDS[i].addEventListener(MouseEvent.ROLL_OUT, OutHero, false, 0, true); START_H_CARDS[i].useHandCursor = true; START_H_CARDS[i].buttonMode = true; START_D_CARDS[i].CardId = i; START_D_CARDS[i].RACE = 1; START_D_CARDS[i].addEventListener(MouseEvent.CLICK, ClickHero, false, 0, true); START_D_CARDS[i].addEventListener(MouseEvent.ROLL_OVER, OverHero, false, 0, true); START_D_CARDS[i].addEventListener(MouseEvent.ROLL_OUT, OutHero, false, 0, true); START_D_CARDS[i].useHandCursor = true; START_D_CARDS[i].buttonMode = true; i++; }; GRF_START_GAME = new StartGame(); GRF_START_GAME.Human.RACE = 0; GRF_START_GAME.Demon.RACE = 1; GRF_START_GAME.Human.useHandCursor = true; GRF_START_GAME.Human.buttonMode = true; GRF_START_GAME.Demon.useHandCursor = true; GRF_START_GAME.Demon.buttonMode = true; GRF_START_GAME.Human.addEventListener(MouseEvent.CLICK, ClickRace, false, 0, true); GRF_START_GAME.Human.addEventListener(MouseEvent.ROLL_OUT, OutRace, false, 0, true); GRF_START_GAME.Human.addEventListener(MouseEvent.ROLL_OVER, OverRace, false, 0, true); GRF_START_GAME.Demon.addEventListener(MouseEvent.CLICK, ClickRace, false, 0, true); GRF_START_GAME.Demon.addEventListener(MouseEvent.ROLL_OUT, OutRace, false, 0, true); GRF_START_GAME.Demon.addEventListener(MouseEvent.ROLL_OVER, OverRace, false, 0, true); GRF_START_GAME.StartGameBt.addEventListener(MouseEvent.CLICK, ClickStart, false, 0, true); GRF_START_GAME.StartGameBt.addEventListener(MouseEvent.ROLL_OVER, OverStart, false, 0, true); GRF_START_GAME.Options.LOGO.addEventListener(MouseEvent.CLICK, Application.application.GoSite, false, 0, true); GRF_START_GAME.Options.LOGO.useHandCursor = true; GRF_START_GAME.Options.LOGO.buttonMode = true; GRF_START_GAME.Options.TutorialMask.useHandCursor = true; GRF_START_GAME.Options.TutorialMask.buttonMode = true; GRF_START_GAME.Options.TutorialMask.addEventListener(MouseEvent.CLICK, ClickTutorial, false, 0, true); GRF_START_GAME.Options.SoundMask.useHandCursor = true; GRF_START_GAME.Options.SoundMask.buttonMode = true; GRF_START_GAME.Options.SoundMask.addEventListener(MouseEvent.CLICK, ClickSound, false, 0, true); GRF_START_GAME.Options.MusicMask.useHandCursor = true; GRF_START_GAME.Options.MusicMask.buttonMode = true; GRF_START_GAME.Options.MusicMask.addEventListener(MouseEvent.CLICK, ClickMusic, false, 0, true); GRF_START_GAME.Options.AutoSaveMask.useHandCursor = true; GRF_START_GAME.Options.AutoSaveMask.buttonMode = true; GRF_START_GAME.Options.AutoSaveMask.addEventListener(MouseEvent.CLICK, ClickAutoSave, false, 0, true); } public static function QuitStartGame():void{ Application.application.FlashHolder.removeChild(GRF_START_GAME); Application.application.FlashHolder.removeChild(GRF_TUTORIAL); //unresolved jump var _slot1 = e; } private static function ClickSound(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.SFX = !(Options.SFX); if (Options.SFX){ GRF_START_GAME.Options.Sound.gotoAndStop("on"); } else { GRF_START_GAME.Options.Sound.gotoAndStop("off"); }; } private static function ClickHero(e:MouseEvent):void{ var ID:int; if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; if (START_HERO_ID != -1){ if (START_RACE_HUMAN == 0){ START_H_CARDS[START_HERO_ID].alpha = 0.5; } else { START_D_CARDS[START_HERO_ID].alpha = 0.5; }; }; if (e.target.parent.CardId){ ID = e.target.parent.CardId; } else { ID = e.target.parent.parent.CardId; }; START_HERO_ID = ID; } private static function ShowRaceStuff(pRace:int):void{ var RemoveCardsArray:Array; var DisplayCardsArray:Array; var pRace = pRace; var DisplayCards:Boolean; if (pRace == 0){ RemoveCardsArray = START_D_CARDS; DisplayCardsArray = START_H_CARDS; } else { RemoveCardsArray = START_H_CARDS; DisplayCardsArray = START_D_CARDS; }; GRF_START_GAME.C1.removeChild(RemoveCardsArray[1]); GRF_START_GAME.C2.removeChild(RemoveCardsArray[2]); GRF_START_GAME.C3.removeChild(RemoveCardsArray[3]); GRF_START_GAME.C4.removeChild(RemoveCardsArray[4]); GRF_START_GAME.C5.removeChild(RemoveCardsArray[5]); GRF_START_GAME.C6.removeChild(RemoveCardsArray[6]); GRF_START_GAME.C7.removeChild(RemoveCardsArray[7]); GRF_START_GAME.C8.removeChild(RemoveCardsArray[8]); GRF_START_GAME.H1.removeChild(RemoveCardsArray[9]); GRF_START_GAME.H2.removeChild(RemoveCardsArray[10]); GRF_START_GAME.H3.removeChild(RemoveCardsArray[11]); GRF_START_GAME.H4.removeChild(RemoveCardsArray[12]); //unresolved jump var _slot1 = E; if (START_CARDS_SHOWED){ DisplayCards = false; }; if (DisplayCards){ GRF_START_GAME.C1.addChild(DisplayCardsArray[1]); GRF_START_GAME.C2.addChild(DisplayCardsArray[2]); GRF_START_GAME.C3.addChild(DisplayCardsArray[3]); GRF_START_GAME.C4.addChild(DisplayCardsArray[4]); GRF_START_GAME.C5.addChild(DisplayCardsArray[5]); GRF_START_GAME.C6.addChild(DisplayCardsArray[6]); GRF_START_GAME.C7.addChild(DisplayCardsArray[7]); GRF_START_GAME.C8.addChild(DisplayCardsArray[8]); if (START_RACE_HUMAN != pRace){ DisplayCardsArray[9].alpha = 0.5; DisplayCardsArray[10].alpha = 0.5; DisplayCardsArray[11].alpha = 0.5; DisplayCardsArray[12].alpha = 0.5; }; GRF_START_GAME.H1.addChild(DisplayCardsArray[9]); GRF_START_GAME.H2.addChild(DisplayCardsArray[10]); GRF_START_GAME.H3.addChild(DisplayCardsArray[11]); GRF_START_GAME.H4.addChild(DisplayCardsArray[12]); }; START_CARDS_SHOWED = true; } private static function OverHero(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; if (START_RACE_HUMAN == 0){ START_H_CARDS[e.target.CardId].alpha = 1; } else { START_D_CARDS[e.target.CardId].alpha = 1; }; } private static function ClickAutoSave(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.AUTO_SAVE = !(Options.AUTO_SAVE); if (Options.AUTO_SAVE){ GRF_START_GAME.Options.AutoSave.gotoAndStop("on"); } else { GRF_START_GAME.Options.AutoSave.gotoAndStop("off"); }; } private static function OverStart(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; } private static function ClickRace(e:MouseEvent):void{ var Race:int; if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; if (e.target.parent.RACE){ Race = e.target.parent.RACE; } else { Race = e.target.parent.parent.RACE; }; if (Race != START_RACE_HUMAN){ if ((((Race == 0)) && ((GRF_START_GAME.Demon.currentLabel == "on")))){ GRF_START_GAME.Demon.gotoAndStop("off"); } else { if ((((Race == 1)) && ((GRF_START_GAME.Human.currentLabel == "on")))){ GRF_START_GAME.Human.gotoAndStop("off"); }; }; START_RACE_HUMAN = Race; START_HERO_ID = -1; }; } private static function ClickStart(e:MouseEvent):void{ var World:int; var Alerta:String = ""; if (START_RACE_HUMAN == -1){ Alerta = (Alerta + " - Selec a race to start the game!\n"); }; if (START_HERO_ID == -1){ Alerta = (Alerta + " - Selec a hero to start the game!\n"); }; if (Alerta == ""){ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.SaveOptions(); new PlayerDB(); if (START_RACE_HUMAN == 0){ PlayerDB.HUMAN = true; } else { PlayerDB.HUMAN = false; }; if (PlayerDB.HUMAN){ PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_RECRUIT; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_WARRIOR; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_SPY_CAVALARY; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_NOMAD; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_DWARF_CROSSBOWMAN; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_LIGHT_CROSSBOWMAN; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_HERMIT; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_NATURE_MAGE; switch (START_HERO_ID){ case 9: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_ELRION; break; case 10: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_LEONEL; break; case 11: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_LOTHAR; break; case 12: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_H_MERLIN; break; }; } else { PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_LIZARD_RECRUIT; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_LIZARD_WARRIOR; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_RECRUIT_TROOL; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_GIANT_TROOL; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_SCOUT_ARCHER; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_LIGHT_DEMON; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_DEATH_RISER; PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_LAVA_MAGE; switch (START_HERO_ID){ case 9: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_ABADA; break; case 10: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_KALODAN; break; case 11: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_BELZERU; break; case 12: PlayerDB.CARDS[PlayerDB.CARDS.length] = CardDB.CARD_D_BALROG; break; }; }; QuitStartGame(); if (PlayerDB.HUMAN){ World = WorldMap.WORLD_DEMON; } else { World = WorldMap.WORLD_HUMAN; }; Application.application.World = new WorldMap(World); Book.PRE_BATTLE = 0; Book.CallTela(); } else { if (Options.SFX){ Sons.SFX_MENU_OFF.play(); }; Alert.show(Alerta); }; } private static function CallStartGame():void{ var i:int; if (Application.application.MochiCoins_){ MochiCoins.hideLoginWidget(); }; GRF_START_GAME.Human.gotoAndStop("off"); START_RACE_HUMAN = -1; START_HERO_ID = -1; GRF_START_GAME.Demon.gotoAndStop("off"); i = 1; while (i < 9) { (GRF_START_GAME.getChildByName(("C" + i)) as MovieClip).gotoAndStop("null"); i++; }; i = 1; while (i < 5) { (GRF_START_GAME.getChildByName(("H" + i)) as MovieClip).gotoAndStop("null"); i++; }; if (Options.SFX){ GRF_START_GAME.Options.Sound.gotoAndStop("on"); } else { GRF_START_GAME.Options.Sound.gotoAndStop("off"); }; if (Options.MUSIC){ GRF_START_GAME.Options.Music.gotoAndStop("on"); } else { GRF_START_GAME.Options.Music.gotoAndStop("off"); }; if (Options.AUTO_SAVE){ GRF_START_GAME.Options.AutoSave.gotoAndStop("on"); } else { GRF_START_GAME.Options.AutoSave.gotoAndStop("off"); }; if (Options.TUTORIAL){ GRF_START_GAME.Options.Tutorial.gotoAndStop("on"); } else { GRF_START_GAME.Options.Tutorial.gotoAndStop("off"); }; Application.application.FlashHolder.addChild(GRF_START_GAME); Application.application.TelaAtual = TELA_START_GAME; if (Options.TUTORIAL){ Application.application.FlashHolder.addChild(GRF_TUTORIAL); if (Tutorial.FIRST_START){ Tutorial.ClickTutoV(GRF_TUTORIAL); Tutorial.FIRST_START = false; }; }; } private static function ClickMusic(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Sons.TurnOnOffMusic(); if (Options.MUSIC){ GRF_START_GAME.Options.Music.gotoAndStop("on"); } else { GRF_START_GAME.Options.Music.gotoAndStop("off"); }; } private static function OutHero(e:MouseEvent):void{ if (START_HERO_ID != e.target.CardId){ switch (e.target.RACE){ case 0: START_H_CARDS[e.target.CardId].alpha = 0.5; break; case 1: START_D_CARDS[e.target.CardId].alpha = 0.5; break; }; }; } private static function OverRace(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; switch (e.target.RACE){ case 0: GRF_START_GAME.Human.gotoAndStop("on"); break; case 1: GRF_START_GAME.Demon.gotoAndStop("on"); break; }; ShowRaceStuff(e.target.RACE); } private static function ClickMenu(e:MouseEvent):void{ if ((GRF_GRAFICO.MENU.getChildByName(("BT" + e.target.parent.COD)) as MovieClip).currentLabel == "on"){ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; switch (e.target.parent.COD){ case 1: Quit(); CallStartGame(); break; case 2: Quit(); new PlayerDB(); PlayerDB.LoadGame(true); break; case 3: Quit(); new PlayerDB(); PlayerDB.LoadGame(false); break; case 4: Application.application.GoSite(e); break; }; } else { if (Options.SFX){ Sons.SFX_MENU_OFF.play(); }; }; } private static function ClickTutorial(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.TUTORIAL = !(Options.TUTORIAL); if (Options.TUTORIAL){ GRF_START_GAME.Options.Tutorial.gotoAndStop("on"); } else { GRF_START_GAME.Options.Tutorial.gotoAndStop("off"); }; } private static function OutRace(e:MouseEvent):void{ if (START_RACE_HUMAN != e.target.RACE){ switch (e.target.RACE){ case 0: GRF_START_GAME.Human.gotoAndStop("off"); break; case 1: GRF_START_GAME.Demon.gotoAndStop("off"); break; }; if (START_RACE_HUMAN != -1){ ShowRaceStuff(START_RACE_HUMAN); }; }; } private static function Quit():void{ Application.application.FlashHolder.removeChild(GRF_GRAFICO); } public static function CallTela():void{ var so:SharedObject = SharedObject.getLocal("_H_MysticCards"); if (so.data.SCORE){ GRF_GRAFICO.MENU.BT2.gotoAndStop("on"); } else { GRF_GRAFICO.MENU.BT2.gotoAndStop("off"); }; so = SharedObject.getLocal("_D_MysticCards"); if (so.data.SCORE){ GRF_GRAFICO.MENU.BT3.gotoAndStop("on"); } else { GRF_GRAFICO.MENU.BT3.gotoAndStop("off"); }; Application.application.TelaAtual = TELA_CAPA; Application.application.FlashHolder.addChild(GRF_GRAFICO); Application.application.ShowMochiAdsOnMC(GRF_GRAFICO.MOCHI); Sons.PlayMusic(Sons.MUSIC_CAPA); if (Application.application.MochiCoins_){ MochiCoins.showLoginWidget({x:0, y:485}); }; } private static function OverMenu(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; switch (e.target.COD){ case 1: GRF_GRAFICO.MENU.BT1.width = 380; GRF_GRAFICO.MENU.BT1.height = 38; GRF_GRAFICO.MENU.BT2.y = -11; GRF_GRAFICO.MENU.BT3.y = 19; GRF_GRAFICO.MENU.BT4.y = 49; break; case 2: GRF_GRAFICO.MENU.BT2.width = 380; GRF_GRAFICO.MENU.BT2.height = 38; GRF_GRAFICO.MENU.BT1.y = -49; GRF_GRAFICO.MENU.BT3.y = 19; GRF_GRAFICO.MENU.BT4.y = 49; break; case 3: GRF_GRAFICO.MENU.BT3.width = 380; GRF_GRAFICO.MENU.BT3.height = 38; GRF_GRAFICO.MENU.BT2.y = -19; GRF_GRAFICO.MENU.BT1.y = -49; GRF_GRAFICO.MENU.BT4.y = 49; break; case 4: GRF_GRAFICO.MENU.BT4.width = 380; GRF_GRAFICO.MENU.BT4.height = 38; GRF_GRAFICO.MENU.BT1.y = -49; GRF_GRAFICO.MENU.BT2.y = -19; GRF_GRAFICO.MENU.BT3.y = 11; break; }; } private static function OutMenu(E:MouseEvent):void{ switch (E.target.COD){ case 1: GRF_GRAFICO.MENU.BT1.width = 300; GRF_GRAFICO.MENU.BT1.height = 30; break; case 2: GRF_GRAFICO.MENU.BT2.width = 300; GRF_GRAFICO.MENU.BT2.height = 30; break; case 3: GRF_GRAFICO.MENU.BT3.width = 300; GRF_GRAFICO.MENU.BT3.height = 30; break; case 4: GRF_GRAFICO.MENU.BT4.width = 300; GRF_GRAFICO.MENU.BT4.height = 30; break; }; GRF_GRAFICO.MENU.BT1.y = -45; GRF_GRAFICO.MENU.BT2.y = -15; GRF_GRAFICO.MENU.BT3.y = 15; GRF_GRAFICO.MENU.BT4.y = 45; } } }//package Telas
Section 433
//Options (Telas.Options) package Telas { import flash.events.*; import mx.core.*; import Battle.*; import Arte.*; import DB.*; import Utilidades.*; import BookPack.*; import mochi.as3.*; import flash.net.*; public class Options { public static var MUSIC:Boolean = true; public static var AUTO_SAVE:Boolean = true; public static var TUTORIAL:Boolean = true; private static var GRF_GRAFICO:FullOptions; public static var SFX:Boolean = true; public static var BOTH_WORLD:Boolean = false; public static var TIPS:Boolean = true; public function Options(){ super(); GRF_GRAFICO = new FullOptions(); GRF_GRAFICO.x = 350; GRF_GRAFICO.y = 262.5; GRF_GRAFICO.LOGO.addEventListener(MouseEvent.CLICK, Application.application.GoSite, false, 0, true); GRF_GRAFICO.LOGO.useHandCursor = true; GRF_GRAFICO.LOGO.buttonMode = true; GRF_GRAFICO.TutorialMask.useHandCursor = true; GRF_GRAFICO.TutorialMask.buttonMode = true; GRF_GRAFICO.TutorialMask.addEventListener(MouseEvent.CLICK, ClickTutorial, false, 0, true); GRF_GRAFICO.SoundMask.useHandCursor = true; GRF_GRAFICO.SoundMask.buttonMode = true; GRF_GRAFICO.SoundMask.addEventListener(MouseEvent.CLICK, ClickSound, false, 0, true); GRF_GRAFICO.MusicMask.useHandCursor = true; GRF_GRAFICO.MusicMask.buttonMode = true; GRF_GRAFICO.MusicMask.addEventListener(MouseEvent.CLICK, ClickMusic, false, 0, true); GRF_GRAFICO.AutoSaveMask.useHandCursor = true; GRF_GRAFICO.AutoSaveMask.buttonMode = true; GRF_GRAFICO.AutoSaveMask.addEventListener(MouseEvent.CLICK, ClickAutoSave, false, 0, true); GRF_GRAFICO.TipsMask.useHandCursor = true; GRF_GRAFICO.TipsMask.buttonMode = true; GRF_GRAFICO.TipsMask.addEventListener(MouseEvent.CLICK, ClickTips, false, 0, true); GRF_GRAFICO.OK.addEventListener(MouseEvent.CLICK, ClickOk, false, 0, true); GRF_GRAFICO.OK.addEventListener(MouseEvent.ROLL_OVER, OverOk, false, 0, true); GRF_GRAFICO.QUIT.addEventListener(MouseEvent.CLICK, ClickQuitMenu, false, 0, true); GRF_GRAFICO.QUIT.addEventListener(MouseEvent.ROLL_OVER, OverQuitMenu, false, 0, true); } private static function ClickTips(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.TIPS = !(Options.TIPS); if (Options.TIPS){ GRF_GRAFICO.Tips.gotoAndStop("on"); } else { GRF_GRAFICO.Tips.gotoAndStop("off"); }; } public static function SaveOptions():void{ var so:SharedObject = SharedObject.getLocal("Options_MysticCards"); so.data.TIPS = (TIPS) ? "true" : "false"; so.data.SFX = (SFX) ? "true" : "false"; so.data.MUSIC = (MUSIC) ? "true" : "false"; so.data.TUTORIAL = (TUTORIAL) ? "true" : "false"; so.data.AUTO_SAVE = (AUTO_SAVE) ? "true" : "false"; so.flush(); } public static function CallTela():void{ if (Options.SFX){ GRF_GRAFICO.Sound.gotoAndStop("on"); } else { GRF_GRAFICO.Sound.gotoAndStop("off"); }; if (Options.MUSIC){ GRF_GRAFICO.Music.gotoAndStop("on"); } else { GRF_GRAFICO.Music.gotoAndStop("off"); }; if (Options.AUTO_SAVE){ GRF_GRAFICO.AutoSave.gotoAndStop("on"); } else { GRF_GRAFICO.AutoSave.gotoAndStop("off"); }; if (Options.TUTORIAL){ GRF_GRAFICO.Tutorial.gotoAndStop("on"); } else { GRF_GRAFICO.Tutorial.gotoAndStop("off"); }; if (Options.TIPS){ GRF_GRAFICO.Tips.gotoAndStop("on"); } else { GRF_GRAFICO.Tips.gotoAndStop("off"); }; Application.application.FlashHolder.addChild(GRF_GRAFICO); Application.application.ShowMochiAdsOnMC(GRF_GRAFICO.MOCHI); } private static function ClickSound(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.SFX = !(Options.SFX); if (Options.SFX){ GRF_GRAFICO.Sound.gotoAndStop("on"); } else { GRF_GRAFICO.Sound.gotoAndStop("off"); }; } private static function ClickAutoSave(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.AUTO_SAVE = !(Options.AUTO_SAVE); if (Options.AUTO_SAVE){ GRF_GRAFICO.AutoSave.gotoAndStop("on"); } else { GRF_GRAFICO.AutoSave.gotoAndStop("off"); }; } private static function ClickQuitMenu(e:MouseEvent):void{ var o:Object; var boardID:String; var e = e; if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Quit(); if (Application.application.MochiScore){ o = {n:[14, 5, 3, 13, 11, 2, 0, 9, 4, 4, 2, 14, 0, 3, 0, 1], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:PlayerDB.SCORE}); }; switch (Application.application.TelaAtual){ case WorldMap.TELA_WORLD_MAP: Application.application.World.Quit(); Capa.CallTela(); break; case Book.TELA_BOOK: Book.Quit(); Capa.CallTela(); break; case Combate.TELA_COMBATE: Application.application.CombateAtual.Quit(); Capa.CallTela(); break; }; } private static function ClickMusic(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Sons.TurnOnOffMusic(); if (Options.MUSIC){ GRF_GRAFICO.Music.gotoAndStop("on"); } else { GRF_GRAFICO.Music.gotoAndStop("off"); }; } private static function ClickOk(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Quit(); } private static function ClickTutorial(e:MouseEvent):void{ var e = e; if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; Options.TUTORIAL = !(Options.TUTORIAL); if (Options.TUTORIAL){ GRF_GRAFICO.Tutorial.gotoAndStop("on"); switch (Application.application.TelaAtual){ case WorldMap.TELA_WORLD_MAP: Application.application.FlashHolder.addChild(Application.application.World.GRF_TUTORIAL); break; case Combate.TELA_COMBATE: Application.application.FlashHolder.addChild(Application.application.CombateAtual.GRF_TUTORIAL); break; case Book.TELA_BOOK: Application.application.FlashHolder.addChild(Book.GRF_TUTORIAL); break; }; } else { GRF_GRAFICO.Tutorial.gotoAndStop("off"); switch (Application.application.TelaAtual){ case WorldMap.TELA_WORLD_MAP: Application.application.FlashHolder.removeChild(Application.application.World.GRF_TUTORIAL); //unresolved jump var _slot1 = e; break; case Combate.TELA_COMBATE: Application.application.FlashHolder.removeChild(Application.application.CombateAtual.GRF_TUTORIAL); //unresolved jump var _slot1 = e; break; case Book.TELA_BOOK: Application.application.FlashHolder.removeChild(Book.GRF_TUTORIAL); //unresolved jump var _slot1 = e; break; }; }; } private static function OverQuitMenu(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; } private static function Quit():void{ SaveOptions(); Application.application.FlashHolder.removeChild(GRF_GRAFICO); } private static function OverOk(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; } } }//package Telas
Section 434
//Tutorial (Telas.Tutorial) package Telas { import flash.events.*; import flash.display.*; import Utilidades.*; import flash.utils.*; public final class Tutorial { private static var MovingMc:MovieClip; public static var FIRST_BATTLE:Boolean = true; private static var TutoTimer:Timer; public static var FIRST_MAP:Boolean = true; public static var FIRST_START:Boolean = true; private static var NewX:Number = 0; private static var NewY:Number = 0; public static var FIRST_BOOK:Boolean = true; public function Tutorial(){ super(); TutoTimer = new Timer(50); TutoTimer.addEventListener(TimerEvent.TIMER, TimerLoop, false, 0, true); } public static function ClickTutoV(TuToMc:MovieClip):void{ MovingMc = TuToMc; if (MovingMc.y == 0){ NewY = MovingMc.CONTENT.height; } else { NewY = 0; }; TutoTimer.start(); } private static function TimerLoop(e:TimerEvent):void{ if (MovingMc != null){ if (NewY == -1){ if (MovingMc.x != NewX){ if ((((NewX == 700)) && ((MovingMc.x < (700 - 15))))){ MovingMc.x = (MovingMc.x + 15); } else { if ((((MovingMc.x > (NewX + 15))) && ((NewX < 700)))){ MovingMc.x = (MovingMc.x - 15); } else { MovingMc.x = NewX; }; }; } else { TutoTimer.stop(); }; } else { if (MovingMc.y != NewY){ if ((((NewY == 0)) && ((MovingMc.y > 15)))){ MovingMc.y = (MovingMc.y - 15); } else { if ((((MovingMc.y < (NewY - 15))) && ((NewY > 0)))){ MovingMc.y = (MovingMc.y + 15); } else { MovingMc.y = NewY; }; }; } else { TutoTimer.stop(); }; }; }; } public static function ClickTutoHorizontal(e:MouseEvent):void{ MovingMc = (e.target.parent as MovieClip); if (Options.SFX){ if (MovingMc.x == 700){ Sons.SFX_CLICK_MENU.play(); } else { Sons.SFX_CANCEL.play(); }; }; if (MovingMc.x == 700){ NewY = -1; NewX = (700 - MovingMc.CONTENT.width); } else { NewY = -1; NewX = 700; }; TutoTimer.start(); } public static function ClickTuto(e:MouseEvent):void{ MovingMc = (e.target.parent as MovieClip); if (Options.SFX){ if (MovingMc.y == 0){ Sons.SFX_CLICK_MENU.play(); } else { Sons.SFX_CANCEL.play(); }; }; if (MovingMc.y == 0){ NewY = MovingMc.CONTENT.height; } else { NewY = 0; }; TutoTimer.start(); } public static function OverLink(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; } public static function ClickTutoH(TuToMc:MovieClip):void{ MovingMc = TuToMc; if (MovingMc.x == 700){ NewY = -1; NewX = (700 - MovingMc.CONTENT.width); } else { NewY = -1; NewX = 700; }; TutoTimer.start(); } } }//package Telas
Section 435
//WorldMap (Telas.WorldMap) package Telas { import flash.events.*; import flash.display.*; import mx.core.*; import Arte.*; import DB.*; import Utilidades.*; import BookPack.*; import mochi.as3.*; public class WorldMap { public var GRF_GRAFICO:MovieClip; public var GRF_TUTORIAL:WorldMapTuto; public var GRF_INFO_LEVEL_TERRENO:MovieClip; public var WORLD:int; public static var WORLD_HUMAN:int = 1; public static var WORLD_BOTH:int = 3; public static var TELA_WORLD_MAP:int = 5; public static var WORLD_DEMON:int = 2; public function WorldMap(pWorld:int){ super(); this.GRF_TUTORIAL = new WorldMapTuto(); this.GRF_TUTORIAL.x = 350; this.GRF_TUTORIAL.LINK.addEventListener(MouseEvent.CLICK, Tutorial.ClickTuto, false, 0, true); this.GRF_TUTORIAL.LINK.addEventListener(MouseEvent.ROLL_OVER, Tutorial.OverLink, false, 0, true); this.WORLD = pWorld; if (this.WORLD == WORLD_HUMAN){ this.GRF_GRAFICO = new HumanWorld(); } else { if (this.WORLD == WORLD_DEMON){ this.GRF_GRAFICO = new DemonWorld(); } else { this.GRF_GRAFICO = new BothWorld(); }; }; if (this.WORLD != WORLD_BOTH){ if (((Options.BOTH_WORLD) || (!(Application.application.MochiCoins_)))){ this.GRF_GRAFICO.MORELEVELS.visible = false; } else { this.GRF_GRAFICO.MORELEVELS.addEventListener(MouseEvent.CLICK, ClickMoreLevels, false, 0, true); }; }; if (Application.application.MochiScore){ this.GRF_GRAFICO.SCORE_MASK.addEventListener(MouseEvent.CLICK, ClickScore, false, 0, true); this.GRF_GRAFICO.SCORE_MASK.buttonMode = true; this.GRF_GRAFICO.SCORE_MASK.useHandCursor = true; }; this.GRF_GRAFICO.LEVEL_INFO.alpha = 0; this.GRF_GRAFICO.BOOK.useHandCursor = true; this.GRF_GRAFICO.BOOK.buttonMode = true; this.GRF_GRAFICO.BOOK.gotoAndStop("off"); this.GRF_GRAFICO.BOOK.addEventListener(MouseEvent.CLICK, BookClick, false, 0, true); this.GRF_GRAFICO.BOOK.addEventListener(MouseEvent.ROLL_OVER, BookOver, false, 0, true); this.GRF_GRAFICO.BOOK.addEventListener(MouseEvent.ROLL_OUT, BookOut, false, 0, true); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l1_1, 0); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l1_2, 1); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l1_3, 2); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l1_4, 3); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l2_1, 4); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l2_2, 5); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l2_3, 6); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l2_4, 7); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l3_1, 8); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l3_2, 9); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l3_3, 10); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l3_4, 11); LevelDB.SetInfoOnLevelMc(this.GRF_GRAFICO.l4, 12); } private function BookOut(e:MouseEvent):void{ this.GRF_GRAFICO.BOOK.gotoAndStop("off"); } public function LevelDone(pLevel:int):Boolean{ if (this.WORLD == WORLD_HUMAN){ if (PlayerDB.HUMAN_LEVELS.indexOf(pLevel) >= 0){ return (true); }; return (false); } else { if (this.WORLD == WORLD_DEMON){ if (PlayerDB.DEMON_LEVELS.indexOf(pLevel) >= 0){ return (true); }; return (false); } else { if (Options.BOTH_WORLD){ if (PlayerDB.BOTH_LEVELS.indexOf(pLevel) >= 0){ return (true); }; return (false); }; }; }; return (false); } private function ClickScore(e:MouseEvent):void{ var o:Object; var boardID:String; var e = e; if (Application.application.MochiScore){ o = {n:[14, 5, 3, 13, 11, 2, 0, 9, 4, 4, 2, 14, 0, 3, 0, 1], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:PlayerDB.SCORE}); }; } private function ClickMoreLevels(e:MouseEvent):void{ MochiCoins.showItem({item:Application.application.MochiLastWorldId}); } public function Quit():void{ Application.application.FlashHolder.removeChild(this.GRF_GRAFICO); Application.application.FlashHolder.removeChild(this.GRF_TUTORIAL); //unresolved jump var _slot1 = e; } public function CallTela():void{ Sons.PlayMusic(Sons.MUSIC_WORLD_MAP); this.GRF_GRAFICO.SCORE.text = ("Score: " + PlayerDB.SCORE); Application.application.TelaAtual = TELA_WORLD_MAP; Application.application.FlashHolder.addChild(this.GRF_GRAFICO); var RaceText:String = (PlayerDB.HUMAN) ? "HUMAN" : "DEMON"; if (LevelDone(0)){ this.GRF_GRAFICO.l1_1.gotoAndStop(RaceText); }; if (LevelDone(1)){ this.GRF_GRAFICO.l1_2.gotoAndStop(RaceText); }; if (LevelDone(2)){ this.GRF_GRAFICO.l1_3.gotoAndStop(RaceText); }; if (LevelDone(3)){ this.GRF_GRAFICO.l1_4.gotoAndStop(RaceText); }; if (LevelDone(4)){ this.GRF_GRAFICO.l2_1.gotoAndStop(RaceText); }; if (LevelDone(5)){ this.GRF_GRAFICO.l2_2.gotoAndStop(RaceText); }; if (LevelDone(6)){ this.GRF_GRAFICO.l2_3.gotoAndStop(RaceText); }; if (LevelDone(7)){ this.GRF_GRAFICO.l2_4.gotoAndStop(RaceText); }; if (LevelDone(8)){ this.GRF_GRAFICO.l3_1.gotoAndStop(RaceText); }; if (LevelDone(9)){ this.GRF_GRAFICO.l3_2.gotoAndStop(RaceText); }; if (LevelDone(10)){ this.GRF_GRAFICO.l3_3.gotoAndStop(RaceText); }; if (LevelDone(11)){ this.GRF_GRAFICO.l3_4.gotoAndStop(RaceText); }; if (LevelDone(12)){ this.GRF_GRAFICO.l4.gotoAndStop(RaceText); }; if (Options.TUTORIAL){ Application.application.FlashHolder.addChild(GRF_TUTORIAL); if (Tutorial.FIRST_MAP){ Tutorial.ClickTutoV(this.GRF_TUTORIAL); Tutorial.FIRST_MAP = false; }; }; if (Application.application.MochiCoins_){ MochiCoins.showLoginWidget({x:0, y:485}); }; } private function BookOver(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_MENU.play(); }; this.GRF_GRAFICO.BOOK.gotoAndStop("on"); } private function BookClick(e:MouseEvent):void{ if (Options.SFX){ Sons.SFX_CLICK_MENU.play(); }; this.Quit(); Book.PRE_BATTLE = -1; Book.CallTela(); } } }//package Telas
Section 436
//KeyboardMonitor (Utilidades.KeyboardMonitor) package Utilidades { import flash.events.*; import mx.core.*; import Battle.*; import DB.*; import Telas.*; import BookPack.*; import mochi.as3.*; import flash.ui.*; public class KeyboardMonitor { public function KeyboardMonitor(){ super(); Application.application.stage.addEventListener(KeyboardEvent.KEY_DOWN, ApertaTecla, false, 0, true); Application.application.stage.addEventListener(KeyboardEvent.KEY_UP, SoltaTecla, false, 0, true); } private static function SoltaTecla(tecla:KeyboardEvent):void{ switch (tecla.keyCode){ }; } private static function ApertaTecla(tecla:KeyboardEvent):void{ var o:Object; var boardID:String; var tecla = tecla; switch (tecla.keyCode){ case Keyboard.SPACE: if (Application.application.CombateAtual != null){ Application.application.CombateAtual.PassTurn(); }; break; case Keyboard.ESCAPE: switch (Application.application.TelaAtual){ case Capa.TELA_START_GAME: if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Capa.QuitStartGame(); Capa.CallTela(); break; case Book.TELA_BOOK: if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Book.Quit(); Application.application.World.CallTela(); break; case WorldMap.TELA_WORLD_MAP: if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Options.CallTela(); break; case Combate.TELA_COMBATE: if (Options.SFX){ Sons.SFX_CANCEL.play(); }; Options.CallTela(); break; case BattleScore.TELA_ZERACAO: if (Options.SFX){ Sons.SFX_CANCEL.play(); }; if (Application.application.MochiScore){ o = {n:[14, 5, 3, 13, 11, 2, 0, 9, 4, 4, 2, 14, 0, 3, 0, 1], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:PlayerDB.SCORE}); }; PlayerDB.ZEROU = true; Application.application.FlashHolder.removeChild(Application.application.CombateAtual.Score.GRF_ZERACAO); Application.application.CombateAtual.Score.CallZeracao = false; Application.application.CombateAtual.Score.Quit(new MouseEvent(MouseEvent.CLICK)); break; }; break; }; } } }//package Utilidades
Section 437
//Sons (Utilidades.Sons) package Utilidades { import Arte.*; import Telas.*; import Som.*; import flash.media.*; public final class Sons { public static var SFX_BLESS:Bless = new Bless(); private static var M_CAPA:CapaMusic = new CapaMusic(); public static var SFX_MENU_OFF:MenuOff = new MenuOff(); private static var MusicPlaying:SoundChannel; public static var SFX_CANCEL:MenuCancel = new MenuCancel(); public static var SFX_SCORE:ScoreSound = new ScoreSound(); public static var SFX_EXPLOSION:Explode = new Explode(); private static var M_BATTLE_1:MusicBattle1 = new MusicBattle1(); public static var SFX_DRAIN_LIFE:DrainLife = new DrainLife(); private static var M_BATTLE_3:MusicBattle3 = new MusicBattle3(); public static var SFX_THUNDERSTORM:Thunder = new Thunder(); public static var SFX_PASS_CARD:PassCard = new PassCard(); public static var SFX_POISON:PoisonSound = new PoisonSound(); private static var M_BATTLE_2:MusicBattle2 = new MusicBattle2(); public static var MUSIC_WORLD_MAP:int = 1; public static var SFX_UP:UpSound = new UpSound(); public static var SFX_CURE:Cure = new Cure(); public static var SFX_DOWN:Down = new Down(); public static var MUSIC_CAPA:int = 0; private static var NOMusicPLaying:int = -1; public static var MUSIC_BATTLE_1:int = 2; public static var MUSIC_BATTLE_2:int = 3; public static var MUSIC_BATTLE_3:int = 4; public static var VOLUME_50:SoundTransform = new SoundTransform(); public static var SFX_BURN:BurnSound = new BurnSound(); public static var SFX_REVIVE:Cure = new Cure(); public static var SFX_CLICK_MENU:ClickMenu = new ClickMenu(); public static var SFX_TRASH_CARD:TrashCard = new TrashCard(); public static var SFX_MENU:OverMenu = new OverMenu(); private static var M_WORLD_MAP:WorldMapMusic = new WorldMapMusic(); public function Sons(){ super(); VOLUME_50.volume = 0.5; } public static function TurnOnOffMusic():void{ Options.MUSIC = !(Options.MUSIC); if (Options.MUSIC){ PlayMusic(NOMusicPLaying, true); } else { MusicPlaying.stop(); }; } public static function PlayMusic(pMusica:int, pForcePlay:Boolean=false):void{ var pMusica = pMusica; var pForcePlay = pForcePlay; if (((Options.MUSIC) && (((pForcePlay) || (!((NOMusicPLaying == pMusica))))))){ try { MusicPlaying.stop(); } catch(e:Error) { }; NOMusicPLaying = pMusica; switch (NOMusicPLaying){ case MUSIC_CAPA: MusicPlaying = M_CAPA.play(0, 50, VOLUME_50); break; case MUSIC_WORLD_MAP: MusicPlaying = M_WORLD_MAP.play(0, 50, VOLUME_50); break; case MUSIC_BATTLE_1: MusicPlaying = M_BATTLE_1.play(0, 50); break; case MUSIC_BATTLE_2: MusicPlaying = M_BATTLE_2.play(0, 50); break; case MUSIC_BATTLE_3: MusicPlaying = M_BATTLE_3.play(0, 50); break; }; }; } } }//package Utilidades
Section 438
//Utils (Utilidades.Utils) package Utilidades { public class Utils { public function Utils(){ super(); } public static function GetPosWithHighestValue(pArray:Array, pIgnore0:Boolean):int{ var Retorno:int; var Valor:int; var i:int; while (i < pArray.length) { if (pArray[i] > Valor){ Valor = pArray[i]; Retorno = i; }; i++; }; if ((((Valor == 0)) && (pIgnore0))){ Retorno = -1; }; return (Retorno); } public static function GetFirstNullPos(pArray:Array, pStartFromPos:int):int{ if (pArray.length == 0){ return (pStartFromPos); }; var i:int = pStartFromPos; while (i < pArray.length) { if (pArray[i] == null){ return (i); }; i++; }; return (pArray.length); } public static function GetNullArraySize(pArray:Array):int{ var Tamanho:int; var i:int; while (i < pArray.length) { if (pArray[i] != null){ Tamanho++; }; i++; }; return (Tamanho); } } }//package Utilidades
Section 439
//LOGOSITE (XGamesFlashX.LOGOSITE) package XGamesFlashX { import flash.display.*; public dynamic class LOGOSITE extends MovieClip { public var LOGO:MovieClip; } }//package XGamesFlashX
Section 440
//_activeButtonStyleStyle (_activeButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeButtonStyleStyle { public static function init(_activeButtonStyleStyle:IFlexModuleFactory):void{ var fbs = _activeButtonStyleStyle; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 441
//_activeTabStyleStyle (_activeTabStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeTabStyleStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeTabStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 442
//_advancedDataGridStylesStyle (_advancedDataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _advancedDataGridStylesStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".advancedDataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".advancedDataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 443
//_alertButtonStyleStyle (_alertButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _alertButtonStyleStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".alertButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 734012; }; }; } } }//package
Section 444
//_AlertStyle (_AlertStyle) package { import mx.core.*; import mx.styles.*; public class _AlertStyle { public static function init(backgroundAlpha:IFlexModuleFactory):void{ var fbs = backgroundAlpha; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Alert"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Alert", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.borderColor = 8821927; this.paddingLeft = 10; this.color = 0xFFFFFF; this.roundedBottomCorners = true; this.paddingRight = 10; this.backgroundAlpha = 0.9; this.paddingBottom = 2; this.borderAlpha = 0.9; this.buttonStyleName = "alertButtonStyle"; this.backgroundColor = 8821927; }; }; } } }//package
Section 445
//_ApplicationStyle (_ApplicationStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ApplicationStyle { public static function init(paddingRight:IFlexModuleFactory):void{ var fbs = paddingRight; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Application"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Application", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 24; this.paddingLeft = 24; this.backgroundGradientAlphas = [1, 1]; this.horizontalAlign = "center"; this.paddingRight = 24; this.backgroundImage = ApplicationBackground; this.paddingBottom = 24; this.backgroundSize = "100%"; this.backgroundColor = 8821927; }; }; } } }//package
Section 446
//_ButtonStyle (_ButtonStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ButtonStyle { public static function init(paddingLeft:IFlexModuleFactory):void{ var fbs = paddingLeft; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Button"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Button", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.textAlign = "center"; this.skin = ButtonSkin; this.paddingLeft = 10; this.fontWeight = "bold"; this.cornerRadius = 4; this.paddingRight = 10; this.verticalGap = 2; this.horizontalGap = 2; this.paddingBottom = 2; }; }; } } }//package
Section 447
//_comboDropdownStyle (_comboDropdownStyle) package { import mx.core.*; import mx.styles.*; public class _comboDropdownStyle { public static function init(dropShadowEnabled:IFlexModuleFactory):void{ var fbs = dropShadowEnabled; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".comboDropdown", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingLeft = 5; this.fontWeight = "normal"; this.cornerRadius = 0; this.paddingRight = 5; this.dropShadowEnabled = true; this.shadowDirection = "center"; this.leading = 0; this.borderThickness = 0; this.shadowDistance = 1; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 448
//_ContainerStyle (_ContainerStyle) package { import mx.core.*; import mx.styles.*; public class _ContainerStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Container"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Container", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderStyle = "none"; }; }; } } }//package
Section 449
//_ControlBarStyle (_ControlBarStyle) package { import mx.core.*; import mx.styles.*; public class _ControlBarStyle { public static function init(paddingLeft:IFlexModuleFactory):void{ var fbs = paddingLeft; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ControlBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ControlBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 10; this.disabledOverlayAlpha = 0; this.paddingLeft = 10; this.paddingRight = 10; this.verticalAlign = "middle"; this.paddingBottom = 10; this.borderStyle = "controlBar"; }; }; } } }//package
Section 450
//_CursorManagerStyle (_CursorManagerStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _CursorManagerStyle { private static var _embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351:Class = _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351; public static function init(mx.skins.halo:IFlexModuleFactory):void{ var fbs = mx.skins.halo; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("CursorManager", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.busyCursor = BusyCursor; this.busyCursorBackground = _embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351; }; }; } } }//package
Section 451
//_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351 (_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351) package { import mx.core.*; public class _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351 extends SpriteAsset { } }//package
Section 452
//_dataGridStylesStyle (_dataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _dataGridStylesStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 453
//_dateFieldPopupStyle (_dateFieldPopupStyle) package { import mx.core.*; import mx.styles.*; public class _dateFieldPopupStyle { public static function init(_dateFieldPopupStyle.as$22:IFlexModuleFactory):void{ var fbs = _dateFieldPopupStyle.as$22; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dateFieldPopup", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.dropShadowEnabled = true; this.borderThickness = 0; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 454
//_errorTipStyle (_errorTipStyle) package { import mx.core.*; import mx.styles.*; public class _errorTipStyle { public static function init(fontWeight:IFlexModuleFactory):void{ var fbs = fontWeight; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".errorTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 4; this.borderColor = 13510953; this.paddingLeft = 4; this.color = 0xFFFFFF; this.fontWeight = "bold"; this.paddingRight = 4; this.shadowColor = 0; this.fontSize = 9; this.paddingBottom = 4; this.borderStyle = "errorTipRight"; }; }; } } }//package
Section 455
//_globalStyle (_globalStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _globalStyle { public static function init(borderAlpha:IFlexModuleFactory):void{ var fbs = borderAlpha; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("global", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "normal"; this.modalTransparencyBlur = 3; this.verticalGridLineColor = 14015965; this.borderStyle = "inset"; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.textAlign = "left"; this.disabledIconColor = 0x999999; this.stroked = false; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.fontStyle = "normal"; this.borderSides = "left top right bottom"; this.borderThickness = 1; this.modalTransparencyDuration = 100; this.useRollOver = true; this.strokeWidth = 1; this.filled = true; this.borderColor = 12040892; this.horizontalGridLines = false; this.horizontalGridLineColor = 0xF7F7F7; this.shadowCapColor = 14015965; this.fontGridFitType = "pixel"; this.horizontalAlign = "left"; this.modalTransparencyColor = 0xDDDDDD; this.disabledColor = 11187123; this.borderSkin = HaloBorder; this.dropShadowColor = 0; this.paddingBottom = 0; this.indentation = 17; this.version = "3.0.0"; this.fontThickness = 0; this.verticalGridLines = true; this.embedFonts = false; this.fontSharpness = 0; this.shadowDirection = "center"; this.textDecoration = "none"; this.selectionDuration = 250; this.bevel = true; this.fillColor = 0xFFFFFF; this.focusBlendMode = "normal"; this.dropShadowEnabled = false; this.textRollOverColor = 2831164; this.textIndent = 0; this.fontSize = 10; this.openDuration = 250; this.closeDuration = 250; this.kerning = false; this.paddingTop = 0; this.highlightAlphas = [0.3, 0]; this.cornerRadius = 0; this.horizontalGap = 8; this.textSelectedColor = 2831164; this.paddingLeft = 0; this.modalTransparency = 0.5; this.roundedBottomCorners = true; this.repeatDelay = 500; this.selectionDisabledColor = 0xDDDDDD; this.fontAntiAliasType = "advanced"; this.focusSkin = HaloFocusRect; this.verticalGap = 6; this.leading = 2; this.shadowColor = 0xEEEEEE; this.backgroundAlpha = 1; this.iconColor = 0x111111; this.focusAlpha = 0.4; this.borderAlpha = 1; this.focusThickness = 2; this.themeColor = 40447; this.backgroundSize = "auto"; this.indicatorGap = 14; this.letterSpacing = 0; this.fontFamily = "Verdana"; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.color = 734012; this.paddingRight = 0; this.errorColor = 0xFF0000; this.verticalAlign = "top"; this.focusRoundedCorners = "tl tr bl br"; this.shadowDistance = 2; this.repeatInterval = 35; }; }; } } }//package
Section 456
//_headerDateTextStyle (_headerDateTextStyle) package { import mx.core.*; import mx.styles.*; public class _headerDateTextStyle { public static function init(center:IFlexModuleFactory):void{ var fbs = center; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDateText", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.fontWeight = "bold"; }; }; } } }//package
Section 457
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle) package { import mx.core.*; import mx.styles.*; public class _headerDragProxyStyleStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 458
//_linkButtonStyleStyle (_linkButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _linkButtonStyleStyle { public static function init(http://adobe.com/AS3/2006/builtin:IFlexModuleFactory):void{ var fbs = http://adobe.com/AS3/2006/builtin; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".linkButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.paddingLeft = 2; this.paddingRight = 2; this.paddingBottom = 2; }; }; } } }//package
Section 459
//_MysticCards_FlexInit (_MysticCards_FlexInit) package { import mx.core.*; import mx.styles.*; import mx.effects.*; import flash.utils.*; import flash.system.*; public class _MysticCards_FlexInit { public static function init(added:IFlexModuleFactory):void{ var _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("addedEffect", "added"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("creationCompleteEffect", "creationComplete"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("focusInEffect", "focusIn"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("focusOutEffect", "focusOut"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("hideEffect", "hide"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("mouseDownEffect", "mouseDown"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("mouseUpEffect", "mouseUp"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("moveEffect", "move"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("removedEffect", "removed"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeEffect", "resize"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeEndEffect", "resizeEnd"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeStartEffect", "resizeStart"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("rollOutEffect", "rollOut"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("rollOverEffect", "rollOver"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("showEffect", "show"); var _local2:Array = ["fontWeight", "modalTransparencyBlur", "textRollOverColor", "backgroundDisabledColor", "textIndent", "barColor", "fontSize", "kerning", "footerColors", "textAlign", "fontStyle", "modalTransparencyDuration", "textSelectedColor", "modalTransparency", "fontGridFitType", "disabledColor", "fontAntiAliasType", "modalTransparencyColor", "leading", "dropShadowColor", "themeColor", "letterSpacing", "fontFamily", "color", "fontThickness", "errorColor", "headerColors", "fontSharpness", "textDecoration"]; var _local3:int; while (_local3 < _local2.length) { StyleManager.registerInheritingStyle(_local2[_local3]); _local3++; }; } } }//package
Section 460
//_MysticCards_mx_managers_SystemManager (_MysticCards_mx_managers_SystemManager) package { import mx.core.*; import mx.managers.*; import flash.system.*; public class _MysticCards_mx_managers_SystemManager extends SystemManager implements IFlexModuleFactory { override public function create(... _args):Object{ if ((((_args.length > 0)) && (!((_args[0] is String))))){ return (super.create.apply(this, _args)); }; var _local2:String = ((_args.length == 0)) ? "MysticCards" : String(_args[0]); var _local3:Class = Class(getDefinitionByName(_local2)); if (!_local3){ return (null); }; var _local4:Object = new (_local3); if ((_local4 is IFlexModule)){ IFlexModule(_local4).moduleFactory = this; }; return (_local4); } override public function info():Object{ return ({applicationComplete:"{this.ConnectToScores();}", compiledLocales:["en_US"], compiledResourceBundleNames:["containers", "controls", "core", "effects", "skins", "styles"], currentDomain:ApplicationDomain.currentDomain, height:"525", layout:"absolute", mainClassName:"MysticCards", mixins:["_MysticCards_FlexInit", "_alertButtonStyleStyle", "_ControlBarStyle", "_ScrollBarStyle", "_activeTabStyleStyle", "_textAreaHScrollBarStyleStyle", "_ToolTipStyle", "_advancedDataGridStylesStyle", "_comboDropdownStyle", "_ContainerStyle", "_textAreaVScrollBarStyleStyle", "_linkButtonStyleStyle", "_globalStyle", "_windowStatusStyle", "_windowStylesStyle", "_PanelStyle", "_activeButtonStyleStyle", "_errorTipStyle", "_richTextEditorTextAreaStyleStyle", "_CursorManagerStyle", "_todayStyleStyle", "_dateFieldPopupStyle", "_plainStyle", "_dataGridStylesStyle", "_ApplicationStyle", "_headerDateTextStyle", "_ButtonStyle", "_popUpMenuStyle", "_AlertStyle", "_swatchPanelTextFieldStyle", "_opaquePanelStyle", "_weekDayStyleStyle", "_headerDragProxyStyleStyle"], preloader:MochiPreloader, width:"700"}); } } }//package
Section 461
//_opaquePanelStyle (_opaquePanelStyle) package { import mx.core.*; import mx.styles.*; public class _opaquePanelStyle { public static function init(Object:IFlexModuleFactory):void{ var fbs = Object; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".opaquePanel", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.borderAlpha = 1; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 462
//_PanelStyle (_PanelStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _PanelStyle { public static function init(windowStyles:IFlexModuleFactory):void{ var effects:Array; var fbs = windowStyles; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Panel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Panel", style, false); effects = style.mx_internal::effects; if (!effects){ effects = (style.mx_internal::effects = new Array()); }; effects.push("resizeEndEffect"); effects.push("resizeStartEffect"); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderColor = 0xE2E2E2; this.paddingLeft = 0; this.roundedBottomCorners = false; this.dropShadowEnabled = true; this.resizeStartEffect = "Dissolve"; this.borderSkin = PanelSkin; this.statusStyleName = "windowStatus"; this.borderAlpha = 0.4; this.borderStyle = "default"; this.paddingBottom = 0; this.resizeEndEffect = "Dissolve"; this.paddingTop = 0; this.borderThicknessRight = 10; this.titleStyleName = "windowStyles"; this.cornerRadius = 4; this.paddingRight = 0; this.borderThicknessLeft = 10; this.titleBackgroundSkin = TitleBackground; this.borderThickness = 0; this.borderThicknessTop = 2; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 463
//_plainStyle (_plainStyle) package { import mx.core.*; import mx.styles.*; public class _plainStyle { public static function init(left:IFlexModuleFactory):void{ var fbs = left; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".plain", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 0; this.paddingLeft = 0; this.horizontalAlign = "left"; this.paddingRight = 0; this.backgroundImage = ""; this.paddingBottom = 0; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 464
//_popUpMenuStyle (_popUpMenuStyle) package { import mx.core.*; import mx.styles.*; public class _popUpMenuStyle { public static function init(left:IFlexModuleFactory):void{ var fbs = left; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".popUpMenu", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "left"; this.fontWeight = "normal"; }; }; } } }//package
Section 465
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle) package { import mx.core.*; import mx.styles.*; public class _richTextEditorTextAreaStyleStyle { public static function init(_richTextEditorTextAreaStyleStyle:IFlexModuleFactory):void{ var fbs = _richTextEditorTextAreaStyleStyle; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 466
//_ScrollBarStyle (_ScrollBarStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ScrollBarStyle { public static function init(ScrollTrackSkin:IFlexModuleFactory):void{ var fbs = ScrollTrackSkin; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ScrollBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ScrollBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.trackColors = [9738651, 0xE7E7E7]; this.thumbOffset = 0; this.paddingTop = 0; this.downArrowSkin = ScrollArrowSkin; this.borderColor = 12040892; this.paddingLeft = 0; this.cornerRadius = 4; this.paddingRight = 0; this.trackSkin = ScrollTrackSkin; this.thumbSkin = ScrollThumbSkin; this.paddingBottom = 0; this.upArrowSkin = ScrollArrowSkin; }; }; } } }//package
Section 467
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle) package { import mx.core.*; import mx.styles.*; public class _swatchPanelTextFieldStyle { public static function init(shadowColor:IFlexModuleFactory):void{ var fbs = shadowColor; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.highlightColor = 12897484; this.borderColor = 14015965; this.paddingLeft = 5; this.shadowCapColor = 14015965; this.paddingRight = 5; this.shadowColor = 14015965; this.borderStyle = "inset"; this.buttonColor = 7305079; this.backgroundColor = 0xFFFFFF; this.borderCapColor = 9542041; }; }; } } }//package
Section 468
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaHScrollBarStyleStyle { public static function init(_textAreaHScrollBarStyleStyle:IFlexModuleFactory):void{ var fbs = _textAreaHScrollBarStyleStyle; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 469
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaVScrollBarStyleStyle { public static function init(_textAreaVScrollBarStyleStyle:IFlexModuleFactory):void{ var fbs = _textAreaVScrollBarStyleStyle; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 470
//_todayStyleStyle (_todayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _todayStyleStyle { public static function init(center:IFlexModuleFactory):void{ var fbs = center; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".todayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.color = 0xFFFFFF; }; }; } } }//package
Section 471
//_ToolTipStyle (_ToolTipStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ToolTipStyle { public static function init(mx.skins.halo:IFlexModuleFactory):void{ var fbs = mx.skins.halo; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ToolTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ToolTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.borderColor = 9542041; this.paddingLeft = 4; this.cornerRadius = 2; this.paddingRight = 4; this.shadowColor = 0; this.fontSize = 9; this.borderSkin = ToolTipBorder; this.backgroundAlpha = 0.95; this.paddingBottom = 2; this.borderStyle = "toolTip"; this.backgroundColor = 16777164; }; }; } } }//package
Section 472
//_weekDayStyleStyle (_weekDayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _weekDayStyleStyle { public static function init(center:IFlexModuleFactory):void{ var fbs = center; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".weekDayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.fontWeight = "bold"; }; }; } } }//package
Section 473
//_windowStatusStyle (_windowStatusStyle) package { import mx.core.*; import mx.styles.*; public class _windowStatusStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStatus", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0x666666; }; }; } } }//package
Section 474
//_windowStylesStyle (_windowStylesStyle) package { import mx.core.*; import mx.styles.*; public class _windowStylesStyle { public static function init(:IFlexModuleFactory):void{ var fbs = ; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 475
//en_US$containers_properties (en_US$containers_properties) package { import mx.resources.*; public class en_US$containers_properties extends ResourceBundle { public function en_US$containers_properties(){ super("en_US", "containers"); } override protected function getContent():Object{ var _local1:Object = {noColumnsFound:"No ConstraintColumns found.", noRowsFound:"No ConstraintRows found.", rowNotFound:"ConstraintRow '{0}' not found.", columnNotFound:"ConstraintColumn '{0}' not found."}; return (_local1); } } }//package
Section 476
//en_US$controls_properties (en_US$controls_properties) package { import mx.resources.*; public class en_US$controls_properties extends ResourceBundle { public function en_US$controls_properties(){ super("en_US", "controls"); } override protected function getContent():Object{ var _local1:Object = {undefinedParameter:"CuePoint parameter undefined.", nullURL:"Null URL sent to VideoPlayer.load.", incorrectType:"Type must be 0, 1 or 2.", okLabel:"OK", noLabel:"No", wrongNumParams:"Num params must be number.", wrongDisabled:"Disabled must be number.", wrongTime:"Time must be number.", dayNamesShortest:"S,M,T,W,T,F,S", wrongType:"Type must be number.", firstDayOfWeek:"0", rootNotSMIL:"URL: '{0}' Root node not smil: '{1}'.", errorMessages:"Unable to make connection to server or to find FLV on server.,No matching cue point found.,Illegal cue point.,Invalid seek.,Invalid contentPath.,Invalid XML.,No bitrate match; must be no default FLV.,Cannot delete default VideoPlayer.", unexpectedEnd:"Unexpected end of cuePoint param string.", rootNotFound:"URL: '{0}' No root node found; if file is an flv, it must have a .flv extension.", errWrongContainer:"ERROR: The dataProvider of '{0}' must not contain objects of type flash.display.DisplayObject.", invalidCall:"Cannot call reconnect on an http connection.", cancelLabel:"Cancel", errWrongType:"ERROR: The dataProvider of '{0}' must be String, ViewStack, Array, or IList.", badArgs:"Bad args to _play.", missingRoot:"URL: '{0}' No root node found; if URL is for an FLV, it must have a .flv extension and take no parameters.", notLoadable:"Unable to load '{0}'.", wrongName:"Name cannot be undefined or null.", wrongTimeName:"Time must be number and/or name must not be undefined or null.", yesLabel:"Yes", undefinedArray:"CuePoint.array undefined.", missingProxy:"URL: '{0}' fpad xml requires proxy tag.", unknownInput:"Unknown inputType '{0}'.", missingAttributeSrc:"URL: '{0}' Attribute src is required in '{1}' tag.", yearSymbol:"", wrongIndex:"CuePoint.index must be number between -1 and cuePoint.array.length.", notImplemented:"'{0}' not implemented yet.", label:"LOADING %3%%", wrongFormat:"Unexpected cuePoint parameter format.", tagNotFound:"URL: '{0}' At least one video of ref tag is required.", unsupportedMode:"IMEMode '{0}' not supported.", cannotDisable:"Cannot disable actionscript cue points.", missingAttributes:"URL: '{0}' Tag '{1}' requires attributes id, width, and height. Width and height must be numbers greater than or equal to 0.", notfpad:"URL: '{0}' Root node not fpad."}; return (_local1); } } }//package
Section 477
//en_US$core_properties (en_US$core_properties) package { import mx.resources.*; public class en_US$core_properties extends ResourceBundle { public function en_US$core_properties(){ super("en_US", "core"); } override protected function getContent():Object{ var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."}; return (_local1); } } }//package
Section 478
//en_US$effects_properties (en_US$effects_properties) package { import mx.resources.*; public class en_US$effects_properties extends ResourceBundle { public function en_US$effects_properties(){ super("en_US", "effects"); } override protected function getContent():Object{ var _local1:Object = {incorrectTrigger:"The Zoom effect can not be triggered by a moveEffect trigger.", incorrectSource:"Source property must be a Class or String."}; return (_local1); } } }//package
Section 479
//en_US$skins_properties (en_US$skins_properties) package { import mx.resources.*; public class en_US$skins_properties extends ResourceBundle { public function en_US$skins_properties(){ super("en_US", "skins"); } override protected function getContent():Object{ var _local1:Object = {notLoaded:"Unable to load '{0}'."}; return (_local1); } } }//package
Section 480
//en_US$styles_properties (en_US$styles_properties) package { import mx.resources.*; public class en_US$styles_properties extends ResourceBundle { public function en_US$styles_properties(){ super("en_US", "styles"); } override protected function getContent():Object{ var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."}; return (_local1); } } }//package
Section 481
//MochiPreloader (MochiPreloader) package { import flash.display.*; import mx.core.*; import flash.events.*; import flash.net.*; import mx.preloaders.*; import ArteFlash.*; import mochi.as3.*; public dynamic class MochiPreloader extends DownloadProgressBar { private var SiteLink:String;// = "http://www.xgamesflashx.com/index.php?from=MysticCards" private var PreloaderMC:PreloaderBG; private var MochiAds:Boolean;// = true private var _clip:MovieClip; private var GAME_OPTIONS:Object; private var MochiId:String;// = "222c2194cb33ce0e" public function MochiPreloader(){ super(); this.PreloaderMC = new PreloaderBG(); this.PreloaderMC.LOGO.addEventListener(MouseEvent.CLICK, ClicaMarca, false, 0, true); this.PreloaderMC.LOGO.buttonMode = true; this.PreloaderMC.LOGO.useHandCursor = true; this.addChild(this.PreloaderMC); _clip = new MovieClip(); addChild(_clip); } public function ClicaMarca(e:MouseEvent):void{ var RequestLink:URLRequest = new URLRequest(this.SiteLink); navigateToURL(RequestLink, "_blank"); } private function MochiAdComplete():void{ dispatchEvent(new Event(Event.COMPLETE)); //unresolved jump var _slot1 = e; Application.application.ConnectToScores(); } override public function set preloader(preloader:Sprite):void{ MochiAd.showPreGameAd({clip:_clip, id:this.MochiId, res:((width + "x") + height), ad_finished:MochiAdComplete}); } } }//package
Section 482
//MysticCards (MysticCards) package { import flash.events.*; import flash.display.*; import mx.events.*; import mx.core.*; import flash.geom.*; import mx.controls.*; import Battle.*; import DB.*; import mx.styles.*; import Telas.*; import Utilidades.*; import BookPack.*; import mochi.as3.*; import flash.text.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.accessibility.*; import flash.debugger.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.profiler.*; import flash.system.*; import flash.ui.*; import flash.xml.*; import mx.binding.*; public class MysticCards extends Application { public var MochiScore:Boolean;// = true public var MochiLastWorldId:String;// = "70faab01b0613c09" public var FlashHolder:UIComponent; public var MochiId:String;// = "222c2194cb33ce0e" public var MochiCoins_:Boolean;// = true private var TempMochiAds:MovieClip; private var MochiScoreMC:MovieClip; public var TelaAtual:int; private var SiteLock_:String;// = "" public var MochiAds:Boolean;// = true public var World:WorldMap; private var _documentDescriptor_:UIComponentDescriptor; public var KongregateAPI:Object; public var Kongregate:Boolean;// = false public var CombateAtual:Combate; mx_internal static var _MysticCards_StylesInit_done:Boolean = false; public function MysticCards(){ _documentDescriptor_ = new UIComponentDescriptor({type:Application, propertiesFactory:function ():Object{ return ({width:700, height:525}); }}); super(); mx_internal::_document = this; mx_internal::_MysticCards_StylesInit(); this.layout = "absolute"; this.width = 700; this.height = 525; this.addEventListener("applicationComplete", ___MysticCards_Application1_applicationComplete); } public function handleError(event:Object):void{ Alert.show(("Error: " + event.toString())); } public function Start():void{ this.StartGameData(); if (this.SiteLock_ != ""){ this.SiteLock(); } else { Capa.CallTela(); }; } public function loggedIn(event:Object):void{ } public function ShowMochiAdsOnMC(pMc:MovieClip):void{ var pMc = pMc; if (this.MochiAds){ try { pMc.removeChild(this.TempMochiAds); } catch(e:Error) { }; this.TempMochiAds = new MovieClip(); pMc.addChild(this.TempMochiAds); MochiAd.showClickAwayAd({clip:this.TempMochiAds, id:this.MochiId}); //unresolved jump var _slot1 = e; trace(_slot1.toString()); }; } public function newItem(event:Object):void{ if (event.id == this.MochiLastWorldId){ Options.BOTH_WORLD = true; }; } private function KongregateComplete(event:Event):void{ this.KongregateAPI = event.target.content; this.KongregateAPI.services.connect(); var DebugKong:String = ("\n" + this.KongregateAPI.services); DebugKong = (DebugKong + ("\n" + this.KongregateAPI.user)); DebugKong = (DebugKong + ("\n" + this.KongregateAPI.scores)); DebugKong = (DebugKong + ("\n" + this.KongregateAPI.stats)); this.Start(); } public function registerItem(event:Object):void{ if (event.id == this.MochiLastWorldId){ Options.BOTH_WORLD = true; }; } override public function initialize():void{ mx_internal::setDocumentDescriptor(_documentDescriptor_); super.initialize(); } mx_internal function _MysticCards_StylesInit():void{ var _local1:CSSStyleDeclaration; var _local2:Array; if (mx_internal::_MysticCards_StylesInit_done){ return; }; mx_internal::_MysticCards_StylesInit_done = true; var _local3 = StyleManager; _local3.mx_internal::initProtoChainRoots(); } private function StartGameData():void{ new SpellDB(); new CardDB(); new Sons(); CardDB.AddSpellsCost(); new Tutorial(); new LevelDB(); new Options(); new DeckIA(); new KeyboardMonitor(); new Book(); new Capa(); } public function GoSite(e:MouseEvent):void{ var RequestLink:URLRequest = new URLRequest("http://www.xgamesflashx.com/index.php?from=MysticalCards"); navigateToURL(RequestLink, "_blank"); } public function ___MysticCards_Application1_applicationComplete(event:FlexEvent):void{ this.ConnectToScores(); } public function ConnectToScores():void{ var paramObj:Object; var api_url:String; var request:URLRequest; var loader:Loader; this.FlashHolder = new UIComponent(); this.addChild(this.FlashHolder); if (this.Kongregate){ paramObj = LoaderInfo(root.loaderInfo).parameters; api_url = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); trace(("API path: " + api_url)); request = new URLRequest(api_url); loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, KongregateComplete); loader.load(request); this.FlashHolder.addChild(loader); } else { if (MochiCoins_){ MochiCoins.addEventListener(MochiCoins.ERROR, handleError); MochiCoins.addEventListener(MochiCoins.LOGGED_IN, loggedIn); MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, registerItem); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItem); MochiCoins.showLoginWidget({x:0, y:500}); }; if (((this.MochiScore) || (MochiCoins_))){ this.MochiScoreMC = new MovieClip(); this.stage.addChild(this.MochiScoreMC); MochiServices.connect(Application.application.MochiId, this.MochiScoreMC); //unresolved jump var _slot1 = E; }; if (MochiCoins_){ MochiCoins.getStoreItems(); }; this.Start(); }; } private function SiteLock():void{ var url:String = this.loaderInfo.url; var urlStart:Number = (url.indexOf("://") + 3); var urlEnd:Number = url.indexOf("/", urlStart); var domain:String = url.substring(urlStart, urlEnd); var LastDot:Number = (domain.lastIndexOf(".") - 1); var domEnd:Number = (domain.lastIndexOf(".", LastDot) + 1); domain = domain.substring(domEnd, domain.length); if (domain == this.SiteLock_){ Capa.CallTela(); } else { Alert.show(("This Version is Site Locked to: " + this.SiteLock_)); }; } } }//package

Library Items

Symbol 1 GraphicUsed by:4
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:4
Symbol 4 MovieClip {ArteFlash.PreloaderBG} [ArteFlash.PreloaderBG]Uses:1 3
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClip {_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_619767351} [mx.skins.cursor.BusyCursor]Uses:5
Symbol 7 GraphicUsed by:31
Symbol 8 FontUsed by:9 10 15 16 17 22 23 25 96 97 98 102 105 143 237 709 723 725 726 727
Symbol 9 TextUses:8Used by:31
Symbol 10 TextUses:8Used by:31 103
Symbol 11 GraphicUsed by:14
Symbol 12 FontUsed by:13 35 39 40 41 42 43 44 65 77 146 150 151 152 153 154 165 209 210 211 212 213 214 229 651 673 674 675 676 677 702 711 712 728
Symbol 13 TextUses:12Used by:14
Symbol 14 MovieClipUses:11 13Used by:31 103
Symbol 15 TextUses:8Used by:31 103
Symbol 16 TextUses:8Used by:31 103
Symbol 17 TextUses:8Used by:31 103
Symbol 18 GraphicUsed by:21
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClipUses:19Used by:21
Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE]Uses:18 20Used by:31 103 144 731
Symbol 22 TextUses:8Used by:31
Symbol 23 TextUses:8Used by:24
Symbol 24 ButtonUses:23Used by:31
Symbol 25 TextUses:8Used by:26
Symbol 26 ButtonUses:25Used by:31
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:27Used by:31 144 720
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:31 103
Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions]Uses:7 9 10 14 15 16 17 21 22 24 26 28 30
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:45 155 215 678
Symbol 34 GraphicUsed by:36
Symbol 35 TextUses:12Used by:36
Symbol 36 ButtonUses:34 35Used by:45
Symbol 37 BitmapUsed by:38
Symbol 38 GraphicUses:37Used by:45
Symbol 39 TextUses:12Used by:45
Symbol 40 TextUses:12Used by:45
Symbol 41 TextUses:12Used by:45
Symbol 42 TextUses:12Used by:45
Symbol 43 TextUses:12Used by:45
Symbol 44 TextUses:12Used by:45
Symbol 45 MovieClip {Arte.BattleTuto} [Arte.BattleTuto]Uses:33 36 38 39 40 41 42 43 44
Symbol 46 GraphicUsed by:47 89 168 236 655
Symbol 47 MovieClipUses:46Used by:93
Symbol 48 BitmapUsed by:49
Symbol 49 GraphicUses:48Used by:93
Symbol 50 FontUsed by:51 56 72 78 85 138 221 222 223 224 225 226 227 228 230 231 232 233 234 238 651 653 654 661 662 679 685 701 713 714 715 717 718 730
Symbol 51 EditableTextUses:50Used by:93
Symbol 52 GraphicUsed by:54
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:52 53Used by:55
Symbol 55 MovieClipUses:54Used by:93
Symbol 56 EditableTextUses:50Used by:93
Symbol 57 GraphicUsed by:64
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:64 67
Symbol 60 GraphicUsed by:63
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:63
Symbol 63 MovieClipUses:60 62Used by:64 69
Symbol 64 MovieClipUses:57 59 63Used by:93 108 239 720
Symbol 65 EditableTextUses:12Used by:93
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClipUses:66 59Used by:70 99
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68 63Used by:70 100
Symbol 70 MovieClipUses:67 69Used by:93 657
Symbol 71 GraphicUsed by:75
Symbol 72 TextUses:50Used by:75
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:75
Symbol 75 MovieClipUses:71 72 74Used by:76
Symbol 76 MovieClipUses:75Used by:93
Symbol 77 EditableTextUses:12Used by:93
Symbol 78 EditableTextUses:50Used by:93
Symbol 79 GraphicUsed by:84
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:84 681
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:84 185 657 681
Symbol 84 MovieClipUses:79 81 83Used by:93
Symbol 85 EditableTextUses:50Used by:93
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClipUses:86Used by:88
Symbol 88 MovieClipUses:87Used by:90
Symbol 89 MovieClipUses:46Used by:90
Symbol 90 MovieClipUses:88 89Used by:93
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:93
Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene]Uses:47 49 51 55 56 64 65 70 76 77 78 84 85 90 92
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:108
Symbol 96 TextUses:8Used by:108
Symbol 97 TextUses:8Used by:108
Symbol 98 TextUses:8Used by:108
Symbol 99 MovieClipUses:67Used by:108
Symbol 100 MovieClipUses:69Used by:108
Symbol 101 GraphicUsed by:103
Symbol 102 TextUses:8Used by:103
Symbol 103 MovieClipUses:101 102 10 14 15 16 17 21 30Used by:108
Symbol 104 GraphicUsed by:107 710
Symbol 105 TextUses:8Used by:107
Symbol 106 GraphicUsed by:107 710
Symbol 107 ButtonUses:104 105 106Used by:108
Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame]Uses:95 96 97 98 99 100 64 103 107
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:109Used by:144 731
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:113
Symbol 113 MovieClip {Arte.MEH3} [Arte.MEH3]Uses:112Used by:144
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:116
Symbol 116 MovieClip {Arte.CEH3} [Arte.CEH3]Uses:115Used by:144 731
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:119
Symbol 119 MovieClip {Arte.WEH3} [Arte.WEH3]Uses:118Used by:144 731
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:122
Symbol 122 MovieClip {Arte.REH3} [Arte.REH3]Uses:121Used by:144 731
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:125
Symbol 125 MovieClip {Arte.RED3} [Arte.RED3]Uses:124Used by:144 731
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 MovieClip {Arte.WED3} [Arte.WED3]Uses:127Used by:144 731
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClip {Arte.MED3} [Arte.MED3]Uses:130Used by:144 731
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:134
Symbol 134 MovieClip {Arte.CED3} [Arte.CED3]Uses:133Used by:144 731
Symbol 135 GraphicUsed by:144
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:141
Symbol 138 EditableTextUses:50Used by:141
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:141
Symbol 141 MovieClipUses:137 138 140Used by:142
Symbol 142 MovieClipUses:141Used by:144
Symbol 143 TextUses:8Used by:144
Symbol 144 MovieClip {Arte.CapaMc} [Arte.CapaMc]Uses:110 28 113 116 119 122 125 128 131 134 135 142 143 21
Symbol 145 GraphicUsed by:147
Symbol 146 TextUses:12Used by:147
Symbol 147 ButtonUses:145 146Used by:155 215 678
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:155
Symbol 150 TextUses:12Used by:155
Symbol 151 TextUses:12Used by:155
Symbol 152 TextUses:12Used by:155
Symbol 153 TextUses:12Used by:155
Symbol 154 TextUses:12Used by:155
Symbol 155 MovieClip {Arte.StartTuto} [Arte.StartTuto]Uses:33 147 149 150 151 152 153 154
Symbol 156 GraphicUsed by:164
Symbol 157 GraphicUsed by:164
Symbol 158 GraphicUsed by:164
Symbol 159 GraphicUsed by:164
Symbol 160 GraphicUsed by:164
Symbol 161 GraphicUsed by:164
Symbol 162 GraphicUsed by:164
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClipUses:156 157 158 159 160 161 162 163Used by:185
Symbol 165 EditableTextUses:12Used by:185
Symbol 166 FontUsed by:167 175
Symbol 167 EditableTextUses:166Used by:169
Symbol 168 MovieClipUses:46Used by:169
Symbol 169 MovieClipUses:167 168Used by:185
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:185
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:185
Symbol 174 GraphicUsed by:185
Symbol 175 EditableTextUses:166Used by:185
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:185 682
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:185 682
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:185
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:185
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC]Uses:164 165 169 171 173 174 175 177 179 83 181 183 184
Symbol 186 Sound {Som.MusicBattle2} [Som.MusicBattle2]
Symbol 187 Sound {Arte.MenuCancel} [Arte.MenuCancel]
Symbol 188 Sound {Som.Down} [Som.Down]
Symbol 189 Sound {Som.OverMenu} [Som.OverMenu]
Symbol 190 Sound {Som.MusicBattle1} [Som.MusicBattle1]
Symbol 191 Sound {Som.Explode} [Som.Explode]
Symbol 192 Sound {Som.WorldMapMusic} [Som.WorldMapMusic]
Symbol 193 Sound {Som.DrainLife} [Som.DrainLife]
Symbol 194 Sound {Som.MusicBattle3} [Som.MusicBattle3]
Symbol 195 Sound {Som.PassCard} [Som.PassCard]
Symbol 196 Sound {Som.BurnSound} [Som.BurnSound]
Symbol 197 Sound {Som.PoisonSound} [Som.PoisonSound]
Symbol 198 Sound {Som.CapaMusic} [Som.CapaMusic]
Symbol 199 Sound {Som.Cure} [Som.Cure]
Symbol 200 Sound {Som.ScoreSound} [Som.ScoreSound]
Symbol 201 Sound {Som.ClickMenu} [Som.ClickMenu]
Symbol 202 Sound {Som.MenuOff} [Som.MenuOff]
Symbol 203 Sound {Som.TrashCard} [Som.TrashCard]
Symbol 204 Sound {Som.UpSound} [Som.UpSound]
Symbol 205 Sound {Som.Bless} [Som.Bless]
Symbol 206 Sound {Som.Thunder} [Som.Thunder]
Symbol 207 BitmapUsed by:208
Symbol 208 GraphicUses:207Used by:215
Symbol 209 TextUses:12Used by:215
Symbol 210 TextUses:12Used by:215
Symbol 211 TextUses:12Used by:215
Symbol 212 TextUses:12Used by:215
Symbol 213 TextUses:12Used by:215
Symbol 214 TextUses:12Used by:215
Symbol 215 MovieClip {Arte.BookTuto} [Arte.BookTuto]Uses:33 147 208 209 210 211 212 213 214
Symbol 216 BitmapUsed by:217 648
Symbol 217 GraphicUses:216Used by:239
Symbol 218 GraphicUsed by:220
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClipUses:218 219Used by:239
Symbol 221 TextUses:50Used by:239
Symbol 222 TextUses:50Used by:239
Symbol 223 TextUses:50Used by:239
Symbol 224 TextUses:50Used by:239
Symbol 225 TextUses:50Used by:239
Symbol 226 TextUses:50Used by:239
Symbol 227 TextUses:50Used by:239
Symbol 228 TextUses:50Used by:239
Symbol 229 EditableTextUses:12Used by:239
Symbol 230 EditableTextUses:50Used by:239
Symbol 231 TextUses:50Used by:235
Symbol 232 TextUses:50Used by:235
Symbol 233 TextUses:50Used by:235
Symbol 234 TextUses:50Used by:235
Symbol 235 MovieClipUses:231 232 233 234Used by:239
Symbol 236 MovieClipUses:46Used by:239
Symbol 237 EditableTextUses:8Used by:239
Symbol 238 TextUses:50Used by:239
Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc]Uses:217 220 221 222 223 224 225 226 227 228 64 229 230 235 236 237 238
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:242
Symbol 242 MovieClip {Arte.WPD3} [Arte.WPD3]Uses:241
Symbol 243 BitmapUsed by:244
Symbol 244 GraphicUses:243Used by:245
Symbol 245 MovieClip {Arte.MBD2} [Arte.MBD2]Uses:244
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:248
Symbol 248 MovieClip {Arte.RED1} [Arte.RED1]Uses:247
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:251
Symbol 251 MovieClip {Arte.R4D1} [Arte.R4D1]Uses:250
Symbol 252 BitmapUsed by:253
Symbol 253 GraphicUses:252Used by:254
Symbol 254 MovieClip {Arte.C4D3} [Arte.C4D3]Uses:253
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:257
Symbol 257 MovieClip {Arte.C4D1} [Arte.C4D1]Uses:256
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:260
Symbol 260 MovieClip {Arte.R4D2} [Arte.R4D2]Uses:259
Symbol 261 BitmapUsed by:262
Symbol 262 GraphicUses:261Used by:263
Symbol 263 MovieClip {Arte.R3D1} [Arte.R3D1]Uses:262
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:266
Symbol 266 MovieClip {Arte.REH1} [Arte.REH1]Uses:265Used by:731
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:269
Symbol 269 MovieClip {Arte.WRH3} [Arte.WRH3]Uses:268
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClip {Arte.MCD1} [Arte.MCD1]Uses:271
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:275
Symbol 275 MovieClip {Arte.C2D1} [Arte.C2D1]Uses:274
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:278
Symbol 278 MovieClipUses:277Used by:285
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:281
Symbol 281 MovieClipUses:280Used by:285
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:284
Symbol 284 MovieClipUses:283Used by:285
Symbol 285 MovieClip {Arte.FoiceAnimation} [Arte.FoiceAnimation]Uses:278 281 284
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:288
Symbol 288 MovieClip {Arte.MBH2} [Arte.MBH2]Uses:287
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:291
Symbol 291 MovieClip {Arte.WED1} [Arte.WED1]Uses:290
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:294
Symbol 294 MovieClip {Arte.REH2} [Arte.REH2]Uses:293
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:297
Symbol 297 MovieClip {Arte.CEH2} [Arte.CEH2]Uses:296
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClip {Arte.R4H1} [Arte.R4H1]Uses:299
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:303
Symbol 303 MovieClip {Arte.MBD1} [Arte.MBD1]Uses:302
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:306
Symbol 306 MovieClip {Arte.WBD3} [Arte.WBD3]Uses:305
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:309
Symbol 309 MovieClip {Arte.MCH1} [Arte.MCH1]Uses:308
Symbol 310 BitmapUsed by:311
Symbol 311 GraphicUses:310Used by:312
Symbol 312 MovieClip {Arte.CEH1} [Arte.CEH1]Uses:311Used by:731
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:315
Symbol 315 MovieClip {Arte.C1D3} [Arte.C1D3]Uses:314
Symbol 316 BitmapUsed by:317
Symbol 317 GraphicUses:316Used by:318
Symbol 318 MovieClip {Arte.R4H2} [Arte.R4H2]Uses:317
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:321
Symbol 321 MovieClip {Arte.WRH2} [Arte.WRH2]Uses:320
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:324
Symbol 324 MovieClip {Arte.WSD2} [Arte.WSD2]Uses:323
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:327
Symbol 327 MovieClip {Arte.R1D1} [Arte.R1D1]Uses:326
Symbol 328 BitmapUsed by:329
Symbol 329 GraphicUses:328Used by:330
Symbol 330 MovieClip {Arte.WBD1} [Arte.WBD1]Uses:329
Symbol 331 BitmapUsed by:332
Symbol 332 GraphicUses:331Used by:333
Symbol 333 MovieClip {Arte.C3H1} [Arte.C3H1]Uses:332
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:336
Symbol 336 MovieClip {Arte.WRH1} [Arte.WRH1]Uses:335
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:339
Symbol 339 MovieClip {Arte.MSD3} [Arte.MSD3]Uses:338
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:342
Symbol 342 MovieClip {Arte.WBH1} [Arte.WBH1]Uses:341
Symbol 343 BitmapUsed by:344
Symbol 344 GraphicUses:343Used by:345
Symbol 345 MovieClip {Arte.WPD2} [Arte.WPD2]Uses:344
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:348
Symbol 348 MovieClip {Arte.MBH1} [Arte.MBH1]Uses:347
Symbol 349 BitmapUsed by:350
Symbol 350 GraphicUses:349Used by:351
Symbol 351 MovieClip {Arte.MSH1} [Arte.MSH1]Uses:350
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:354
Symbol 354 MovieClip {Arte.MCD3} [Arte.MCD3]Uses:353
Symbol 355 BitmapUsed by:356
Symbol 356 GraphicUses:355Used by:357
Symbol 357 MovieClip {Arte.C2D3} [Arte.C2D3]Uses:356
Symbol 358 BitmapUsed by:359
Symbol 359 GraphicUses:358Used by:360
Symbol 360 MovieClipUses:359Used by:364
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:363
Symbol 363 MovieClipUses:362Used by:364
Symbol 364 MovieClip {Arte.SwordAnimation} [Arte.SwordAnimation]Uses:360 363
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:365Used by:367
Symbol 367 MovieClip {Arte.WSD3} [Arte.WSD3]Uses:366
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:370
Symbol 370 MovieClip {Arte.CED1} [Arte.CED1]Uses:369
Symbol 371 BitmapUsed by:372
Symbol 372 GraphicUses:371Used by:373
Symbol 373 MovieClip {Arte.MBH3} [Arte.MBH3]Uses:372
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:376
Symbol 376 MovieClip {Arte.C3D2} [Arte.C3D2]Uses:375
Symbol 377 BitmapUsed by:378
Symbol 378 GraphicUses:377Used by:379
Symbol 379 MovieClip {Arte.MBD3} [Arte.MBD3]Uses:378
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:382
Symbol 382 MovieClip {Arte.C3D1} [Arte.C3D1]Uses:381
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:385
Symbol 385 MovieClip {Arte.C3D3} [Arte.C3D3]Uses:384
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:388
Symbol 388 MovieClip {Arte.WSD1} [Arte.WSD1]Uses:387
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:391
Symbol 391 MovieClip {Arte.R1H3} [Arte.R1H3]Uses:390
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:394
Symbol 394 MovieClip {Arte.C4D2} [Arte.C4D2]Uses:393
Symbol 395 BitmapUsed by:396
Symbol 396 GraphicUses:395Used by:397
Symbol 397 MovieClip {Arte.WBH2} [Arte.WBH2]Uses:396
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:400
Symbol 400 MovieClip {Arte.WPH3} [Arte.WPH3]Uses:399
Symbol 401 BitmapUsed by:402
Symbol 402 GraphicUses:401Used by:403
Symbol 403 MovieClip {Arte.WED2} [Arte.WED2]Uses:402Used by:731
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:412
Symbol 406 BitmapUsed by:407
Symbol 407 GraphicUses:406Used by:412
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:408Used by:412
Symbol 410 BitmapUsed by:411
Symbol 411 GraphicUses:410Used by:412
Symbol 412 MovieClip {Arte.BluntAnimation} [Arte.BluntAnimation]Uses:405 407 409 411
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:415
Symbol 415 MovieClip {Arte.WSH3} [Arte.WSH3]Uses:414
Symbol 416 BitmapUsed by:417
Symbol 417 GraphicUses:416Used by:418
Symbol 418 MovieClip {Arte.WSH1} [Arte.WSH1]Uses:417
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:421
Symbol 421 MovieClip {Arte.WPD1} [Arte.WPD1]Uses:420
Symbol 422 BitmapUsed by:423
Symbol 423 GraphicUses:422Used by:424
Symbol 424 MovieClip {Arte.WRD1} [Arte.WRD1]Uses:423
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:427
Symbol 427 MovieClipUses:426Used by:431
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:430
Symbol 430 MovieClipUses:429Used by:431
Symbol 431 MovieClip {Arte.AxeAnimation} [Arte.AxeAnimation]Uses:427 430
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:434
Symbol 434 MovieClip {Arte.C1H3} [Arte.C1H3]Uses:433
Symbol 435 BitmapUsed by:436
Symbol 436 GraphicUses:435Used by:437
Symbol 437 MovieClip {Arte.WSH2} [Arte.WSH2]Uses:436
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:440
Symbol 440 MovieClip {Arte.R2H1} [Arte.R2H1]Uses:439
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:443
Symbol 443 MovieClip {Arte.CED2} [Arte.CED2]Uses:442
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:446
Symbol 446 MovieClip {Arte.C4H2} [Arte.C4H2]Uses:445
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:449
Symbol 449 MovieClip {Arte.R1H2} [Arte.R1H2]Uses:448
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:452
Symbol 452 MovieClip {Arte.R2H3} [Arte.R2H3]Uses:451
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:455
Symbol 455 MovieClip {Arte.C1H1} [Arte.C1H1]Uses:454
Symbol 456 BitmapUsed by:457
Symbol 457 GraphicUses:456Used by:458
Symbol 458 MovieClip {Arte.WRD3} [Arte.WRD3]Uses:457
Symbol 459 BitmapUsed by:460
Symbol 460 GraphicUses:459Used by:461
Symbol 461 MovieClip {Arte.C2H2} [Arte.C2H2]Uses:460
Symbol 462 BitmapUsed by:463
Symbol 463 GraphicUses:462Used by:464
Symbol 464 MovieClip {Arte.C3H3} [Arte.C3H3]Uses:463
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:467
Symbol 467 MovieClip {Arte.WPH1} [Arte.WPH1]Uses:466
Symbol 468 BitmapUsed by:469
Symbol 469 GraphicUses:468Used by:470
Symbol 470 MovieClip {Arte.C2H1} [Arte.C2H1]Uses:469
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:473
Symbol 473 MovieClip {Arte.MAH3} [Arte.MAH3]Uses:472
Symbol 474 BitmapUsed by:475
Symbol 475 GraphicUses:474Used by:476
Symbol 476 MovieClip {Arte.C1H2} [Arte.C1H2]Uses:475
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:479
Symbol 479 MovieClip {Arte.R4H3} [Arte.R4H3]Uses:478
Symbol 480 BitmapUsed by:481
Symbol 481 GraphicUses:480Used by:482
Symbol 482 MovieClip {Arte.C2H3} [Arte.C2H3]Uses:481
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:485
Symbol 485 MovieClip {Arte.MSH2} [Arte.MSH2]Uses:484
Symbol 486 BitmapUsed by:487
Symbol 487 GraphicUses:486Used by:488
Symbol 488 MovieClip {Arte.MAH2} [Arte.MAH2]Uses:487
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:491
Symbol 491 MovieClip {Arte.R3D2} [Arte.R3D2]Uses:490
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:494
Symbol 494 MovieClip {Arte.R2D1} [Arte.R2D1]Uses:493
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:497
Symbol 497 MovieClip {Arte.MAH1} [Arte.MAH1]Uses:496
Symbol 498 BitmapUsed by:499
Symbol 499 GraphicUses:498Used by:500
Symbol 500 MovieClip {Arte.C2D2} [Arte.C2D2]Uses:499
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:503
Symbol 503 MovieClip {Arte.C3H2} [Arte.C3H2]Uses:502
Symbol 504 BitmapUsed by:505
Symbol 505 GraphicUses:504Used by:506
Symbol 506 MovieClip {Arte.WRD2} [Arte.WRD2]Uses:505
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:509
Symbol 509 MovieClip {Arte.R3D3} [Arte.R3D3]Uses:508
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:512
Symbol 512 MovieClip {Arte.C4H3} [Arte.C4H3]Uses:511
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:515
Symbol 515 MovieClip {Arte.MCH3} [Arte.MCH3]Uses:514
Symbol 516 BitmapUsed by:517
Symbol 517 GraphicUses:516Used by:518
Symbol 518 MovieClip {Arte.MSH3} [Arte.MSH3]Uses:517
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:521
Symbol 521 MovieClip {Arte.WPH2} [Arte.WPH2]Uses:520
Symbol 522 BitmapUsed by:523
Symbol 523 GraphicUses:522Used by:524
Symbol 524 MovieClip {Arte.R2D2} [Arte.R2D2]Uses:523
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:527
Symbol 527 MovieClip {Arte.R4D3} [Arte.R4D3]Uses:526
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:530
Symbol 530 MovieClip {Arte.WBH3} [Arte.WBH3]Uses:529
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:533
Symbol 533 MovieClip {Arte.MEH2} [Arte.MEH2]Uses:532Used by:731
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:536
Symbol 536 MovieClip {Arte.R1H1} [Arte.R1H1]Uses:535
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:539
Symbol 539 MovieClip {Arte.R3H3} [Arte.R3H3]Uses:538
Symbol 540 BitmapUsed by:541
Symbol 541 GraphicUses:540Used by:542
Symbol 542 MovieClip {Arte.MAD1} [Arte.MAD1]Uses:541
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:545
Symbol 545 MovieClip {Arte.C1D2} [Arte.C1D2]Uses:544
Symbol 546 BitmapUsed by:547
Symbol 547 GraphicUses:546Used by:548
Symbol 548 MovieClip {Arte.MCH2} [Arte.MCH2]Uses:547
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:551
Symbol 551 MovieClip {Arte.WEH2} [Arte.WEH2]Uses:550
Symbol 552 BitmapUsed by:553
Symbol 553 GraphicUses:552Used by:554
Symbol 554 MovieClip {Arte.MSD1} [Arte.MSD1]Uses:553
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:557
Symbol 557 MovieClip {Arte.R2D3} [Arte.R2D3]Uses:556
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:560
Symbol 560 MovieClip {Arte.MED1} [Arte.MED1]Uses:559Used by:731
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:563
Symbol 563 MovieClip {Arte.R3H2} [Arte.R3H2]Uses:562
Symbol 564 BitmapUsed by:565
Symbol 565 GraphicUses:564Used by:566
Symbol 566 MovieClip {Arte.RED2} [Arte.RED2]Uses:565
Symbol 567 GraphicUsed by:572
Symbol 568 FontUsed by:569
Symbol 569 EditableTextUses:568Used by:572
Symbol 570 FontUsed by:571
Symbol 571 EditableTextUses:570Used by:572
Symbol 572 MovieClip {Arte.SpellInfoMC} [Arte.SpellInfoMC]Uses:567 569 571
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:575
Symbol 575 MovieClip {Arte.C1D1} [Arte.C1D1]Uses:574
Symbol 576 BitmapUsed by:577
Symbol 577 GraphicUses:576Used by:578
Symbol 578 MovieClipUses:577Used by:579
Symbol 579 MovieClip {Arte.ArcherAnimation} [Arte.ArcherAnimation]Uses:578
Symbol 580 BitmapUsed by:581
Symbol 581 GraphicUses:580Used by:582
Symbol 582 MovieClip {Arte.R1D3} [Arte.R1D3]Uses:581
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:585
Symbol 585 MovieClipUses:584Used by:592
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:588
Symbol 588 MovieClipUses:587Used by:592
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:591
Symbol 591 MovieClipUses:590Used by:592
Symbol 592 MovieClip {Arte.SpearAnimation} [Arte.SpearAnimation]Uses:585 588 591
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:595
Symbol 595 MovieClip {Arte.MCD2} [Arte.MCD2]Uses:594
Symbol 596 BitmapUsed by:597
Symbol 597 GraphicUses:596Used by:598
Symbol 598 MovieClip {Arte.MAD2} [Arte.MAD2]Uses:597
Symbol 599 BitmapUsed by:600
Symbol 600 GraphicUses:599Used by:601
Symbol 601 MovieClip {Arte.WEH1} [Arte.WEH1]Uses:600
Symbol 602 BitmapUsed by:603
Symbol 603 GraphicUses:602Used by:604
Symbol 604 MovieClip {Arte.R1D2} [Arte.R1D2]Uses:603
Symbol 605 BitmapUsed by:606
Symbol 606 GraphicUses:605Used by:607
Symbol 607 MovieClip {Arte.WBD2} [Arte.WBD2]Uses:606
Symbol 608 BitmapUsed by:609
Symbol 609 GraphicUses:608Used by:610
Symbol 610 MovieClip {Arte.R3H1} [Arte.R3H1]Uses:609
Symbol 611 BitmapUsed by:612
Symbol 612 GraphicUses:611Used by:613
Symbol 613 MovieClip {Arte.MEH1} [Arte.MEH1]Uses:612Used by:731
Symbol 614 BitmapUsed by:615
Symbol 615 GraphicUses:614Used by:616
Symbol 616 MovieClip {Arte.MAD3} [Arte.MAD3]Uses:615
Symbol 617 BitmapUsed by:618
Symbol 618 GraphicUses:617Used by:619
Symbol 619 MovieClip {Arte.MSD2} [Arte.MSD2]Uses:618
Symbol 620 BitmapUsed by:621
Symbol 621 GraphicUses:620Used by:622
Symbol 622 MovieClip {Arte.R2H2} [Arte.R2H2]Uses:621
Symbol 623 BitmapUsed by:624
Symbol 624 GraphicUses:623Used by:625
Symbol 625 MovieClip {Arte.MED2} [Arte.MED2]Uses:624Used by:731
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:628
Symbol 628 MovieClip {Arte.C4H1} [Arte.C4H1]Uses:627
Symbol 629 GraphicUsed by:630
Symbol 630 MovieClip {Arte.T_FLORESTA} [Arte.T_FLORESTA]Uses:629
Symbol 631 GraphicUsed by:632
Symbol 632 MovieClip {Arte.T_LAVA} [Arte.T_LAVA]Uses:631
Symbol 633 GraphicUsed by:634
Symbol 634 MovieClip {Arte.T_GRAMA} [Arte.T_GRAMA]Uses:633
Symbol 635 GraphicUsed by:636
Symbol 636 MovieClip {Arte.T_MONTANHA} [Arte.T_MONTANHA]Uses:635
Symbol 637 GraphicUsed by:638
Symbol 638 MovieClip {Arte.T_GELO} [Arte.T_GELO]Uses:637
Symbol 639 GraphicUsed by:640
Symbol 640 MovieClip {Arte.T_CASTLE} [Arte.T_CASTLE]Uses:639
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:664
Symbol 643 GraphicUsed by:647
Symbol 644 GraphicUsed by:647
Symbol 645 GraphicUsed by:647
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]Uses:643 644 645 646Used by:664 667 670
Symbol 648 GraphicUses:216Used by:649
Symbol 649 MovieClipUses:648Used by:650
Symbol 650 MovieClipUses:649Used by:664 667 670
Symbol 651 EditableTextUses:12 50Used by:664 667 670
Symbol 652 GraphicUsed by:657
Symbol 653 EditableTextUses:50Used by:657
Symbol 654 EditableTextUses:50Used by:657
Symbol 655 MovieClipUses:46Used by:657
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClipUses:652 653 654 655 70 83 656Used by:664 667 670
Symbol 658 GraphicUsed by:659
Symbol 659 MovieClipUses:658Used by:664 667 670
Symbol 660 GraphicUsed by:663
Symbol 661 TextUses:50Used by:663
Symbol 662 TextUses:50Used by:663
Symbol 663 ButtonUses:660 661 662Used by:664 667
Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld]Uses:642 647 650 651 657 659 663
Symbol 665 BitmapUsed by:666
Symbol 666 GraphicUses:665Used by:667
Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld]Uses:666 647 650 651 657 659 663
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:670
Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld]Uses:669 647 650 651 657 659
Symbol 671 BitmapUsed by:672
Symbol 672 GraphicUses:671Used by:678
Symbol 673 TextUses:12Used by:678
Symbol 674 TextUses:12Used by:678
Symbol 675 TextUses:12Used by:678
Symbol 676 TextUses:12Used by:678
Symbol 677 TextUses:12Used by:678
Symbol 678 MovieClip {Arte.WorldMapTuto} [Arte.WorldMapTuto]Uses:33 147 672 673 674 675 676 677
Symbol 679 EditableTextUses:50Used by:682
Symbol 680 GraphicUsed by:681
Symbol 681 MovieClipUses:680 81 83Used by:682
Symbol 682 MovieClip {Arte.UnitGUI} [Arte.UnitGUI]Uses:177 679 179 681
Symbol 683 Sound {Som.Arco} [Som.Arco]
Symbol 684 Sound {Som.Lanca} [Som.Lanca]
Symbol 685 EditableTextUses:50Used by:686
Symbol 686 MovieClip {Arte.MSG_DMG} [Arte.MSG_DMG]Uses:685
Symbol 687 Sound {Som.Blunt} [Som.Blunt]
Symbol 688 Sound {Som.Foice} [Som.Foice]
Symbol 689 Sound {Som.Espada} [Som.Espada]
Symbol 690 BitmapUsed by:691 781
Symbol 691 GraphicUses:690Used by:698
Symbol 692 BitmapUsed by:693 782
Symbol 693 GraphicUses:692Used by:698
Symbol 694 BitmapUsed by:695 783
Symbol 695 GraphicUses:694Used by:698
Symbol 696 BitmapUsed by:697 784
Symbol 697 GraphicUses:696Used by:698
Symbol 698 MovieClip {Arte.UpAnimation} [Arte.UpAnimation]Uses:691 693 695 697
Symbol 699 Sound {Som.Axe} [Som.Axe]
Symbol 700 GraphicUsed by:720
Symbol 701 TextUses:50Used by:720
Symbol 702 TextUses:12Used by:720
Symbol 703 GraphicUsed by:708
Symbol 704 ShapeTweeningUsed by:708
Symbol 705 GraphicUsed by:708
Symbol 706 ShapeTweeningUsed by:708
Symbol 707 GraphicUsed by:708
Symbol 708 MovieClipUses:703 704 705 706 707Used by:720
Symbol 709 TextUses:8Used by:710
Symbol 710 ButtonUses:104 709 106Used by:720
Symbol 711 EditableTextUses:12Used by:720
Symbol 712 EditableTextUses:12Used by:720
Symbol 713 TextUses:50Used by:716
Symbol 714 TextUses:50Used by:716
Symbol 715 TextUses:50Used by:716
Symbol 716 MovieClipUses:713 714 715Used by:720
Symbol 717 TextUses:50Used by:719
Symbol 718 TextUses:50Used by:719
Symbol 719 MovieClipUses:717 718Used by:720
Symbol 720 MovieClipUses:700 701 702 64 708 710 711 712 716 719 28Used by:721
Symbol 721 MovieClip {Arte.ScoreMc} [Arte.ScoreMc]Uses:720
Symbol 722 GraphicUsed by:731
Symbol 723 TextUses:8Used by:731
Symbol 724 GraphicUsed by:729
Symbol 725 TextUses:8Used by:729
Symbol 726 TextUses:8Used by:729
Symbol 727 TextUses:8Used by:729
Symbol 728 EditableTextUses:12Used by:729
Symbol 729 MovieClipUses:724 725 726 727 728Used by:731
Symbol 730 TextUses:50Used by:731
Symbol 731 MovieClip {Arte.Zeracao} [Arte.Zeracao]Uses:110 722 403 119 21 625 613 533 125 266 122 723 729 312 131 116 560 134 128 730
Symbol 732 GraphicUsed by:733
Symbol 733 MovieClipUses:732Used by:738
Symbol 734 BitmapUsed by:735
Symbol 735 GraphicUses:734Used by:738
Symbol 736 BitmapUsed by:737
Symbol 737 GraphicUses:736Used by:738
Symbol 738 MovieClip {Arte.ReviveAnimation} [Arte.ReviveAnimation]Uses:733 735 737
Symbol 739 BitmapUsed by:740
Symbol 740 GraphicUses:739Used by:741
Symbol 741 MovieClipUses:740Used by:747
Symbol 742 BitmapUsed by:743
Symbol 743 GraphicUses:742Used by:744
Symbol 744 MovieClipUses:743Used by:747
Symbol 745 BitmapUsed by:746
Symbol 746 GraphicUses:745Used by:747
Symbol 747 MovieClip {Arte.ExplosionAnimation} [Arte.ExplosionAnimation]Uses:741 744 746
Symbol 748 BitmapUsed by:749 753
Symbol 749 GraphicUses:748Used by:754
Symbol 750 BitmapUsed by:751
Symbol 751 GraphicUses:750Used by:752
Symbol 752 MovieClipUses:751Used by:754
Symbol 753 GraphicUses:748Used by:754
Symbol 754 MovieClip {Arte.ThunderAnimation} [Arte.ThunderAnimation]Uses:749 752 753
Symbol 755 BitmapUsed by:756
Symbol 756 GraphicUses:755Used by:757
Symbol 757 MovieClipUses:756Used by:758
Symbol 758 MovieClip {Arte.CureAnimation} [Arte.CureAnimation]Uses:757
Symbol 759 BitmapUsed by:760
Symbol 760 GraphicUses:759Used by:768
Symbol 761 BitmapUsed by:762
Symbol 762 GraphicUses:761Used by:768
Symbol 763 BitmapUsed by:764
Symbol 764 GraphicUses:763Used by:768
Symbol 765 BitmapUsed by:766
Symbol 766 GraphicUses:765Used by:767
Symbol 767 MovieClipUses:766Used by:768
Symbol 768 MovieClip {Arte.DrainLifeAnimation} [Arte.DrainLifeAnimation]Uses:760 762 764 767
Symbol 769 BitmapUsed by:770
Symbol 770 GraphicUses:769Used by:780
Symbol 771 BitmapUsed by:772
Symbol 772 GraphicUses:771Used by:780
Symbol 773 BitmapUsed by:774
Symbol 774 GraphicUses:773Used by:780
Symbol 775 BitmapUsed by:776 777
Symbol 776 GraphicUses:775Used by:780
Symbol 777 GraphicUses:775Used by:780
Symbol 778 BitmapUsed by:779
Symbol 779 GraphicUses:778Used by:780
Symbol 780 MovieClip {Arte.PoisonAnimation} [Arte.PoisonAnimation]Uses:770 772 774 776 777 779
Symbol 781 GraphicUses:690Used by:785
Symbol 782 GraphicUses:692Used by:785
Symbol 783 GraphicUses:694Used by:785
Symbol 784 GraphicUses:696Used by:785
Symbol 785 MovieClip {Arte.DownAnimation} [Arte.DownAnimation]Uses:781 782 783 784
Symbol 786 BitmapUsed by:787
Symbol 787 GraphicUses:786Used by:794
Symbol 788 BitmapUsed by:789
Symbol 789 GraphicUses:788Used by:794
Symbol 790 BitmapUsed by:791
Symbol 791 GraphicUses:790Used by:794
Symbol 792 BitmapUsed by:793
Symbol 793 GraphicUses:792Used by:794
Symbol 794 MovieClip {Arte.BurnAnimation} [Arte.BurnAnimation]Uses:787 789 791 793
Symbol 795 BitmapUsed by:796 799 801
Symbol 796 GraphicUses:795Used by:802
Symbol 797 BitmapUsed by:798 800
Symbol 798 GraphicUses:797Used by:802
Symbol 799 GraphicUses:795Used by:802
Symbol 800 GraphicUses:797Used by:802
Symbol 801 GraphicUses:795Used by:802
Symbol 802 MovieClip {Arte.BlessAnimation} [Arte.BlessAnimation]Uses:796 798 799 800 801

Instance Names

"LOGO"Symbol 4 MovieClip {ArteFlash.PreloaderBG} [ArteFlash.PreloaderBG] Frame 1Symbol 3 MovieClip
"LOGO"Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE] Frame 1Symbol 20 MovieClip
"Tutorial"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 14 MovieClip
"AutoSave"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 14 MovieClip
"Music"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 14 MovieClip
"Sound"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 14 MovieClip
"LOGO"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE]
"Tips"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 14 MovieClip
"OK"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 24 Button
"QUIT"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 26 Button
"MOCHI"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 28 MovieClip
"SoundMask"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 30 MovieClip
"MusicMask"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 30 MovieClip
"AutoSaveMask"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 30 MovieClip
"TutorialMask"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 30 MovieClip
"TipsMask"Symbol 31 MovieClip {Arte.FullOptions} [Arte.FullOptions] Frame 1Symbol 30 MovieClip
"CONTENT"Symbol 45 MovieClip {Arte.BattleTuto} [Arte.BattleTuto] Frame 1Symbol 33 MovieClip
"LINK"Symbol 45 MovieClip {Arte.BattleTuto} [Arte.BattleTuto] Frame 1Symbol 36 Button
"SP15"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP20"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP19"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP18"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP17"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP16"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP14"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP13"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP12"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP11"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP5"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP10"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP9"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP8"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP7"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP6"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP4"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP3"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP2"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"SP1"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"LIFE"Symbol 84 MovieClip Frame 1Symbol 81 MovieClip
"Mark"Symbol 90 MovieClip Frame 1Symbol 88 MovieClip
"MOB_MARK"Symbol 90 MovieClip Frame 1Symbol 89 MovieClip
"TERRENO"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 47 MovieClip
"PCARDS_LEFT"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 51 EditableText
"SP_PLAYER"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 55 MovieClip
"ECARDS_LEFT"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 56 EditableText
"E_CARD_PLACE_4"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"E_CARD_PLACE_3"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"E_CARD_PLACE_2"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"E_CARD_PLACE_1"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"E_CARD_PLACE_0"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"SP_ENEMY"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 55 MovieClip
"TIPS"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 65 EditableText
"ENEMY_PACK"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 70 MovieClip
"PLAYER_PACK"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 70 MovieClip
"JUNKP"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 76 MovieClip
"JUNKE"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 76 MovieClip
"P_CARD_PLACE_4"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"P_CARD_PLACE_3"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"P_CARD_PLACE_2"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"P_CARD_PLACE_1"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"P_CARD_PLACE_0"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 64 MovieClip
"P_SP_INCOME"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 77 EditableText
"E_SP_INCOME"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 78 EditableText
"PLAYER_HEART"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 84 MovieClip
"PLAYER_LIFE"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 85 EditableText
"ENEMY_HEART"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 84 MovieClip
"ENEMY_LIFE"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 85 EditableText
"P_PLACE_1"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"P_PLACE_3"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"E_PLACE_3"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"E_PLACE_1"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"P_PLACE_2"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"P_PLACE_4"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"E_PLACE_4"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"E_PLACE_2"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 90 MovieClip
"CardMask0"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 92 MovieClip
"CardMask1"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 92 MovieClip
"CardMask2"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 92 MovieClip
"CardMask3"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 92 MovieClip
"CardMask4"Symbol 93 MovieClip {Arte.BattleScene} [Arte.BattleScene] Frame 1Symbol 92 MovieClip
"Tutorial"Symbol 103 MovieClip Frame 1Symbol 14 MovieClip
"AutoSave"Symbol 103 MovieClip Frame 1Symbol 14 MovieClip
"Music"Symbol 103 MovieClip Frame 1Symbol 14 MovieClip
"Sound"Symbol 103 MovieClip Frame 1Symbol 14 MovieClip
"LOGO"Symbol 103 MovieClip Frame 1Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE]
"SoundMask"Symbol 103 MovieClip Frame 1Symbol 30 MovieClip
"MusicMask"Symbol 103 MovieClip Frame 1Symbol 30 MovieClip
"AutoSaveMask"Symbol 103 MovieClip Frame 1Symbol 30 MovieClip
"TutorialMask"Symbol 103 MovieClip Frame 1Symbol 30 MovieClip
"Demon"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 99 MovieClip
"Human"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 100 MovieClip
"H1"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"H3"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"H2"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"H4"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C5"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C7"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C6"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C8"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C1"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C3"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C2"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"C4"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 64 MovieClip
"Options"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 103 MovieClip
"StartGameBt"Symbol 108 MovieClip {Arte.StartGame} [Arte.StartGame] Frame 1Symbol 107 Button
"TEXTO"Symbol 141 MovieClip Frame 1Symbol 138 EditableText
"MASK"Symbol 141 MovieClip Frame 1Symbol 137 MovieClip
"BT2"Symbol 142 MovieClip Frame 1Symbol 141 MovieClip
"BT3"Symbol 142 MovieClip Frame 1Symbol 141 MovieClip
"BT4"Symbol 142 MovieClip Frame 1Symbol 141 MovieClip
"BT1"Symbol 142 MovieClip Frame 1Symbol 141 MovieClip
"MOCHI"Symbol 144 MovieClip {Arte.CapaMc} [Arte.CapaMc] Frame 1Symbol 28 MovieClip
"MENU"Symbol 144 MovieClip {Arte.CapaMc} [Arte.CapaMc] Frame 1Symbol 142 MovieClip
"LOGO"Symbol 144 MovieClip {Arte.CapaMc} [Arte.CapaMc] Frame 1Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE]
"CONTENT"Symbol 155 MovieClip {Arte.StartTuto} [Arte.StartTuto] Frame 1Symbol 33 MovieClip
"LINK"Symbol 155 MovieClip {Arte.StartTuto} [Arte.StartTuto] Frame 1Symbol 147 Button
"INFO"Symbol 169 MovieClip Frame 1Symbol 167 EditableText
"BG"Symbol 169 MovieClip Frame 1Symbol 168 MovieClip
"BG"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 164 MovieClip
"NOME"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 165 EditableText
"SPELL1"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 169 MovieClip
"SPELL2"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 169 MovieClip
"IMG"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 173 MovieClip
"DANO"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 175 EditableText
"ARMOR"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 175 EditableText
"VIDA"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 175 EditableText
"RANGE"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 175 EditableText
"SPAWN"Symbol 185 MovieClip {Arte.CardMC} [Arte.CardMC] Frame 1Symbol 175 EditableText
"CONTENT"Symbol 215 MovieClip {Arte.BookTuto} [Arte.BookTuto] Frame 1Symbol 33 MovieClip
"LINK"Symbol 215 MovieClip {Arte.BookTuto} [Arte.BookTuto] Frame 1Symbol 147 Button
"PG1"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG7"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG2"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG3"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG4"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG5"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG6"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"PG8"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 220 MovieClip
"C1"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C3"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C2"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C4"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C6"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C5"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C7"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C9"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C8"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C10"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C12"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C11"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C13"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C15"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"C14"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 64 MovieClip
"TREE"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 229 EditableText
"CARDS_BATTLE"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 230 EditableText
"EXIT"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 235 MovieClip
"EXIT_MASK"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 236 MovieClip
"TITULO"Symbol 239 MovieClip {Arte.BookMc} [Arte.BookMc] Frame 1Symbol 237 EditableText
"NOME"Symbol 572 MovieClip {Arte.SpellInfoMC} [Arte.SpellInfoMC] Frame 1Symbol 569 EditableText
"INFO"Symbol 572 MovieClip {Arte.SpellInfoMC} [Arte.SpellInfoMC] Frame 1Symbol 571 EditableText
"LIFE"Symbol 657 MovieClip Frame 1Symbol 653 EditableText
"CARDS"Symbol 657 MovieClip Frame 1Symbol 653 EditableText
"LEVEL"Symbol 657 MovieClip Frame 1Symbol 654 EditableText
"TERRENO"Symbol 657 MovieClip Frame 1Symbol 655 MovieClip
"PACK"Symbol 657 MovieClip Frame 1Symbol 70 MovieClip
"l3_1"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_3"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_2"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_4"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_2"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_3"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_1"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_4"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_4"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_3"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_2"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_1"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l4"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"BOOK"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 650 MovieClip
"SCORE"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 651 EditableText
"LEVEL_INFO"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 657 MovieClip
"SCORE_MASK"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 659 MovieClip
"MORELEVELS"Symbol 664 MovieClip {Arte.DemonWorld} [Arte.DemonWorld] Frame 1Symbol 663 Button
"l4"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_1"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_4"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_3"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_2"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_3"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_4"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_1"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_2"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_1"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_3"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_4"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_2"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"BOOK"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 650 MovieClip
"SCORE"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 651 EditableText
"LEVEL_INFO"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 657 MovieClip
"SCORE_MASK"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 659 MovieClip
"MORELEVELS"Symbol 667 MovieClip {Arte.HumanWorld} [Arte.HumanWorld] Frame 1Symbol 663 Button
"l3_1"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_3"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_2"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l3_4"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_2"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_3"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_1"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l2_4"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_4"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_3"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_2"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l1_1"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"l4"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5]
"BOOK"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 650 MovieClip
"SCORE"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 651 EditableText
"LEVEL_INFO"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 657 MovieClip
"SCORE_MASK"Symbol 670 MovieClip {Arte.BothWorld} [Arte.BothWorld] Frame 1Symbol 659 MovieClip
"CONTENT"Symbol 678 MovieClip {Arte.WorldMapTuto} [Arte.WorldMapTuto] Frame 1Symbol 33 MovieClip
"LINK"Symbol 678 MovieClip {Arte.WorldMapTuto} [Arte.WorldMapTuto] Frame 1Symbol 147 Button
"HP"Symbol 681 MovieClip Frame 1Symbol 81 MovieClip
"DANO"Symbol 682 MovieClip {Arte.UnitGUI} [Arte.UnitGUI] Frame 1Symbol 679 EditableText
"ARMOR"Symbol 682 MovieClip {Arte.UnitGUI} [Arte.UnitGUI] Frame 1Symbol 679 EditableText
"LIFE"Symbol 682 MovieClip {Arte.UnitGUI} [Arte.UnitGUI] Frame 1Symbol 681 MovieClip
"HP"Symbol 682 MovieClip {Arte.UnitGUI} [Arte.UnitGUI] Frame 1Symbol 679 EditableText
"TEXTO"Symbol 686 MovieClip {Arte.MSG_DMG} [Arte.MSG_DMG] Frame 1Symbol 685 EditableText
"TEXTO"Symbol 686 MovieClip {Arte.MSG_DMG} [Arte.MSG_DMG] Frame 16Symbol 685 EditableText
"C2"Symbol 720 MovieClip Frame 1Symbol 64 MovieClip
"C3"Symbol 720 MovieClip Frame 1Symbol 64 MovieClip
"C4"Symbol 720 MovieClip Frame 1Symbol 64 MovieClip
"C1"Symbol 720 MovieClip Frame 1Symbol 64 MovieClip
"SMILE"Symbol 720 MovieClip Frame 1Symbol 708 MovieClip
"CONTINUE"Symbol 720 MovieClip Frame 1Symbol 710 Button
"SCORES"Symbol 720 MovieClip Frame 1Symbol 711 EditableText
"TOTAL"Symbol 720 MovieClip Frame 1Symbol 712 EditableText
"RATE"Symbol 720 MovieClip Frame 1Symbol 716 MovieClip
"WinLose"Symbol 720 MovieClip Frame 1Symbol 719 MovieClip
"MOCHI"Symbol 720 MovieClip Frame 1Symbol 28 MovieClip
"SCORE_INTERNO"Symbol 721 MovieClip {Arte.ScoreMc} [Arte.ScoreMc] Frame 1Symbol 720 MovieClip
"SCORE"Symbol 729 MovieClip Frame 1Symbol 728 EditableText
"LOGO"Symbol 731 MovieClip {Arte.Zeracao} [Arte.Zeracao] Frame 1Symbol 21 MovieClip {XGamesFlashX.LOGOSITE} [XGamesFlashX.LOGOSITE]
"PANEL"Symbol 731 MovieClip {Arte.Zeracao} [Arte.Zeracao] Frame 1Symbol 729 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1457 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 4 as "ArteFlash.PreloaderBG"
ExportAssets (56)Timeline Frame 2Symbol 6 as "mx.skins.cursor.BusyCursor"
ExportAssets (56)Timeline Frame 2Symbol 31 as "Arte.FullOptions"
ExportAssets (56)Timeline Frame 2Symbol 45 as "Arte.BattleTuto"
ExportAssets (56)Timeline Frame 2Symbol 93 as "Arte.BattleScene"
ExportAssets (56)Timeline Frame 2Symbol 108 as "Arte.StartGame"
ExportAssets (56)Timeline Frame 2Symbol 144 as "Arte.CapaMc"
ExportAssets (56)Timeline Frame 2Symbol 155 as "Arte.StartTuto"
ExportAssets (56)Timeline Frame 2Symbol 185 as "Arte.CardMC"
ExportAssets (56)Timeline Frame 2Symbol 186 as "Som.MusicBattle2"
ExportAssets (56)Timeline Frame 2Symbol 187 as "Arte.MenuCancel"
ExportAssets (56)Timeline Frame 2Symbol 188 as "Som.Down"
ExportAssets (56)Timeline Frame 2Symbol 189 as "Som.OverMenu"
ExportAssets (56)Timeline Frame 2Symbol 190 as "Som.MusicBattle1"
ExportAssets (56)Timeline Frame 2Symbol 191 as "Som.Explode"
ExportAssets (56)Timeline Frame 2Symbol 192 as "Som.WorldMapMusic"
ExportAssets (56)Timeline Frame 2Symbol 193 as "Som.DrainLife"
ExportAssets (56)Timeline Frame 2Symbol 194 as "Som.MusicBattle3"
ExportAssets (56)Timeline Frame 2Symbol 195 as "Som.PassCard"
ExportAssets (56)Timeline Frame 2Symbol 196 as "Som.BurnSound"
ExportAssets (56)Timeline Frame 2Symbol 197 as "Som.PoisonSound"
ExportAssets (56)Timeline Frame 2Symbol 198 as "Som.CapaMusic"
ExportAssets (56)Timeline Frame 2Symbol 199 as "Som.Cure"
ExportAssets (56)Timeline Frame 2Symbol 200 as "Som.ScoreSound"
ExportAssets (56)Timeline Frame 2Symbol 201 as "Som.ClickMenu"
ExportAssets (56)Timeline Frame 2Symbol 202 as "Som.MenuOff"
ExportAssets (56)Timeline Frame 2Symbol 203 as "Som.TrashCard"
ExportAssets (56)Timeline Frame 2Symbol 204 as "Som.UpSound"
ExportAssets (56)Timeline Frame 2Symbol 205 as "Som.Bless"
ExportAssets (56)Timeline Frame 2Symbol 206 as "Som.Thunder"
ExportAssets (56)Timeline Frame 2Symbol 215 as "Arte.BookTuto"
ExportAssets (56)Timeline Frame 2Symbol 239 as "Arte.BookMc"
ExportAssets (56)Timeline Frame 2Symbol 242 as "Arte.WPD3"
ExportAssets (56)Timeline Frame 2Symbol 245 as "Arte.MBD2"
ExportAssets (56)Timeline Frame 2Symbol 248 as "Arte.RED1"
ExportAssets (56)Timeline Frame 2Symbol 251 as "Arte.R4D1"
ExportAssets (56)Timeline Frame 2Symbol 254 as "Arte.C4D3"
ExportAssets (56)Timeline Frame 2Symbol 257 as "Arte.C4D1"
ExportAssets (56)Timeline Frame 2Symbol 260 as "Arte.R4D2"
ExportAssets (56)Timeline Frame 2Symbol 263 as "Arte.R3D1"
ExportAssets (56)Timeline Frame 2Symbol 266 as "Arte.REH1"
ExportAssets (56)Timeline Frame 2Symbol 269 as "Arte.WRH3"
ExportAssets (56)Timeline Frame 2Symbol 272 as "Arte.MCD1"
ExportAssets (56)Timeline Frame 2Symbol 275 as "Arte.C2D1"
ExportAssets (56)Timeline Frame 2Symbol 285 as "Arte.FoiceAnimation"
ExportAssets (56)Timeline Frame 2Symbol 288 as "Arte.MBH2"
ExportAssets (56)Timeline Frame 2Symbol 291 as "Arte.WED1"
ExportAssets (56)Timeline Frame 2Symbol 294 as "Arte.REH2"
ExportAssets (56)Timeline Frame 2Symbol 297 as "Arte.CEH2"
ExportAssets (56)Timeline Frame 2Symbol 300 as "Arte.R4H1"
ExportAssets (56)Timeline Frame 2Symbol 303 as "Arte.MBD1"
ExportAssets (56)Timeline Frame 2Symbol 306 as "Arte.WBD3"
ExportAssets (56)Timeline Frame 2Symbol 309 as "Arte.MCH1"
ExportAssets (56)Timeline Frame 2Symbol 125 as "Arte.RED3"
ExportAssets (56)Timeline Frame 2Symbol 312 as "Arte.CEH1"
ExportAssets (56)Timeline Frame 2Symbol 315 as "Arte.C1D3"
ExportAssets (56)Timeline Frame 2Symbol 318 as "Arte.R4H2"
ExportAssets (56)Timeline Frame 2Symbol 321 as "Arte.WRH2"
ExportAssets (56)Timeline Frame 2Symbol 324 as "Arte.WSD2"
ExportAssets (56)Timeline Frame 2Symbol 327 as "Arte.R1D1"
ExportAssets (56)Timeline Frame 2Symbol 330 as "Arte.WBD1"
ExportAssets (56)Timeline Frame 2Symbol 333 as "Arte.C3H1"
ExportAssets (56)Timeline Frame 2Symbol 336 as "Arte.WRH1"
ExportAssets (56)Timeline Frame 2Symbol 339 as "Arte.MSD3"
ExportAssets (56)Timeline Frame 2Symbol 342 as "Arte.WBH1"
ExportAssets (56)Timeline Frame 2Symbol 345 as "Arte.WPD2"
ExportAssets (56)Timeline Frame 2Symbol 116 as "Arte.CEH3"
ExportAssets (56)Timeline Frame 2Symbol 348 as "Arte.MBH1"
ExportAssets (56)Timeline Frame 2Symbol 351 as "Arte.MSH1"
ExportAssets (56)Timeline Frame 2Symbol 354 as "Arte.MCD3"
ExportAssets (56)Timeline Frame 2Symbol 357 as "Arte.C2D3"
ExportAssets (56)Timeline Frame 2Symbol 364 as "Arte.SwordAnimation"
ExportAssets (56)Timeline Frame 2Symbol 367 as "Arte.WSD3"
ExportAssets (56)Timeline Frame 2Symbol 370 as "Arte.CED1"
ExportAssets (56)Timeline Frame 2Symbol 373 as "Arte.MBH3"
ExportAssets (56)Timeline Frame 2Symbol 376 as "Arte.C3D2"
ExportAssets (56)Timeline Frame 2Symbol 379 as "Arte.MBD3"
ExportAssets (56)Timeline Frame 2Symbol 382 as "Arte.C3D1"
ExportAssets (56)Timeline Frame 2Symbol 385 as "Arte.C3D3"
ExportAssets (56)Timeline Frame 2Symbol 388 as "Arte.WSD1"
ExportAssets (56)Timeline Frame 2Symbol 391 as "Arte.R1H3"
ExportAssets (56)Timeline Frame 2Symbol 394 as "Arte.C4D2"
ExportAssets (56)Timeline Frame 2Symbol 397 as "Arte.WBH2"
ExportAssets (56)Timeline Frame 2Symbol 400 as "Arte.WPH3"
ExportAssets (56)Timeline Frame 2Symbol 403 as "Arte.WED2"
ExportAssets (56)Timeline Frame 2Symbol 412 as "Arte.BluntAnimation"
ExportAssets (56)Timeline Frame 2Symbol 415 as "Arte.WSH3"
ExportAssets (56)Timeline Frame 2Symbol 418 as "Arte.WSH1"
ExportAssets (56)Timeline Frame 2Symbol 421 as "Arte.WPD1"
ExportAssets (56)Timeline Frame 2Symbol 424 as "Arte.WRD1"
ExportAssets (56)Timeline Frame 2Symbol 431 as "Arte.AxeAnimation"
ExportAssets (56)Timeline Frame 2Symbol 434 as "Arte.C1H3"
ExportAssets (56)Timeline Frame 2Symbol 437 as "Arte.WSH2"
ExportAssets (56)Timeline Frame 2Symbol 440 as "Arte.R2H1"
ExportAssets (56)Timeline Frame 2Symbol 443 as "Arte.CED2"
ExportAssets (56)Timeline Frame 2Symbol 446 as "Arte.C4H2"
ExportAssets (56)Timeline Frame 2Symbol 449 as "Arte.R1H2"
ExportAssets (56)Timeline Frame 2Symbol 452 as "Arte.R2H3"
ExportAssets (56)Timeline Frame 2Symbol 455 as "Arte.C1H1"
ExportAssets (56)Timeline Frame 2Symbol 458 as "Arte.WRD3"
ExportAssets (56)Timeline Frame 2Symbol 461 as "Arte.C2H2"
ExportAssets (56)Timeline Frame 2Symbol 464 as "Arte.C3H3"
ExportAssets (56)Timeline Frame 2Symbol 467 as "Arte.WPH1"
ExportAssets (56)Timeline Frame 2Symbol 470 as "Arte.C2H1"
ExportAssets (56)Timeline Frame 2Symbol 473 as "Arte.MAH3"
ExportAssets (56)Timeline Frame 2Symbol 476 as "Arte.C1H2"
ExportAssets (56)Timeline Frame 2Symbol 479 as "Arte.R4H3"
ExportAssets (56)Timeline Frame 2Symbol 482 as "Arte.C2H3"
ExportAssets (56)Timeline Frame 2Symbol 485 as "Arte.MSH2"
ExportAssets (56)Timeline Frame 2Symbol 488 as "Arte.MAH2"
ExportAssets (56)Timeline Frame 2Symbol 491 as "Arte.R3D2"
ExportAssets (56)Timeline Frame 2Symbol 494 as "Arte.R2D1"
ExportAssets (56)Timeline Frame 2Symbol 497 as "Arte.MAH1"
ExportAssets (56)Timeline Frame 2Symbol 500 as "Arte.C2D2"
ExportAssets (56)Timeline Frame 2Symbol 503 as "Arte.C3H2"
ExportAssets (56)Timeline Frame 2Symbol 506 as "Arte.WRD2"
ExportAssets (56)Timeline Frame 2Symbol 509 as "Arte.R3D3"
ExportAssets (56)Timeline Frame 2Symbol 512 as "Arte.C4H3"
ExportAssets (56)Timeline Frame 2Symbol 515 as "Arte.MCH3"
ExportAssets (56)Timeline Frame 2Symbol 518 as "Arte.MSH3"
ExportAssets (56)Timeline Frame 2Symbol 521 as "Arte.WPH2"
ExportAssets (56)Timeline Frame 2Symbol 524 as "Arte.R2D2"
ExportAssets (56)Timeline Frame 2Symbol 527 as "Arte.R4D3"
ExportAssets (56)Timeline Frame 2Symbol 530 as "Arte.WBH3"
ExportAssets (56)Timeline Frame 2Symbol 533 as "Arte.MEH2"
ExportAssets (56)Timeline Frame 2Symbol 122 as "Arte.REH3"
ExportAssets (56)Timeline Frame 2Symbol 536 as "Arte.R1H1"
ExportAssets (56)Timeline Frame 2Symbol 539 as "Arte.R3H3"
ExportAssets (56)Timeline Frame 2Symbol 542 as "Arte.MAD1"
ExportAssets (56)Timeline Frame 2Symbol 134 as "Arte.CED3"
ExportAssets (56)Timeline Frame 2Symbol 545 as "Arte.C1D2"
ExportAssets (56)Timeline Frame 2Symbol 548 as "Arte.MCH2"
ExportAssets (56)Timeline Frame 2Symbol 113 as "Arte.MEH3"
ExportAssets (56)Timeline Frame 2Symbol 551 as "Arte.WEH2"
ExportAssets (56)Timeline Frame 2Symbol 128 as "Arte.WED3"
ExportAssets (56)Timeline Frame 2Symbol 554 as "Arte.MSD1"
ExportAssets (56)Timeline Frame 2Symbol 557 as "Arte.R2D3"
ExportAssets (56)Timeline Frame 2Symbol 560 as "Arte.MED1"
ExportAssets (56)Timeline Frame 2Symbol 563 as "Arte.R3H2"
ExportAssets (56)Timeline Frame 2Symbol 566 as "Arte.RED2"
ExportAssets (56)Timeline Frame 2Symbol 572 as "Arte.SpellInfoMC"
ExportAssets (56)Timeline Frame 2Symbol 575 as "Arte.C1D1"
ExportAssets (56)Timeline Frame 2Symbol 131 as "Arte.MED3"
ExportAssets (56)Timeline Frame 2Symbol 579 as "Arte.ArcherAnimation"
ExportAssets (56)Timeline Frame 2Symbol 582 as "Arte.R1D3"
ExportAssets (56)Timeline Frame 2Symbol 592 as "Arte.SpearAnimation"
ExportAssets (56)Timeline Frame 2Symbol 595 as "Arte.MCD2"
ExportAssets (56)Timeline Frame 2Symbol 598 as "Arte.MAD2"
ExportAssets (56)Timeline Frame 2Symbol 601 as "Arte.WEH1"
ExportAssets (56)Timeline Frame 2Symbol 604 as "Arte.R1D2"
ExportAssets (56)Timeline Frame 2Symbol 607 as "Arte.WBD2"
ExportAssets (56)Timeline Frame 2Symbol 610 as "Arte.R3H1"
ExportAssets (56)Timeline Frame 2Symbol 613 as "Arte.MEH1"
ExportAssets (56)Timeline Frame 2Symbol 119 as "Arte.WEH3"
ExportAssets (56)Timeline Frame 2Symbol 616 as "Arte.MAD3"
ExportAssets (56)Timeline Frame 2Symbol 619 as "Arte.MSD2"
ExportAssets (56)Timeline Frame 2Symbol 622 as "Arte.R2H2"
ExportAssets (56)Timeline Frame 2Symbol 625 as "Arte.MED2"
ExportAssets (56)Timeline Frame 2Symbol 628 as "Arte.C4H1"
ExportAssets (56)Timeline Frame 2Symbol 630 as "Arte.T_FLORESTA"
ExportAssets (56)Timeline Frame 2Symbol 632 as "Arte.T_LAVA"
ExportAssets (56)Timeline Frame 2Symbol 634 as "Arte.T_GRAMA"
ExportAssets (56)Timeline Frame 2Symbol 636 as "Arte.T_MONTANHA"
ExportAssets (56)Timeline Frame 2Symbol 638 as "Arte.T_GELO"
ExportAssets (56)Timeline Frame 2Symbol 640 as "Arte.T_CASTLE"
ExportAssets (56)Timeline Frame 2Symbol 664 as "Arte.DemonWorld"
ExportAssets (56)Timeline Frame 2Symbol 667 as "Arte.HumanWorld"
ExportAssets (56)Timeline Frame 2Symbol 670 as "Arte.BothWorld"
ExportAssets (56)Timeline Frame 2Symbol 678 as "Arte.WorldMapTuto"
ExportAssets (56)Timeline Frame 2Symbol 21 as "XGamesFlashX.LOGOSITE"
ExportAssets (56)Timeline Frame 2Symbol 682 as "Arte.UnitGUI"
ExportAssets (56)Timeline Frame 2Symbol 683 as "Som.Arco"
ExportAssets (56)Timeline Frame 2Symbol 684 as "Som.Lanca"
ExportAssets (56)Timeline Frame 2Symbol 686 as "Arte.MSG_DMG"
ExportAssets (56)Timeline Frame 2Symbol 687 as "Som.Blunt"
ExportAssets (56)Timeline Frame 2Symbol 688 as "Som.Foice"
ExportAssets (56)Timeline Frame 2Symbol 689 as "Som.Espada"
ExportAssets (56)Timeline Frame 2Symbol 698 as "Arte.UpAnimation"
ExportAssets (56)Timeline Frame 2Symbol 699 as "Som.Axe"
ExportAssets (56)Timeline Frame 2Symbol 721 as "Arte.ScoreMc"
ExportAssets (56)Timeline Frame 2Symbol 731 as "Arte.Zeracao"
ExportAssets (56)Timeline Frame 2Symbol 647 as "Graficos_fla.StageMark_5"
ExportAssets (56)Timeline Frame 2Symbol 738 as "Arte.ReviveAnimation"
ExportAssets (56)Timeline Frame 2Symbol 747 as "Arte.ExplosionAnimation"
ExportAssets (56)Timeline Frame 2Symbol 754 as "Arte.ThunderAnimation"
ExportAssets (56)Timeline Frame 2Symbol 758 as "Arte.CureAnimation"
ExportAssets (56)Timeline Frame 2Symbol 768 as "Arte.DrainLifeAnimation"
ExportAssets (56)Timeline Frame 2Symbol 780 as "Arte.PoisonAnimation"
ExportAssets (56)Timeline Frame 2Symbol 785 as "Arte.DownAnimation"
ExportAssets (56)Timeline Frame 2Symbol 794 as "Arte.BurnAnimation"
ExportAssets (56)Timeline Frame 2Symbol 802 as "Arte.BlessAnimation"
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$sB$M1ZwmPjvgfkS7X1.Jmjyk/."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"_MysticCards_mx_managers_SystemManager"Frame 1
"MysticCards"Frame 2
"off"Symbol 14 MovieClip Frame 1
"on"Symbol 14 MovieClip Frame 2
"off"Symbol 54 MovieClip Frame 1
"on"Symbol 54 MovieClip Frame 2
"Demon"Symbol 64 MovieClip Frame 1
"Human"Symbol 64 MovieClip Frame 2
"null"Symbol 64 MovieClip Frame 3
"Demon"Symbol 70 MovieClip Frame 1
"Human"Symbol 70 MovieClip Frame 2
"off"Symbol 76 MovieClip Frame 1
"on"Symbol 76 MovieClip Frame 2
"off"Symbol 88 MovieClip Frame 1
"on"Symbol 88 MovieClip Frame 2
"no"Symbol 88 MovieClip Frame 3
"yes"Symbol 88 MovieClip Frame 4
"NORMAL"Symbol 90 MovieClip Frame 1
"VERDE"Symbol 90 MovieClip Frame 2
"LARANJA"Symbol 90 MovieClip Frame 3
"VERMELHO"Symbol 90 MovieClip Frame 4
"AZUL"Symbol 90 MovieClip Frame 5
"AMARELO"Symbol 90 MovieClip Frame 6
"on"Symbol 99 MovieClip Frame 1
"off"Symbol 99 MovieClip Frame 2
"on"Symbol 100 MovieClip Frame 1
"off"Symbol 100 MovieClip Frame 2
"on"Symbol 141 MovieClip Frame 1
"off"Symbol 141 MovieClip Frame 2
"D1"Symbol 164 MovieClip Frame 1
"D2"Symbol 164 MovieClip Frame 2
"D3"Symbol 164 MovieClip Frame 3
"D4"Symbol 164 MovieClip Frame 4
"H1"Symbol 164 MovieClip Frame 5
"H2"Symbol 164 MovieClip Frame 6
"H3"Symbol 164 MovieClip Frame 7
"H4"Symbol 164 MovieClip Frame 8
"on"Symbol 220 MovieClip Frame 1
"off"Symbol 220 MovieClip Frame 2
"exit_off"Symbol 235 MovieClip Frame 1
"exit_on"Symbol 235 MovieClip Frame 2
"battle_off"Symbol 235 MovieClip Frame 3
"battle_on"Symbol 235 MovieClip Frame 4
"OFF"Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5] Frame 1
"HUMAN"Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5] Frame 2
"DEMON"Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5] Frame 3
"ON"Symbol 647 MovieClip {Graficos_fla.StageMark_5} [Graficos_fla.StageMark_5] Frame 4
"off"Symbol 650 MovieClip Frame 1
"on"Symbol 650 MovieClip Frame 2




http://swfchan.com/18/89098/info.shtml
Created: 29/3 -2019 04:45:22 Last modified: 29/3 -2019 04:45:22 Server time: 05/05 -2024 21:23:53