swfchan
“Requesting...” THE BOARD
[SERV] [?]
CATEGORIES
RANDOM
Archived flashes:
102855
0001 · 0344 · 0687 · 1030 · 1374 · 1717 · 2060REPORT FLASH

It looks like The Mix doesn't drag down the performance of the site anything so it's here to stay.
In other news I've finally fixed the .net search engine, it will actually work 100% of the time now instead of 30%.

Space Marines vs Spartans.swf

This is the info page for
Flash #81634

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


ActionScript [AS3]
Section 1
//DeadSpartan (com.marinegame.DeadSpartan) package com.marinegame { import org.flixel.*; public class DeadSpartan extends FlxSprite { private var ImgDeadSpartan:Class; public function DeadSpartan(){ ImgDeadSpartan = DeadSpartan_ImgDeadSpartan; super(); addAnimation("shot", [0, 1, 2, 3], 8, false); addAnimation("shot2", [4, 5, 6, 7], 8, false); addAnimation("idle", [0]); loadGraphic(ImgDeadSpartan, false, true, 13, 10, false); exists = false; if (Math.random() < 0.5){ play("shot2"); } else { play("shot"); }; } } }//package com.marinegame
Section 2
//DeadSpartan_ImgDeadSpartan (com.marinegame.DeadSpartan_ImgDeadSpartan) package com.marinegame { import mx.core.*; public class DeadSpartan_ImgDeadSpartan extends BitmapAsset { } }//package com.marinegame
Section 3
//MarineBullet (com.marinegame.MarineBullet) package com.marinegame { import org.flixel.*; public class MarineBullet extends FlxSprite { private var ImgBullet:Class; public function MarineBullet(){ ImgBullet = MarineBullet_ImgBullet; super(); loadGraphic(ImgBullet, false, false, 3, 3, false); this.exists = false; } public function shoot(x:int, y:int, xvel:int, yvel:int):void{ this.reset(x, y); velocity.x = xvel; velocity.y = yvel; } } }//package com.marinegame
Section 4
//MarineBullet_ImgBullet (com.marinegame.MarineBullet_ImgBullet) package com.marinegame { import mx.core.*; public class MarineBullet_ImgBullet extends BitmapAsset { } }//package com.marinegame
Section 5
//Player (com.marinegame.Player) package com.marinegame { import org.flixel.*; public class Player extends FlxSprite { private var ImgMarine:Class; private var LastRight:Boolean; private var ExplodeSound:Class; private var GunSound:Class; private var LastLeft:Boolean; private var swordCool:Number; private var curBullet:int; private var cooldown:Number; private var enemies:Array; private var ChainSound:Class; private var LastFacing:uint; private var bullets:Array; private var sSound:FlxSound; private var LastUp:Boolean; private var bulletVel:int;// = 200 private var LastDown:Boolean; public function Player(X:int, Y:int, nbullets:Array, nenemies:Array){ ImgMarine = Player_ImgMarine; GunSound = Player_GunSound; ExplodeSound = Player_ExplodeSound; ChainSound = Player_ChainSound; sSound = new FlxSound(); super(X, Y); loadGraphic(ImgMarine, false, true, 20, 20, false); addAnimation("idle", [0]); addAnimation("run", [0, 1], 5, true); addAnimation("sword", [2, 3, 4], 15, true); addAnimation("dead", [5]); sSound.loadEmbedded(ChainSound); bullets = nbullets; curBullet = 0; drag.x = 700; drag.y = 700; maxVelocity.x = 50; maxVelocity.y = 50; cooldown = 0; swordCool = 0; health = 400; enemies = nenemies; } public function swordHitEnemies(e:Spartan, m:Player):void{ e.kill(); } override public function update():void{ var right:Boolean; var left:Boolean; var up:Boolean; var down:Boolean; var bXVel:int; var bYVel:int; var bX:int; var bY:int; cooldown = (cooldown + FlxG.elapsed); swordCool = (swordCool + FlxG.elapsed); super.update(); acceleration.x = 0; acceleration.y = 0; if (dead){ play("dead"); if (FlxG.keys.SPACE){ FlxG.score = 0; FlxG.switchState(PlayState); }; } else { right = false; left = false; if (FlxG.keys.LEFT){ facing = LEFT; left = true; acceleration.x = (acceleration.x - drag.x); } else { if (FlxG.keys.RIGHT){ facing = RIGHT; right = true; acceleration.x = (acceleration.x + drag.x); }; }; up = false; down = false; if (FlxG.keys.UP){ up = true; acceleration.y = (acceleration.y - drag.y); } else { if (FlxG.keys.DOWN){ down = true; acceleration.y = (acceleration.y + drag.y); }; }; if (FlxG.keys.SHIFT){ facing = LastFacing; up = LastUp; down = LastDown; left = LastLeft; right = LastRight; } else { LastFacing = facing; LastUp = up; LastDown = down; LastLeft = left; LastRight = right; }; if (((((FlxG.keys.X) && ((cooldown > 0.07)))) && (!(FlxG.keys.Z)))){ bXVel = 0; bYVel = 0; bX = (x + 3); bY = (y + 8); if (up){ bY = (bY - (bullets[curBullet].height - 4)); bYVel = -(bulletVel); } else { if (down){ bYVel = bulletVel; } else { bYVel = ((FlxG.random() * 140) - 70); }; }; if (right){ bX = (bX + (width - 4)); bXVel = bulletVel; } else { if (left){ bX = (bX - (bullets[curBullet].width + 1)); bXVel = -(bulletVel); } else { bXVel = ((FlxG.random() * 140) - 70); }; }; if (((((((((up) && (right))) || (((up) && (left))))) || (((down) && (right))))) || (((down) && (left))))){ bYVel = (bYVel + ((FlxG.random() * 140) - 70)); bXVel = (bXVel + ((FlxG.random() * 140) - 70)); }; if (((((((!(up)) && (!(down)))) && (!(right)))) && (!(left)))){ if (facing == RIGHT){ bX = (bX + (width - 4)); bXVel = bulletVel; } else { bX = (bX - (bullets[curBullet].width + 1)); bXVel = -(bulletVel); }; }; FlxG.play(GunSound, 0.7); bullets[curBullet].shoot(bX, bY, bXVel, bYVel); if (++curBullet >= bullets.length){ curBullet = 0; }; cooldown = 0; }; if (FlxG.keys.Z){ FlxG.overlapArray(enemies, this, swordHitEnemies); play("sword", false); swordCool = 0; sSound.play(); } else { if ((((velocity.x == 0)) && ((velocity.y == 0)))){ sSound.stop(); play("idle"); } else { sSound.stop(); play("run"); }; }; }; } public function hit():void{ health--; if (health <= 0){ kill(); }; } override public function kill():void{ play("dead"); FlxG.play(ExplodeSound, 1.5); if (dead){ return; }; super.kill(); exists = true; visible = true; maxVelocity.x = 0; maxVelocity.y = 0; FlxG.quake(0.005, 1.2); FlxG.flash(4294967295, 0.9); var i:int; while (i < enemies.length) { if (!enemies[i].dead){ enemies[i].kill(); }; i++; }; } override public function hurt(Damage:Number):void{ super.hurt(Damage); } } }//package com.marinegame
Section 6
//Player_ChainSound (com.marinegame.Player_ChainSound) package com.marinegame { import mx.core.*; public class Player_ChainSound extends SoundAsset { } }//package com.marinegame
Section 7
//Player_ExplodeSound (com.marinegame.Player_ExplodeSound) package com.marinegame { import mx.core.*; public class Player_ExplodeSound extends SoundAsset { } }//package com.marinegame
Section 8
//Player_GunSound (com.marinegame.Player_GunSound) package com.marinegame { import mx.core.*; public class Player_GunSound extends SoundAsset { } }//package com.marinegame
Section 9
//Player_ImgMarine (com.marinegame.Player_ImgMarine) package com.marinegame { import mx.core.*; public class Player_ImgMarine extends BitmapAsset { } }//package com.marinegame
Section 10
//PlayState (com.marinegame.PlayState) package com.marinegame { import flash.geom.*; import org.flixel.*; public class PlayState extends FlxState { private var blocks:FlxLayer; private var comBox:FlxSprite; private var spawnTimes:Array; private var marineBullets:Array; private var score:uint; private var song:Class; private var blockerBlocks:Array; private var spawnDelayLevel:Number;// = 0 private var enemies:Array; private var textLayer:FlxLayer; private var ImgCommisar:Class; private var gameOverText:FlxText; private var sBullets:Array; private var spawnFrom:int;// = 0 private var warningBlocks:Array; private var spawnMode:String;// = "straight" private var bodyLayer:FlxLayer; private var comText:FlxText; private var spawnDelay:Number; private var scoreText:FlxText; private var player:Player; private var commisar:FlxSprite; private var modeTimer:Number;// = 0 private var pHealth:FlxText; private var endGame:Boolean;// = false private var ImgBlank:Class; private var spartanTimer:Number;// = 0 private var ImgWallTiles:Class; public function PlayState():void{ ImgWallTiles = PlayState_ImgWallTiles; ImgBlank = PlayState_ImgBlank; ImgCommisar = PlayState_ImgCommisar; song = PlayState_song; spawnTimes = [2, 1.5, 1, 0.8, 0.6, 0.4, 0.2, 0.1, 0.05, 0.03]; super(); FlxG.volume = 1; modeTimer = 0; spawnDelayLevel = 0; score = 0; blocks = new FlxLayer(); this.add(blocks); spawnDelay = spawnTimes[spawnDelayLevel]; buildRoom(true, true, true, true); blockerBlocks = new Array(); var b:FlxBlock = new FlxBlock(0, -2, FlxG.width, 2); b.loadGraphic(ImgBlank); this.add(b); blockerBlocks.push(b); b = new FlxBlock(FlxG.width, 0, 2, FlxG.height); b.loadGraphic(ImgBlank); this.add(b); blockerBlocks.push(b); b = new FlxBlock(0, FlxG.height, FlxG.width, 2); b.loadGraphic(ImgBlank); this.add(b); blockerBlocks.push(b); b = new FlxBlock(-2, 0, 2, FlxG.height); b.loadGraphic(ImgBlank); this.add(b); blockerBlocks.push(b); warningBlocks = new Array(); b = new FlxBlock(80, 0, 40, 2); b.loadGraphic(ImgBlank); this.add(b); warningBlocks.push(b); b = new FlxBlock((FlxG.width - 2), 60, 2, 40); b.loadGraphic(ImgBlank); this.add(b); warningBlocks.push(b); b = new FlxBlock(80, (FlxG.height - 2), 40, 2); b.loadGraphic(ImgBlank); this.add(b); warningBlocks.push(b); b = new FlxBlock(0, 60, 2, 40); b.loadGraphic(ImgBlank); this.add(b); warningBlocks.push(b); textLayer = new FlxLayer(); this.add(textLayer); var ssf:Point = new Point(0, 0); scoreText = new FlxText(0, 0, FlxG.width); scoreText.color = 0xFFFFFF; scoreText.size = 16; scoreText.alignment = "left"; scoreText.scrollFactor = ssf; scoreText.text = (score + ""); textLayer.add(scoreText); sBullets = new Array(); var i:int; while (i < 100) { sBullets.push(this.add(new SpartanBullet())); i++; }; enemies = new Array(); bodyLayer = new FlxLayer(); this.add(bodyLayer); marineBullets = new Array(); player = new Player((FlxG.width / 2), (FlxG.height / 2), marineBullets, enemies); this.add(player); pHealth = new FlxText(0, 0, FlxG.width); pHealth.color = 14216098; pHealth.size = 16; pHealth.alignment = "right"; pHealth.scrollFactor = ssf; pHealth.text = (player.health + "U"); this.add(pHealth); i = 0; while (i < 40) { marineBullets.push(this.add(new MarineBullet())); i++; }; FlxG.follow(player, 2.5); FlxG.followAdjust(0.5, 0); FlxG.followBounds(0, 0, FlxG.width, FlxG.height); comBox = new FlxSprite(5, 50); comBox.createGraphic((FlxG.width - 10), 40, 2854692647); comBox.visible = false; this.add(comBox); commisar = new FlxSprite(5, 50, ImgCommisar); commisar.visible = false; this.add(commisar); comText = new FlxText(55, 58, (FlxG.width - 70)); comText.color = 14216098; comText.size = 8; comText.alignment = "left"; comText.scrollFactor = ssf; comText.text = "The Commissar says:\nNot one step back!"; comText.visible = false; this.add(comText); score = 0; FlxG.playMusic(song, 1); } private function buildRoom(nn:Boolean, ne:Boolean, ns:Boolean, nw:Boolean):void{ var n:Boolean; var s:Boolean; var e:Boolean; var w:Boolean; n = nn; s = ns; e = ne; w = nw; var b:FlxBlock = new FlxBlock(0, -20, 80, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock((200 - 80), -20, 80, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock(0, (160 - 20), 80, 30); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock((200 - 80), (160 - 20), 80, 30); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock(-20, 20, 22, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock(-20, ((160 - 20) - 40), 22, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock((200 - 20), 20, 25, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); b = new FlxBlock((200 - 20), ((160 - 20) - 40), 25, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); if (n == false){ b = new FlxBlock(80, 0, 40, 20); b.loadGraphic(ImgWallTiles); blocks.add(b); }; if (s == false){ b = new FlxBlock(80, (160 - 20), 80, 20); b.loadGraphic(ImgWallTiles); blocks.add(b); }; if (w == false){ b = new FlxBlock(0, 60, 20, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); }; if (e == false){ b = new FlxBlock((200 - 20), 60, 20, 40); b.loadGraphic(ImgWallTiles); blocks.add(b); }; } private function clearData():void{ var i:int; while (i < enemies.length) { enemies[i].exists = false; i++; }; i = 0; while (i < bodyLayer.children().length) { bodyLayer.children()[i].exists = false; i++; }; i = 0; while (i < blocks.children().length) { blocks.children()[i].destroy(); blocks.children().pop(); i++; }; } private function resetBlockers():void{ var i:int; while (i < blockerBlocks.length) { blockerBlocks[i].exists = false; i++; }; i = 0; while (i < warningBlocks.length) { warningBlocks[i].exists = false; i++; }; } private function enemyHitPlayer(b:FlxSprite, p:Player):void{ player.hit(); } private function playerHitWarning(b:FlxBlock, p:Player):void{ if (!endGame){ commisar.visible = true; comText.visible = true; comBox.visible = true; }; } override public function update():void{ var modes:Array; var i:int; spartanTimer = (spartanTimer + FlxG.elapsed); modeTimer = (modeTimer + FlxG.elapsed); if (modeTimer > 4){ modes = ["straight", "roundrobin", "roundrobin", "roundrobin"]; i = (Math.random() * modes.length); spawnMode = modes[i]; modeTimer = 0; if (spawnMode == "straight"){ spawnFrom = Math.round((Math.random() * 4)); }; if (!player.dead){ if (spawnDelayLevel < (spawnTimes.length - 1)){ spawnDelay = spawnTimes[++spawnDelayLevel]; }; spartanTimer = 100; } else { if (gameOverText == null){ gameOverText = new FlxText(0, 80, FlxG.width); gameOverText.color = 0xFFFFFF; gameOverText.size = 8; gameOverText.alignment = "center"; gameOverText.scrollFactor = new Point(0, 0); gameOverText.text = "Press SPACE to play again"; this.add(gameOverText); }; }; }; if (spartanTimer > spawnDelay){ if (spawnFrom == 0){ spawnEnemy(100, -10); } else { if (spawnFrom == 1){ spawnEnemy(210, 80); } else { if (spawnFrom == 2){ spawnEnemy(100, 170); } else { if (spawnFrom == 3){ spawnEnemy(-10, 80); }; }; }; }; if (spawnMode == "roundrobin"){ spawnFrom++; if (spawnFrom > 3){ spawnFrom = 0; }; }; spartanTimer = 0; }; commisar.visible = false; comText.visible = false; comBox.visible = false; var oh:int = player.health; var os:int = FlxG.score; FlxG.overlapArrays(enemies, marineBullets, bulletHitEnemy); FlxG.overlapArray(sBullets, player, bulletHitPlayer); FlxG.overlapArray(warningBlocks, player, playerHitWarning); FlxG.collideArray(blockerBlocks, player); FlxG.collideArrays(enemies, blocks.children()); FlxG.overlapArrays(blocks.children(), marineBullets, bulletHitBlock); FlxG.collideArrayX(blocks.children(), player); FlxG.collideArrayY(blocks.children(), player); if (player.health != oh){ }; if (score != os){ scoreText.text = (FlxG.score + ""); }; if (player.health != oh){ pHealth.text = (player.health + "U"); }; var a:Boolean; var b:Boolean; var c:Boolean; if (player.y < 0){ clearData(); player.y = ((FlxG.height - player.height) - 3); a = (Math.random() > 0.5); b = (Math.random() > 0.5); c = (Math.random() > 0.5); if (((((!(a)) && (!(b)))) && (!(c)))){ b = true; }; buildRoom(a, b, true, c); resetBlockers(); populateRoom(); blockerBlocks[2].exists = true; warningBlocks[2].exists = true; } else { if (player.y > (160 - player.height)){ clearData(); player.y = 3; a = (Math.random() > 0.5); b = (Math.random() > 0.5); c = (Math.random() > 0.5); if (((((!(a)) && (!(b)))) && (!(c)))){ b = true; }; buildRoom(true, a, b, c); resetBlockers(); populateRoom(); blockerBlocks[0].exists = true; warningBlocks[0].exists = true; } else { if (player.x < 0){ clearData(); player.x = ((200 - player.width) - 3); a = (Math.random() > 0.5); b = (Math.random() > 0.5); c = (Math.random() > 0.5); if (((((!(a)) && (!(b)))) && (!(c)))){ b = true; }; buildRoom(a, true, c, b); resetBlockers(); populateRoom(); blockerBlocks[1].exists = true; warningBlocks[1].exists = true; } else { if (player.x > (200 - player.width)){ clearData(); player.x = 3; a = (Math.random() > 0.5); b = (Math.random() > 0.5); c = (Math.random() > 0.5); if (((((!(a)) && (!(b)))) && (!(c)))){ b = true; }; buildRoom(a, b, c, true); resetBlockers(); populateRoom(); blockerBlocks[3].exists = true; warningBlocks[3].exists = true; }; }; }; }; super.update(); } private function bulletHitBlock(e:FlxBlock, b:MarineBullet):void{ b.kill(); } private function bulletHitEnemy(e:Spartan, b:MarineBullet):void{ e.hit(b); } public function prepEndgame():void{ var i:int; while (i < blockerBlocks.length) { blockerBlocks[i].exists = true; i++; }; } private function spawnEnemy(x:int, y:int):void{ var i:int; if (enemies.length >= 500){ i = 0; while (i < enemies.length) { if (enemies[i].dead){ enemies[i].reset(x, y); return; }; i++; }; return; }; var b:DeadSpartan = new DeadSpartan(); bodyLayer.add(b); var s:Spartan = new Spartan(player, b, sBullets); s.reset(x, y); this.add(s); enemies.push(s); } private function populateRoom():void{ var x:int; var y:int; var spawnmax:uint = 1; var spawnmin:uint = 1; if (score < 10){ spawnmin = 3; spawnmax = 5; } else { if (score < 20){ spawnmin = 5; spawnmax = 12; } else { if (score < 40){ spawnmin = 10; spawnmax = 20; } else { spawnmin = 0; spawnmax = 0; prepEndgame(); }; }; }; var i:uint; while (i < ((Math.random() * (spawnmax - spawnmin)) + spawnmin)) { x = ((Math.random() * ((FlxG.width - 40) - 10)) + 20); y = ((Math.random() * ((FlxG.height - 40) - 10)) + 20); spawnEnemy(x, y); i++; }; } private function bulletHitPlayer(b:FlxSprite, p:Player):void{ b.exists = false; player.hit(); } } }//package com.marinegame
Section 11
//PlayState_ImgBlank (com.marinegame.PlayState_ImgBlank) package com.marinegame { import mx.core.*; public class PlayState_ImgBlank extends BitmapAsset { } }//package com.marinegame
Section 12
//PlayState_ImgCommisar (com.marinegame.PlayState_ImgCommisar) package com.marinegame { import mx.core.*; public class PlayState_ImgCommisar extends BitmapAsset { } }//package com.marinegame
Section 13
//PlayState_ImgWallTiles (com.marinegame.PlayState_ImgWallTiles) package com.marinegame { import mx.core.*; public class PlayState_ImgWallTiles extends BitmapAsset { } }//package com.marinegame
Section 14
//PlayState_song (com.marinegame.PlayState_song) package com.marinegame { import mx.core.*; public class PlayState_song extends SoundAsset { } }//package com.marinegame
Section 15
//Spartan (com.marinegame.Spartan) package com.marinegame { import org.flixel.*; public class Spartan extends FlxSprite { public var speed:uint;// = 20 public var aimAngle:Number;// = 0 public var player:Player; public var body:DeadSpartan; public var shootTimer:Number; public var hitCounter:Number;// = 0 private var ImgSpartan:Class; public var bullets:Array; private var SndDie:Class; public var angleDifference:int; private static var curBullet:uint = 0; public function Spartan(nplayer:Player, nbody:DeadSpartan, nbul:Array){ ImgSpartan = Spartan_ImgSpartan; SndDie = Spartan_SndDie; super(); addAnimation("run", [0, 1], 5, true); addAnimation("idle", [0]); player = nplayer; loadGraphic(ImgSpartan, false, true, 10, 10, false); angleDifference = (45 - (FlxG.random() * 90)); speed = (30 + (FlxG.random() * 10)); health = 1; body = nbody; hitCounter = 0; shootTimer = FlxG.random(); bullets = nbul; exists = false; } override public function update():void{ var dx:Number = (((x - player.x) - (player.width / 2)) + (FlxG.random() * 12)); var dy:Number = (((y - player.y) - (player.height / 2)) + (FlxG.random() * 12)); var da:Number = FlxG.getAngle(dx, dy); da = (da + angleDifference); if (hitCounter <= 0){ if (shootTimer < 1.6){ velocity.x = (speed * Math.cos(((Math.PI / 180) * (da - 180)))); velocity.y = (speed * Math.sin(((Math.PI / 180) * (da - 180)))); play("run"); if (velocity.x > 0){ facing = RIGHT; } else { facing = LEFT; }; } else { if (shootTimer < 2.3){ play("idle"); velocity.x = 0; velocity.y = 0; } else { if (onScreen()){ shoot(); shootTimer = FlxG.random(); }; }; }; shootTimer = (shootTimer + FlxG.elapsed); }; hitCounter = (hitCounter - FlxG.elapsed); super.update(); } override public function reset(x:Number, y:Number):void{ hitCounter = 0; health = 2; super.reset(x, y); } public function hit(b:MarineBullet):void{ if (hitCounter > 0){ }; var dx:Number = ((x - player.x) - (player.width / 2)); var dy:Number = ((y - player.y) - (player.height / 2)); var da:Number = FlxG.getAngle(dx, dy); velocity.x = ((-(speed) * 4) * Math.cos(((Math.PI / 180) * (da - 180)))); velocity.y = ((-(speed) * 4) * Math.sin(((Math.PI / 180) * (da - 180)))); hitCounter = 0.1; health--; if (health <= 0){ this.kill(); }; } override public function kill():void{ FlxG.play(SndDie); FlxG.score++; body.x = x; body.y = y; body.facing = facing; body.exists = true; super.kill(); } private function shoot():void{ var dx:Number = ((x - player.x) - (player.width / 2)); var dy:Number = ((y - player.y) - (player.height / 2)); var da:Number = FlxG.getAngle(dx, dy); bullets[curBullet].shoot(x, y, ((140 * Math.cos(((Math.PI / 180) * (da - 180)))) + ((Math.random() * 60) - 30)), ((140 * Math.sin(((Math.PI / 180) * (da - 180)))) + ((Math.random() * 60) - 30))); if (++curBullet >= bullets.length){ curBullet = 0; }; } override public function hitCeiling(Contact:FlxCore=null):Boolean{ if ((Contact is Spartan)){ if (Math.abs(((y - player.y) - (player.height / 2))) > Math.abs(((Contact.y - player.y) - (player.height / 2)))){ velocity.y = 0; hitCounter = 0.1; }; }; return (true); } override public function hitFloor(Contact:FlxCore=null):Boolean{ if ((Contact is Spartan)){ if (Math.abs(((y - player.y) - (player.height / 2))) > Math.abs(((Contact.y - player.y) - (player.height / 2)))){ velocity.y = 0; hitCounter = 0.1; }; }; return (true); } override public function hitWall(Contact:FlxCore=null):Boolean{ if ((Contact is Spartan)){ if (Math.abs(((x - player.x) - (player.width / 2))) > Math.abs(((Contact.x - player.x) - (player.width / 2)))){ velocity.x = 0; hitCounter = 0.1; }; }; return (true); } } }//package com.marinegame
Section 16
//Spartan_ImgSpartan (com.marinegame.Spartan_ImgSpartan) package com.marinegame { import mx.core.*; public class Spartan_ImgSpartan extends BitmapAsset { } }//package com.marinegame
Section 17
//Spartan_SndDie (com.marinegame.Spartan_SndDie) package com.marinegame { import mx.core.*; public class Spartan_SndDie extends SoundAsset { } }//package com.marinegame
Section 18
//SpartanBullet (com.marinegame.SpartanBullet) package com.marinegame { import org.flixel.*; public class SpartanBullet extends FlxSprite { private var ImgSBullet:Class; public function SpartanBullet(){ ImgSBullet = SpartanBullet_ImgSBullet; super(); loadGraphic(ImgSBullet, true, false, 3, 3, false); addAnimation("idle", [0, 1], 50); exists = false; } public function shoot(X:int, Y:int, VelocityX:int, VelocityY:int):void{ super.reset(X, Y); velocity.x = VelocityX; velocity.y = VelocityY; play("idle"); } } }//package com.marinegame
Section 19
//SpartanBullet_ImgSBullet (com.marinegame.SpartanBullet_ImgSBullet) package com.marinegame { import mx.core.*; public class SpartanBullet_ImgSBullet extends BitmapAsset { } }//package com.marinegame
Section 20
//TitleState (com.marinegame.TitleState) package com.marinegame { import org.flixel.*; public class TitleState extends FlxState { private var Ins:Class; private var AtkSnd:Class; private var spaceText:FlxText; private var crab:FlxSprite; private var Title:Class; private var shownIns:Boolean;// = false public function TitleState():void{ Title = TitleState_Title; Ins = TitleState_Ins; AtkSnd = TitleState_AtkSnd; super(); this.add(new FlxSprite(0, 0, Title)); spaceText = new FlxText(0, 140, FlxG.width, "PRESS X"); spaceText.alignment = "center"; spaceText.flicker(99); this.add(spaceText); FlxState.bgColor = 4278190080; FlxG.playMusic(AtkSnd); } override public function update():void{ if (FlxG.keys.justPressed("X")){ if (shownIns){ FlxG.flash(4294967295, 0.5); FlxG.fade(4278190080, 0.5, onFade); } else { FlxG.flash(4294967295, 0.5); this.add(new FlxSprite(0, 0, Ins)); shownIns = true; }; }; super.update(); } private function onFade():void{ FlxG.switchState(PlayState); } } }//package com.marinegame
Section 21
//TitleState_AtkSnd (com.marinegame.TitleState_AtkSnd) package com.marinegame { import mx.core.*; public class TitleState_AtkSnd extends SoundAsset { } }//package com.marinegame
Section 22
//TitleState_Ins (com.marinegame.TitleState_Ins) package com.marinegame { import mx.core.*; public class TitleState_Ins extends BitmapAsset { } }//package com.marinegame
Section 23
//TitleState_Title (com.marinegame.TitleState_Title) package com.marinegame { import mx.core.*; public class TitleState_Title extends BitmapAsset { } }//package com.marinegame
Section 24
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.4.0.6955"; public function BitmapAsset(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){ super(bitmapData, pixelSnapping, smoothing); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } } }//package mx.core
Section 25
//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.4.0.6955"; 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 26
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.4.0.6955"; public function FlexBitmap(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){ var bitmapData = bitmapData; var pixelSnapping = pixelSnapping; var smoothing = smoothing; super(bitmapData, pixelSnapping, smoothing); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 27
//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.4.0.6955"; 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 28
//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.4.0.6955"; 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 29
//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.4.0.6955"; 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 30
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.4.0.6955"; public function FontAsset(){ super(); } } }//package mx.core
Section 31
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 32
//IButton (mx.core.IButton) package mx.core { public interface IButton extends IUIComponent { function get emphasized():Boolean; function set emphasized(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IButton.as:Boolean):void; function callLater(_arg1:Function, _arg2:Array=null):void; } }//package mx.core
Section 33
//IChildList (mx.core.IChildList) package mx.core { import flash.display.*; import flash.geom.*; public interface IChildList { function get numChildren():int; function removeChild(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject; function getChildByName(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:String):DisplayObject; function removeChildAt(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject; function addChild(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject; function contains(flash.display:DisplayObject):Boolean; } }//package mx.core
Section 34
//IContainer (mx.core.IContainer) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.media.*; import flash.text.*; 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(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:Point):Boolean; } }//package mx.core
Section 35
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 36
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(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 37
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { public interface IFlexModuleFactory { function create(... _args):Object; function info():Object; } }//package mx.core
Section 38
//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 39
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 40
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 41
//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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRectangularBorder.as:Rectangle):void; function layoutBackgroundImage():void; } }//package mx.core
Section 42
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get isDocument():Boolean; function set repeaters(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function initializeRepeaterArrays(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 43
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup) package mx.core { import flash.events.*; public interface ISWFBridgeGroup { function getChildBridgeProvider(mx.core:ISWFBridgeGroup/mx.core:ISWFBridgeGroup:parentBridge/get:IEventDispatcher):ISWFBridgeProvider; function removeChildBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void; function get parentBridge():IEventDispatcher; function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void; function set parentBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void; function containsBridge(IEventDispatcher:IEventDispatcher):Boolean; function getChildBridges():Array; } }//package mx.core
Section 44
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider) package mx.core { import flash.events.*; public interface ISWFBridgeProvider { function get childAllowsParent():Boolean; function get swfBridge():IEventDispatcher; function get parentAllowsChild():Boolean; } }//package mx.core
Section 45
//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 46
//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 47
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.4.0.6955"; 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 48
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.4.0.6955"; public function SoundAsset(){ super(); } } }//package mx.core
Section 49
//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 50
//ModuleEvent (mx.events.ModuleEvent) package mx.events { 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.4.0.6955"; 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 51
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import flash.events.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.0.6955"; 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 52
//StyleEvent (mx.events.StyleEvent) package mx.events { import flash.events.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.0.6955"; 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 53
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import mx.core.*; import flash.display.*; import flash.geom.*; 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.4.0.6955"; 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 54
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IButton):void; function set focusPane(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Sprite):void; function set showFocusIndicator(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void; function moveFocus(_arg1:String, _arg2:DisplayObject=null):void; function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function removeSWFBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IEventDispatcher):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(value:InteractiveObject):IFocusManagerComponent; function get nextTabIndex():int; function get defaultButton():IButton; function get showFocusIndicator():Boolean; function setFocus(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IFocusManagerComponent):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void; function hideFocus():void; function getNextFocusManagerComponent(value:Boolean=false):IFocusManagerComponent; } }//package mx.managers
Section 55
//IFocusManagerComponent (mx.managers.IFocusManagerComponent) package mx.managers { public interface IFocusManagerComponent { function set focusEnabled(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void; function drawFocus(C:\autobuild\3.x\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 56
//IFocusManagerContainer (mx.managers.IFocusManagerContainer) package mx.managers { import flash.events.*; import flash.display.*; public interface IFocusManagerContainer extends IEventDispatcher { function set focusManager(C:\autobuild\3.x\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 57
//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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; function set usePhasedInstantiation(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:Boolean):void; function invalidateSize(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; function get usePhasedInstantiation():Boolean; function invalidateProperties(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void; } }//package mx.managers
Section 58
//ILayoutManagerClient (mx.managers.ILayoutManagerClient) package mx.managers { import flash.events.*; public interface ILayoutManagerClient extends IEventDispatcher { function get updateCompletePendingFlag():Boolean; function set updateCompletePendingFlag(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void; function set initialized(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean=false):void; function set nestLevel(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:int):void; function set processedDescriptors(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void; } }//package mx.managers
Section 59
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function set focusPane(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Sprite):void; function get toolTipChildren():IChildList; function useSWFBridge():Boolean; function isFontFaceEmbedded(flash.display:TextFormat):Boolean; function deployMouseShields(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Boolean):void; function get rawChildren():IChildList; function get topLevelSystemManager():ISystemManager; function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void; function getSandboxRoot():DisplayObject; function get swfBridgeGroup():ISWFBridgeGroup; function removeFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function get document():Object; function get focusPane():Sprite; function get loaderInfo():LoaderInfo; function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function getTopLevelRoot():DisplayObject; function removeChildBridge(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IEventDispatcher):void; function isDisplayObjectInABridgedApplication(flash.display:DisplayObject):Boolean; function get popUpChildren():IChildList; function get screen():Rectangle; function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function getDefinitionByName(C:\autobuild\3.x\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 isTopLevel():Boolean; function isTopLevelRoot():Boolean; function get numModalWindows():int; function addFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void; function get stage():Stage; function getVisibleApplicationRect(value:Rectangle=null):Rectangle; } }//package mx.managers
Section 60
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var changingListenersInOtherSystemManagers:Boolean; public static var bootstrapLoaderInfoURL:String; public static var showMouseCursor:Boolean; public function SystemManagerGlobals(){ super(); } } }//package mx.managers
Section 61
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import mx.core.*; import flash.events.*; import flash.system.*; import flash.utils.*; public interface IModuleInfo extends IEventDispatcher { function get ready():Boolean; function get loaded():Boolean; function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void; function release():void; function get error():Boolean; function get data():Object; function publish(C:\autobuild\3.x\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:IFlexModuleFactory):void; function get factory():IFlexModuleFactory; function set data(C:\autobuild\3.x\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 62
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.4.0.6955"; 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 mx.core.*; import flash.events.*; import flash.system.*; import flash.display.*; import mx.events.*; import flash.utils.*; import flash.net.*; 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, bytes:ByteArray=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, bytes); }; }; } 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); loader.content.removeEventListener("error", moduleErrorHandler); }; //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); loader.content.addEventListener("error", moduleErrorHandler); 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); } private function loadBytes(applicationDomain:ApplicationDomain, bytes:ByteArray):void{ var c:LoaderContext = new LoaderContext(); c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in c)){ c["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.loadBytes(bytes, c); } 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, bytes:ByteArray=null):void{ if (_loaded){ return; }; _loaded = true; limbo = null; if (bytes){ loadBytes(applicationDomain, bytes); return; }; 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 moduleErrorHandler(event:Event):void{ var errorEvent:ModuleEvent; _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); if ((event is ModuleEvent)){ errorEvent = ModuleEvent(event); } else { errorEvent = new ModuleEvent(ModuleEvent.ERROR); }; dispatchEvent(errorEvent); } public function readyHandler(event:Event):void{ _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.READY); moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(moduleEvent); } 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 63
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; public function ModuleManagerGlobals(){ super(); } } }//package mx.modules
Section 64
//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 65
//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(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void; function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint; function addResourceBundle(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void; function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number; } }//package mx.resources
Section 66
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 67
//LocaleSorter (mx.resources.LocaleSorter) package mx.resources { public class LocaleSorter { mx_internal static const VERSION:String = "3.4.0.6955"; 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 68
//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.4.0.6955"; 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 69
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.4.0.6955"; 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 70
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import mx.core.*; import flash.events.*; import flash.system.*; import mx.modules.*; import mx.events.*; 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.4.0.6955"; 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{ var bundles:Array; var n:int; var i:int; var locale:String; var bundleName:String; var rmi:ResourceModuleInfo = resourceModules[url]; if (!rmi){ return; }; if (rmi.resourceModule){ bundles = rmi.resourceModule.resourceBundles; if (bundles){ n = bundles.length; i = 0; while (i < n) { locale = bundles[i].locale; bundleName = bundles[i].bundleName; removeResourceBundle(locale, bundleName); i++; }; }; }; resourceModules[url] = null; delete resourceModules[url]; rmi.moduleInfo.unload(); if (update){ this.update(); }; } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.modules.*; import mx.events.*; 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 71
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import mx.core.*; import mx.styles.*; import flash.display.*; 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.4.0.6955"; 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 topRadius: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){ topRadius = Math.max((radius - Math.max(bm.top, bm.left, bm.right)), 0); bottomRadius = (bRoundedCorners) ? Math.max((radius - Math.max(bm.bottom, bm.left, bm.right)), 0) : 0; radiusObj = {tl:topRadius, tr:topRadius, 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 72
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import mx.styles.*; import flash.display.*; import mx.skins.*; import mx.utils.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.4.0.6955"; 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(); if (focusBlendMode){ 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 73
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.4.0.6955"; public function Border(){ super(); } public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 74
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import mx.core.*; import mx.styles.*; import flash.display.*; import flash.geom.*; 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.4.0.6955"; 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 75
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import mx.core.*; import mx.styles.*; import flash.events.*; import flash.system.*; import flash.display.*; import flash.geom.*; import mx.resources.*; import flash.utils.*; import flash.net.*; 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.4.0.6955"; 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{ if (((((_backgroundImageBounds) && (value))) && (_backgroundImageBounds.equals(value)))){ return; }; _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 76
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import mx.core.*; import flash.events.*; import flash.display.*; import mx.managers.*; 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.4.0.6955"; 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 77
//ISimpleStyleClient (mx.styles.ISimpleStyleClient) package mx.styles { public interface ISimpleStyleClient { function set styleName(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:Object):void; function styleChanged(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:String):void; function get styleName():Object; } }//package mx.styles
Section 78
//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 79
//IStyleManager (mx.styles.IStyleManager) package mx.styles { import flash.events.*; public interface IStyleManager { function isColorName(value:String):Boolean; function registerParentDisplayListInvalidatingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function registerInheritingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function set stylesRoot(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void; function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void; function getColorNames(C:\autobuild\3.x\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(C:\autobuild\3.x\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(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void; function registerSizeInvalidatingStyle(C:\autobuild\3.x\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 80
//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 81
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 82
//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.4.0.6955"; 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 83
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import mx.core.*; import flash.events.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.resources.*; import mx.managers.*; 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.4.0.6955"; 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.modules.*; import mx.events.*; 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); styleEvent.bytesLoaded = event.bytesLoaded; styleEvent.bytesTotal = event.bytesTotal; 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 84
//ColorUtil (mx.utils.ColorUtil) package mx.utils { public class ColorUtil { mx_internal static const VERSION:String = "3.4.0.6955"; 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 85
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import flash.display.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.4.0.6955"; 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 86
//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.4.0.6955"; private static var counter:int = 0; public function NameUtil(){ super(); } public static function displayObjectToString(displayObject:DisplayObject):String{ var result:String; var o:DisplayObject; var s:String; var indices:Array; var displayObject = displayObject; o = 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; }; //unresolved jump var _slot1 = e; 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 87
//StringUtil (mx.utils.StringUtil) package mx.utils { public class StringUtil { mx_internal static const VERSION:String = "3.4.0.6955"; 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 88
//FlxAnim (org.flixel.data.FlxAnim) package org.flixel.data { public class FlxAnim { public var delay:Number; public var frames:Array; public var looped:Boolean; public var name:String; public function FlxAnim(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true){ super(); name = Name; delay = 0; if (FrameRate > 0){ delay = (1 / FrameRate); }; frames = Frames; looped = Looped; } } }//package org.flixel.data
Section 89
//FlxConsole (org.flixel.data.FlxConsole) package org.flixel.data { import flash.display.*; import org.flixel.*; import flash.text.*; public class FlxConsole extends Sprite { protected const MAX_CONSOLE_LINES:uint = 0x0100; protected var _lines:Array; protected var _text:TextField; protected var _fpsUpdate:Boolean; protected var _console:Sprite; protected var _Y:Number; protected var _curFPS:uint; protected var _fps:Array; protected var _bx:int; protected var _by:int; protected var _fpsDisplay:TextField; protected var _YT:Number; protected var _byt:int; public function FlxConsole(X:uint, Y:uint, Zoom:uint){ super(); visible = false; x = (X * Zoom); _by = (Y * Zoom); _byt = (_by - (FlxG.height * Zoom)); _YT = (_Y = (y = _byt)); var tmp:Bitmap = new Bitmap(new BitmapData((FlxG.width * Zoom), (FlxG.height * Zoom), true, 2130706432)); addChild(tmp); _fps = new Array(8); _curFPS = 0; _fpsUpdate = true; _text = new TextField(); _text.width = tmp.width; _text.height = tmp.height; _text.multiline = true; _text.wordWrap = true; _text.embedFonts = true; _text.antiAliasType = AntiAliasType.NORMAL; _text.gridFitType = GridFitType.PIXEL; _text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); addChild(_text); _fpsDisplay = new TextField(); _fpsDisplay.width = tmp.width; _fpsDisplay.height = 20; _fpsDisplay.multiline = true; _fpsDisplay.wordWrap = true; _fpsDisplay.embedFonts = true; _fpsDisplay.antiAliasType = AntiAliasType.NORMAL; _fpsDisplay.gridFitType = GridFitType.PIXEL; _fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_fpsDisplay); _lines = new Array(); } public function log(Text:String):void{ var newText:String; var i:uint; if (Text == null){ Text = "NULL"; }; trace(Text); _lines.push(Text); if (_lines.length > MAX_CONSOLE_LINES){ _lines.shift(); newText = ""; i = 0; while (i < _lines.length) { newText = (newText + (_lines[i] + "\n")); i++; }; _text.text = newText; } else { _text.appendText((Text + "\n")); }; _text.scrollV = _text.height; } public function update():void{ var fps:uint; var i:uint; if (visible){ _fps[_curFPS] = (1 / FlxG.elapsed); if (++_curFPS >= _fps.length){ _curFPS = 0; }; _fpsUpdate = !(_fpsUpdate); if (_fpsUpdate){ fps = 0; i = 0; while (i < _fps.length) { fps = (fps + _fps[i]); i++; }; _fpsDisplay.text = (Math.floor((fps / _fps.length)) + " fps"); }; }; if (_Y < _YT){ _Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed)); } else { if (_Y > _YT){ _Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed)); }; }; if (_Y > _by){ _Y = _by; } else { if (_Y < _byt){ _Y = _byt; visible = false; }; }; y = Math.floor(_Y); } public function toggle():void{ if (_YT == _by){ _YT = _byt; } else { _YT = _by; visible = true; }; } } }//package org.flixel.data
Section 90
//FlxFactory (org.flixel.data.FlxFactory) package org.flixel.data { import flash.events.*; import flash.display.*; import org.flixel.*; import flash.text.*; import flash.net.*; import flash.utils.*; public class FlxFactory extends MovieClip { public var className:String; protected var _bits:Array; protected var _bmpBar:Bitmap; private var ImgBar:Class; private var ImgBit:Class; public var myURL:String; protected var _buffer:Sprite; public function FlxFactory(){ var tmp:Bitmap; var re:RegExp; var fmt:TextFormat; var txt:TextField; ImgBar = FlxFactory_ImgBar; ImgBit = FlxFactory_ImgBit; super(); stop(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; throw (new Error("Setting global debug flag...")); //unresolved jump var _slot1 = e; re = /\[.*:[0-9]+\]/; FlxG.debug = re.test(_slot1.getStackTrace()); if (((((!(FlxG.debug)) && (!((myURL == null))))) && ((myURL.length > 0)))){ tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295)); addChild(tmp); fmt = new TextFormat(); fmt.color = 0; fmt.size = 16; fmt.align = "center"; fmt.bold = true; txt = new TextField(); txt.width = (tmp.width - 16); txt.height = (tmp.height - 16); txt.y = 8; txt.multiline = true; txt.wordWrap = true; txt.defaultTextFormat = fmt; txt.text = (("Hi there! It looks like somebody copied this game without my permission. If you would like to play it at my site with NO annoying ads, just click anywhere, or copy-paste this URL into your browser.\n\n" + myURL) + "\n\nThanks, and have fun!"); addChild(txt); txt.addEventListener(MouseEvent.CLICK, goToMyURL); tmp.addEventListener(MouseEvent.CLICK, goToMyURL); return; }; _buffer = new Sprite(); _buffer.scaleX = 2; _buffer.scaleY = 2; addChild(_buffer); _bmpBar = new ImgBar(); _bmpBar.x = (((stage.stageWidth / _buffer.scaleX) - _bmpBar.width) / 2); _bmpBar.y = (((stage.stageHeight / _buffer.scaleY) - _bmpBar.height) / 2); _buffer.addChild(_bmpBar); _bits = new Array(); var i:uint; while (i < 9) { tmp = new ImgBit(); tmp.visible = false; tmp.x = ((_bmpBar.x + 2) + (i * 3)); tmp.y = (_bmpBar.y + 2); _bits.push(tmp); _buffer.addChild(tmp); i = (i + 1); }; addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function goToMyURL(event:MouseEvent=null):void{ navigateToURL(new URLRequest(("http://" + myURL))); } private function onEnterFrame(event:Event):void{ var i:int; var mainClass:Class; var app:Object; var limit:uint; graphics.clear(); if (framesLoaded == totalFrames){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); mainClass = Class(getDefinitionByName(className)); if (mainClass){ app = new (mainClass); addChild((app as DisplayObject)); }; i = (_bits.length - 1); while (i >= 0) { _bits.pop(); i--; }; removeChild(_buffer); } else { limit = ((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 10); i = 0; while ((((i < limit)) && ((i < _bits.length)))) { _bits[i].visible = true; i++; }; }; } } }//package org.flixel.data
Section 91
//FlxFactory_ImgBar (org.flixel.data.FlxFactory_ImgBar) package org.flixel.data { import mx.core.*; public class FlxFactory_ImgBar extends BitmapAsset { } }//package org.flixel.data
Section 92
//FlxFactory_ImgBit (org.flixel.data.FlxFactory_ImgBit) package org.flixel.data { import mx.core.*; public class FlxFactory_ImgBit extends BitmapAsset { } }//package org.flixel.data
Section 93
//FlxFade (org.flixel.data.FlxFade) package org.flixel.data { import org.flixel.*; public class FlxFade extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFade(){ super(); createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } override public function update():void{ if (((visible) && (!((alpha == 1))))){ alpha = (alpha + (FlxG.elapsed / _delay)); if (alpha >= 1){ alpha = 1; if (_complete != null){ _complete(); }; }; }; } public function restart(Color:uint=0, Duration:Number=1, FadeComplete:Function=null, Force:Boolean=false):void{ if (Duration == 0){ visible = false; return; }; if (((!(Force)) && (visible))){ return; }; fill(Color); _delay = Duration; _complete = FadeComplete; alpha = 0; visible = true; } } }//package org.flixel.data
Section 94
//FlxFlash (org.flixel.data.FlxFlash) package org.flixel.data { import org.flixel.*; public class FlxFlash extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFlash(){ super(); createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } override public function update():void{ if (visible){ alpha = (alpha - (FlxG.elapsed / _delay)); if (alpha <= 0){ visible = false; if (_complete != null){ _complete(); }; }; }; } public function restart(Color:uint=4294967295, Duration:Number=1, FlashComplete:Function=null, Force:Boolean=false):void{ if (Duration == 0){ visible = false; return; }; if (((!(Force)) && (visible))){ return; }; fill(Color); _delay = Duration; _complete = FlashComplete; alpha = 1; visible = true; } } }//package org.flixel.data
Section 95
//FlxKeyboard (org.flixel.data.FlxKeyboard) package org.flixel.data { import flash.events.*; public class FlxKeyboard { protected const _t:uint = 0x0100; public var RIGHT:Boolean; public var LEFT:Boolean; public var FOUR:Boolean; public var TWO:Boolean; public var CONTROL:Boolean; public var A:Boolean; public var B:Boolean; public var C:Boolean; public var D:Boolean; public var E:Boolean; public var ONE:Boolean; public var G:Boolean; public var H:Boolean; public var I:Boolean; public var J:Boolean; public var K:Boolean; public var F:Boolean; public var N:Boolean; public var O:Boolean; public var Q:Boolean; public var R:Boolean; public var S:Boolean; public var T:Boolean; public var ESC:Boolean; public var MINUS:Boolean; public var Y:Boolean; public var L:Boolean; public var Z:Boolean; public var QUOTE:Boolean; public var V:Boolean; public var X:Boolean; public var P:Boolean; public var SHIFT:Boolean; public var SLASH:Boolean; public var U:Boolean; public var EIGHT:Boolean; public var W:Boolean; public var M:Boolean; public var THREE:Boolean; public var SEMICOLON:Boolean; public var CAPSLOCK:Boolean; protected var _lookup:Object; public var PLUS:Boolean; protected var _map:Array; public var ZERO:Boolean; public var DOWN:Boolean; public var F1:Boolean; public var F2:Boolean; public var F3:Boolean; public var F4:Boolean; public var F5:Boolean; public var F6:Boolean; public var F7:Boolean; public var NINE:Boolean; public var F9:Boolean; public var ALT:Boolean; public var F8:Boolean; public var DELETE:Boolean; public var LBRACKET:Boolean; public var UP:Boolean; public var ENTER:Boolean; public var FIVE:Boolean; public var SIX:Boolean; public var COMMA:Boolean; public var PERIOD:Boolean; public var BACKSLASH:Boolean; public var F10:Boolean; public var F11:Boolean; public var F12:Boolean; public var SEVEN:Boolean; public var SPACE:Boolean; public var RBRACKET:Boolean; public function FlxKeyboard(){ super(); var i:uint; _lookup = new Object(); _map = new Array(_t); i = 65; while (i <= 90) { addKey(String.fromCharCode(i), i); i++; }; i = 48; var _temp1 = i; i = (i + 1); addKey("ZERO", _temp1); var _temp2 = i; i = (i + 1); addKey("ONE", _temp2); var _temp3 = i; i = (i + 1); addKey("TWO", _temp3); var _temp4 = i; i = (i + 1); addKey("THREE", _temp4); var _temp5 = i; i = (i + 1); addKey("FOUR", _temp5); var _temp6 = i; i = (i + 1); addKey("FIVE", _temp6); var _temp7 = i; i = (i + 1); addKey("SIX", _temp7); var _temp8 = i; i = (i + 1); addKey("SEVEN", _temp8); var _temp9 = i; i = (i + 1); addKey("EIGHT", _temp9); var _temp10 = i; i = (i + 1); addKey("NINE", _temp10); i = 1; while (i <= 12) { addKey(("F" + i), (111 + i)); i++; }; addKey("ESC", 27); addKey("MINUS", 189); addKey("PLUS", 187); addKey("DELETE", 8); addKey("LBRACKET", 219); addKey("RBRACKET", 221); addKey("BACKSLASH", 220); addKey("CAPSLOCK", 20); addKey("SEMICOLON", 186); addKey("QUOTE", 222); addKey("ENTER", 13); addKey("SHIFT", 16); addKey("COMMA", 188); addKey("PERIOD", 190); addKey("SLASH", 191); addKey("CONTROL", 17); addKey("ALT", 18); addKey("SPACE", 32); addKey("UP", 38); addKey("DOWN", 40); addKey("LEFT", 37); addKey("RIGHT", 39); } public function handleKeyUp(event:KeyboardEvent):void{ var o:Object = _map[event.keyCode]; if (o == null){ return; }; if (o.current > 0){ o.current = -1; } else { o.current = 0; }; this[o.name] = false; } public function pressed(Key:String):Boolean{ return (this[Key]); } public function justReleased(Key:String):Boolean{ return ((_map[_lookup[Key]].current == -1)); } public function handleKeyDown(event:KeyboardEvent):void{ var o:Object = _map[event.keyCode]; if (o == null){ return; }; if (o.current > 0){ o.current = 1; } else { o.current = 2; }; this[o.name] = true; } public function reset():void{ var o:Object; var i:uint; while (i < _t) { if (_map[i] == null){ } else { o = _map[i]; this[o.name] = false; o.current = 0; o.last = 0; }; i++; }; } public function justPressed(Key:String):Boolean{ return ((_map[_lookup[Key]].current == 2)); } public function update():void{ var o:Object; var i:uint; while (i < _t) { if (_map[i] == null){ } else { o = _map[i]; if ((((o.last == -1)) && ((o.current == -1)))){ o.current = 0; } else { if ((((o.last == 2)) && ((o.current == 2)))){ o.current = 1; }; }; o.last = o.current; }; i++; }; } protected function addKey(KeyName:String, KeyCode:uint):void{ _lookup[KeyName] = KeyCode; _map[KeyCode] = {name:KeyName, current:0, last:0}; } } }//package org.flixel.data
Section 96
//FlxKong (org.flixel.data.FlxKong) package org.flixel.data { import flash.events.*; import flash.display.*; import flash.net.*; public class FlxKong extends Sprite { public var API; public function FlxKong(){ super(); API = null; } public function init():void{ var paramObj:Object = LoaderInfo(root.loaderInfo).parameters; var api_url:String = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); var request:URLRequest = new URLRequest(api_url); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded); loader.load(request); this.addChild(loader); } protected function APILoaded(event:Event):void{ API = event.target.content; API.services.connect(); } } }//package org.flixel.data
Section 97
//FlxLogoPixel (org.flixel.data.FlxLogoPixel) package org.flixel.data { import flash.display.*; public class FlxLogoPixel extends Sprite { private var _curLayer:uint; private var _layers:Array; public function FlxLogoPixel(xPos:int, yPos:int, pixelSize:uint, index:uint, finalColor:uint){ super(); x = xPos; y = yPos; _layers = new Array(); var colors:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615); _layers.push(addChild(new Bitmap(new BitmapData(pixelSize, pixelSize, true, finalColor)))); var i:uint; while (i < colors.length) { _layers.push(addChild(new Bitmap(new BitmapData(pixelSize, pixelSize, true, colors[index])))); ++index; if (index >= colors.length){ index = 0; }; i++; }; _curLayer = (_layers.length - 1); } public function update():void{ if (_curLayer == 0){ return; }; if (_layers[_curLayer].alpha >= 0.1){ _layers[_curLayer].alpha = (_layers[_curLayer].alpha - 0.1); } else { _layers[_curLayer].alpha = 0; _curLayer--; }; } } }//package org.flixel.data
Section 98
//FlxMouse (org.flixel.data.FlxMouse) package org.flixel.data { import flash.events.*; public class FlxMouse { protected var _last:int; public var x:int; public var y:int; protected var _current:int; public function FlxMouse(){ super(); x = 0; y = 0; _current = 0; _last = 0; } public function justReleased():Boolean{ return ((_current == -1)); } public function pressed():Boolean{ return ((_current > 0)); } public function handleMouseUp(event:MouseEvent):void{ if (_current > 0){ _current = -1; } else { _current = 0; }; } public function update(X:int, Y:int):void{ x = X; y = Y; if ((((_last == -1)) && ((_current == -1)))){ _current = 0; } else { if ((((_last == 2)) && ((_last == 2)))){ _current = 1; }; }; _last = _current; } public function reset():void{ _current = 0; _last = 0; } public function justPressed():Boolean{ return ((_current == 2)); } public function handleMouseDown(event:MouseEvent):void{ if (_current > 0){ _current = 1; } else { _current = 2; }; } } }//package org.flixel.data
Section 99
//FlxPanel (org.flixel.data.FlxPanel) package org.flixel.data { import org.flixel.*; import flash.ui.*; public class FlxPanel extends FlxCore { protected var _close:FlxButton; protected var _digg:FlxButton; protected var _gameTitle:String; protected var _closed:Boolean; protected var _payPalID:String; protected var _donate:FlxButton; private var ImgClose:Class; protected var _topBar:FlxSprite; protected var _ty:Number; protected var _caption:FlxText; protected var _initialized:Boolean; protected var _twitter:FlxButton; protected var _delicious:FlxButton; protected var _stumble:FlxButton; private var ImgDelicious:Class; private var ImgTwitter:Class; protected var _mainBar:FlxSprite; protected var _gameURL:String; private var ImgStumble:Class; private var ImgReddit:Class; private var ImgDigg:Class; protected var _bottomBar:FlxSprite; protected var _payPalAmount:Number; protected var _s:Number; private var ImgDonate:Class; protected var _reddit:FlxButton; public function FlxPanel(){ ImgDonate = FlxPanel_ImgDonate; ImgStumble = FlxPanel_ImgStumble; ImgDigg = FlxPanel_ImgDigg; ImgReddit = FlxPanel_ImgReddit; ImgDelicious = FlxPanel_ImgDelicious; ImgTwitter = FlxPanel_ImgTwitter; ImgClose = FlxPanel_ImgClose; super(); y = -21; _ty = y; _closed = false; _initialized = false; _topBar = new FlxSprite(); _topBar.createGraphic(FlxG.width, 1, 2147483647); _topBar.scrollFactor.x = 0; _topBar.scrollFactor.y = 0; _mainBar = new FlxSprite(); _mainBar.createGraphic(FlxG.width, 19, 2130706432); _mainBar.scrollFactor.x = 0; _mainBar.scrollFactor.y = 0; _bottomBar = new FlxSprite(); _bottomBar.createGraphic(FlxG.width, 1, 2147483647); _bottomBar.scrollFactor.x = 0; _bottomBar.scrollFactor.y = 0; _donate = new FlxButton(3, 0, onDonate); _donate.loadGraphic(new FlxSprite(0, 0, ImgDonate)); _donate.scrollFactor.x = 0; _donate.scrollFactor.y = 0; _stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble); _stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble)); _stumble.scrollFactor.x = 0; _stumble.scrollFactor.y = 0; _digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg); _digg.loadGraphic(new FlxSprite(0, 0, ImgDigg)); _digg.scrollFactor.x = 0; _digg.scrollFactor.y = 0; _reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit); _reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit)); _reddit.scrollFactor.x = 0; _reddit.scrollFactor.y = 0; _delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious); _delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious)); _delicious.scrollFactor.x = 0; _delicious.scrollFactor.y = 0; _twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter); _twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter)); _twitter.scrollFactor.x = 0; _twitter.scrollFactor.y = 0; _caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), ""); _caption.alignment = "right"; _caption.scrollFactor.x = 0; _caption.scrollFactor.y = 0; _close = new FlxButton((FlxG.width - 16), 0, onClose); _close.loadGraphic(new FlxSprite(0, 0, ImgClose)); _close.scrollFactor.x = 0; _close.scrollFactor.y = 0; hide(); _s = 50; } public function onDelicious():void{ FlxG.openURL(((("http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=" + encodeURIComponent(_gameURL)) + "&amp;title=") + encodeURIComponent(_gameTitle))); } public function init(PayPalID:String, PayPalAmount:Number, GameTitle:String, GameURL:String, Caption:String):void{ _payPalID = PayPalID; if (_payPalID.length <= 0){ _donate.visible = false; }; _payPalAmount = PayPalAmount; _gameTitle = GameTitle; _gameURL = GameURL; _caption.text = Caption; _initialized = true; } public function onTwitter():void{ FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL)))); } public function show(Top:Boolean=true):void{ if (!_initialized){ FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor."); return; }; if (_closed){ return; }; if (Top){ y = -21; _ty = -1; } else { y = FlxG.height; _ty = (FlxG.height - 20); }; Mouse.show(); visible = true; } public function onStumble():void{ FlxG.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL))); } override public function render():void{ if (!_initialized){ return; }; if (_topBar.visible){ _topBar.render(); }; if (_mainBar.visible){ _mainBar.render(); }; if (_bottomBar.visible){ _bottomBar.render(); }; if (_donate.visible){ _donate.render(); }; if (_stumble.visible){ _stumble.render(); }; if (_digg.visible){ _digg.render(); }; if (_reddit.visible){ _reddit.render(); }; if (_delicious.visible){ _delicious.render(); }; if (_twitter.visible){ _twitter.render(); }; if (_caption.visible){ _caption.render(); }; if (_close.visible){ _close.render(); }; } public function onDigg():void{ FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle))); } public function onReddit():void{ FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL))); } public function onDonate():void{ FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")&currency_code=USD&amount=") + _payPalAmount)); } override public function update():void{ if (!_initialized){ return; }; if (_ty != y){ if (y < _ty){ y = (y + (FlxG.elapsed * _s)); if (y > _ty){ y = _ty; }; } else { y = (y - (FlxG.elapsed * _s)); if (y < _ty){ y = _ty; }; }; }; if ((((y <= -21)) || ((y > FlxG.height)))){ visible = false; }; _topBar.y = y; _mainBar.y = (y + 1); _bottomBar.y = (y + 20); _donate.y = (y + 4); _stumble.y = (y + 4); _digg.y = (y + 4); _reddit.y = (y + 4); _delicious.y = (y + 5); _twitter.y = (y + 4); _caption.y = (y + 4); _close.y = (y + 4); if (_donate.active){ _donate.update(); }; if (_stumble.active){ _stumble.update(); }; if (_digg.active){ _digg.update(); }; if (_reddit.active){ _reddit.update(); }; if (_delicious.active){ _delicious.update(); }; if (_twitter.active){ _twitter.update(); }; if (_caption.active){ _caption.update(); }; if (_close.active){ _close.update(); }; } public function hide():void{ if (y < 0){ _ty = -21; } else { _ty = FlxG.height; }; Mouse.hide(); visible = false; } public function onClose():void{ _closed = true; hide(); } } }//package org.flixel.data
Section 100
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgClose extends BitmapAsset { } }//package org.flixel.data
Section 101
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDelicious extends BitmapAsset { } }//package org.flixel.data
Section 102
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDigg extends BitmapAsset { } }//package org.flixel.data
Section 103
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDonate extends BitmapAsset { } }//package org.flixel.data
Section 104
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgReddit extends BitmapAsset { } }//package org.flixel.data
Section 105
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgStumble extends BitmapAsset { } }//package org.flixel.data
Section 106
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgTwitter extends BitmapAsset { } }//package org.flixel.data
Section 107
//FlxPause (org.flixel.data.FlxPause) package org.flixel.data { import org.flixel.*; public class FlxPause extends FlxLayer { private var ImgKeyP:Class; private var ImgKey0:Class; private var ImgKeyPlus:Class; private var ImgKeyMinus:Class; public function FlxPause(){ var w:uint; var h:uint; ImgKeyMinus = FlxPause_ImgKeyMinus; ImgKeyPlus = FlxPause_ImgKeyPlus; ImgKey0 = FlxPause_ImgKey0; ImgKeyP = FlxPause_ImgKeyP; super(); scrollFactor.x = 0; scrollFactor.y = 0; w = 80; h = 92; x = ((FlxG.width - w) / 2); y = ((FlxG.height - h) / 2); add(new FlxSprite().createGraphic(w, h, 2852126720, true), true); (add(new FlxText(0, 0, w, "this game is"), true) as FlxText).alignment = "center"; add(new FlxText(0, 10, w, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true); add(new FlxSprite(4, 36, ImgKeyP), true); add(new FlxText(16, 36, (w - 16), "Pause Game"), true); add(new FlxSprite(4, 50, ImgKey0), true); add(new FlxText(16, 50, (w - 16), "Mute Sound"), true); add(new FlxSprite(4, 64, ImgKeyMinus), true); add(new FlxText(16, 64, (w - 16), "Sound Down"), true); add(new FlxSprite(4, 78, ImgKeyPlus), true); add(new FlxText(16, 78, (w - 16), "Sound Up"), true); } } }//package org.flixel.data
Section 108
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKey0 extends BitmapAsset { } }//package org.flixel.data
Section 109
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyMinus extends BitmapAsset { } }//package org.flixel.data
Section 110
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyP extends BitmapAsset { } }//package org.flixel.data
Section 111
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyPlus extends BitmapAsset { } }//package org.flixel.data
Section 112
//FlxQuake (org.flixel.data.FlxQuake) package org.flixel.data { import org.flixel.*; public class FlxQuake { public var y:int; protected var _timer:Number; protected var _intensity:Number; public var x:int; protected var _zoom:uint; public function FlxQuake(Zoom:uint){ super(); _zoom = Zoom; reset(0); } public function update():void{ if (_timer > 0){ _timer = (_timer - FlxG.elapsed); if (_timer <= 0){ _timer = 0; x = 0; y = 0; } else { x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom); y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom); }; }; } public function reset(Intensity:Number, Duration:Number=0.5):void{ x = 0; y = 0; _intensity = Intensity; if (_intensity == 0){ _timer = 0; return; }; _timer = Duration; } } }//package org.flixel.data
Section 113
//FlxBlock (org.flixel.FlxBlock) package org.flixel { import flash.display.*; import flash.geom.*; public class FlxBlock extends FlxCore { protected var _p:Point; protected var _pixels:BitmapData; protected var _rects:Array; protected var _tileSize:uint; public function FlxBlock(X:int, Y:int, Width:uint, Height:uint){ super(); last.x = (x = X); last.y = (y = Y); width = Width; height = Height; fixed = true; } override public function render():void{ super.render(); getScreenXY(_p); var opx:int = _p.x; var rl:uint = _rects.length; var i:uint; while (i < rl) { if (_rects[i] != null){ FlxG.buffer.copyPixels(_pixels, _rects[i], _p, null, null, true); }; _p.x = (_p.x + _tileSize); if (_p.x >= (opx + width)){ _p.x = opx; _p.y = (_p.y + _tileSize); }; i++; }; } public function loadGraphic(TileGraphic:Class, Empties:uint=0):void{ if (TileGraphic == null){ return; }; _pixels = FlxG.addBitmap(TileGraphic); _rects = new Array(); _p = new Point(); _tileSize = _pixels.height; var widthInTiles:uint = Math.ceil((width / _tileSize)); var heightInTiles:uint = Math.ceil((height / _tileSize)); width = (widthInTiles * _tileSize); height = (heightInTiles * _tileSize); var numTiles:uint = (widthInTiles * heightInTiles); var numGraphics:uint = (_pixels.width / _tileSize); var i:uint; while (i < numTiles) { if ((FlxG.random() * (numGraphics + Empties)) > Empties){ _rects.push(new Rectangle((_tileSize * Math.floor((FlxG.random() * numGraphics))), 0, _tileSize, _tileSize)); } else { _rects.push(null); }; i++; }; } } }//package org.flixel
Section 114
//FlxButton (org.flixel.FlxButton) package org.flixel { import flash.events.*; import flash.geom.*; public class FlxButton extends FlxCore { protected var _onTO:Point; protected var _sf:Point; protected var _offT:FlxText; protected var _initialized:Boolean; protected var _onT:FlxText; protected var _pressed:Boolean; protected var _callback:Function; protected var _off:FlxSprite; protected var _onToggle:Boolean; protected var _offTO:Point; protected var _on:FlxSprite; public function FlxButton(X:int, Y:int, Callback:Function){ super(); x = X; y = Y; width = 100; height = 20; _off = new FlxSprite(); _off.createGraphic(width, height, 4286545791); _off.scrollFactor = scrollFactor; _on = new FlxSprite(); _on.createGraphic(width, height, 4294967295); _on.scrollFactor = scrollFactor; _callback = Callback; _onToggle = false; _pressed = false; updatePositions(); _initialized = false; _sf = null; } override public function update():void{ if (!_initialized){ if (FlxG.state == null){ return; }; if (FlxG.state.parent == null){ return; }; if (FlxG.state.parent.stage == null){ return; }; FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _initialized = true; }; if (_sf != scrollFactor){ _sf = scrollFactor; if (_off != null){ _off.scrollFactor = _sf; }; if (_on != null){ _on.scrollFactor = _sf; }; if (_offT != null){ _offT.scrollFactor = _sf; }; if (_onT != null){ _onT.scrollFactor = _sf; }; }; super.update(); if (((((!((_off == null))) && (_off.exists))) && (_off.active))){ _off.update(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.active))){ _on.update(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){ _offT.update(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){ _onT.update(); }; }; visibility(false); if (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){ if (!FlxG.mouse.pressed()){ _pressed = false; } else { if (!_pressed){ _pressed = true; }; }; visibility(!(_pressed)); }; if (_onToggle){ visibility(_off.visible); }; updatePositions(); } public function switchOn():void{ _onToggle = true; } protected function onMouseUp(event:MouseEvent):void{ if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){ return; }; if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){ _callback(); }; } override public function destroy():void{ FlxG.state.parent.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); } protected function visibility(On:Boolean):void{ if (On){ _off.visible = false; if (_offT != null){ _offT.visible = false; }; _on.visible = true; if (_onT != null){ _onT.visible = true; }; } else { _on.visible = false; if (_onT != null){ _onT.visible = false; }; _off.visible = true; if (_offT != null){ _offT.visible = true; }; }; } public function switchOff():void{ _onToggle = false; } public function on():Boolean{ return (_onToggle); } protected function updatePositions():void{ _off.x = x; _off.y = y; if (_offT){ _offT.x = (_offTO.x + x); _offT.y = (_offTO.y + y); }; _on.x = x; _on.y = y; if (_onT){ _onT.x = (_onTO.x + x); _onT.y = (_onTO.y + y); }; } public function loadGraphic(Image:FlxSprite, ImageHighlight:FlxSprite=null):FlxButton{ _off = Image; _off.scrollFactor = scrollFactor; if (ImageHighlight == null){ _on = _off; } else { _on = ImageHighlight; }; _on.scrollFactor = scrollFactor; width = _off.width; height = _off.height; updatePositions(); return (this); } override public function render():void{ super.render(); if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){ _off.render(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){ _on.render(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){ _offT.render(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){ _onT.render(); }; }; } public function loadText(Text:FlxText, TextHighlight:FlxText=null):FlxButton{ if (Text != null){ _offT = Text; }; if (TextHighlight == null){ _onT = _offT; } else { _onT = TextHighlight; }; if (_offT != null){ _offTO = new Point(_offT.x, _offT.y); }; if (_onT != null){ _onTO = new Point(_onT.x, _onT.y); }; _offT.scrollFactor = scrollFactor; _onT.scrollFactor = scrollFactor; updatePositions(); return (this); } } }//package org.flixel
Section 115
//FlxCore (org.flixel.FlxCore) package org.flixel { import flash.geom.*; public class FlxCore { public var y:Number; public var active:Boolean; public var x:Number; public var visible:Boolean; protected var _flickerTimer:Number; public var width:uint; public var last:Point; public var exists:Boolean; public var height:uint; public var dead:Boolean; public var fixed:Boolean; protected var _flicker:Boolean; public var scrollFactor:Point; public function FlxCore(){ super(); exists = true; active = true; visible = true; dead = false; fixed = false; width = 0; height = 0; x = 0; y = 0; last = new Point(x, y); scrollFactor = new Point(1, 1); _flicker = false; _flickerTimer = -1; } public function onScreen():Boolean{ var p:Point = new Point(); getScreenXY(p); if (((((((((p.x + width) < 0)) || ((p.x > FlxG.width)))) || (((p.y + height) < 0)))) || ((p.y > FlxG.height)))){ return (false); }; return (true); } public function hitWall(Contact:FlxCore=null):Boolean{ return (true); } public function collideArrayY(Cores:Array):void{ var core:FlxCore; if (((!(exists)) || (dead))){ return; }; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === this)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { collideY(core); }; i++; }; } public function update():void{ last.x = x; last.y = y; if (flickering()){ if (_flickerTimer > 0){ _flickerTimer = (_flickerTimer - FlxG.elapsed); if (_flickerTimer == 0){ _flickerTimer = -1; }; }; if (_flickerTimer < 0){ flicker(-1); } else { _flicker = !(_flicker); visible = !(_flicker); }; }; } public function reset(X:Number, Y:Number):void{ exists = true; active = true; visible = true; dead = false; last.x = (x = X); last.y = (y = Y); } public function flicker(Duration:Number=1):void{ _flickerTimer = Duration; if (_flickerTimer < 0){ _flicker = false; visible = true; }; } public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{ var tx:Number = x; var ty:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ tx = (tx - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); ty = (ty - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if ((((((((X <= tx)) || ((X >= (tx + width))))) || ((Y <= ty)))) || ((Y >= (ty + height))))){ return (false); }; return (true); } public function collideX(Core:FlxCore):Boolean{ var split:Number; var thisBounds:Rectangle = new Rectangle(); var coreBounds:Rectangle = new Rectangle(); if (Core.x > Core.last.x){ coreBounds.x = Core.last.x; coreBounds.width = ((Core.x - Core.last.x) + Core.width); } else { coreBounds.x = Core.x; coreBounds.width = ((Core.last.x - Core.x) + Core.width); }; coreBounds.y = Core.last.y; coreBounds.height = Core.height; if (x > last.x){ thisBounds.x = last.x; thisBounds.width = ((x - last.x) + width); } else { thisBounds.x = x; thisBounds.width = ((last.x - x) + width); }; thisBounds.y = last.y; thisBounds.height = height; if (((((((((coreBounds.x + coreBounds.width) <= thisBounds.x)) || ((coreBounds.x >= (thisBounds.x + thisBounds.width))))) || (((coreBounds.y + coreBounds.height) <= thisBounds.y)))) || ((coreBounds.y >= (thisBounds.y + thisBounds.height))))){ return (false); }; var ctp:Number = (Core.x - Core.last.x); var ttp:Number = (x - last.x); var tco:Boolean = (((Core.x < (x + width))) && (((Core.x + Core.width) > x))); if ((((((((ctp > 0)) && ((ttp <= 0)))) || ((((ctp >= 0)) && ((((ctp > ttp)) && (tco))))))) || ((((ctp <= 0)) && ((((-(ctp) < -(ttp))) && (tco))))))){ if (((fixed) && (!(Core.fixed)))){ if (Core.hitWall(this)){ Core.x = (x - Core.width); return (true); }; } else { if (((!(fixed)) && (Core.fixed))){ if (hitWall(Core)){ x = (Core.x + Core.width); return (true); }; } else { if (((Core.hitWall(this)) && (hitWall(Core)))){ split = ((coreBounds.right - thisBounds.left) / 2); Core.x = (Core.x - split); x = (x + split); return (true); }; }; }; } else { if ((((((((ctp < 0)) && ((ttp >= 0)))) || ((((ctp >= 0)) && ((((ctp < ttp)) && (tco))))))) || ((((ctp <= 0)) && ((((-(ctp) > -(ttp))) && (tco))))))){ if (coreBounds.left < thisBounds.right){ if (((fixed) && (!(Core.fixed)))){ if (Core.hitWall(this)){ Core.x = (x + width); return (true); }; } else { if (((!(fixed)) && (Core.fixed))){ if (hitWall(Core)){ x = (Core.x - width); return (true); }; } else { if (((Core.hitWall(this)) && (hitWall(Core)))){ split = ((thisBounds.right - coreBounds.left) / 2); Core.x = (Core.x + split); x = (x - split); return (true); }; }; }; }; }; }; return (false); } public function render():void{ } public function kill():void{ exists = false; dead = true; } public function collideY(Core:FlxCore):Boolean{ var split:Number; var thisBounds:Rectangle = new Rectangle(); var coreBounds:Rectangle = new Rectangle(); if (Core.y > Core.last.y){ coreBounds.y = Core.last.y; coreBounds.height = ((Core.y - Core.last.y) + Core.height); } else { coreBounds.y = Core.y; coreBounds.height = ((Core.last.y - Core.y) + Core.height); }; coreBounds.x = Core.x; coreBounds.width = Core.width; if (y > last.y){ thisBounds.y = last.y; thisBounds.height = ((y - last.y) + height); } else { thisBounds.y = y; thisBounds.height = ((last.y - y) + height); }; thisBounds.x = x; thisBounds.width = width; if (((((((((coreBounds.x + coreBounds.width) <= thisBounds.x)) || ((coreBounds.x >= (thisBounds.x + thisBounds.width))))) || (((coreBounds.y + coreBounds.height) <= thisBounds.y)))) || ((coreBounds.y >= (thisBounds.y + thisBounds.height))))){ return (false); }; var ctp:Number = (Core.y - Core.last.y); var ttp:Number = (y - last.y); var tco:Boolean = (((Core.y < (y + height))) && (((Core.y + Core.height) > y))); if ((((((((ctp > 0)) && ((ttp <= 0)))) || ((((ctp >= 0)) && ((((ctp > ttp)) && (tco))))))) || ((((ctp <= 0)) && ((((-(ctp) < -(ttp))) && (tco))))))){ if (coreBounds.bottom > thisBounds.top){ if (((fixed) && (!(Core.fixed)))){ if (Core.hitFloor(this)){ Core.y = (y - Core.height); return (true); }; } else { if (((!(fixed)) && (Core.fixed))){ if (hitCeiling(Core)){ y = (Core.y + Core.height); return (true); }; } else { if (((Core.hitFloor(this)) && (hitCeiling(Core)))){ split = ((coreBounds.bottom - thisBounds.top) / 2); Core.y = (Core.y - split); y = (y + split); return (true); }; }; }; }; } else { if ((((((((ctp < 0)) && ((ttp >= 0)))) || ((((ctp >= 0)) && ((((ctp < ttp)) && (tco))))))) || ((((ctp <= 0)) && ((((-(ctp) > -(ttp))) && (tco))))))){ if (coreBounds.top < thisBounds.bottom){ if (((fixed) && (!(Core.fixed)))){ if (Core.hitCeiling(this)){ Core.y = (y + height); return (true); }; } else { if (((!(fixed)) && (Core.fixed))){ if (hitFloor(Core)){ y = (Core.y - height); return (true); }; } else { if (((Core.hitCeiling(this)) && (hitFloor(Core)))){ split = ((thisBounds.bottom - coreBounds.top) / 2); Core.y = (Core.y + split); y = (y - split); return (true); }; }; }; }; }; }; return (false); } public function getScreenXY(P:Point=null):Point{ if (P == null){ P = new Point(); }; P.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x))); P.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y))); return (P); } public function hitFloor(Contact:FlxCore=null):Boolean{ return (true); } public function hitCeiling(Contact:FlxCore=null):Boolean{ return (true); } public function overlaps(Core:FlxCore):Boolean{ var tx:Number = x; var ty:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ tx = (tx - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); ty = (ty - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; var cx:Number = Core.x; var cy:Number = Core.y; if (((!((Core.scrollFactor.x == 1))) || (!((Core.scrollFactor.y == 1))))){ cx = (cx - Math.floor((FlxG.scroll.x * (1 - Core.scrollFactor.x)))); cy = (cy - Math.floor((FlxG.scroll.y * (1 - Core.scrollFactor.y)))); }; if ((((((((cx <= (tx - Core.width))) || ((cx >= (tx + width))))) || ((cy <= (ty - Core.height))))) || ((cy >= (ty + height))))){ return (false); }; return (true); } public function flickering():Boolean{ return ((_flickerTimer >= 0)); } public function destroy():void{ } public function collideArray(Cores:Array):void{ var core:FlxCore; if (((!(exists)) || (dead))){ return; }; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === this)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { collide(core); }; i++; }; } public function collideArrayX(Cores:Array):void{ var core:FlxCore; if (((!(exists)) || (dead))){ return; }; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === this)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { collideX(core); }; i++; }; } public function collide(Core:FlxCore):Boolean{ var hx:Boolean = collideX(Core); var hy:Boolean = collideY(Core); return (((hx) || (hy))); } } }//package org.flixel
Section 116
//FlxG (org.flixel.FlxG) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; import flash.net.*; public class FlxG { protected static var ImgDefaultCursor:Class = FlxG_ImgDefaultCursor; public static var kong:FlxKong; public static var scores:Array; public static var music:FlxSound; public static var height:uint; protected static var _volume:Number; public static var buffer:BitmapData; public static var sounds:Array; protected static var _seed:Number; public static var debug:Boolean; public static var LIBRARY_MINOR_VERSION:uint = 54; public static var LIBRARY_MAJOR_VERSION:uint = 1; public static var levels:Array; public static var elapsed:Number; public static var save:int; protected static var _cache:Object; public static var level:int; public static var state:FlxState; public static var score:int; public static var saves:Array; protected static var _scrollTarget:Point; public static var followTarget:FlxCore; public static var mouse:FlxMouse; public static var followLead:Point; public static var LIBRARY_NAME:String = "flixel"; protected static var _originalSeed:Number; public static var followLerp:Number; public static var width:uint; public static var dilation:Number; protected static var _game:FlxGame; public static var scroll:Point; public static var followMin:Point; public static var followMax:Point; public static var keys:FlxKeyboard; protected static var _pause:Boolean; protected static var _mute:Boolean; public function FlxG(){ super(); } public static function flash(Color:uint, Duration:Number=1, FlashComplete:Function=null, Force:Boolean=false):void{ _game._flash.restart(Color, Duration, FlashComplete, Force); } public static function collideArrays(Cores1:Array, Cores2:Array):Boolean{ var i:uint; var j:uint; var core1:FlxCore; var core2:FlxCore; var c:Boolean; var l1:uint = Cores1.length; var l2:uint = Cores2.length; if (Cores1 === Cores2){ i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = (i + 1); while (j < l2) { core2 = Cores2[j]; if ((((((core2 == null)) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collide(core2)){ c = true; }; }; j++; }; }; i++; }; } else { i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = 0; while (j < l2) { core2 = Cores2[j]; if ((((((((core1 === core2)) || ((core2 == null)))) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collide(core2)){ c = true; }; }; j++; }; }; i++; }; }; return (c); } public static function get mute():Boolean{ return (_mute); } public static function get volume():Number{ return (_volume); } protected static function changeSounds():void{ if (((!((music == null))) && (music.active))){ music.updateTransform(); }; var sl:uint = sounds.length; var i:uint; while (i < sl) { if (sounds[i].active){ sounds[i].updateTransform(); }; i++; }; } static function doFollow():void{ if (followTarget != null){ if (((followTarget.exists) && (!(followTarget.dead)))){ _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); if (((!((followLead == null))) && ((followTarget is FlxSprite)))){ _scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x)); _scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y)); }; }; scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed)); scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed)); if (followMin != null){ if (scroll.x > followMin.x){ scroll.x = followMin.x; }; if (scroll.y > followMin.y){ scroll.y = followMin.y; }; }; if (followMax != null){ if (scroll.x < followMax.x){ scroll.x = followMax.x; }; if (scroll.y < followMax.y){ scroll.y = followMax.y; }; }; }; } public static function showSupportPanel(Top:Boolean=true):void{ _game._panel.show(Top); } public static function addBitmap(Graphic:Class, Reverse:Boolean=false, Unique:Boolean=false):BitmapData{ var inc:uint; var ukey:String; var newPixels:BitmapData; var mtx:Matrix; var needReverse:Boolean; var key:String = String(Graphic); if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){ inc = 0; do { var _temp1 = inc; inc = (inc + 1); ukey = (key + _temp1); } while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null))))); key = ukey; }; if ((((_cache[key] == undefined)) || ((_cache[key] == null)))){ _cache[key] = new (Graphic).bitmapData; if (Reverse){ needReverse = true; }; }; var pixels:BitmapData = _cache[key]; if (((((!(needReverse)) && (Reverse))) && ((pixels.width == new (Graphic).bitmapData.width)))){ needReverse = true; }; if (needReverse){ newPixels = new BitmapData((pixels.width << 1), pixels.height, true, 0); newPixels.draw(pixels); mtx = new Matrix(); mtx.scale(-1, 1); mtx.translate(newPixels.width, 0); newPixels.draw(pixels, mtx); pixels = newPixels; }; return (pixels); } public static function getMuteValue():uint{ if (_mute){ return (0); }; return (1); } public static function set mute(Mute:Boolean):void{ _mute = Mute; changeSounds(); } public static function play(EmbeddedSound:Class, Volume:Number=1, Looped:Boolean=false):FlxSound{ var i:uint; var sl:uint = sounds.length; i = 0; while (i < sl) { if (!sounds[i].active){ break; }; i++; }; if (sounds[i] == null){ sounds[i] = new FlxSound(); }; var s:FlxSound = sounds[i]; s.loadEmbedded(EmbeddedSound, Looped); s.volume = Volume; s.play(); return (s); } public static function getAngle(X:Number, Y:Number):Number{ return (((Math.atan2(Y, X) * 180) / Math.PI)); } public static function hideCursor():void{ if (_game._cursor == null){ return; }; _game._buffer.removeChild(_game._cursor); _game._cursor = null; } public static function set volume(Volume:Number):void{ _volume = Volume; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; changeSounds(); } static function setGameData(Game:FlxGame, Width:uint, Height:uint):void{ _game = Game; _cache = new Object(); width = Width; height = Height; _mute = false; _volume = 0.5; sounds = new Array(); mouse = new FlxMouse(); keys = new FlxKeyboard(); scroll = null; _scrollTarget = null; unfollow(); FlxG.levels = new Array(); FlxG.scores = new Array(); level = 0; score = 0; seed = NaN; kong = null; pause = false; dilation = 1; } public static function computeVelocity(Velocity:Number, Acceleration:Number=0, Drag:Number=0, Max:Number=10000):Number{ var d:Number; if (Acceleration != 0){ Velocity = (Velocity + (Acceleration * FlxG.elapsed)); } else { if (Drag != 0){ d = (Drag * FlxG.elapsed); if ((Velocity - d) > 0){ Velocity = (Velocity - d); } else { if ((Velocity + d) < 0){ Velocity = (Velocity + d); } else { Velocity = 0; }; }; }; }; if (((!((Velocity == 0))) && (!((Max == 10000))))){ if (Velocity > Max){ Velocity = Max; } else { if (Velocity < -(Max)){ Velocity = -(Max); }; }; }; return (Velocity); } public static function mutate(Seed:Number, Mutator:Number):Number{ Seed = (Seed + Mutator); if (Seed > 1){ Seed = (Seed - int(Seed)); }; return (Seed); } public static function collideArraysX(Cores1:Array, Cores2:Array):Boolean{ var i:uint; var j:uint; var core1:FlxCore; var core2:FlxCore; var c:Boolean; var l1:uint = Cores1.length; var l2:uint = Cores2.length; if (Cores1 === Cores2){ i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = (i + 1); while (j < l2) { core2 = Cores2[j]; if ((((((core2 == null)) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collideX(core2)){ c = true; }; }; j++; }; }; i++; }; } else { i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = 0; while (j < l2) { core2 = Cores2[j]; if ((((((((core1 === core2)) || ((core2 == null)))) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collideX(core2)){ c = true; }; }; j++; }; }; i++; }; }; return (c); } public static function collideArraysY(Cores1:Array, Cores2:Array):Boolean{ var i:uint; var j:uint; var core1:FlxCore; var core2:FlxCore; var c:Boolean; var l1:uint = Cores1.length; var l2:uint = Cores2.length; if (Cores1 === Cores2){ i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = (i + 1); while (j < l2) { core2 = Cores2[j]; if ((((((core2 == null)) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collideY(core2)){ c = true; }; }; j++; }; }; i++; }; } else { i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = 0; while (j < l2) { core2 = Cores2[j]; if ((((((((core1 === core2)) || ((core2 == null)))) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.collideY(core2)){ c = true; }; }; j++; }; }; i++; }; }; return (c); } public static function createBitmap(Width:uint, Height:uint, Color:uint, Unique:Boolean):BitmapData{ var inc:uint; var ukey:String; var key:String = ((((Width + "x") + Height) + ":") + Color); if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){ inc = 0; do { var _temp1 = inc; inc = (inc + 1); ukey = (key + _temp1); } while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null))))); key = ukey; }; if ((((_cache[key] == undefined)) || ((_cache[key] == null)))){ _cache[key] = new BitmapData(Width, Height, true, Color); }; return (_cache[key]); } public static function playMusic(Music:Class, Volume:Number=1):void{ if (music == null){ music = new FlxSound(); } else { if (music.active){ music.stop(); }; }; music.loadEmbedded(Music, true); music.volume = Volume; music.survive = true; music.play(); } public static function overlapArray(Cores:Array, Core:FlxCore, Collide:Function=null):Boolean{ var c:FlxCore; if ((((((Core == null)) || (!(Core.exists)))) || (Core.dead))){ return (false); }; var o:Boolean; var l:uint = Cores.length; var i:uint; while (i < l) { c = Cores[i]; if ((((((((c === Core)) || ((c == null)))) || (!(c.exists)))) || (c.dead))){ } else { if (c.overlaps(Core)){ o = true; if (Collide != null){ Collide(c, Core); } else { c.kill(); Core.kill(); }; }; }; i++; }; return (o); } public static function log(Data:Object):void{ _game._console.log(Data.toString()); } public static function overlapArrays(Cores1:Array, Cores2:Array, Collide:Function=null):Boolean{ var i:uint; var j:uint; var core1:FlxCore; var core2:FlxCore; var o:Boolean; var l1:uint = Cores1.length; var l2:uint = Cores2.length; if (Cores1 === Cores2){ i = 0; while (i < l1) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = (i + 1); while (j < l2) { core2 = Cores2[j]; if ((((((core2 == null)) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.overlaps(core2)){ o = true; if (Collide != null){ Collide(core1, core2); } else { core1.kill(); core2.kill(); }; }; }; j++; }; }; i++; }; } else { i = 0; while (i < Cores1.length) { core1 = Cores1[i]; if ((((((core1 == null)) || (!(core1.exists)))) || (core1.dead))){ } else { j = 0; while (j < Cores2.length) { core2 = Cores2[j]; if ((((((((core1 === core2)) || ((core2 == null)))) || (!(core2.exists)))) || (core2.dead))){ } else { if (core1.overlaps(core2)){ o = true; if (Collide != null){ Collide(core1, core2); } else { core1.kill(); core2.kill(); }; }; }; j++; }; }; i++; }; }; return (o); } static function updateSounds():void{ if (((!((music == null))) && (music.active))){ music.update(); }; var sl:uint = sounds.length; var i:uint; while (i < sl) { if (sounds[i].active){ sounds[i].update(); }; i++; }; } public static function get seed():Number{ return (_originalSeed); } static function updateInput():void{ keys.update(); mouse.update((state.mouseX - scroll.x), (state.mouseY - scroll.y)); } public static function stream(URL:String, Volume:Number=1, Looped:Boolean=false):FlxSound{ var i:uint; var sl:uint = sounds.length; i = 0; while (i < sl) { if (!sounds[i].active){ break; }; i++; }; if (sounds[i] == null){ sounds[i] = new FlxSound(); }; var s:FlxSound = sounds[i]; s.loadStream(URL, Looped); s.volume = Volume; s.play(); return (s); } static function unfollow():void{ followTarget = null; followLead = null; followLerp = 1; followMin = null; followMax = null; if (scroll == null){ scroll = new Point(); } else { scroll.x = (scroll.y = 0); }; if (_scrollTarget == null){ _scrollTarget = new Point(); } else { _scrollTarget.x = (_scrollTarget.y = 0); }; } public static function fade(Color:uint, Duration:Number=1, FadeComplete:Function=null, Force:Boolean=false):void{ _game._fade.restart(Color, Duration, FadeComplete, Force); } protected static function playSounds():void{ if (((!((music == null))) && (music.active))){ music.play(); }; var sl:uint = sounds.length; var i:uint; while (i < sl) { if (sounds[i].active){ sounds[i].play(); }; i++; }; } public static function followAdjust(LeadX:Number=0, LeadY:Number=0):void{ followLead = new Point(LeadX, LeadY); } public static function follow(Target:FlxCore, Lerp:Number=1):void{ followTarget = Target; followLerp = Lerp; _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); scroll.x = _scrollTarget.x; scroll.y = _scrollTarget.y; doFollow(); } public static function showCursor(CursorGraphic:Class=null):void{ if (CursorGraphic == null){ _game._cursor = (_game._buffer.addChild(new ImgDefaultCursor()) as Bitmap); } else { _game._cursor = (_game._buffer.addChild(new (CursorGraphic)) as Bitmap); }; } public static function randomize(Seed:Number):Number{ return ((((69621 * int((Seed * 2147483647))) % 2147483647) / 2147483647)); } public static function getRandom(A:Array):Object{ return (A[int((FlxG.random() * A.length))]); } public static function resetInput():void{ keys.reset(); mouse.reset(); } public static function switchState(State:Class):void{ _game.switchState(State); } public static function getNonexist(A:Array):FlxCore{ var l:uint = A.length; if (l <= 0){ return (null); }; var i:uint; do { if (!A[i].exists){ return (A[i]); }; ++i; } while (i < l); return (null); } public static function random(UseGlobalSeed:Boolean=true):Number{ var random:Number; if (((UseGlobalSeed) && (!(isNaN(_seed))))){ random = randomize(_seed); _seed = mutate(_seed, random); return (random); }; return (Math.random()); } public static function openURL(URL:String):void{ navigateToURL(new URLRequest(URL), "_blank"); } public static function followBounds(MinX:int=0, MinY:int=0, MaxX:int=0, MaxY:int=0):void{ followMin = new Point(-(MinX), -(MinY)); followMax = new Point((-(MaxX) + width), (-(MaxY) + height)); if (followMax.x > followMin.x){ followMax.x = followMin.x; }; if (followMax.y > followMin.y){ followMax.y = followMin.y; }; doFollow(); } public static function collideArray(Cores:Array, Core:FlxCore):Boolean{ var core:FlxCore; if ((((((Core == null)) || (!(Core.exists)))) || (Core.dead))){ return (false); }; var c:Boolean; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === Core)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { if (core.collide(Core)){ c = true; }; }; i++; }; return (c); } public static function quake(Intensity:Number, Duration:Number=0.5):void{ _game._quake.reset(Intensity, Duration); } protected static function pauseSounds():void{ if (((!((music == null))) && (music.active))){ music.pause(); }; var sl:uint = sounds.length; var i:uint; while (i < sl) { if (sounds[i].active){ sounds[i].pause(); }; i++; }; } public static function set seed(Seed:Number):void{ _seed = Seed; _originalSeed = _seed; } static function destroySounds(ForceDestroy:Boolean=false):void{ if (sounds == null){ return; }; if (((!((music == null))) && (((ForceDestroy) || (!(music.survive)))))){ music.destroy(); }; var sl:uint = sounds.length; var i:uint; while (i < sl) { if (((ForceDestroy) || (!(sounds[i].survive)))){ sounds[i].destroy(); }; i++; }; } public static function set pause(Pause:Boolean):void{ var op:Boolean = _pause; _pause = Pause; if (_pause != op){ if (_pause){ _game.pauseGame(); pauseSounds(); } else { _game.unpauseGame(); playSounds(); }; }; } public static function hideSupportPanel():void{ _game._panel.hide(); } public static function rotatePoint(X:Number, Y:Number, PivotX:Number, PivotY:Number, Angle:Number, P:Point=null):Point{ if (P == null){ P = new Point(); }; var radians:Number = ((-(Angle) / 180) * Math.PI); var dx:Number = (X - PivotX); var dy:Number = (PivotY - Y); P.x = ((PivotX + (Math.cos(radians) * dx)) - (Math.sin(radians) * dy)); P.y = (PivotY - ((Math.sin(radians) * dx) + (Math.cos(radians) * dy))); return (P); } public static function get pause():Boolean{ return (_pause); } public static function collideArrayX(Cores:Array, Core:FlxCore):Boolean{ var core:FlxCore; if ((((((Core == null)) || (!(Core.exists)))) || (Core.dead))){ return (false); }; var c:Boolean; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === Core)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { if (core.collideX(Core)){ c = true; }; }; i++; }; return (c); } public static function collideArrayY(Cores:Array, Core:FlxCore):Boolean{ var core:FlxCore; if ((((((Core == null)) || (!(Core.exists)))) || (Core.dead))){ return (false); }; var c:Boolean; var l:uint = Cores.length; var i:uint; while (i < l) { core = Cores[i]; if ((((((((core === Core)) || ((core == null)))) || (!(core.exists)))) || (core.dead))){ } else { if (core.collideY(Core)){ c = true; }; }; i++; }; return (c); } } }//package org.flixel
Section 117
//FlxG_ImgDefaultCursor (org.flixel.FlxG_ImgDefaultCursor) package org.flixel { import mx.core.*; public class FlxG_ImgDefaultCursor extends BitmapAsset { } }//package org.flixel
Section 118
//FlxGame (org.flixel.FlxGame) package org.flixel { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import org.flixel.data.*; import flash.utils.*; import flash.ui.*; public class FlxGame extends Sprite { const MAX_ELAPSED:Number = 0.0333; var _bmpFront:Bitmap; protected var SndFlixel:Class; var _logoTimer:Number; var _curState:FlxState; var _panel:FlxPanel; var _console:FlxConsole; protected var SndBeep:Class; var _logoFade:Bitmap; var _created:Boolean; var _zoom:uint; var _gameXOffset:int; var _elapsed:Number; var _flipped:Boolean; var _total:uint; var _soundTrayBars:Array; public var useDefaultHotKeys:Boolean; protected var junk:String;// = "FlxGame_junk" var _bmpBack:Bitmap; var _iState:Class; public var showLogo:Boolean; var _paused:Boolean; var _quake:FlxQuake; var _gameYOffset:int; var _buffer:Sprite; var _f:Array; var _fSound:Class; var _fc:uint; var _soundTray:Sprite; var _frame:Class; var _flash:FlxFlash; var _logoComplete:Boolean; var _r:Rectangle; var _poweredBy:Bitmap; var _cursor:Bitmap; public var pause:FlxLayer; protected var ImgPoweredBy:Class; var _fade:FlxFade; var _soundTrayTimer:Number; public function FlxGame(GameSizeX:uint, GameSizeY:uint, InitialState:Class, Zoom:uint=2){ ImgPoweredBy = FlxGame_ImgPoweredBy; SndBeep = FlxGame_SndBeep; SndFlixel = FlxGame_SndFlixel; super(); Mouse.hide(); _zoom = Zoom; FlxState.bgColor = 4278190080; FlxG.setGameData(this, GameSizeX, GameSizeY); _elapsed = 0; _total = 0; pause = new FlxPause(); _quake = new FlxQuake(_zoom); _flash = new FlxFlash(); _fade = new FlxFade(); _curState = null; _iState = InitialState; _panel = new FlxPanel(); useDefaultHotKeys = true; showLogo = true; _f = null; _fc = 4294967295; _fSound = SndFlixel; _frame = null; _gameXOffset = 0; _gameYOffset = 0; _paused = false; _created = false; _logoComplete = false; addEventListener(Event.ENTER_FRAME, onEnterFrame); } protected function onFocusLost(event:Event=null):void{ if (_logoComplete){ FlxG.pause = true; }; } function unpauseGame():void{ if (!_panel.visible){ Mouse.hide(); }; FlxG.resetInput(); _paused = false; stage.frameRate = 90; } protected function setupSupportPanel(PayPalID:String, PayPalAmount:Number, GameTitle:String, GameURL:String, Caption:String):void{ _panel.init(PayPalID, PayPalAmount, GameTitle, GameURL, Caption); } function pauseGame():void{ if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; if (!_flipped){ _bmpBack.bitmapData.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { _bmpFront.bitmapData.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; Mouse.show(); _paused = true; stage.frameRate = 10; } protected function onFocus(event:Event=null):void{ if (FlxG.pause){ FlxG.pause = false; }; } protected function onKeyUp(event:KeyboardEvent):void{ var c:int; var code:String; if (event.keyCode == 192){ _console.toggle(); return; }; if (useDefaultHotKeys){ c = event.keyCode; code = String.fromCharCode(event.charCode); switch (c){ case 48: FlxG.mute = !(FlxG.mute); showSoundTray(); return; case 189: FlxG.mute = false; FlxG.volume = (FlxG.volume - 0.1); showSoundTray(); return; case 187: FlxG.mute = false; FlxG.volume = (FlxG.volume + 0.1); showSoundTray(); return; case 80: FlxG.pause = !(FlxG.pause); default: break; }; }; FlxG.keys.handleKeyUp(event); } protected function onMouseUp(event:MouseEvent):void{ FlxG.mouse.handleMouseUp(event); } function switchState(State:Class):void{ _panel.hide(); FlxG.unfollow(); FlxG.keys.reset(); FlxG.mouse.reset(); FlxG.hideCursor(); FlxG.destroySounds(); _flash.restart(0, 0); _fade.restart(0, 0); _quake.reset(0); _buffer.x = 0; _buffer.y = 0; var newState:FlxState = new (State); _buffer.addChild(newState); if (_curState != null){ _buffer.swapChildren(newState, _curState); _buffer.removeChild(_curState); _curState.destroy(); }; _curState = newState; } protected function onKeyDown(event:KeyboardEvent):void{ FlxG.keys.handleKeyDown(event); } protected function onEnterFrame(event:Event):void{ var i:uint; var tmp:Bitmap; var scale:uint; var pixelSize:uint; var top:int; var left:int; var ct:ColorTransform; var vstring:String; var underline:String; var text:TextField; var bx:uint; var by:uint; var bmp:Bitmap; var t:uint = getTimer(); _elapsed = ((t - _total) / 1000); _total = t; FlxG.elapsed = _elapsed; if (FlxG.elapsed > MAX_ELAPSED){ FlxG.elapsed = MAX_ELAPSED; }; FlxG.elapsed = (FlxG.elapsed * FlxG.dilation); if (_logoComplete){ _panel.update(); _console.update(); if (_soundTrayTimer > 0){ _soundTrayTimer = (_soundTrayTimer - _elapsed); } else { if (_soundTray.y > -(_soundTray.height)){ _soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2)); if (_soundTray.y < -(_soundTray.height)){ _soundTray.visible = false; }; }; }; FlxG.updateInput(); if (_cursor != null){ _cursor.x = (FlxG.mouse.x + FlxG.scroll.x); _cursor.y = (FlxG.mouse.y + FlxG.scroll.y); }; FlxG.updateSounds(); if (_paused){ pause.update(); if (_flipped){ FlxG.buffer.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { FlxG.buffer.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; pause.render(); } else { if (_flipped){ FlxG.buffer = _bmpFront.bitmapData; } else { FlxG.buffer = _bmpBack.bitmapData; }; FlxState.screen.unsafeBind(FlxG.buffer); _curState.preProcess(); FlxG.doFollow(); _curState.update(); _flash.update(); _fade.update(); _quake.update(); _buffer.x = _quake.x; _buffer.y = _quake.y; _curState.render(); _flash.render(); _fade.render(); _panel.render(); _curState.postProcess(); _bmpBack.visible = !((_bmpFront.visible = _flipped)); _flipped = !(_flipped); }; } else { if (_created){ if (!showLogo){ _logoComplete = true; FlxG.switchState(_iState); } else { if (_f == null){ _f = new Array(); scale = 1; if (FlxG.height > 200){ scale = 2; }; pixelSize = (32 * scale); top = (((FlxG.height * _zoom) / 2) - (pixelSize * 2)); left = (((FlxG.width * _zoom) / 2) - pixelSize); _f.push((addChild(new FlxLogoPixel((left + pixelSize), top, pixelSize, 0, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(left, (top + pixelSize), pixelSize, 1, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(left, (top + (pixelSize * 2)), pixelSize, 2, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel((left + pixelSize), (top + (pixelSize * 2)), pixelSize, 3, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(left, (top + (pixelSize * 3)), pixelSize, 4, _fc)) as FlxLogoPixel)); _poweredBy = new ImgPoweredBy(); _poweredBy.scaleX = scale; _poweredBy.scaleY = scale; _poweredBy.x = (((FlxG.width * _zoom) / 2) - (_poweredBy.width / 2)); _poweredBy.y = ((top + (pixelSize * 4)) + 16); ct = new ColorTransform(); ct.color = _fc; _poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), ct); addChild(_poweredBy); _logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _zoom), (FlxG.height * _zoom), true, 4278190080))) as Bitmap); _logoFade.x = (_gameXOffset * _zoom); _logoFade.y = (_gameYOffset * _zoom); if (_fSound != null){ FlxG.play(_fSound, 0.35); }; }; _logoTimer = (_logoTimer + _elapsed); i = 0; while (i < _f.length) { _f[i].update(); i++; }; if (_logoFade.alpha > 0){ _logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5)); }; if (_logoTimer > 2){ removeChild(_poweredBy); i = 0; while (i < _f.length) { removeChild(_f[i]); i++; }; _f.length = 0; removeChild(_logoFade); FlxG.switchState(_iState); _logoComplete = true; }; }; } else { if (root != null){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 90; _buffer = new Sprite(); _buffer.scaleX = _zoom; _buffer.scaleY = _zoom; addChild(_buffer); _bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor)); _bmpBack.x = _gameXOffset; _bmpBack.y = _gameYOffset; _buffer.addChild(_bmpBack); _bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, FlxState.bgColor)); _bmpFront.x = _bmpBack.x; _bmpFront.y = _bmpBack.y; _buffer.addChild(_bmpFront); _flipped = false; _r = new Rectangle(0, 0, _bmpFront.width, _bmpFront.height); _console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom); addChild(_console); vstring = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION); if (FlxG.debug){ vstring = (vstring + " [debug]"); } else { vstring = (vstring + " [release]"); }; underline = ""; i = 0; while (i < (vstring.length + 32)) { underline = (underline + "-"); i++; }; FlxG.log(vstring); FlxG.log(underline); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); stage.addEventListener(Event.DEACTIVATE, onFocusLost); stage.addEventListener(Event.ACTIVATE, onFocus); _soundTray = new Sprite(); _soundTray.visible = false; _soundTray.scaleX = 2; _soundTray.scaleY = 2; tmp = new Bitmap(new BitmapData(80, 30, true, 2130706432)); _soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((tmp.width / 2) * _soundTray.scaleX)); _soundTray.addChild(tmp); text = new TextField(); text.width = tmp.width; text.height = tmp.height; text.multiline = true; text.wordWrap = true; text.selectable = false; text.embedFonts = true; text.antiAliasType = AntiAliasType.NORMAL; text.gridFitType = GridFitType.PIXEL; text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center"); _soundTray.addChild(text); text.text = "VOLUME"; text.y = 16; bx = 10; by = 14; _soundTrayBars = new Array(); i = 0; while (i < 10) { tmp = new Bitmap(new BitmapData(4, (i + 1), false, 0xFFFFFF)); tmp.x = bx; tmp.y = by; _soundTrayBars.push(_soundTray.addChild(tmp)); bx = (bx + 6); by--; i++; }; addChild(_soundTray); if (_frame != null){ bmp = new _frame(); bmp.scaleX = _zoom; bmp.scaleY = _zoom; addChild(bmp); }; _created = true; _logoTimer = 0; }; }; }; } protected function setLogoFX(FlixelColor:Number, FlixelSound:Class=null):FlxGame{ _fc = FlixelColor; if (FlixelSound != null){ _fSound = FlixelSound; }; return (this); } protected function onMouseDown(event:MouseEvent):void{ FlxG.mouse.handleMouseDown(event); } public function showSoundTray():void{ FlxG.play(SndBeep); _soundTrayTimer = 1; _soundTray.y = (_gameYOffset * _zoom); _soundTray.visible = true; var gv:uint = Math.round((FlxG.volume * 10)); if (FlxG.mute){ gv = 0; }; var i:uint; while (i < _soundTrayBars.length) { if (i < gv){ _soundTrayBars[i].alpha = 1; } else { _soundTrayBars[i].alpha = 0.5; }; i++; }; } protected function addFrame(Frame:Class, ScreenOffsetX:uint, ScreenOffsetY:uint):FlxGame{ _frame = Frame; _gameXOffset = ScreenOffsetX; _gameYOffset = ScreenOffsetY; return (this); } } }//package org.flixel
Section 119
//FlxGame_ImgPoweredBy (org.flixel.FlxGame_ImgPoweredBy) package org.flixel { import mx.core.*; public class FlxGame_ImgPoweredBy extends BitmapAsset { } }//package org.flixel
Section 120
//FlxGame_junk (org.flixel.FlxGame_junk) package org.flixel { import mx.core.*; public class FlxGame_junk extends FontAsset { } }//package org.flixel
Section 121
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep) package org.flixel { import mx.core.*; public class FlxGame_SndBeep extends SoundAsset { } }//package org.flixel
Section 122
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel) package org.flixel { import mx.core.*; public class FlxGame_SndFlixel extends SoundAsset { } }//package org.flixel
Section 123
//FlxLayer (org.flixel.FlxLayer) package org.flixel { public class FlxLayer extends FlxCore { protected var _children:Array; public function FlxLayer(){ super(); _children = new Array(); } public function add(Core:FlxCore, ShareScroll:Boolean=false):FlxCore{ _children.push(Core); if (ShareScroll){ Core.scrollFactor = scrollFactor; }; return (Core); } override public function render():void{ var c:FlxCore; super.render(); var cl:uint = _children.length; var i:uint; while (i < cl) { c = _children[i]; if (((((!((c == null))) && (c.exists))) && (c.visible))){ c.render(); }; i++; }; } override public function update():void{ var mx:Number; var my:Number; var c:FlxCore; var moved:Boolean; if (((!((x == last.x))) || (!((y == last.y))))){ moved = true; mx = (x - last.x); my = (y - last.y); }; super.update(); var cl:uint = _children.length; var i:uint; while (i < cl) { c = (_children[i] as FlxCore); if (((!((c == null))) && (c.exists))){ if (moved){ c.x = (c.x + mx); c.y = (c.y + my); }; if (c.active){ c.update(); }; }; i++; }; } override public function destroy():void{ super.destroy(); var cl:uint = _children.length; var i:uint; while (i < cl) { _children[i].destroy(); i++; }; _children.length = 0; } public function children():Array{ return (_children); } } }//package org.flixel
Section 124
//FlxSound (org.flixel.FlxSound) package org.flixel { import flash.events.*; import flash.geom.*; import flash.media.*; import flash.net.*; public class FlxSound extends FlxCore { protected var _volume:Number; protected var _channel:SoundChannel; protected var _fadeInTimer:Number; protected var _position:Number; protected var _sound:Sound; protected var _fadeOutTotal:Number; protected var _fadeOutTimer:Number; protected var _fadeInTotal:Number; protected var _pauseOnFadeOut:Boolean; protected var _pan:Boolean; protected var _looped:Boolean; protected var _volumeAdjust:Number; protected var _transform:SoundTransform; protected var _init:Boolean; protected var _radius:Number; public var survive:Boolean; protected var _core:FlxCore; public function FlxSound(){ super(); _transform = new SoundTransform(); init(); } public function fadeOut(Seconds:Number, PauseInstead:Boolean=false):void{ _pauseOnFadeOut = PauseInstead; _fadeInTimer = 0; _fadeOutTimer = Seconds; _fadeOutTotal = _fadeOutTimer; } public function stop():void{ _position = 0; if (_channel != null){ _channel.stop(); stopped(); }; } public function loadStream(SoundURL:String, Looped:Boolean=false):FlxSound{ stop(); init(); _sound = new Sound(new URLRequest(SoundURL)); _looped = Looped; updateTransform(); active = true; return (this); } public function loadEmbedded(EmbeddedSound:Class, Looped:Boolean=false):FlxSound{ stop(); init(); _sound = new (EmbeddedSound); _looped = Looped; updateTransform(); active = true; return (this); } protected function stopped(event:Event=null):void{ if (!_looped){ _channel.removeEventListener(Event.SOUND_COMPLETE, stopped); } else { _channel.removeEventListener(Event.SOUND_COMPLETE, looped); }; _channel = null; active = false; } override public function update():void{ var pc:Point; var pt:Point; var dx:Number; var dy:Number; var d:Number; if (_position != 0){ return; }; super.update(); var radial:Number = 1; var fade:Number = 1; if (_core != null){ pc = new Point(); pt = new Point(); _core.getScreenXY(pc); getScreenXY(pt); dx = (pc.x - pt.x); dy = (pc.y - pt.y); radial = ((_radius - Math.sqrt(((dx * dx) + (dy * dy)))) / _radius); if (radial < 0){ radial = 0; }; if (radial > 1){ radial = 1; }; if (_pan){ d = (-(dx) / _radius); if (d < -1){ d = -1; } else { if (d > 1){ d = 1; }; }; _transform.pan = d; }; }; if (_fadeOutTimer > 0){ _fadeOutTimer = (_fadeOutTimer - FlxG.elapsed); if (_fadeOutTimer <= 0){ if (_pauseOnFadeOut){ pause(); } else { stop(); }; }; fade = (_fadeOutTimer / _fadeOutTotal); if (fade < 0){ fade = 0; }; } else { if (_fadeInTimer > 0){ _fadeInTimer = (_fadeInTimer - FlxG.elapsed); fade = (_fadeInTimer / _fadeOutTotal); if (fade < 0){ fade = 0; }; fade = (1 - fade); }; }; _volumeAdjust = (radial * fade); updateTransform(); } public function fadeIn(Seconds:Number):void{ _fadeOutTimer = 0; _fadeInTimer = Seconds; _fadeInTotal = _fadeInTimer; play(); } protected function looped(event:Event=null):void{ if (_channel == null){ return; }; _channel.removeEventListener(Event.SOUND_COMPLETE, looped); _channel = null; play(); } public function get volume():Number{ return (_volume); } function updateTransform():void{ _transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust); if (_channel != null){ _channel.soundTransform = _transform; }; } override public function destroy():void{ if (active){ stop(); }; } public function play():void{ if (_position < 0){ return; }; if (_looped){ if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 9999, _transform); }; if (_channel == null){ active = false; }; } else { _channel = _sound.play(_position, 0, _transform); if (_channel == null){ active = false; } else { _channel.addEventListener(Event.SOUND_COMPLETE, looped); }; }; } else { if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 0, _transform); if (_channel == null){ active = false; } else { _channel.addEventListener(Event.SOUND_COMPLETE, stopped); }; }; } else { _channel = _sound.play(_position, 0, _transform); if (_channel == null){ active = false; }; }; }; _position = 0; } public function pause():void{ if (_channel == null){ _position = -1; return; }; _position = _channel.position; _channel.stop(); if (_looped){ while (_position >= _sound.length) { _position = (_position - _sound.length); }; }; _channel = null; } public function set volume(Volume:Number):void{ _volume = Volume; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; updateTransform(); } protected function init():void{ _transform.pan = 0; _sound = null; _position = 0; _volume = 1; _volumeAdjust = 1; _looped = false; _core = null; _radius = 0; _pan = false; _fadeOutTimer = 0; _fadeOutTotal = 0; _pauseOnFadeOut = false; _fadeInTimer = 0; _fadeInTotal = 0; active = false; visible = false; dead = true; } public function proximity(X:Number, Y:Number, Core:FlxCore, Radius:Number, Pan:Boolean=true):FlxSound{ x = X; y = Y; _core = Core; _radius = Radius; _pan = Pan; return (this); } } }//package org.flixel
Section 125
//FlxSprite (org.flixel.FlxSprite) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; public class FlxSprite extends FlxCore { protected var _facing:uint; protected var _caf:uint; protected var _animations:Array; protected var _ct:ColorTransform; public var origin:Point; protected var _curAnim:FlxAnim; public var angularDrag:Number; public var drag:Point; protected var _flipped:uint; public var scale:Point; public var blend:String; public var thrust:Number; public var health:Number; protected var _alpha:Number; public var maxVelocity:Point; protected var _color:uint; protected var _curFrame:uint; public var finished:Boolean; protected var _frameTimer:Number; public var acceleration:Point; public var angularAcceleration:Number; public var offset:Point; protected var _r2:Rectangle; protected var _callback:Function; protected var _framePixels:BitmapData; protected var _pixels:BitmapData; public var angle:Number; public var maxThrust:Number; public var velocity:Point; public var maxAngular:Number; public var angularVelocity:Number; protected var _bh:uint; protected var _p:Point; public var antialiasing:Boolean; protected var _mtx:Matrix; protected var _r:Rectangle; protected var _bw:uint; protected static const _pZero:Point = new Point(); public static const LEFT:uint = 0; public static const DOWN:uint = 3; public static const UP:uint = 2; public static const RIGHT:uint = 1; public function FlxSprite(X:int=0, Y:int=0, SimpleGraphic:Class=null){ super(); last.x = (x = X); last.y = (y = Y); _p = new Point(); _r = new Rectangle(); _r2 = new Rectangle(); origin = new Point(); if (SimpleGraphic == null){ createGraphic(8, 8); } else { loadGraphic(SimpleGraphic); }; offset = new Point(); velocity = new Point(); acceleration = new Point(); drag = new Point(); maxVelocity = new Point(10000, 10000); angle = 0; angularVelocity = 0; angularAcceleration = 0; angularDrag = 0; maxAngular = 10000; thrust = 0; scale = new Point(1, 1); _alpha = 1; _color = 0xFFFFFF; blend = null; antialiasing = false; finished = false; _facing = RIGHT; _animations = new Array(); _flipped = 0; _curAnim = null; _curFrame = 0; _caf = 0; _frameTimer = 0; _mtx = new Matrix(); health = 1; _callback = null; } function unsafeBind(Pixels:BitmapData):void{ _pixels = (_framePixels = Pixels); } public function hurt(Damage:Number):void{ if ((health = (health - Damage)) <= 0){ kill(); }; } protected function calcFrame():void{ var rx:uint = (_caf * _bw); var ry:uint; var w:uint = (_flipped) ? _flipped : _pixels.width; if (rx >= w){ ry = (uint((rx / w)) * _bh); rx = (rx % w); }; if (((_flipped) && ((_facing == LEFT)))){ rx = (((_flipped << 1) - rx) - _bw); }; _r.x = rx; _r.y = ry; _framePixels.copyPixels(_pixels, _r, _pZero); _r.x = (_r.y = 0); if (_ct != null){ _framePixels.colorTransform(_r, _ct); }; if (_callback != null){ _callback(_curAnim.name, _curFrame, _caf); }; } public function loadGraphic(Graphic:Class, Animated:Boolean=false, Reverse:Boolean=false, Width:uint=0, Height:uint=0, Unique:Boolean=false):FlxSprite{ _pixels = FlxG.addBitmap(Graphic, Reverse, Unique); if (Reverse){ _flipped = (_pixels.width >> 1); } else { _flipped = 0; }; if (Width == 0){ if (Animated){ Width = _pixels.height; } else { Width = _pixels.width; }; }; width = (_bw = Width); if (Height == 0){ if (Animated){ Height = width; } else { Height = _pixels.height; }; }; height = (_bh = Height); resetHelpers(); return (this); } public function play(AnimName:String, Force:Boolean=false):void{ if (((((!(Force)) && (!((_curAnim == null))))) && ((AnimName == _curAnim.name)))){ return; }; _curFrame = 0; _caf = 0; _frameTimer = 0; var al:uint = _animations.length; var i:uint; while (i < al) { if (_animations[i].name == AnimName){ _curAnim = _animations[i]; if (_curAnim.delay <= 0){ finished = true; } else { finished = false; }; _caf = _curAnim.frames[_curFrame]; calcFrame(); return; }; i++; }; } override public function hitFloor(Contact:FlxCore=null):Boolean{ velocity.y = 0; return (true); } protected function resetHelpers():void{ _r.x = 0; _r.y = 0; _r.width = _bw; _r.height = _bh; _r2.x = 0; _r2.y = 0; _r2.width = _pixels.width; _r2.height = _pixels.height; if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){ _framePixels = new BitmapData(width, height); }; origin.x = (_bw / 2); origin.y = (_bh / 2); _framePixels.copyPixels(_pixels, _r, _pZero); } public function draw(Brush:FlxSprite, X:int=0, Y:int=0):void{ var b:BitmapData = Brush._framePixels; if ((((((((Brush.angle == 0)) && ((Brush.scale.x == 1)))) && ((Brush.scale.y == 1)))) && ((Brush.blend == null)))){ _p.x = X; _p.y = Y; _r2.width = b.width; _r2.height = b.height; _pixels.copyPixels(b, _r2, _p, null, null, true); _r2.width = _pixels.width; _r2.height = _pixels.height; calcFrame(); return; }; _mtx.identity(); _mtx.translate(-(Brush.origin.x), -(Brush.origin.y)); _mtx.scale(Brush.scale.x, Brush.scale.y); if (Brush.angle != 0){ _mtx.rotate(((Math.PI * 2) * (Brush.angle / 360))); }; _mtx.translate((X + Brush.origin.x), (Y + Brush.origin.y)); _pixels.draw(b, _mtx, null, Brush.blend, null, Brush.antialiasing); calcFrame(); } public function createGraphic(Width:uint, Height:uint, Color:uint=4294967295, Unique:Boolean=false):FlxSprite{ _pixels = FlxG.createBitmap(Width, Height, Color, Unique); width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); return (this); } public function addAnimationCallback(AnimationCallback:Function):void{ _callback = AnimationCallback; } public function onEmit():void{ } public function set pixels(Pixels:BitmapData):void{ _pixels = Pixels; width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); } public function specificFrame(Frame:uint):void{ _curAnim = null; _caf = Frame; calcFrame(); } public function get alpha():Number{ return (_alpha); } public function get color():uint{ return (_color); } public function randomFrame():void{ _curAnim = null; _caf = int((FlxG.random() * (_pixels.width / _bw))); calcFrame(); } public function fill(Color:uint):void{ _pixels.fillRect(_r2, Color); calcFrame(); } override public function render():void{ if (!visible){ return; }; getScreenXY(_p); if ((((((((angle == 0)) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){ FlxG.buffer.copyPixels(_framePixels, _r, _p, null, null, true); return; }; _mtx.identity(); _mtx.translate(-(origin.x), -(origin.y)); _mtx.scale(scale.x, scale.y); if (angle != 0){ _mtx.rotate(((Math.PI * 2) * (angle / 360))); }; _mtx.translate((_p.x + origin.x), (_p.y + origin.y)); FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing); } override public function hitCeiling(Contact:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function get pixels():BitmapData{ return (_pixels); } public function set facing(Direction:uint):void{ var c = !((_facing == Direction)); _facing = Direction; if (c){ calcFrame(); }; } public function set alpha(Alpha:Number):void{ if (Alpha > 1){ Alpha = 1; }; if (Alpha < 0){ Alpha = 0; }; if (Alpha == _alpha){ return; }; _alpha = Alpha; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } public function set color(Color:uint):void{ Color = (Color & 0xFFFFFF); if (_color == Color){ return; }; _color = Color; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } override public function update():void{ var thrustComponents:Point; var maxComponents:Point; var max:Number; super.update(); if (!active){ return; }; if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){ _frameTimer = (_frameTimer + FlxG.elapsed); if (_frameTimer > _curAnim.delay){ _frameTimer = (_frameTimer - _curAnim.delay); if (_curFrame == (_curAnim.frames.length - 1)){ if (_curAnim.looped){ _curFrame = 0; }; finished = true; } else { _curFrame++; }; _caf = _curAnim.frames[_curFrame]; calcFrame(); }; }; angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed)); if (thrust != 0){ thrustComponents = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle); maxComponents = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle); max = Math.abs(maxComponents.x); if (max > Math.abs(maxComponents.y)){ maxComponents.y = max; } else { max = Math.abs(maxComponents.y); }; maxVelocity.x = Math.abs(max); maxVelocity.y = Math.abs(max); } else { thrustComponents = _pZero; }; x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + thrustComponents.x), drag.x, maxVelocity.x)) * FlxG.elapsed)); y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + thrustComponents.y), drag.y, maxVelocity.y)) * FlxG.elapsed)); } public function get facing():uint{ return (_facing); } public function addAnimation(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true):void{ _animations.push(new FlxAnim(Name, Frames, FrameRate, Looped)); } override public function getScreenXY(P:Point=null):Point{ if (P == null){ P = new Point(); }; P.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x))); P.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y))); return (P); } override public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{ var tx:Number = x; var ty:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ tx = (tx - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); ty = (ty - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if (PerPixel){ return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((X - tx), (Y - ty)))); }; if ((((((((X <= tx)) || ((X >= (tx + width))))) || ((Y <= ty)))) || ((Y >= (ty + height))))){ return (false); }; return (true); } override public function hitWall(Contact:FlxCore=null):Boolean{ velocity.x = 0; return (true); } } }//package org.flixel
Section 126
//FlxState (org.flixel.FlxState) package org.flixel { import flash.display.*; public class FlxState extends Sprite { protected var _layer:FlxLayer; public static var screen:FlxSprite; public static var bgColor:uint; public function FlxState(){ super(); _layer = new FlxLayer(); FlxG.state = this; if (screen == null){ screen = new FlxSprite(); screen.createGraphic(FlxG.width, FlxG.height, 0, true); screen.origin.x = (screen.origin.y = 0); screen.antialiasing = true; }; } public function add(Core:FlxCore):FlxCore{ return (_layer.add(Core)); } public function render():void{ _layer.render(); } public function update():void{ _layer.update(); } public function destroy():void{ _layer.destroy(); } public function preProcess():void{ screen.fill(bgColor); } public function postProcess():void{ } } }//package org.flixel
Section 127
//FlxText (org.flixel.FlxText) package org.flixel { import flash.display.*; import flash.geom.*; import flash.text.*; public class FlxText extends FlxSprite { protected var _regen:Boolean; protected var _tf:TextField; public function FlxText(X:Number, Y:Number, Width:uint, Text:String=null){ if (Text == null){ Text = ""; }; _tf = new TextField(); _tf.width = Width; _tf.height = 1; _tf.embedFonts = true; _tf.selectable = false; _tf.sharpness = 100; _tf.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); _tf.text = Text; super(X, Y); createGraphic(Width, 1); _regen = true; calcFrame(); } public function get size():Number{ return ((_tf.defaultTextFormat.size as Number)); } public function get alignment():String{ return (_tf.defaultTextFormat.align); } public function set alignment(Alignment:String):void{ var tf:TextFormat = dtfCopy(); tf.align = Alignment; _tf.defaultTextFormat = tf; _tf.setTextFormat(tf); calcFrame(); } public function set size(Size:Number):void{ var tf:TextFormat = dtfCopy(); tf.size = Size; _tf.defaultTextFormat = tf; _tf.setTextFormat(tf); _regen = true; calcFrame(); } protected function dtfCopy():TextFormat{ var dtf:TextFormat = _tf.defaultTextFormat; return (new TextFormat(dtf.font, dtf.size, dtf.color, dtf.bold, dtf.italic, dtf.underline, dtf.url, dtf.target, dtf.align)); } public function get text():String{ return (_tf.text); } public function get font():String{ return (_tf.defaultTextFormat.font); } override protected function calcFrame():void{ var nl:uint; var i:uint; if ((((((_tf == null)) || ((_tf.text == null)))) || ((_tf.text.length <= 0)))){ _framePixels.fillRect(_r, 0); return; }; if (_regen){ nl = _tf.numLines; height = 0; i = 0; while (i < nl) { height = (height + _tf.getLineMetrics(i).height); i++; }; height = (height + 4); _framePixels = new BitmapData(width, height, true, 0); _bh = height; _tf.height = height; _r = new Rectangle(0, 0, width, height); _regen = false; } else { _framePixels.fillRect(_r, 0); }; var tf:TextFormat = _tf.defaultTextFormat; _mtx.identity(); if ((((tf.align == "center")) && ((_tf.numLines == 1)))){ _tf.setTextFormat(new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, "left")); _mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0); }; _framePixels.draw(_tf, _mtx, _ct); _tf.setTextFormat(new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, tf.align)); } public function setFormat(Font:String=null, Size:Number=8, Color:uint=0xFFFFFF, Alignment:String=null):FlxText{ if (Font == null){ Font = ""; }; var tf:TextFormat = dtfCopy(); tf.font = Font; tf.size = Size; tf.align = Alignment; _tf.defaultTextFormat = tf; _tf.setTextFormat(tf); _regen = true; color = Color; calcFrame(); return (this); } public function set text(Text:String):void{ _tf.text = Text; _regen = true; calcFrame(); } public function set font(Font:String):void{ var tf:TextFormat = dtfCopy(); tf.font = Font; _tf.defaultTextFormat = tf; _tf.setTextFormat(tf); _regen = true; calcFrame(); } } }//package org.flixel
Section 128
//_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 129
//_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 130
//_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 131
//_comboDropdownStyle (_comboDropdownStyle) package { import mx.core.*; import mx.styles.*; public class _comboDropdownStyle { public static function init(leading:IFlexModuleFactory):void{ var fbs = leading; 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.shadowDirection = "center"; this.fontWeight = "normal"; this.dropShadowEnabled = true; this.leading = 0; this.backgroundColor = 0xFFFFFF; this.shadowDistance = 1; this.cornerRadius = 0; this.borderThickness = 0; this.paddingLeft = 5; this.paddingRight = 5; }; }; } } }//package
Section 132
//_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 133
//_dateFieldPopupStyle (_dateFieldPopupStyle) package { import mx.core.*; import mx.styles.*; public class _dateFieldPopupStyle { public static function init(_dateFieldPopupStyle.as$3:IFlexModuleFactory):void{ var fbs = _dateFieldPopupStyle.as$3; 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.backgroundColor = 0xFFFFFF; this.borderThickness = 0; }; }; } } }//package
Section 134
//_errorTipStyle (_errorTipStyle) package { import mx.core.*; import mx.styles.*; public class _errorTipStyle { public static function init(borderColor:IFlexModuleFactory):void{ var fbs = borderColor; 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.fontWeight = "bold"; this.borderStyle = "errorTipRight"; this.paddingTop = 4; this.borderColor = 13510953; this.color = 0xFFFFFF; this.fontSize = 9; this.shadowColor = 0; this.paddingLeft = 4; this.paddingBottom = 4; this.paddingRight = 4; }; }; } } }//package
Section 135
//_globalStyle (_globalStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _globalStyle { public static function init(horizontalGridLines:IFlexModuleFactory):void{ var fbs = horizontalGridLines; 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.fillColor = 0xFFFFFF; this.kerning = false; this.iconColor = 0x111111; this.textRollOverColor = 2831164; this.horizontalAlign = "left"; this.shadowCapColor = 14015965; this.backgroundAlpha = 1; this.filled = true; this.textDecoration = "none"; this.roundedBottomCorners = true; this.fontThickness = 0; this.focusBlendMode = "normal"; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.horizontalGap = 8; this.borderCapColor = 9542041; this.buttonColor = 7305079; this.indentation = 17; this.selectionDisabledColor = 0xDDDDDD; this.closeDuration = 250; this.embedFonts = false; this.paddingTop = 0; this.letterSpacing = 0; this.focusAlpha = 0.4; this.bevel = true; this.fontSize = 10; this.shadowColor = 0xEEEEEE; this.borderAlpha = 1; this.paddingLeft = 0; this.fontWeight = "normal"; this.indicatorGap = 14; this.focusSkin = HaloFocusRect; this.dropShadowEnabled = false; this.leading = 2; this.borderSkin = HaloBorder; this.fontSharpness = 0; this.modalTransparencyDuration = 100; this.borderThickness = 1; this.backgroundSize = "auto"; this.borderStyle = "inset"; this.borderColor = 12040892; this.fontAntiAliasType = "advanced"; this.errorColor = 0xFF0000; this.shadowDistance = 2; this.horizontalGridLineColor = 0xF7F7F7; this.stroked = false; this.modalTransparencyColor = 0xDDDDDD; this.cornerRadius = 0; this.verticalAlign = "top"; this.textIndent = 0; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.verticalGridLineColor = 14015965; this.themeColor = 40447; this.version = "3.0.0"; this.shadowDirection = "center"; this.modalTransparency = 0.5; this.repeatInterval = 35; this.openDuration = 250; this.textAlign = "left"; this.fontFamily = "Verdana"; this.textSelectedColor = 2831164; this.paddingBottom = 0; this.strokeWidth = 1; this.fontGridFitType = "pixel"; this.horizontalGridLines = false; this.useRollOver = true; this.verticalGridLines = true; this.repeatDelay = 500; this.fontStyle = "normal"; this.dropShadowColor = 0; this.focusThickness = 2; this.verticalGap = 6; this.disabledColor = 11187123; this.paddingRight = 0; this.focusRoundedCorners = "tl tr bl br"; this.borderSides = "left top right bottom"; this.disabledIconColor = 0x999999; this.modalTransparencyBlur = 3; this.color = 734012; this.selectionDuration = 250; this.highlightAlphas = [0.3, 0]; }; }; } } }//package
Section 136
//_headerDateTextStyle (_headerDateTextStyle) package { import mx.core.*; import mx.styles.*; public class _headerDateTextStyle { public static function init(bold:IFlexModuleFactory):void{ var fbs = bold; 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.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 137
//_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 138
//_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.paddingBottom = 2; this.paddingRight = 2; }; }; } } }//package
Section 139
//_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.borderColor = 0xFFFFFF; this.backgroundColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderAlpha = 1; }; }; } } }//package
Section 140
//_plainStyle (_plainStyle) package { import mx.core.*; import mx.styles.*; public class _plainStyle { public static function init(backgroundImage:IFlexModuleFactory):void{ var fbs = backgroundImage; 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.backgroundColor = 0xFFFFFF; this.backgroundImage = ""; this.horizontalAlign = "left"; this.paddingLeft = 0; this.paddingBottom = 0; this.paddingRight = 0; }; }; } } }//package
Section 141
//_popUpMenuStyle (_popUpMenuStyle) package { import mx.core.*; import mx.styles.*; public class _popUpMenuStyle { public static function init(normal:IFlexModuleFactory):void{ var fbs = normal; 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.fontWeight = "normal"; this.textAlign = "left"; }; }; } } }//package
Section 142
//_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 143
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle) package { import mx.core.*; import mx.styles.*; public class _swatchPanelTextFieldStyle { public static function init(shadowCapColor:IFlexModuleFactory):void{ var fbs = shadowCapColor; 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.borderStyle = "inset"; this.borderColor = 14015965; this.highlightColor = 12897484; this.backgroundColor = 0xFFFFFF; this.shadowCapColor = 14015965; this.shadowColor = 14015965; this.paddingLeft = 5; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.paddingRight = 5; }; }; } } }//package
Section 144
//_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 145
//_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 146
//_todayStyleStyle (_todayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _todayStyleStyle { public static function init(color:IFlexModuleFactory):void{ var fbs = color; 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.color = 0xFFFFFF; this.textAlign = "center"; }; }; } } }//package
Section 147
//_weekDayStyleStyle (_weekDayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _weekDayStyleStyle { public static function init(bold:IFlexModuleFactory):void{ var fbs = bold; 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.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 148
//_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 149
//_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 150
//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 151
//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 152
//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 153
//Marinegame (Marinegame) package { import org.flixel.*; import com.marinegame.*; public class Marinegame extends FlxGame { public function Marinegame():void{ super(200, 160, TitleState, 3); this.showLogo = true; FlxState.bgColor = 4278200063; setLogoFX(4294967295); useDefaultHotKeys = true; } } }//package
Section 154
//Preloader (Preloader) package { import org.flixel.data.*; public class Preloader extends FlxFactory { public function Preloader():void{ className = "Marinegame"; super(); } } }//package

Library Items

Symbol 1 Sound {org.flixel.FlxGame_SndFlixel} [org.flixel.FlxGame_SndFlixel]
Symbol 2 Sound {org.flixel.FlxGame_SndBeep} [org.flixel.FlxGame_SndBeep]
Symbol 3 Bitmap {org.flixel.data.FlxPause_ImgKey0}
Symbol 4 Bitmap {org.flixel.data.FlxPanel_ImgStumble}
Symbol 5 Bitmap {org.flixel.FlxG_ImgDefaultCursor}
Symbol 6 Bitmap {org.flixel.data.FlxPanel_ImgClose}
Symbol 7 Bitmap {org.flixel.data.FlxPause_ImgKeyPlus}
Symbol 8 Bitmap {org.flixel.data.FlxFactory_ImgBit}
Symbol 9 Bitmap {org.flixel.data.FlxPanel_ImgDonate}
Symbol 10 Bitmap {org.flixel.data.FlxPause_ImgKeyMinus}
Symbol 11 Bitmap {org.flixel.data.FlxPanel_ImgTwitter}
Symbol 12 Bitmap {org.flixel.data.FlxPause_ImgKeyP}
Symbol 13 Font {org.flixel.FlxGame_junk}
Symbol 14 Bitmap {org.flixel.data.FlxPanel_ImgDigg}
Symbol 15 Bitmap {org.flixel.data.FlxFactory_ImgBar}
Symbol 16 Bitmap {org.flixel.FlxGame_ImgPoweredBy}
Symbol 17 Bitmap {org.flixel.data.FlxPanel_ImgReddit}
Symbol 18 Bitmap {org.flixel.data.FlxPanel_ImgDelicious}
Symbol 19 Sound {com.marinegame.TitleState_AtkSnd} [com.marinegame.TitleState_AtkSnd]
Symbol 20 Sound {com.marinegame.PlayState_song} [com.marinegame.PlayState_song]
Symbol 21 Sound {com.marinegame.Player_ExplodeSound} [com.marinegame.Player_ExplodeSound]
Symbol 22 Sound {com.marinegame.Player_GunSound} [com.marinegame.Player_GunSound]
Symbol 23 Sound {com.marinegame.Player_ChainSound} [com.marinegame.Player_ChainSound]
Symbol 24 Sound {com.marinegame.Spartan_SndDie} [com.marinegame.Spartan_SndDie]
Symbol 25 Bitmap {com.marinegame.DeadSpartan_ImgDeadSpartan}
Symbol 26 Bitmap {com.marinegame.PlayState_ImgWallTiles}
Symbol 27 Bitmap {com.marinegame.Spartan_ImgSpartan}
Symbol 28 Bitmap {com.marinegame.PlayState_ImgBlank}
Symbol 29 Bitmap {com.marinegame.PlayState_ImgCommisar}
Symbol 30 Bitmap {com.marinegame.TitleState_Title}
Symbol 31 Bitmap {com.marinegame.Player_ImgMarine}
Symbol 32 Bitmap {com.marinegame.TitleState_Ins}
Symbol 33 Bitmap {com.marinegame.SpartanBullet_ImgSBullet}
Symbol 34 Bitmap {com.marinegame.MarineBullet_ImgBullet}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 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 1 as "org.flixel.FlxGame_SndFlixel"
ExportAssets (56)Timeline Frame 1Symbol 2 as "org.flixel.FlxGame_SndBeep"
ExportAssets (56)Timeline Frame 2Symbol 19 as "com.marinegame.TitleState_AtkSnd"
ExportAssets (56)Timeline Frame 2Symbol 20 as "com.marinegame.PlayState_song"
ExportAssets (56)Timeline Frame 2Symbol 21 as "com.marinegame.Player_ExplodeSound"
ExportAssets (56)Timeline Frame 2Symbol 22 as "com.marinegame.Player_GunSound"
ExportAssets (56)Timeline Frame 2Symbol 23 as "com.marinegame.Player_ChainSound"
ExportAssets (56)Timeline Frame 2Symbol 24 as "com.marinegame.Spartan_SndDie"
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$Hg$rWMggVbW.cMiIMkyeUNEN.."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"Marinegame"Frame 2



Inter *Chan Top List

http://swfchan.com/17/81634/info.shtml
Created: 4/2 -2010 05:51:17 Last modified: 4/2 -2010 05:51:17 Server time: 05/02 -2012 13:16:44